From 9929914fd5ea633c8de12ba7b8ae3e79a3d5edc2 Mon Sep 17 00:00:00 2001 From: drjaska Date: Thu, 1 Dec 2022 17:50:41 +0200 Subject: [PATCH] No longer vegetative state! --- bal-wep-mario.cfg | 22 +- bal-wep-nexuiz25.cfg | 22 +- bal-wep-samual.cfg | 22 +- bal-wep-xdf.cfg | 22 +- bal-wep-xonotic.cfg | 22 +- qcsrc/client/weapons/projectile.qc | 89 ++-- qcsrc/common/models/all.inc | 607 +++++++++++++------------ qcsrc/common/weapons/projectiles.qh | 2 + qcsrc/common/weapons/weapon/_mod.inc | 1 + qcsrc/common/weapons/weapon/classic.qc | 23 +- 10 files changed, 422 insertions(+), 410 deletions(-) diff --git a/bal-wep-mario.cfg b/bal-wep-mario.cfg index a489b259a..d2303e466 100644 --- a/bal-wep-mario.cfg +++ b/bal-wep-mario.cfg @@ -982,34 +982,34 @@ set g_balance_okshotgun_weaponstartoverride -1 set g_balance_okshotgun_weaponthrowable 1 // }}} // {{{ #26: Classic -set g_balance_classic_bouncefactor 0.5 -set g_balance_classic_bouncestop 0.075 -set g_balance_classic_primary_ammo 2 -set g_balance_classic_primary_animtime 0.3 +set g_balance_classic_primary_ammo 3 +set g_balance_classic_primary_animtime 0.4 set g_balance_classic_primary_damage 100 set g_balance_classic_primary_damageforcescale 0 set g_balance_classic_primary_edgedamage 1 set g_balance_classic_primary_force 400 set g_balance_classic_primary_health 15 -set g_balance_classic_primary_lifetime 20 +set g_balance_classic_primary_lifetime 15 set g_balance_classic_primary_radius 120 set g_balance_classic_primary_refire 0.8 set g_balance_classic_primary_speed 1000 set g_balance_classic_primary_spread 0 set g_balance_classic_reload_ammo 0 set g_balance_classic_reload_time 2 -set g_balance_classic_secondary_ammo 2 -set g_balance_classic_secondary_animtime 0.3 +set g_balance_classic_secondary_ammo 3 +set g_balance_classic_secondary_animtime 0.4 +set g_balance_classic_secondary_bouncefactor 0.65 +set g_balance_classic_secondary_bouncestop 0.05 set g_balance_classic_secondary_damage 100 set g_balance_classic_secondary_damageforcescale 4 set g_balance_classic_secondary_edgedamage 1 set g_balance_classic_secondary_force 400 set g_balance_classic_secondary_health 30 -set g_balance_classic_secondary_lifetime 4 -set g_balance_classic_secondary_radius 120 +set g_balance_classic_secondary_lifetime 2.5 +set g_balance_classic_secondary_radius 150 set g_balance_classic_secondary_refire 0.8 -set g_balance_classic_secondary_speed 1000 -set g_balance_classic_secondary_speed_up 150 +set g_balance_classic_secondary_speed 700 +set g_balance_classic_secondary_speed_up 50 set g_balance_classic_secondary_speed_z 0 set g_balance_classic_secondary_spread 0 set g_balance_classic_switchdelay_drop 0.2 diff --git a/bal-wep-nexuiz25.cfg b/bal-wep-nexuiz25.cfg index ebb48077f..6282be94c 100644 --- a/bal-wep-nexuiz25.cfg +++ b/bal-wep-nexuiz25.cfg @@ -982,34 +982,34 @@ set g_balance_okshotgun_weaponstartoverride -1 set g_balance_okshotgun_weaponthrowable 1 // }}} // {{{ #26: Classic -set g_balance_classic_bouncefactor 0.5 -set g_balance_classic_bouncestop 0.075 -set g_balance_classic_primary_ammo 2 -set g_balance_classic_primary_animtime 0.3 +set g_balance_classic_primary_ammo 3 +set g_balance_classic_primary_animtime 0.4 set g_balance_classic_primary_damage 100 set g_balance_classic_primary_damageforcescale 0 set g_balance_classic_primary_edgedamage 1 set g_balance_classic_primary_force 400 set g_balance_classic_primary_health 15 -set g_balance_classic_primary_lifetime 20 +set g_balance_classic_primary_lifetime 15 set g_balance_classic_primary_radius 120 set g_balance_classic_primary_refire 0.8 set g_balance_classic_primary_speed 1000 set g_balance_classic_primary_spread 0 set g_balance_classic_reload_ammo 0 set g_balance_classic_reload_time 2 -set g_balance_classic_secondary_ammo 2 -set g_balance_classic_secondary_animtime 0.3 +set g_balance_classic_secondary_ammo 3 +set g_balance_classic_secondary_animtime 0.4 +set g_balance_classic_secondary_bouncefactor 0.65 +set g_balance_classic_secondary_bouncestop 0.05 set g_balance_classic_secondary_damage 100 set g_balance_classic_secondary_damageforcescale 4 set g_balance_classic_secondary_edgedamage 1 set g_balance_classic_secondary_force 400 set g_balance_classic_secondary_health 30 -set g_balance_classic_secondary_lifetime 4 -set g_balance_classic_secondary_radius 120 +set g_balance_classic_secondary_lifetime 2.5 +set g_balance_classic_secondary_radius 150 set g_balance_classic_secondary_refire 0.8 -set g_balance_classic_secondary_speed 1000 -set g_balance_classic_secondary_speed_up 150 +set g_balance_classic_secondary_speed 700 +set g_balance_classic_secondary_speed_up 50 set g_balance_classic_secondary_speed_z 0 set g_balance_classic_secondary_spread 0 set g_balance_classic_switchdelay_drop 0.2 diff --git a/bal-wep-samual.cfg b/bal-wep-samual.cfg index 96bcadfff..3f564b689 100644 --- a/bal-wep-samual.cfg +++ b/bal-wep-samual.cfg @@ -982,34 +982,34 @@ set g_balance_okshotgun_weaponstartoverride -1 set g_balance_okshotgun_weaponthrowable 1 // }}} // {{{ #26: Classic -set g_balance_classic_bouncefactor 0.5 -set g_balance_classic_bouncestop 0.075 -set g_balance_classic_primary_ammo 2 -set g_balance_classic_primary_animtime 0.3 +set g_balance_classic_primary_ammo 3 +set g_balance_classic_primary_animtime 0.4 set g_balance_classic_primary_damage 100 set g_balance_classic_primary_damageforcescale 0 set g_balance_classic_primary_edgedamage 1 set g_balance_classic_primary_force 400 set g_balance_classic_primary_health 15 -set g_balance_classic_primary_lifetime 20 +set g_balance_classic_primary_lifetime 15 set g_balance_classic_primary_radius 120 set g_balance_classic_primary_refire 0.8 set g_balance_classic_primary_speed 1000 set g_balance_classic_primary_spread 0 set g_balance_classic_reload_ammo 0 set g_balance_classic_reload_time 2 -set g_balance_classic_secondary_ammo 2 -set g_balance_classic_secondary_animtime 0.3 +set g_balance_classic_secondary_ammo 3 +set g_balance_classic_secondary_animtime 0.4 +set g_balance_classic_secondary_bouncefactor 0.65 +set g_balance_classic_secondary_bouncestop 0.05 set g_balance_classic_secondary_damage 100 set g_balance_classic_secondary_damageforcescale 4 set g_balance_classic_secondary_edgedamage 1 set g_balance_classic_secondary_force 400 set g_balance_classic_secondary_health 30 -set g_balance_classic_secondary_lifetime 4 -set g_balance_classic_secondary_radius 120 +set g_balance_classic_secondary_lifetime 2.5 +set g_balance_classic_secondary_radius 150 set g_balance_classic_secondary_refire 0.8 -set g_balance_classic_secondary_speed 1000 -set g_balance_classic_secondary_speed_up 150 +set g_balance_classic_secondary_speed 700 +set g_balance_classic_secondary_speed_up 50 set g_balance_classic_secondary_speed_z 0 set g_balance_classic_secondary_spread 0 set g_balance_classic_switchdelay_drop 0.2 diff --git a/bal-wep-xdf.cfg b/bal-wep-xdf.cfg index e95f40b94..6dfc1d49b 100644 --- a/bal-wep-xdf.cfg +++ b/bal-wep-xdf.cfg @@ -982,34 +982,34 @@ set g_balance_okshotgun_weaponstartoverride -1 set g_balance_okshotgun_weaponthrowable 1 // }}} // {{{ #26: Classic -set g_balance_classic_bouncefactor 0.5 -set g_balance_classic_bouncestop 0.075 -set g_balance_classic_primary_ammo 2 -set g_balance_classic_primary_animtime 0.3 +set g_balance_classic_primary_ammo 3 +set g_balance_classic_primary_animtime 0.4 set g_balance_classic_primary_damage 100 set g_balance_classic_primary_damageforcescale 0 set g_balance_classic_primary_edgedamage 1 set g_balance_classic_primary_force 400 set g_balance_classic_primary_health 15 -set g_balance_classic_primary_lifetime 20 +set g_balance_classic_primary_lifetime 15 set g_balance_classic_primary_radius 120 set g_balance_classic_primary_refire 0.8 set g_balance_classic_primary_speed 1000 set g_balance_classic_primary_spread 0 set g_balance_classic_reload_ammo 0 set g_balance_classic_reload_time 2 -set g_balance_classic_secondary_ammo 2 -set g_balance_classic_secondary_animtime 0.3 +set g_balance_classic_secondary_ammo 3 +set g_balance_classic_secondary_animtime 0.4 +set g_balance_classic_secondary_bouncefactor 0.65 +set g_balance_classic_secondary_bouncestop 0.05 set g_balance_classic_secondary_damage 100 set g_balance_classic_secondary_damageforcescale 4 set g_balance_classic_secondary_edgedamage 1 set g_balance_classic_secondary_force 400 set g_balance_classic_secondary_health 30 -set g_balance_classic_secondary_lifetime 4 -set g_balance_classic_secondary_radius 120 +set g_balance_classic_secondary_lifetime 2.5 +set g_balance_classic_secondary_radius 150 set g_balance_classic_secondary_refire 0.8 -set g_balance_classic_secondary_speed 1000 -set g_balance_classic_secondary_speed_up 150 +set g_balance_classic_secondary_speed 700 +set g_balance_classic_secondary_speed_up 50 set g_balance_classic_secondary_speed_z 0 set g_balance_classic_secondary_spread 0 set g_balance_classic_switchdelay_drop 0.2 diff --git a/bal-wep-xonotic.cfg b/bal-wep-xonotic.cfg index 1c7be3598..26a920250 100644 --- a/bal-wep-xonotic.cfg +++ b/bal-wep-xonotic.cfg @@ -982,34 +982,34 @@ set g_balance_okshotgun_weaponstartoverride -1 set g_balance_okshotgun_weaponthrowable 1 // }}} // {{{ #26: Classic -set g_balance_classic_bouncefactor 0.5 -set g_balance_classic_bouncestop 0.075 -set g_balance_classic_primary_ammo 2 -set g_balance_classic_primary_animtime 0.3 +set g_balance_classic_primary_ammo 3 +set g_balance_classic_primary_animtime 0.4 set g_balance_classic_primary_damage 100 set g_balance_classic_primary_damageforcescale 0 set g_balance_classic_primary_edgedamage 1 set g_balance_classic_primary_force 400 set g_balance_classic_primary_health 15 -set g_balance_classic_primary_lifetime 20 +set g_balance_classic_primary_lifetime 15 set g_balance_classic_primary_radius 120 set g_balance_classic_primary_refire 0.8 set g_balance_classic_primary_speed 1000 set g_balance_classic_primary_spread 0 set g_balance_classic_reload_ammo 0 set g_balance_classic_reload_time 2 -set g_balance_classic_secondary_ammo 2 -set g_balance_classic_secondary_animtime 0.3 +set g_balance_classic_secondary_ammo 3 +set g_balance_classic_secondary_animtime 0.4 +set g_balance_classic_secondary_bouncefactor 0.65 +set g_balance_classic_secondary_bouncestop 0.05 set g_balance_classic_secondary_damage 100 set g_balance_classic_secondary_damageforcescale 4 set g_balance_classic_secondary_edgedamage 1 set g_balance_classic_secondary_force 400 set g_balance_classic_secondary_health 30 -set g_balance_classic_secondary_lifetime 4 -set g_balance_classic_secondary_radius 120 +set g_balance_classic_secondary_lifetime 2.5 +set g_balance_classic_secondary_radius 150 set g_balance_classic_secondary_refire 0.8 -set g_balance_classic_secondary_speed 1000 -set g_balance_classic_secondary_speed_up 150 +set g_balance_classic_secondary_speed 700 +set g_balance_classic_secondary_speed_up 50 set g_balance_classic_secondary_speed_z 0 set g_balance_classic_secondary_spread 0 set g_balance_classic_switchdelay_drop 0.2 diff --git a/qcsrc/client/weapons/projectile.qc b/qcsrc/client/weapons/projectile.qc index 1df65036e..c3637ce7d 100644 --- a/qcsrc/client/weapons/projectile.qc +++ b/qcsrc/client/weapons/projectile.qc @@ -97,6 +97,7 @@ void Projectile_Draw(entity this) else switch (this.cnt) { case PROJECTILE_GRENADE_BOUNCING: + case PROJECTILE_CLASSIC_GRENADE_BOUNCING: rot = '0 -1000 0'; // sideways break; case PROJECTILE_HOOKBOMB: @@ -139,6 +140,7 @@ void Projectile_Draw(entity this) { case PROJECTILE_GRENADE: case PROJECTILE_GRENADE_BOUNCING: + case PROJECTILE_CLASSIC_GRENADE_BOUNCING: makevectors(ang); trailorigin += v_right * 1 + v_forward * -10; break; @@ -294,45 +296,46 @@ NET_HANDLE(ENT_CLIENT_PROJECTILE, bool isnew) switch (this.cnt) { #define HANDLE(id) case PROJECTILE_##id: setmodel(this, MDL_PROJECTILE_##id); - HANDLE(ELECTRO) this.traileffect = EFFECT_TR_NEXUIZPLASMA.m_id; break; - HANDLE(ROCKET) this.traileffect = EFFECT_TR_ROCKET.m_id; this.scale = 2; break; - HANDLE(CRYLINK) this.traileffect = EFFECT_TR_CRYLINKPLASMA.m_id; break; - HANDLE(CRYLINK_BOUNCING) this.traileffect = EFFECT_TR_CRYLINKPLASMA.m_id; break; - HANDLE(ELECTRO_BEAM) this.traileffect = EFFECT_TR_NEXUIZPLASMA.m_id; break; - HANDLE(GRENADE) this.traileffect = EFFECT_TR_GRENADE.m_id; break; - HANDLE(GRENADE_BOUNCING) this.traileffect = EFFECT_TR_GRENADE.m_id; break; - HANDLE(MINE) this.traileffect = EFFECT_TR_GRENADE.m_id; break; - HANDLE(BLASTER) this.traileffect = EFFECT_Null.m_id; break; - HANDLE(ARC_BOLT) this.traileffect = EFFECT_TR_WIZSPIKE.m_id; break; - HANDLE(HLAC) this.traileffect = EFFECT_Null.m_id; break; - HANDLE(PORTO_RED) this.traileffect = EFFECT_TR_WIZSPIKE.m_id; this.scale = 4; break; - HANDLE(PORTO_BLUE) this.traileffect = EFFECT_TR_WIZSPIKE.m_id; this.scale = 4; break; - HANDLE(HOOKBOMB) this.traileffect = EFFECT_TR_KNIGHTSPIKE.m_id; break; - HANDLE(HAGAR) this.traileffect = EFFECT_HAGAR_ROCKET.m_id; this.scale = 0.75; break; - HANDLE(HAGAR_BOUNCING) this.traileffect = EFFECT_HAGAR_ROCKET.m_id; this.scale = 0.75; break; - HANDLE(FIREBALL) this.modelindex = 0; this.traileffect = EFFECT_FIREBALL.m_id; break; // particle effect is good enough - HANDLE(FIREMINE) this.modelindex = 0; this.traileffect = EFFECT_FIREMINE.m_id; break; // particle effect is good enough - HANDLE(TAG) this.traileffect = EFFECT_TR_ROCKET.m_id; break; - HANDLE(FLAC) this.scale = 0.4; this.traileffect = EFFECT_FLAC_TRAIL.m_id; break; - HANDLE(SEEKER) this.traileffect = EFFECT_SEEKER_TRAIL.m_id; break; - - HANDLE(MAGE_SPIKE) this.traileffect = EFFECT_TR_VORESPIKE.m_id; break; - HANDLE(GOLEM_LIGHTNING) this.traileffect = EFFECT_TR_NEXUIZPLASMA.m_id; break; - - HANDLE(RAPTORBOMB) this.gravity = 1; this.avelocity = '0 0 180'; this.traileffect = EFFECT_Null.m_id; break; - HANDLE(RAPTORBOMBLET) this.gravity = 1; this.avelocity = '0 0 180'; this.traileffect = EFFECT_Null.m_id; break; - HANDLE(RAPTORCANNON) this.traileffect = EFFECT_TR_CRYLINKPLASMA.m_id; break; - - HANDLE(SPIDERROCKET) this.traileffect = EFFECT_SPIDERBOT_ROCKET_TRAIL.m_id; break; - HANDLE(WAKIROCKET) this.traileffect = EFFECT_RACER_ROCKET_TRAIL.m_id; break; - HANDLE(WAKICANNON) this.traileffect = EFFECT_Null.m_id; break; - - HANDLE(BUMBLE_GUN) this.traileffect = EFFECT_TR_NEXUIZPLASMA.m_id; break; - HANDLE(BUMBLE_BEAM) this.traileffect = EFFECT_TR_NEXUIZPLASMA.m_id; break; - - HANDLE(RPC) this.traileffect = EFFECT_TR_ROCKET.m_id; break; - - HANDLE(ROCKETMINSTA_LASER) this.traileffect = EFFECT_ROCKETMINSTA_LASER(this.team).m_id; break; + HANDLE(ELECTRO) this.traileffect = EFFECT_TR_NEXUIZPLASMA.m_id; break; + HANDLE(ROCKET) this.traileffect = EFFECT_TR_ROCKET.m_id; this.scale = 2; break; + HANDLE(CRYLINK) this.traileffect = EFFECT_TR_CRYLINKPLASMA.m_id; break; + HANDLE(CRYLINK_BOUNCING) this.traileffect = EFFECT_TR_CRYLINKPLASMA.m_id; break; + HANDLE(ELECTRO_BEAM) this.traileffect = EFFECT_TR_NEXUIZPLASMA.m_id; break; + HANDLE(GRENADE) this.traileffect = EFFECT_TR_GRENADE.m_id; break; + HANDLE(GRENADE_BOUNCING) this.traileffect = EFFECT_TR_GRENADE.m_id; break; + HANDLE(CLASSIC_GRENADE_BOUNCING) this.traileffect = EFFECT_TR_GRENADE.m_id; break; + HANDLE(MINE) this.traileffect = EFFECT_TR_GRENADE.m_id; break; + HANDLE(BLASTER) this.traileffect = EFFECT_Null.m_id; break; + HANDLE(ARC_BOLT) this.traileffect = EFFECT_TR_WIZSPIKE.m_id; break; + HANDLE(HLAC) this.traileffect = EFFECT_Null.m_id; break; + HANDLE(PORTO_RED) this.traileffect = EFFECT_TR_WIZSPIKE.m_id; this.scale = 4; break; + HANDLE(PORTO_BLUE) this.traileffect = EFFECT_TR_WIZSPIKE.m_id; this.scale = 4; break; + HANDLE(HOOKBOMB) this.traileffect = EFFECT_TR_KNIGHTSPIKE.m_id; break; + HANDLE(HAGAR) this.traileffect = EFFECT_HAGAR_ROCKET.m_id; this.scale = 0.75; break; + HANDLE(HAGAR_BOUNCING) this.traileffect = EFFECT_HAGAR_ROCKET.m_id; this.scale = 0.75; break; + HANDLE(FIREBALL) this.modelindex = 0; this.traileffect = EFFECT_FIREBALL.m_id; break; // particle effect is good enough + HANDLE(FIREMINE) this.modelindex = 0; this.traileffect = EFFECT_FIREMINE.m_id; break; // particle effect is good enough + HANDLE(TAG) this.traileffect = EFFECT_TR_ROCKET.m_id; break; + HANDLE(FLAC) this.scale = 0.4; this.traileffect = EFFECT_FLAC_TRAIL.m_id; break; + HANDLE(SEEKER) this.traileffect = EFFECT_SEEKER_TRAIL.m_id; break; + + HANDLE(MAGE_SPIKE) this.traileffect = EFFECT_TR_VORESPIKE.m_id; break; + HANDLE(GOLEM_LIGHTNING) this.traileffect = EFFECT_TR_NEXUIZPLASMA.m_id; break; + + HANDLE(RAPTORBOMB) this.gravity = 1; this.avelocity = '0 0 180'; this.traileffect = EFFECT_Null.m_id; break; + HANDLE(RAPTORBOMBLET) this.gravity = 1; this.avelocity = '0 0 180'; this.traileffect = EFFECT_Null.m_id; break; + HANDLE(RAPTORCANNON) this.traileffect = EFFECT_TR_CRYLINKPLASMA.m_id; break; + + HANDLE(SPIDERROCKET) this.traileffect = EFFECT_SPIDERBOT_ROCKET_TRAIL.m_id; break; + HANDLE(WAKIROCKET) this.traileffect = EFFECT_RACER_ROCKET_TRAIL.m_id; break; + HANDLE(WAKICANNON) this.traileffect = EFFECT_Null.m_id; break; + + HANDLE(BUMBLE_GUN) this.traileffect = EFFECT_TR_NEXUIZPLASMA.m_id; break; + HANDLE(BUMBLE_BEAM) this.traileffect = EFFECT_TR_NEXUIZPLASMA.m_id; break; + + HANDLE(RPC) this.traileffect = EFFECT_TR_ROCKET.m_id; break; + + HANDLE(ROCKETMINSTA_LASER) this.traileffect = EFFECT_ROCKETMINSTA_LASER(this.team).m_id; break; #undef HANDLE default: if (MUTATOR_CALLHOOK(Ent_Projectile, this)) @@ -379,6 +382,14 @@ NET_HANDLE(ENT_CLIENT_PROJECTILE, bool isnew) this.bouncefactor = WEP_CVAR(mortar, bouncefactor); this.bouncestop = WEP_CVAR(mortar, bouncestop); break; + case PROJECTILE_CLASSIC_GRENADE_BOUNCING: + this.mins = '-3 -3 -3'; + this.maxs = '3 3 3'; + set_movetype(this, MOVETYPE_BOUNCE); + settouch(this, func_null); + this.bouncefactor = WEP_CVAR_SEC(classic, bouncefactor); + this.bouncestop = WEP_CVAR_SEC(classic, bouncestop); + break; case PROJECTILE_GOLEM_LIGHTNING: this.mins = '-8 -8 -8'; this.maxs = '8 8 8'; diff --git a/qcsrc/common/models/all.inc b/qcsrc/common/models/all.inc index b8fc08f38..aa919c4fd 100644 --- a/qcsrc/common/models/all.inc +++ b/qcsrc/common/models/all.inc @@ -3,356 +3,357 @@ string W_Model(string w_mdl); -MODEL(CTF_SHIELD, "models/ctf/shield.md3"); -MODEL(CTF_CAPTURE, "models/ctf/shockwavetransring.md3"); -MODEL(CTF_FLAG, "models/ctf/flags.md3"); +MODEL(CTF_SHIELD, "models/ctf/shield.md3"); +MODEL(CTF_CAPTURE, "models/ctf/shockwavetransring.md3"); +MODEL(CTF_FLAG, "models/ctf/flags.md3"); -MODEL(DOM_NEUTRAL, "models/domination/dom_unclaimed.md3"); -MODEL(DOM_RED, "models/domination/dom_red.md3"); -MODEL(DOM_BLUE, "models/domination/dom_blue.md3"); -MODEL(DOM_YELLOW, "models/domination/dom_yellow.md3"); -MODEL(DOM_PINK, "models/domination/dom_pink.md3"); +MODEL(DOM_NEUTRAL, "models/domination/dom_unclaimed.md3"); +MODEL(DOM_RED, "models/domination/dom_red.md3"); +MODEL(DOM_BLUE, "models/domination/dom_blue.md3"); +MODEL(DOM_YELLOW, "models/domination/dom_yellow.md3"); +MODEL(DOM_PINK, "models/domination/dom_pink.md3"); -MODEL(ICE, "models/ice/ice.md3"); +MODEL(ICE, "models/ice/ice.md3"); -MODEL(KH_KEY, "models/keyhunt/key.md3"); +MODEL(KH_KEY, "models/keyhunt/key.md3"); #ifdef KH_PLAYER_USE_CARRIEDMODEL -MODEL(KH_KEY_CARRIED, "models/keyhunt/key-carried.md3"); +MODEL(KH_KEY_CARRIED, "models/keyhunt/key-carried.md3"); #endif -MODEL(OK_HMG, W_Model("g_ok_hmg.md3")); +MODEL(OK_HMG, W_Model("g_ok_hmg.md3")); -MODEL(OK_RPC, W_Model("g_ok_rl.md3")); +MODEL(OK_RPC, W_Model("g_ok_rl.md3")); -MODEL(OK_MG_VIEW, W_Model("h_ok_mg.iqm")); -MODEL(OK_MG_WORLD, W_Model("v_ok_mg.md3")); -MODEL(OK_MG_ITEM, W_Model("g_ok_mg.md3")); +MODEL(OK_MG_VIEW, W_Model("h_ok_mg.iqm")); +MODEL(OK_MG_WORLD, W_Model("v_ok_mg.md3")); +MODEL(OK_MG_ITEM, W_Model("g_ok_mg.md3")); -MODEL(OK_SHOTGUN_VIEW, W_Model("h_ok_shotgun.iqm")); -MODEL(OK_SHOTGUN_WORLD, W_Model("v_ok_shotgun.md3")); -MODEL(OK_SHOTGUN_ITEM, W_Model("g_ok_shotgun.md3")); +MODEL(OK_SHOTGUN_VIEW, W_Model("h_ok_shotgun.iqm")); +MODEL(OK_SHOTGUN_WORLD, W_Model("v_ok_shotgun.md3")); +MODEL(OK_SHOTGUN_ITEM, W_Model("g_ok_shotgun.md3")); -MODEL(OK_SNIPER_VIEW, W_Model("h_ok_sniper.iqm")); -MODEL(OK_SNIPER_WORLD, W_Model("v_ok_sniper.md3")); -MODEL(OK_SNIPER_ITEM, W_Model("g_ok_sniper.md3")); +MODEL(OK_SNIPER_VIEW, W_Model("h_ok_sniper.iqm")); +MODEL(OK_SNIPER_WORLD, W_Model("v_ok_sniper.md3")); +MODEL(OK_SNIPER_ITEM, W_Model("g_ok_sniper.md3")); -MODEL(ONS_CP, "models/onslaught/controlpoint_icon.md3"); -MODEL(ONS_CP_SHIELD, "models/onslaught/controlpoint_shield.md3"); -MODEL(ONS_CP_PAD1, "models/onslaught/controlpoint_pad.md3"); -MODEL(ONS_CP_PAD2, "models/onslaught/controlpoint_pad2.md3"); -MODEL(ONS_CP1, "models/onslaught/controlpoint_icon_dmg1.md3"); -MODEL(ONS_CP1_GIB, "models/onslaught/controlpoint_icon_gib1.md3"); -MODEL(ONS_CP2, "models/onslaught/controlpoint_icon_dmg2.md3"); -MODEL(ONS_CP2_GIB, "models/onslaught/controlpoint_icon_gib2.md3"); -MODEL(ONS_CP3, "models/onslaught/controlpoint_icon_dmg3.md3"); -MODEL(ONS_CP3_GIB, "models/onslaught/controlpoint_icon_gib4.md3"); -MODEL(ONS_RAY, "models/onslaught/ons_ray.md3"); -MODEL(ONS_GEN, "models/onslaught/generator.md3"); -MODEL(ONS_GEN_SHIELD, "models/onslaught/generator_shield.md3"); -MODEL(ONS_GEN_GIB1, "models/onslaught/gen_gib1.md3"); -MODEL(ONS_GEN_GIB2, "models/onslaught/gen_gib2.md3"); -MODEL(ONS_GEN_GIB3, "models/onslaught/gen_gib3.md3"); -MODEL(ONS_GEN1, "models/onslaught/generator_dmg1.md3"); -MODEL(ONS_GEN2, "models/onslaught/generator_dmg2.md3"); -MODEL(ONS_GEN3, "models/onslaught/generator_dmg3.md3"); -MODEL(ONS_GEN4, "models/onslaught/generator_dmg4.md3"); -MODEL(ONS_GEN5, "models/onslaught/generator_dmg5.md3"); -MODEL(ONS_GEN6, "models/onslaught/generator_dmg6.md3"); -MODEL(ONS_GEN7, "models/onslaught/generator_dmg7.md3"); -MODEL(ONS_GEN8, "models/onslaught/generator_dmg8.md3"); -MODEL(ONS_GEN9, "models/onslaught/generator_dmg9.md3"); -MODEL(ONS_GEN_DEAD, "models/onslaught/generator_dead.md3"); +MODEL(ONS_CP, "models/onslaught/controlpoint_icon.md3"); +MODEL(ONS_CP_SHIELD, "models/onslaught/controlpoint_shield.md3"); +MODEL(ONS_CP_PAD1, "models/onslaught/controlpoint_pad.md3"); +MODEL(ONS_CP_PAD2, "models/onslaught/controlpoint_pad2.md3"); +MODEL(ONS_CP1, "models/onslaught/controlpoint_icon_dmg1.md3"); +MODEL(ONS_CP1_GIB, "models/onslaught/controlpoint_icon_gib1.md3"); +MODEL(ONS_CP2, "models/onslaught/controlpoint_icon_dmg2.md3"); +MODEL(ONS_CP2_GIB, "models/onslaught/controlpoint_icon_gib2.md3"); +MODEL(ONS_CP3, "models/onslaught/controlpoint_icon_dmg3.md3"); +MODEL(ONS_CP3_GIB, "models/onslaught/controlpoint_icon_gib4.md3"); +MODEL(ONS_RAY, "models/onslaught/ons_ray.md3"); +MODEL(ONS_GEN, "models/onslaught/generator.md3"); +MODEL(ONS_GEN_SHIELD, "models/onslaught/generator_shield.md3"); +MODEL(ONS_GEN_GIB1, "models/onslaught/gen_gib1.md3"); +MODEL(ONS_GEN_GIB2, "models/onslaught/gen_gib2.md3"); +MODEL(ONS_GEN_GIB3, "models/onslaught/gen_gib3.md3"); +MODEL(ONS_GEN1, "models/onslaught/generator_dmg1.md3"); +MODEL(ONS_GEN2, "models/onslaught/generator_dmg2.md3"); +MODEL(ONS_GEN3, "models/onslaught/generator_dmg3.md3"); +MODEL(ONS_GEN4, "models/onslaught/generator_dmg4.md3"); +MODEL(ONS_GEN5, "models/onslaught/generator_dmg5.md3"); +MODEL(ONS_GEN6, "models/onslaught/generator_dmg6.md3"); +MODEL(ONS_GEN7, "models/onslaught/generator_dmg7.md3"); +MODEL(ONS_GEN8, "models/onslaught/generator_dmg8.md3"); +MODEL(ONS_GEN9, "models/onslaught/generator_dmg9.md3"); +MODEL(ONS_GEN_DEAD, "models/onslaught/generator_dead.md3"); -MODEL(PROJECTILE_ELECTRO, "models/ebomb.mdl"); -MODEL(PROJECTILE_ELECTRO_BEAM, "models/elaser.mdl"); +MODEL(PROJECTILE_ELECTRO, "models/ebomb.mdl"); +MODEL(PROJECTILE_ELECTRO_BEAM, "models/elaser.mdl"); -MODEL(PROJECTILE_ROCKET, "models/rocket.md3"); +MODEL(PROJECTILE_ROCKET, "models/rocket.md3"); -MODEL(PROJECTILE_CRYLINK, "models/plasmatrail.mdl"); -MODEL(PROJECTILE_CRYLINK_BOUNCING, "models/plasmatrail.mdl"); +MODEL(PROJECTILE_CRYLINK, "models/plasmatrail.mdl"); +MODEL(PROJECTILE_CRYLINK_BOUNCING, "models/plasmatrail.mdl"); -MODEL(PROJECTILE_GRENADE, "models/grenademodel.md3"); -MODEL(PROJECTILE_GRENADE_BOUNCING, "models/grenademodel.md3"); +MODEL(PROJECTILE_GRENADE, "models/grenademodel.md3"); +MODEL(PROJECTILE_GRENADE_BOUNCING, "models/grenademodel.md3"); +MODEL(PROJECTILE_CLASSIC_GRENADE_BOUNCING, "models/grenademodel.md3"); -MODEL(PROJECTILE_MINE, "models/mine.md3"); +MODEL(PROJECTILE_MINE, "models/mine.md3"); -MODEL(PROJECTILE_BLASTER, "models/laser.mdl"); +MODEL(PROJECTILE_BLASTER, "models/laser.mdl"); -MODEL(PROJECTILE_HLAC, "models/hlac_bullet.md3"); +MODEL(PROJECTILE_HLAC, "models/hlac_bullet.md3"); -MODEL(PROJECTILE_PORTO_RED, "models/grenademodel.md3"); -MODEL(PROJECTILE_PORTO_BLUE, "models/grenademodel.md3"); +MODEL(PROJECTILE_PORTO_RED, "models/grenademodel.md3"); +MODEL(PROJECTILE_PORTO_BLUE, "models/grenademodel.md3"); -MODEL(PROJECTILE_HOOKBOMB, "models/grenademodel.md3"); +MODEL(PROJECTILE_HOOKBOMB, "models/grenademodel.md3"); -MODEL(PROJECTILE_HAGAR, "models/hagarmissile.mdl"); -MODEL(PROJECTILE_HAGAR_BOUNCING, "models/hagarmissile.mdl"); +MODEL(PROJECTILE_HAGAR, "models/hagarmissile.mdl"); +MODEL(PROJECTILE_HAGAR_BOUNCING, "models/hagarmissile.mdl"); -MODEL(PROJECTILE_ARC_BOLT, "models/ebomb.mdl"); +MODEL(PROJECTILE_ARC_BOLT, "models/ebomb.mdl"); // napalm grenade -MODEL(PROJECTILE_NAPALM_FOUNTAIN, "null"); +MODEL(PROJECTILE_NAPALM_FOUNTAIN, "null"); // fireball primary -MODEL(PROJECTILE_FIREBALL, "null"); +MODEL(PROJECTILE_FIREBALL, "null"); // fireball secondary -MODEL(PROJECTILE_FIREMINE, "null"); +MODEL(PROJECTILE_FIREMINE, "null"); -MODEL(PROJECTILE_TAG, "models/laser.mdl"); +MODEL(PROJECTILE_TAG, "models/laser.mdl"); -MODEL(PROJECTILE_FLAC, "models/hagarmissile.mdl"); +MODEL(PROJECTILE_FLAC, "models/hagarmissile.mdl"); -MODEL(PROJECTILE_SEEKER, "models/tagrocket.md3"); +MODEL(PROJECTILE_SEEKER, "models/tagrocket.md3"); -MODEL(PROJECTILE_MAGE_SPIKE, "models/ebomb.mdl"); -MODEL(PROJECTILE_GOLEM_LIGHTNING, "models/ebomb.mdl"); +MODEL(PROJECTILE_MAGE_SPIKE, "models/ebomb.mdl"); +MODEL(PROJECTILE_GOLEM_LIGHTNING, "models/ebomb.mdl"); -MODEL(PROJECTILE_RAPTORBOMB, "models/vehicles/clusterbomb.md3"); -MODEL(PROJECTILE_RAPTORBOMBLET, "models/vehicles/bomblet.md3"); -MODEL(PROJECTILE_RAPTORCANNON, "models/plasmatrail.mdl"); +MODEL(PROJECTILE_RAPTORBOMB, "models/vehicles/clusterbomb.md3"); +MODEL(PROJECTILE_RAPTORBOMBLET, "models/vehicles/bomblet.md3"); +MODEL(PROJECTILE_RAPTORCANNON, "models/plasmatrail.mdl"); -MODEL(PROJECTILE_SPIDERROCKET, "models/vehicles/rocket02.md3"); +MODEL(PROJECTILE_SPIDERROCKET, "models/vehicles/rocket02.md3"); -MODEL(PROJECTILE_WAKIROCKET, "models/vehicles/rocket01.md3"); -MODEL(PROJECTILE_WAKICANNON, "models/laser.mdl"); +MODEL(PROJECTILE_WAKIROCKET, "models/vehicles/rocket01.md3"); +MODEL(PROJECTILE_WAKICANNON, "models/laser.mdl"); -MODEL(PROJECTILE_BUMBLE_GUN, "models/elaser.mdl"); -MODEL(PROJECTILE_BUMBLE_BEAM, "models/elaser.mdl"); +MODEL(PROJECTILE_BUMBLE_GUN, "models/elaser.mdl"); +MODEL(PROJECTILE_BUMBLE_BEAM, "models/elaser.mdl"); -MODEL(PROJECTILE_RPC, W_Model("ok_rocket.md3")); +MODEL(PROJECTILE_RPC, W_Model("ok_rocket.md3")); -MODEL(PROJECTILE_ROCKETMINSTA_LASER, "models/elaser.mdl"); +MODEL(PROJECTILE_ROCKETMINSTA_LASER, "models/elaser.mdl"); -MODEL(PROJECTILE_NADE, W_Model("v_ok_grenade.md3")); -MODEL(NADE_VIEW, W_Model("h_ok_grenade.iqm")); -MODEL(NADE_TIMER, "models/ok_nade_counter/ok_nade_counter.md3"); -MODEL(NADE_ORB, "models/ctf/shield.md3"); +MODEL(PROJECTILE_NADE, W_Model("v_ok_grenade.md3")); +MODEL(NADE_VIEW, W_Model("h_ok_grenade.iqm")); +MODEL(NADE_TIMER, "models/ok_nade_counter/ok_nade_counter.md3"); +MODEL(NADE_ORB, "models/ctf/shield.md3"); -MODEL(GIB_CHUNK, "models/gibs/chunk.mdl"); -MODEL(GIB_LEG1, "models/gibs/leg1.md3"); -MODEL(GIB_LEG2, "models/gibs/leg2.md3"); -MODEL(GIB_CHEST, "models/gibs/chest.md3"); -MODEL(GIB_SMALLCHEST, "models/gibs/smallchest.md3"); -MODEL(GIB_ARM, "models/gibs/arm.md3"); -MODEL(GIB_BLOODYSKULL, "models/gibs/bloodyskull.md3"); -MODEL(GIB_EYE, "models/gibs/eye.md3"); +MODEL(GIB_CHUNK, "models/gibs/chunk.mdl"); +MODEL(GIB_LEG1, "models/gibs/leg1.md3"); +MODEL(GIB_LEG2, "models/gibs/leg2.md3"); +MODEL(GIB_CHEST, "models/gibs/chest.md3"); +MODEL(GIB_SMALLCHEST, "models/gibs/smallchest.md3"); +MODEL(GIB_ARM, "models/gibs/arm.md3"); +MODEL(GIB_BLOODYSKULL, "models/gibs/bloodyskull.md3"); +MODEL(GIB_EYE, "models/gibs/eye.md3"); -MODEL(GIB_ROBO, "models/gibs/robo.md3"); -MODEL(GIB_ROBO_1, "models/gibs/robo1.md3"); -MODEL(GIB_ROBO_2, "models/gibs/robo2.md3"); -MODEL(GIB_ROBO_3, "models/gibs/robo3.md3"); -MODEL(GIB_ROBO_4, "models/gibs/robo4.md3"); -MODEL(GIB_ROBO_5, "models/gibs/robo5.md3"); -MODEL(GIB_ROBO_6, "models/gibs/robo6.md3"); -MODEL(GIB_ROBO_7, "models/gibs/robo7.md3"); -MODEL(GIB_ROBO_8, "models/gibs/robo8.md3"); +MODEL(GIB_ROBO, "models/gibs/robo.md3"); +MODEL(GIB_ROBO_1, "models/gibs/robo1.md3"); +MODEL(GIB_ROBO_2, "models/gibs/robo2.md3"); +MODEL(GIB_ROBO_3, "models/gibs/robo3.md3"); +MODEL(GIB_ROBO_4, "models/gibs/robo4.md3"); +MODEL(GIB_ROBO_5, "models/gibs/robo5.md3"); +MODEL(GIB_ROBO_6, "models/gibs/robo6.md3"); +MODEL(GIB_ROBO_7, "models/gibs/robo7.md3"); +MODEL(GIB_ROBO_8, "models/gibs/robo8.md3"); Model MDL_GIB_ROBO_RANDOM() { int i = floor(random() * 8); return REGISTRY_GET(Models, MDL_GIB_ROBO_1.m_id + i); } -MODEL(CASING_SHELL, "models/casing_shell.mdl"); -MODEL(CASING_BULLET, "models/casing_bronze.iqm"); - -MODEL(BUFF, "models/relics/relic.md3"); - -MODEL(BLASTER_VIEW, W_Model("h_laser.iqm")); -MODEL(BLASTER_WORLD, W_Model("v_laser.md3")); -MODEL(BLASTER_ITEM, W_Model("g_laser.md3")); - -MODEL(SHOTGUN_MUZZLEFLASH, "models/uziflash.md3"); -MODEL(SHOTGUN_VIEW, W_Model("h_shotgun.iqm")); -MODEL(SHOTGUN_WORLD, W_Model("v_shotgun.md3")); -MODEL(SHOTGUN_ITEM, W_Model("g_shotgun.md3")); - -MODEL(MACHINEGUN_MUZZLEFLASH, "models/uziflash.md3"); -MODEL(MACHINEGUN_VIEW, W_Model("h_uzi.iqm")); -MODEL(MACHINEGUN_WORLD, W_Model("v_uzi.md3")); -MODEL(MACHINEGUN_ITEM, W_Model("g_uzi.md3")); - -MODEL(MORTAR_VIEW, W_Model("h_gl.iqm")); -MODEL(MORTAR_WORLD, W_Model("v_gl.md3")); -MODEL(MORTAR_ITEM, W_Model("g_gl.md3")); - -MODEL(MINELAYER_MUZZLEFLASH, "models/flash.md3"); -MODEL(MINELAYER_MINE, "models/mine.md3"); -MODEL(MINELAYER_VIEW, W_Model("h_minelayer.iqm")); -MODEL(MINELAYER_WORLD, W_Model("v_minelayer.md3")); -MODEL(MINELAYER_ITEM, W_Model("g_minelayer.md3")); - -MODEL(ELECTRO_VIEW, W_Model("h_electro.iqm")); -MODEL(ELECTRO_WORLD, W_Model("v_electro.md3")); -MODEL(ELECTRO_ITEM, W_Model("g_electro.md3")); - -MODEL(CRYLINK_VIEW, W_Model("h_crylink.iqm")); -MODEL(CRYLINK_WORLD, W_Model("v_crylink.md3")); -MODEL(CRYLINK_ITEM, W_Model("g_crylink.md3")); - -MODEL(VORTEX_MUZZLEFLASH, "models/nexflash.md3"); -MODEL(VORTEX_VIEW, W_Model("h_nex.iqm")); -MODEL(VORTEX_WORLD, W_Model("v_nex.md3")); -MODEL(VORTEX_ITEM, W_Model("g_nex.md3")); - -MODEL(HAGAR_VIEW, W_Model("h_hagar.iqm")); -MODEL(HAGAR_WORLD, W_Model("v_hagar.md3")); -MODEL(HAGAR_ITEM, W_Model("g_hagar.md3")); - -MODEL(DEVASTATOR_MUZZLEFLASH, "models/flash.md3"); -MODEL(DEVASTATOR_VIEW, W_Model("h_rl.iqm")); -MODEL(DEVASTATOR_WORLD, W_Model("v_rl.md3")); -MODEL(DEVASTATOR_ITEM, W_Model("g_rl.md3")); - -MODEL(PORTAL, "models/portal.md3"); -MODEL(PORTO_VIEW, W_Model("h_porto.iqm")); -MODEL(PORTO_WORLD, W_Model("v_porto.md3")); -MODEL(PORTO_ITEM, W_Model("g_porto.md3")); - -MODEL(VAPORIZER_MUZZLEFLASH, "models/nexflash.md3"); -MODEL(VAPORIZER_VIEW, W_Model("h_minstanex.iqm")); -MODEL(VAPORIZER_WORLD, W_Model("v_minstanex.md3")); -MODEL(VAPORIZER_ITEM, W_Model("g_minstanex.md3")); - -MODEL(HOOK, "models/hook.md3"); -MODEL(HOOK_VIEW, W_Model("h_hookgun.iqm")); -MODEL(HOOK_WORLD, W_Model("v_hookgun.md3")); -MODEL(HOOK_ITEM, W_Model("g_hookgun.md3")); - -MODEL(HLAC_VIEW, W_Model("h_hlac.iqm")); -MODEL(HLAC_WORLD, W_Model("v_hlac.md3")); -MODEL(HLAC_ITEM, W_Model("g_hlac.md3")); - -MODEL(TUBA_VIEW, W_Model("h_tuba.iqm")); -MODEL(TUBA_WORLD, W_Model("v_tuba.md3")); -MODEL(TUBA_ITEM, W_Model("g_tuba.md3")); -MODEL(ACCORDION_VIEW, W_Model("h_akordeon.iqm")); -MODEL(ACCORDION_WORLD, W_Model("v_akordeon.md3")); -MODEL(KLEINBOTTLE_VIEW, W_Model("h_kleinbottle.iqm")); -MODEL(KLEINBOTTLE_WORLD, W_Model("v_kleinbottle.md3")); - -MODEL(RIFLE_VIEW, W_Model("h_campingrifle.iqm")); -MODEL(RIFLE_WORLD, W_Model("v_campingrifle.md3")); -MODEL(RIFLE_ITEM, W_Model("g_campingrifle.md3")); - -MODEL(FIREBALL_SPHERE, "models/sphere/sphere.md3"); -MODEL(FIREBALL_VIEW, W_Model("h_fireball.iqm")); -MODEL(FIREBALL_WORLD, W_Model("v_fireball.md3")); -MODEL(FIREBALL_ITEM, W_Model("g_fireball.md3")); - -MODEL(SEEKER_VIEW, W_Model("h_seeker.iqm")); -MODEL(SEEKER_WORLD, W_Model("v_seeker.md3")); -MODEL(SEEKER_ITEM, W_Model("g_seeker.md3")); - -MODEL(SHOCKWAVE_MUZZLEFLASH, "models/uziflash.md3"); -MODEL(SHOCKWAVE_VIEW, W_Model("h_shotgun.iqm")); -MODEL(SHOCKWAVE_WORLD, W_Model("v_shotgun.md3")); -MODEL(SHOCKWAVE_ITEM, W_Model("g_shotgun.md3")); - -MODEL(ARC_MUZZLEFLASH, "models/flash.md3"); -MODEL(ARC_VIEW, W_Model("h_arc.iqm")); -MODEL(ARC_WORLD, W_Model("v_arc.md3")); -MODEL(ARC_ITEM, W_Model("g_arc.md3")); - -MODEL(HMG_MUZZLEFLASH, "models/uziflash.md3"); -MODEL(HMG_VIEW, W_Model("h_ok_hmg.iqm")); -MODEL(HMG_WORLD, W_Model("v_ok_hmg.md3")); -MODEL(HMG_ITEM, W_Model("g_ok_hmg.md3")); - -MODEL(RPC_MUZZLEFLASH, "models/flash.md3"); -MODEL(RPC_VIEW, W_Model("h_ok_rl.iqm")); -MODEL(RPC_WORLD, W_Model("v_ok_rl.md3")); -MODEL(RPC_ITEM, W_Model("g_ok_rl.md3")); - -MODEL(TUR_GIB_BASE1, "models/turrets/base-gib1.md3"); -MODEL(TUR_GIB_BASE2, "models/turrets/base-gib2.md3"); -MODEL(TUR_GIB_BASE3, "models/turrets/base-gib3.md3"); -MODEL(TUR_GIB_BASE4, "models/turrets/base-gib4.md3"); -MODEL(TUR_GIB_HEAD1, "models/turrets/head-gib1.md3"); -MODEL(TUR_GIB_HEAD2, "models/turrets/head-gib2.md3"); -MODEL(TUR_GIB_HEAD3, "models/turrets/head-gib3.md3"); -MODEL(TUR_GIB_HEAD4, "models/turrets/head-gib4.md3"); -MODEL(TUR_BASE, "models/turrets/base.md3"); - -MODEL(TUR_EWHEEL_BASE, "models/turrets/ewheel-base2.md3"); -MODEL(TUR_EWHEEL_HEAD, "models/turrets/ewheel-gun1.md3"); - -MODEL(TUR_FLAC_BASE, "models/turrets/base.md3"); -MODEL(TUR_FLAC_HEAD, "models/turrets/flac.md3"); - -MODEL(TUR_FUSIONREACTOR_BASE, "models/turrets/base.md3"); -MODEL(TUR_FUSIONREACTOR_HEAD, "models/turrets/reactor.md3"); - -MODEL(TUR_HELLION_BASE, "models/turrets/base.md3"); -MODEL(TUR_HELLION_HEAD, "models/turrets/hellion.md3"); - -MODEL(TUR_HK_BASE, "models/turrets/base.md3"); -MODEL(TUR_HK_HEAD, "models/turrets/hk.md3"); - -MODEL(TUR_MACHINEGUN_BASE, "models/turrets/base.md3"); -MODEL(TUR_MACHINEGUN_HEAD, "models/turrets/machinegun.md3"); - -MODEL(TUR_MIRS_BASE, "models/turrets/base.md3"); -MODEL(TUR_MIRS_HEAD, "models/turrets/mlrs.md3"); - -MODEL(TUR_PHASER_BASE, "models/turrets/base.md3"); -MODEL(TUR_PHASER_BEAM, "models/turrets/phaser_beam.md3"); -MODEL(TUR_PHASER_HEAD, "models/turrets/phaser.md3"); - -MODEL(TUR_PLASMA_BASE, "models/turrets/base.md3"); -MODEL(TUR_PLASMA_HEAD, "models/turrets/plasma.md3"); - -MODEL(TUR_PLASMA_DUAL_BASE, "models/turrets/base.md3"); -MODEL(TUR_PLASMA_DUAL_HEAD, "models/turrets/plasmad.md3"); - -MODEL(TUR_TESLA_BASE, "models/turrets/tesla_base.md3"); -MODEL(TUR_TESLA_HEAD, "models/turrets/tesla_head.md3"); - -MODEL(TUR_WALKER_BASE, "models/turrets/walker_body.md3"); -MODEL(TUR_WALKER_HEAD, "models/turrets/walker_head_minigun.md3"); - -MODEL(VEH_SHIELD, "models/vhshield.md3"); - -MODEL(VEH_BUMBLEBEE_BODY, "models/vehicles/bumblebee_body.dpm"); -MODEL(VEH_BUMBLEBEE_CANNON_CENTER, "models/vehicles/bumblebee_ray.dpm"); -MODEL(VEH_BUMBLEBEE_CANNON_LEFT, "models/vehicles/bumblebee_plasma_left.dpm"); -MODEL(VEH_BUMBLEBEE_CANNON_RIGHT, "models/vehicles/bumblebee_plasma_right.dpm"); -MODEL(VEH_BUMBLEBEE_SHIELD, "models/vhshield.md3"); - -MODEL(VEH_RACER_BODY, "models/vehicles/wakizashi.dpm"); -MODEL(VEH_RACER_VIEW, "models/vehicles/wakizashi_cockpit.dpm"); - -MODEL(VEH_RAPTOR_BODY, "models/vehicles/raptor.dpm"); -MODEL(VEH_RAPTOR_CB_FOLDED, "models/vehicles/clusterbomb_folded.md3"); -MODEL(VEH_RAPTOR_CB_FRAGMENT, "models/vehicles/clusterbomb_fragment.md3"); -MODEL(VEH_RAPTOR_FLARE, "models/runematch/rune.mdl"); -MODEL(VEH_RAPTOR_GUN, "models/vehicles/raptor_gun.dpm"); -MODEL(VEH_RAPTOR_PROP, "models/vehicles/spinner.dpm"); -MODEL(VEH_RAPTOR_TAIL, "models/vehicles/raptor_body.dpm"); -MODEL(VEH_RAPTOR_VIEW, "models/vehicles/raptor_cockpit.dpm"); - -MODEL(VEH_SPIDERBOT_BODY, "models/vehicles/spiderbot.dpm"); -MODEL(VEH_SPIDERBOT_GUN, "models/vehicles/spiderbot_barrels.dpm"); -MODEL(VEH_SPIDERBOT_MUZZLEFLASH, "models/uziflash.md3"); -MODEL(VEH_SPIDERBOT_TOP, "models/vehicles/spiderbot_top.dpm"); -MODEL(VEH_SPIDERBOT_VIEW, "models/vehicles/spiderbot_cockpit.dpm"); - -MODEL(CHAT, "models/misc/chatbubble.spr"); -MODEL(CHAT_MINIGAME, "models/sprites/minigame_busy.iqm"); - -MODEL(0, "models/sprites/0.spr32"); -MODEL(1, "models/sprites/1.spr32"); -MODEL(2, "models/sprites/2.spr32"); -MODEL(3, "models/sprites/3.spr32"); -MODEL(4, "models/sprites/4.spr32"); -MODEL(5, "models/sprites/5.spr32"); -MODEL(6, "models/sprites/6.spr32"); -MODEL(7, "models/sprites/7.spr32"); -MODEL(8, "models/sprites/8.spr32"); -MODEL(9, "models/sprites/9.spr32"); -MODEL(10, "models/sprites/10.spr32"); +MODEL(CASING_SHELL, "models/casing_shell.mdl"); +MODEL(CASING_BULLET, "models/casing_bronze.iqm"); + +MODEL(BUFF, "models/relics/relic.md3"); + +MODEL(BLASTER_VIEW, W_Model("h_laser.iqm")); +MODEL(BLASTER_WORLD, W_Model("v_laser.md3")); +MODEL(BLASTER_ITEM, W_Model("g_laser.md3")); + +MODEL(SHOTGUN_MUZZLEFLASH, "models/uziflash.md3"); +MODEL(SHOTGUN_VIEW, W_Model("h_shotgun.iqm")); +MODEL(SHOTGUN_WORLD, W_Model("v_shotgun.md3")); +MODEL(SHOTGUN_ITEM, W_Model("g_shotgun.md3")); + +MODEL(MACHINEGUN_MUZZLEFLASH, "models/uziflash.md3"); +MODEL(MACHINEGUN_VIEW, W_Model("h_uzi.iqm")); +MODEL(MACHINEGUN_WORLD, W_Model("v_uzi.md3")); +MODEL(MACHINEGUN_ITEM, W_Model("g_uzi.md3")); + +MODEL(MORTAR_VIEW, W_Model("h_gl.iqm")); +MODEL(MORTAR_WORLD, W_Model("v_gl.md3")); +MODEL(MORTAR_ITEM, W_Model("g_gl.md3")); + +MODEL(MINELAYER_MUZZLEFLASH, "models/flash.md3"); +MODEL(MINELAYER_MINE, "models/mine.md3"); +MODEL(MINELAYER_VIEW, W_Model("h_minelayer.iqm")); +MODEL(MINELAYER_WORLD, W_Model("v_minelayer.md3")); +MODEL(MINELAYER_ITEM, W_Model("g_minelayer.md3")); + +MODEL(ELECTRO_VIEW, W_Model("h_electro.iqm")); +MODEL(ELECTRO_WORLD, W_Model("v_electro.md3")); +MODEL(ELECTRO_ITEM, W_Model("g_electro.md3")); + +MODEL(CRYLINK_VIEW, W_Model("h_crylink.iqm")); +MODEL(CRYLINK_WORLD, W_Model("v_crylink.md3")); +MODEL(CRYLINK_ITEM, W_Model("g_crylink.md3")); + +MODEL(VORTEX_MUZZLEFLASH, "models/nexflash.md3"); +MODEL(VORTEX_VIEW, W_Model("h_nex.iqm")); +MODEL(VORTEX_WORLD, W_Model("v_nex.md3")); +MODEL(VORTEX_ITEM, W_Model("g_nex.md3")); + +MODEL(HAGAR_VIEW, W_Model("h_hagar.iqm")); +MODEL(HAGAR_WORLD, W_Model("v_hagar.md3")); +MODEL(HAGAR_ITEM, W_Model("g_hagar.md3")); + +MODEL(DEVASTATOR_MUZZLEFLASH, "models/flash.md3"); +MODEL(DEVASTATOR_VIEW, W_Model("h_rl.iqm")); +MODEL(DEVASTATOR_WORLD, W_Model("v_rl.md3")); +MODEL(DEVASTATOR_ITEM, W_Model("g_rl.md3")); + +MODEL(PORTAL, "models/portal.md3"); +MODEL(PORTO_VIEW, W_Model("h_porto.iqm")); +MODEL(PORTO_WORLD, W_Model("v_porto.md3")); +MODEL(PORTO_ITEM, W_Model("g_porto.md3")); + +MODEL(VAPORIZER_MUZZLEFLASH, "models/nexflash.md3"); +MODEL(VAPORIZER_VIEW, W_Model("h_minstanex.iqm")); +MODEL(VAPORIZER_WORLD, W_Model("v_minstanex.md3")); +MODEL(VAPORIZER_ITEM, W_Model("g_minstanex.md3")); + +MODEL(HOOK, "models/hook.md3"); +MODEL(HOOK_VIEW, W_Model("h_hookgun.iqm")); +MODEL(HOOK_WORLD, W_Model("v_hookgun.md3")); +MODEL(HOOK_ITEM, W_Model("g_hookgun.md3")); + +MODEL(HLAC_VIEW, W_Model("h_hlac.iqm")); +MODEL(HLAC_WORLD, W_Model("v_hlac.md3")); +MODEL(HLAC_ITEM, W_Model("g_hlac.md3")); + +MODEL(TUBA_VIEW, W_Model("h_tuba.iqm")); +MODEL(TUBA_WORLD, W_Model("v_tuba.md3")); +MODEL(TUBA_ITEM, W_Model("g_tuba.md3")); +MODEL(ACCORDION_VIEW, W_Model("h_akordeon.iqm")); +MODEL(ACCORDION_WORLD, W_Model("v_akordeon.md3")); +MODEL(KLEINBOTTLE_VIEW, W_Model("h_kleinbottle.iqm")); +MODEL(KLEINBOTTLE_WORLD, W_Model("v_kleinbottle.md3")); + +MODEL(RIFLE_VIEW, W_Model("h_campingrifle.iqm")); +MODEL(RIFLE_WORLD, W_Model("v_campingrifle.md3")); +MODEL(RIFLE_ITEM, W_Model("g_campingrifle.md3")); + +MODEL(FIREBALL_SPHERE, "models/sphere/sphere.md3"); +MODEL(FIREBALL_VIEW, W_Model("h_fireball.iqm")); +MODEL(FIREBALL_WORLD, W_Model("v_fireball.md3")); +MODEL(FIREBALL_ITEM, W_Model("g_fireball.md3")); + +MODEL(SEEKER_VIEW, W_Model("h_seeker.iqm")); +MODEL(SEEKER_WORLD, W_Model("v_seeker.md3")); +MODEL(SEEKER_ITEM, W_Model("g_seeker.md3")); + +MODEL(SHOCKWAVE_MUZZLEFLASH, "models/uziflash.md3"); +MODEL(SHOCKWAVE_VIEW, W_Model("h_shotgun.iqm")); +MODEL(SHOCKWAVE_WORLD, W_Model("v_shotgun.md3")); +MODEL(SHOCKWAVE_ITEM, W_Model("g_shotgun.md3")); + +MODEL(ARC_MUZZLEFLASH, "models/flash.md3"); +MODEL(ARC_VIEW, W_Model("h_arc.iqm")); +MODEL(ARC_WORLD, W_Model("v_arc.md3")); +MODEL(ARC_ITEM, W_Model("g_arc.md3")); + +MODEL(HMG_MUZZLEFLASH, "models/uziflash.md3"); +MODEL(HMG_VIEW, W_Model("h_ok_hmg.iqm")); +MODEL(HMG_WORLD, W_Model("v_ok_hmg.md3")); +MODEL(HMG_ITEM, W_Model("g_ok_hmg.md3")); + +MODEL(RPC_MUZZLEFLASH, "models/flash.md3"); +MODEL(RPC_VIEW, W_Model("h_ok_rl.iqm")); +MODEL(RPC_WORLD, W_Model("v_ok_rl.md3")); +MODEL(RPC_ITEM, W_Model("g_ok_rl.md3")); + +MODEL(TUR_GIB_BASE1, "models/turrets/base-gib1.md3"); +MODEL(TUR_GIB_BASE2, "models/turrets/base-gib2.md3"); +MODEL(TUR_GIB_BASE3, "models/turrets/base-gib3.md3"); +MODEL(TUR_GIB_BASE4, "models/turrets/base-gib4.md3"); +MODEL(TUR_GIB_HEAD1, "models/turrets/head-gib1.md3"); +MODEL(TUR_GIB_HEAD2, "models/turrets/head-gib2.md3"); +MODEL(TUR_GIB_HEAD3, "models/turrets/head-gib3.md3"); +MODEL(TUR_GIB_HEAD4, "models/turrets/head-gib4.md3"); +MODEL(TUR_BASE, "models/turrets/base.md3"); + +MODEL(TUR_EWHEEL_BASE, "models/turrets/ewheel-base2.md3"); +MODEL(TUR_EWHEEL_HEAD, "models/turrets/ewheel-gun1.md3"); + +MODEL(TUR_FLAC_BASE, "models/turrets/base.md3"); +MODEL(TUR_FLAC_HEAD, "models/turrets/flac.md3"); + +MODEL(TUR_FUSIONREACTOR_BASE, "models/turrets/base.md3"); +MODEL(TUR_FUSIONREACTOR_HEAD, "models/turrets/reactor.md3"); + +MODEL(TUR_HELLION_BASE, "models/turrets/base.md3"); +MODEL(TUR_HELLION_HEAD, "models/turrets/hellion.md3"); + +MODEL(TUR_HK_BASE, "models/turrets/base.md3"); +MODEL(TUR_HK_HEAD, "models/turrets/hk.md3"); + +MODEL(TUR_MACHINEGUN_BASE, "models/turrets/base.md3"); +MODEL(TUR_MACHINEGUN_HEAD, "models/turrets/machinegun.md3"); + +MODEL(TUR_MIRS_BASE, "models/turrets/base.md3"); +MODEL(TUR_MIRS_HEAD, "models/turrets/mlrs.md3"); + +MODEL(TUR_PHASER_BASE, "models/turrets/base.md3"); +MODEL(TUR_PHASER_BEAM, "models/turrets/phaser_beam.md3"); +MODEL(TUR_PHASER_HEAD, "models/turrets/phaser.md3"); + +MODEL(TUR_PLASMA_BASE, "models/turrets/base.md3"); +MODEL(TUR_PLASMA_HEAD, "models/turrets/plasma.md3"); + +MODEL(TUR_PLASMA_DUAL_BASE, "models/turrets/base.md3"); +MODEL(TUR_PLASMA_DUAL_HEAD, "models/turrets/plasmad.md3"); + +MODEL(TUR_TESLA_BASE, "models/turrets/tesla_base.md3"); +MODEL(TUR_TESLA_HEAD, "models/turrets/tesla_head.md3"); + +MODEL(TUR_WALKER_BASE, "models/turrets/walker_body.md3"); +MODEL(TUR_WALKER_HEAD, "models/turrets/walker_head_minigun.md3"); + +MODEL(VEH_SHIELD, "models/vhshield.md3"); + +MODEL(VEH_BUMBLEBEE_BODY, "models/vehicles/bumblebee_body.dpm"); +MODEL(VEH_BUMBLEBEE_CANNON_CENTER, "models/vehicles/bumblebee_ray.dpm"); +MODEL(VEH_BUMBLEBEE_CANNON_LEFT, "models/vehicles/bumblebee_plasma_left.dpm"); +MODEL(VEH_BUMBLEBEE_CANNON_RIGHT, "models/vehicles/bumblebee_plasma_right.dpm"); +MODEL(VEH_BUMBLEBEE_SHIELD, "models/vhshield.md3"); + +MODEL(VEH_RACER_BODY, "models/vehicles/wakizashi.dpm"); +MODEL(VEH_RACER_VIEW, "models/vehicles/wakizashi_cockpit.dpm"); + +MODEL(VEH_RAPTOR_BODY, "models/vehicles/raptor.dpm"); +MODEL(VEH_RAPTOR_CB_FOLDED, "models/vehicles/clusterbomb_folded.md3"); +MODEL(VEH_RAPTOR_CB_FRAGMENT, "models/vehicles/clusterbomb_fragment.md3"); +MODEL(VEH_RAPTOR_FLARE, "models/runematch/rune.mdl"); +MODEL(VEH_RAPTOR_GUN, "models/vehicles/raptor_gun.dpm"); +MODEL(VEH_RAPTOR_PROP, "models/vehicles/spinner.dpm"); +MODEL(VEH_RAPTOR_TAIL, "models/vehicles/raptor_body.dpm"); +MODEL(VEH_RAPTOR_VIEW, "models/vehicles/raptor_cockpit.dpm"); + +MODEL(VEH_SPIDERBOT_BODY, "models/vehicles/spiderbot.dpm"); +MODEL(VEH_SPIDERBOT_GUN, "models/vehicles/spiderbot_barrels.dpm"); +MODEL(VEH_SPIDERBOT_MUZZLEFLASH, "models/uziflash.md3"); +MODEL(VEH_SPIDERBOT_TOP, "models/vehicles/spiderbot_top.dpm"); +MODEL(VEH_SPIDERBOT_VIEW, "models/vehicles/spiderbot_cockpit.dpm"); + +MODEL(CHAT, "models/misc/chatbubble.spr"); +MODEL(CHAT_MINIGAME, "models/sprites/minigame_busy.iqm"); + +MODEL(0, "models/sprites/0.spr32"); +MODEL(1, "models/sprites/1.spr32"); +MODEL(2, "models/sprites/2.spr32"); +MODEL(3, "models/sprites/3.spr32"); +MODEL(4, "models/sprites/4.spr32"); +MODEL(5, "models/sprites/5.spr32"); +MODEL(6, "models/sprites/6.spr32"); +MODEL(7, "models/sprites/7.spr32"); +MODEL(8, "models/sprites/8.spr32"); +MODEL(9, "models/sprites/9.spr32"); +MODEL(10, "models/sprites/10.spr32"); Model MDL_NUM(int i) { if ((i >= 0 && i <= 10)) return REGISTRY_GET(Models, MDL_0.m_id + i); return MDL_Null; } -MODEL(WAYPOINT, "models/runematch/rune.mdl"); -MODEL(MARKER, "models/marker.md3"); +MODEL(WAYPOINT, "models/runematch/rune.mdl"); +MODEL(MARKER, "models/marker.md3"); diff --git a/qcsrc/common/weapons/projectiles.qh b/qcsrc/common/weapons/projectiles.qh index 594c14249..48d8e8a85 100644 --- a/qcsrc/common/weapons/projectiles.qh +++ b/qcsrc/common/weapons/projectiles.qh @@ -38,6 +38,8 @@ const int PROJECTILE_ROCKETMINSTA_LASER = 34; const int PROJECTILE_ARC_BOLT = 35; +const int PROJECTILE_CLASSIC_GRENADE_BOUNCING = 36; + // projectile IDs 40-50 reserved const int PROJECTILE_RPC = 60; diff --git a/qcsrc/common/weapons/weapon/_mod.inc b/qcsrc/common/weapons/weapon/_mod.inc index 06cd89d8b..794945992 100644 --- a/qcsrc/common/weapons/weapon/_mod.inc +++ b/qcsrc/common/weapons/weapon/_mod.inc @@ -1,6 +1,7 @@ // generated file; do not modify #include #include +#include #include #include #include diff --git a/qcsrc/common/weapons/weapon/classic.qc b/qcsrc/common/weapons/weapon/classic.qc index c93ccc8af..2b7d33d95 100644 --- a/qcsrc/common/weapons/weapon/classic.qc +++ b/qcsrc/common/weapons/weapon/classic.qc @@ -32,7 +32,7 @@ void W_Classic_Rocket_Explode(entity this, entity directhitentity) } -void W_Classic_Rocket_Explode_use(entity this, entity toucher) +void W_Classic_Rocket_Explode_use(entity this, entity actor, entity trigger) { W_Classic_Rocket_Explode(this, NULL); } @@ -55,7 +55,8 @@ void W_Classic_Rocket_Damage(entity this, entity inflictor, entity attacker, flo this.angles = vectoangles(this.velocity); if(GetResource(this, RES_HEALTH) <= 0) - W_PrepareExplosionByDamage(this, attacker, W_Classic_Explode_use); + W_PrepareExplosionByDamage(this, attacker, adaptor_think2use_hittype_splash); + //W_PrepareExplosionByDamage(this, attacker, W_Classic_Rocket_Explode_use); } void W_Classic_Rocket_Attack(Weapon thiswep, entity actor, .entity weaponentity) @@ -88,9 +89,10 @@ void W_Classic_Rocket_Attack(Weapon thiswep, entity actor, .entity weaponentity) missile.angles = vectoangles(missile.velocity); settouch(missile, W_Classic_Rocket_Touch); - setthink(missile, W_Classic_Rocket_use); - //setthink(missile, adaptor_think2use_hittype_splash); - missile.nextthink = time; + //setthink(missile, W_Classic_Rocket_Explode_use); + setthink(missile, adaptor_think2use_hittype_splash); + missile.use = W_Classic_Rocket_Explode_use; + missile.nextthink = time + WEP_CVAR_PRI(classic, lifetime); missile.cnt = time + WEP_CVAR_PRI(classic, lifetime); missile.flags = FL_PROJECTILE; IL_PUSH(g_projectiles, missile); @@ -219,7 +221,7 @@ void W_Classic_Grenade_Attack(Weapon thiswep, entity actor, .entity weaponentity IL_PUSH(g_projectiles, gren); IL_PUSH(g_bot_dodge, gren); - CSQCProjectile(gren, true, PROJECTILE_GRENADE_BOUNCING, true); + CSQCProjectile(gren, true, PROJECTILE_CLASSIC_GRENADE_BOUNCING, true); MUTATOR_CALLHOOK(EditProjectile, actor, gren); } @@ -258,7 +260,6 @@ METHOD(Classic, wr_aim, void(entity thiswep, entity actor, .entity weaponentity) METHOD(Classic, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire)) { - print("free\n"); if(autocvar_g_balance_classic_reload_ammo && actor.(weaponentity).clip_load < min(WEP_CVAR_PRI(classic, ammo), WEP_CVAR_SEC(classic, ammo))) { // forced reload @@ -266,20 +267,16 @@ METHOD(Classic, wr_think, void(entity thiswep, entity actor, .entity weaponentit } else if(fire & 1) { - print("fire 1\n"); if(weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(classic, refire))) { - print("attack 1\n"); W_Classic_Rocket_Attack(thiswep, actor, weaponentity); weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(classic, animtime), w_ready); } } else if(fire & 2) { - print("fire 1\n"); if(weapon_prepareattack(thiswep, actor, weaponentity, true, WEP_CVAR_SEC(classic, refire))) { - print("attack 1\n"); W_Classic_Grenade_Attack(thiswep, actor, weaponentity); weapon_thinkf(actor, weaponentity, WFRAME_FIRE2, WEP_CVAR_SEC(classic, animtime), w_ready); } @@ -304,7 +301,7 @@ METHOD(Classic, wr_reload, void(entity thiswep, entity actor, .entity weaponenti { W_Reload(actor, weaponentity, min(WEP_CVAR_PRI(classic, ammo), WEP_CVAR_SEC(classic, ammo)), SND_RELOAD); // WEAPONTODO? imported from mortar.qc which had "WEAPONTODO" } - +/* METHOD(Classic, wr_suicidemessage, Notification(entity thiswep)) { if(w_deathtype & HITTYPE_SECONDARY) @@ -331,7 +328,7 @@ METHOD(Classic, wr_killmessage, Notification(entity thiswep)) } } - +*/ #endif #ifdef CSQC -- 2.39.2