]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
No longer vegetative state!
authordrjaska <drjaska83@gmail.com>
Thu, 1 Dec 2022 15:50:41 +0000 (17:50 +0200)
committerdrjaska <drjaska83@gmail.com>
Thu, 1 Dec 2022 15:50:41 +0000 (17:50 +0200)
bal-wep-mario.cfg
bal-wep-nexuiz25.cfg
bal-wep-samual.cfg
bal-wep-xdf.cfg
bal-wep-xonotic.cfg
qcsrc/client/weapons/projectile.qc
qcsrc/common/models/all.inc
qcsrc/common/weapons/projectiles.qh
qcsrc/common/weapons/weapon/_mod.inc
qcsrc/common/weapons/weapon/classic.qc

index a489b259ac853bd24286dcefeb2b2743bdd7b9a4..d2303e466ad608fb06a0977a12b01874af7fe9cc 100644 (file)
@@ -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
index ebb48077f066dc139cc6dfc723877925153c74e9..6282be94cbb604069ad0f834b8a3e148e18c1ada 100644 (file)
@@ -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
index 96bcadfff3f0b596a6883ffcd68b1eee50ccf693..3f564b68901ea5b5aa79e3fbfc6d522d7b370b8d 100644 (file)
@@ -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
index e95f40b9403af7891163afc60d60dc472cd5ef2c..6dfc1d49bcd1c77aa3c20b0473b9f29f6e64d896 100644 (file)
@@ -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
index 1c7be35986e4eb8fa0dd27c55a419df13e51262c..26a920250037810a7d56bd98fd0fb9f0ef6e2f48 100644 (file)
@@ -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
index 1df65036ec59a83b10feeba19544c818ee939e9a..c3637ce7df4f7ebfb400046b764e121725053358 100644 (file)
@@ -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';
index b8fc08f388144d328b101b1c60e5557a92027187..aa919c4fdf99a44a92bde2ded625e965b1e013b0 100644 (file)
 
 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");
index 594c142494f4ea13305996c257d2745712e78727..48d8e8a85bd216a43b80ed5de843a14292c4a59a 100644 (file)
@@ -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;
index 06cd89d8b78a243093a904d1e5ec0e2a45f86801..7949459928b6652d93b65702aa4103e23b6c5055 100644 (file)
@@ -1,6 +1,7 @@
 // generated file; do not modify
 #include <common/weapons/weapon/arc.qc>
 #include <common/weapons/weapon/blaster.qc>
+#include <common/weapons/weapon/classic.qc>
 #include <common/weapons/weapon/crylink.qc>
 #include <common/weapons/weapon/devastator.qc>
 #include <common/weapons/weapon/electro.qc>
index c93ccc8af534dcdf55c5ffc610e1f9560536ccfc..2b7d33d95ab27e63f9e71da1c56d8b4733289cfc 100644 (file)
@@ -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