]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Items: source name and pickups from item and weapon definitions
authorTimePath <andrew.hardaker1995@gmail.com>
Mon, 12 Oct 2015 08:36:45 +0000 (19:36 +1100)
committerTimePath <andrew.hardaker1995@gmail.com>
Mon, 12 Oct 2015 08:36:45 +0000 (19:36 +1100)
47 files changed:
qcsrc/common/gamemodes/gamemode/nexball/weapon.qc
qcsrc/common/items/item/armor.qh
qcsrc/common/items/item/health.qh
qcsrc/common/items/item/pickup.qh
qcsrc/common/items/item/powerup.qh
qcsrc/common/monsters/monster/mage.qc
qcsrc/common/monsters/monster/spider.qc
qcsrc/common/monsters/monster/wyvern.qc
qcsrc/common/turrets/turret/ewheel_weapon.qc
qcsrc/common/turrets/turret/flac_weapon.qc
qcsrc/common/turrets/turret/hellion_weapon.qc
qcsrc/common/turrets/turret/hk_weapon.qc
qcsrc/common/turrets/turret/machinegun_weapon.qc
qcsrc/common/turrets/turret/mlrs_weapon.qc
qcsrc/common/turrets/turret/phaser_weapon.qc
qcsrc/common/turrets/turret/plasma_dual.qc
qcsrc/common/turrets/turret/plasma_weapon.qc
qcsrc/common/turrets/turret/tesla_weapon.qc
qcsrc/common/turrets/turret/walker_weapon.qc
qcsrc/common/vehicles/vehicle/racer_weapon.qc
qcsrc/common/vehicles/vehicle/raptor_weapons.qc
qcsrc/common/weapons/weapon.qh
qcsrc/common/weapons/weapon/arc.qc
qcsrc/common/weapons/weapon/blaster.qc
qcsrc/common/weapons/weapon/crylink.qc
qcsrc/common/weapons/weapon/devastator.qc
qcsrc/common/weapons/weapon/electro.qc
qcsrc/common/weapons/weapon/fireball.qc
qcsrc/common/weapons/weapon/hagar.qc
qcsrc/common/weapons/weapon/hlac.qc
qcsrc/common/weapons/weapon/hmg.qc
qcsrc/common/weapons/weapon/hook.qc
qcsrc/common/weapons/weapon/machinegun.qc
qcsrc/common/weapons/weapon/minelayer.qc
qcsrc/common/weapons/weapon/mortar.qc
qcsrc/common/weapons/weapon/porto.qc
qcsrc/common/weapons/weapon/rifle.qc
qcsrc/common/weapons/weapon/rpc.qc
qcsrc/common/weapons/weapon/seeker.qc
qcsrc/common/weapons/weapon/shockwave.qc
qcsrc/common/weapons/weapon/shotgun.qc
qcsrc/common/weapons/weapon/tuba.qc
qcsrc/common/weapons/weapon/vaporizer.qc
qcsrc/common/weapons/weapon/vortex.qc
qcsrc/server/t_items.qc
qcsrc/server/t_items.qh
qcsrc/server/weapons/spawning.qc

index ae882bb32a1cca706a45a30b873c03318ae3f97a..c6aa4be215a21fca52c75cf00388f6a7de730af3 100644 (file)
@@ -5,7 +5,7 @@ CLASS(BallStealer, PortoLaunch)
 /* flags     */ ATTRIB(BallStealer, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(BallStealer, impulse, int, 0);
 /* refname   */ ATTRIB(BallStealer, netname, string, "ballstealer");
-/* wepname   */ ATTRIB(BallStealer, message, string, _("Ball Stealer"));
+/* wepname   */ ATTRIB(BallStealer, m_name, string, _("Ball Stealer"));
 ENDCLASS(BallStealer)
 REGISTER_WEAPON(NEXBALL, NEW(BallStealer));
 
index 48a80f886af4f8278d0326e0f85d17969cdfc2b3..adb93e7c94eb8010c2ca8de8da34e6da1e7b7f2f 100644 (file)
@@ -3,6 +3,8 @@
 #include "pickup.qh"
 CLASS(Armor, Pickup)
 #ifdef SVQC
+    ATTRIB(Armor, m_mins, vector, '-16 -16 0')
+    ATTRIB(Armor, m_maxs, vector, '16 16 48')
     ATTRIB(Armor, m_pickupevalfunc, float(entity player, entity item), commodity_pickupevalfunc)
 #endif
 ENDCLASS(Armor)
index 15f1f8dd91a4213b32c3bd51c10673e2fe76e466..f7bfb5c9386d48e3d0d972fd04db2bc714769dd9 100644 (file)
@@ -3,6 +3,8 @@
 #include "pickup.qh"
 CLASS(Health, Pickup)
 #ifdef SVQC
+    ATTRIB(Health, m_mins, vector, '-16 -16 0')
+    ATTRIB(Health, m_maxs, vector, '16 16 48')
     ATTRIB(Health, m_pickupevalfunc, float(entity player, entity item), commodity_pickupevalfunc)
 #endif
 ENDCLASS(Health)
index 67d17a307ff4a4756dafe82df163b1c8d4a17ebf..9a25ebe9ad28bd5c1461f355983c3d07782b9cde 100644 (file)
@@ -10,6 +10,8 @@ CLASS(Pickup, GameItem)
     METHOD(Pickup, show, void(entity this));
     void Pickup_show(entity this) { LOG_INFOF("%s: %s\n", etos(this), this.m_name); }
 #ifdef SVQC
+    ATTRIB(Pickup, m_mins, vector, '-16 -16 0')
+    ATTRIB(Pickup, m_maxs, vector, '16 16 32')
     ATTRIB(Pickup, m_botvalue, int, 0)
     ATTRIB(Pickup, m_itemflags, int, 0)
     ATTRIB(Pickup, m_itemid, int, 0)
index d78bd5563e1e6707f8c191bf14294d0dc0582f23..f443ab0af2a3e8887cf72128cdbbfc54cb0df4e9 100644 (file)
@@ -8,6 +8,8 @@
 #include "pickup.qh"
 CLASS(Powerup, Pickup)
 #ifdef SVQC
+    ATTRIB(Powerup, m_mins, vector, '-16 -16 0')
+    ATTRIB(Powerup, m_maxs, vector, '16 16 48')
     ATTRIB(Powerup, m_botvalue, int, 100000)
     ATTRIB(Powerup, m_itemflags, int, FL_POWERUP)
     ATTRIB(Powerup, m_respawntime, float(), GET(g_pickup_respawntime_powerup))
index fd1c9bb85212d136bcee44aebabbad3cb8c1e3f1..f804665f07aeedff99dc76b9a3e5916b6fb40870 100644 (file)
@@ -29,7 +29,7 @@ CLASS(MageSpike, PortoLaunch)
 /* flags     */ ATTRIB(MageSpike, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(MageSpike, impulse, int, 9);
 /* refname   */ ATTRIB(MageSpike, netname, string, "magespike");
-/* wepname   */ ATTRIB(MageSpike, message, string, _("Mage spike"));
+/* wepname   */ ATTRIB(MageSpike, m_name, string, _("Mage spike"));
 ENDCLASS(MageSpike)
 REGISTER_WEAPON(MAGE_SPIKE, NEW(MageSpike));
 
index 93252a39a2cf03463a26e4e22659efbaaaadcad6..72ec1026a5c39afdd9427d96173ba351d284b8fc 100644 (file)
@@ -28,7 +28,7 @@ CLASS(SpiderAttack, PortoLaunch)
 /* flags     */ ATTRIB(SpiderAttack, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(SpiderAttack, impulse, int, 9);
 /* refname   */ ATTRIB(SpiderAttack, netname, string, "spider");
-/* wepname   */ ATTRIB(SpiderAttack, message, string, _("Spider attack"));
+/* wepname   */ ATTRIB(SpiderAttack, m_name, string, _("Spider attack"));
 ENDCLASS(SpiderAttack)
 REGISTER_WEAPON(SPIDER_ATTACK, NEW(SpiderAttack));
 
index 4acf2093b6867c898b47bbfaacaaba5c7c85d12b..692595bc5ad576342f43592e013f4fdcbf47f059 100644 (file)
@@ -28,7 +28,7 @@ CLASS(WyvernAttack, PortoLaunch)
 /* flags     */ ATTRIB(WyvernAttack, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(WyvernAttack, impulse, int, 9);
 /* refname   */ ATTRIB(WyvernAttack, netname, string, "wyvern");
-/* wepname   */ ATTRIB(WyvernAttack, message, string, _("Wyvern attack"));
+/* wepname   */ ATTRIB(WyvernAttack, m_name, string, _("Wyvern attack"));
 ENDCLASS(WyvernAttack)
 REGISTER_WEAPON(WYVERN_ATTACK, NEW(WyvernAttack));
 
index 86444bb486a5c972faf03c8fc3d38b807a09c026..e9912eac7d2c4b56b1172197a2ce2282d05130ea 100644 (file)
@@ -5,7 +5,7 @@ CLASS(EWheelAttack, PortoLaunch)
 /* flags     */ ATTRIB(EWheelAttack, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(EWheelAttack, impulse, int, 5);
 /* refname   */ ATTRIB(EWheelAttack, netname, string, "turret_ewheel");
-/* wepname   */ ATTRIB(EWheelAttack, message, string, _("eWheel"));
+/* wepname   */ ATTRIB(EWheelAttack, m_name, string, _("eWheel"));
 ENDCLASS(EWheelAttack)
 REGISTER_WEAPON(EWHEEL, NEW(EWheelAttack));
 
index 4c60805d266c77d19b3e71df6d3a31e30d6cc456..e5b996eaea2954d01371c358273f257ced565e77 100644 (file)
@@ -5,7 +5,7 @@ CLASS(FlacAttack, PortoLaunch)
 /* flags     */ ATTRIB(FlacAttack, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(FlacAttack, impulse, int, 5);
 /* refname   */ ATTRIB(FlacAttack, netname, string, "turret_flac");
-/* wepname   */ ATTRIB(FlacAttack, message, string, _("FLAC"));
+/* wepname   */ ATTRIB(FlacAttack, m_name, string, _("FLAC"));
 ENDCLASS(FlacAttack)
 REGISTER_WEAPON(FLAC, NEW(FlacAttack));
 
index 491fa734ed61b750172cdb8d00954c9cdef27221..dd72f36a3b07e2edc5ce4ef826dd200dad22a4c6 100644 (file)
@@ -5,7 +5,7 @@ CLASS(HellionAttack, PortoLaunch)
 /* flags     */ ATTRIB(HellionAttack, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(HellionAttack, impulse, int, 9);
 /* refname   */ ATTRIB(HellionAttack, netname, string, "turret_hellion");
-/* wepname   */ ATTRIB(HellionAttack, message, string, _("Hellion"));
+/* wepname   */ ATTRIB(HellionAttack, m_name, string, _("Hellion"));
 ENDCLASS(HellionAttack)
 REGISTER_WEAPON(HELLION, NEW(HellionAttack));
 
index 9fe73f830631a8d1353b02e7fbf2422899dcbffa..0e74bc4bb0cbc2c0ba833220eeaa05001e427cd1 100644 (file)
@@ -5,7 +5,7 @@ CLASS(HunterKillerAttack, PortoLaunch)
 /* flags     */ ATTRIB(HunterKillerAttack, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(HunterKillerAttack, impulse, int, 9);
 /* refname   */ ATTRIB(HunterKillerAttack, netname, string, "turret_hk");
-/* wepname   */ ATTRIB(HunterKillerAttack, message, string, _("Hunter-Killer"));
+/* wepname   */ ATTRIB(HunterKillerAttack, m_name, string, _("Hunter-Killer"));
 ENDCLASS(HunterKillerAttack)
 REGISTER_WEAPON(HK, NEW(HunterKillerAttack));
 
index 9b14898298b6c2202c667d83f1ad77e045c5313f..8acbf3c5d201a563044e7ca61c6cc2098cfbad80 100644 (file)
@@ -5,7 +5,7 @@ CLASS(MachineGunTurretAttack, PortoLaunch)
 /* flags     */ ATTRIB(MachineGunTurretAttack, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(MachineGunTurretAttack, impulse, int, 9);
 /* refname   */ ATTRIB(MachineGunTurretAttack, netname, string, "turret_machinegun");
-/* wepname   */ ATTRIB(MachineGunTurretAttack, message, string, _("Machinegun"));
+/* wepname   */ ATTRIB(MachineGunTurretAttack, m_name, string, _("Machinegun"));
 ENDCLASS(MachineGunTurretAttack)
 REGISTER_WEAPON(TUR_MACHINEGUN, NEW(MachineGunTurretAttack));
 
index 3b420f32916fac2297d1031a49bd695fbd5d2e2d..ef3337c0433c8c1847ff7addd77ac73f0d75a43a 100644 (file)
@@ -5,7 +5,7 @@ CLASS(MLRSTurretAttack, PortoLaunch)
 /* flags     */ ATTRIB(MLRSTurretAttack, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(MLRSTurretAttack, impulse, int, 9);
 /* refname   */ ATTRIB(MLRSTurretAttack, netname, string, "turret_mlrs");
-/* wepname   */ ATTRIB(MLRSTurretAttack, message, string, _("MLRS"));
+/* wepname   */ ATTRIB(MLRSTurretAttack, m_name, string, _("MLRS"));
 ENDCLASS(MLRSTurretAttack)
 REGISTER_WEAPON(TUR_MLRS, NEW(MLRSTurretAttack));
 
index 2cb036bc557582cc1dca9ef80da2c21f0f7f5d77..d6df0b7ca45d8506442000a6b4571c9904346add 100644 (file)
@@ -5,7 +5,7 @@ CLASS(PhaserTurretAttack, PortoLaunch)
 /* flags     */ ATTRIB(PhaserTurretAttack, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(PhaserTurretAttack, impulse, int, 9);
 /* refname   */ ATTRIB(PhaserTurretAttack, netname, string, "turret_phaser");
-/* wepname   */ ATTRIB(PhaserTurretAttack, message, string, _("Phaser"));
+/* wepname   */ ATTRIB(PhaserTurretAttack, m_name, string, _("Phaser"));
 ENDCLASS(PhaserTurretAttack)
 REGISTER_WEAPON(PHASER, NEW(PhaserTurretAttack));
 
index e1143bc04803ea6877599567d76ad94e97e3ffcb..ed780b75e0d142bf576aa919fb9234515af225eb 100644 (file)
@@ -3,7 +3,7 @@
 
 CLASS(PlasmaDualAttack, PlasmaAttack)
 /* refname   */ ATTRIB(PlasmaDualAttack, netname, string, "turret_plasma_dual");
-/* wepname   */ ATTRIB(PlasmaDualAttack, message, string, _("Dual plasma"));
+/* wepname   */ ATTRIB(PlasmaDualAttack, m_name, string, _("Dual plasma"));
 ENDCLASS(PlasmaDualAttack)
 REGISTER_WEAPON(PLASMA_DUAL, NEW(PlasmaDualAttack));
 
index 65a663057402da9b8fcf7162d25c5a4800544809..779412dc4c86af3befd41869dff7a23282b8ff2f 100644 (file)
@@ -5,7 +5,7 @@ CLASS(PlasmaAttack, PortoLaunch)
 /* flags     */ ATTRIB(PlasmaAttack, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(PlasmaAttack, impulse, int, 5);
 /* refname   */ ATTRIB(PlasmaAttack, netname, string, "turret_plasma");
-/* wepname   */ ATTRIB(PlasmaAttack, message, string, _("Plasma"));
+/* wepname   */ ATTRIB(PlasmaAttack, m_name, string, _("Plasma"));
 ENDCLASS(PlasmaAttack)
 REGISTER_WEAPON(PLASMA, NEW(PlasmaAttack));
 
index 3a8eb1d52bb84426527f695af313bf261c8ac835..4208133204554219f06fb6880d8de2ac7c223f6b 100644 (file)
@@ -5,7 +5,7 @@ CLASS(TeslaCoilTurretAttack, PortoLaunch)
 /* flags     */ ATTRIB(TeslaCoilTurretAttack, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(TeslaCoilTurretAttack, impulse, int, 9);
 /* refname   */ ATTRIB(TeslaCoilTurretAttack, netname, string, "turret_tesla");
-/* wepname   */ ATTRIB(TeslaCoilTurretAttack, message, string, _("Tesla Coil"));
+/* wepname   */ ATTRIB(TeslaCoilTurretAttack, m_name, string, _("Tesla Coil"));
 ENDCLASS(TeslaCoilTurretAttack)
 REGISTER_WEAPON(TESLA, NEW(TeslaCoilTurretAttack));
 
index 9a54f810f55237cb95bc3b16dcc700234be2c47f..f088241f6c9beed73ecfce36a94428ca63480970 100644 (file)
@@ -5,7 +5,7 @@ CLASS(WalkerTurretAttack, PortoLaunch)
 /* flags     */ ATTRIB(WalkerTurretAttack, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(WalkerTurretAttack, impulse, int, 5);
 /* refname   */ ATTRIB(WalkerTurretAttack, netname, string, "turret_walker");
-/* wepname   */ ATTRIB(WalkerTurretAttack, message, string, _("Walker"));
+/* wepname   */ ATTRIB(WalkerTurretAttack, m_name, string, _("Walker"));
 ENDCLASS(WalkerTurretAttack)
 REGISTER_WEAPON(WALKER, NEW(WalkerTurretAttack));
 
index d5a4c1231089ae846c2fe06be2ee4f5ed5646421..ea243bebe6c03c79621af9b54d8123eda7a1835d 100644 (file)
@@ -7,7 +7,7 @@ CLASS(RacerAttack, PortoLaunch)
 /* flags     */ ATTRIB(RacerAttack, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(RacerAttack, impulse, int, 3);
 /* refname   */ ATTRIB(RacerAttack, netname, string, "racercannon");
-/* wepname   */ ATTRIB(RacerAttack, message, string, _("Racer cannon"));
+/* wepname   */ ATTRIB(RacerAttack, m_name, string, _("Racer cannon"));
 ENDCLASS(RacerAttack)
 REGISTER_WEAPON(RACER, NEW(RacerAttack));
 
index a5ddb7f6717b4f9d9b891a2e0349005142737f6a..350f1e74ca93d06656b68a7b5a5151d1f8feae99 100644 (file)
@@ -7,7 +7,7 @@ CLASS(RaptorCannon, PortoLaunch)
 /* flags     */ ATTRIB(RaptorCannon, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(RaptorCannon, impulse, int, 3);
 /* refname   */ ATTRIB(RaptorCannon, netname, string, "raptorcannon");
-/* wepname   */ ATTRIB(RaptorCannon, message, string, _("Raptor cannon"));
+/* wepname   */ ATTRIB(RaptorCannon, m_name, string, _("Raptor cannon"));
 ENDCLASS(RaptorCannon)
 REGISTER_WEAPON(RAPTOR, NEW(RaptorCannon));
 
@@ -15,7 +15,7 @@ CLASS(RaptorBomb, PortoLaunch)
 /* flags     */ ATTRIB(RaptorBomb, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(RaptorBomb, impulse, int, 3);
 /* refname   */ ATTRIB(RaptorBomb, netname, string, "raptorbomb");
-/* wepname   */ ATTRIB(RaptorBomb, message, string, _("Raptor bomb"));
+/* wepname   */ ATTRIB(RaptorBomb, m_name, string, _("Raptor bomb"));
 ENDCLASS(RaptorBomb)
 REGISTER_WEAPON(RAPTOR_BOMB, NEW(RaptorBomb));
 
@@ -23,7 +23,7 @@ CLASS(RaptorFlare, PortoLaunch)
 /* flags     */ ATTRIB(RaptorFlare, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED);
 /* impulse   */ ATTRIB(RaptorFlare, impulse, int, 3);
 /* refname   */ ATTRIB(RaptorFlare, netname, string, "raptorflare");
-/* wepname   */ ATTRIB(RaptorFlare, message, string, _("Raptor flare"));
+/* wepname   */ ATTRIB(RaptorFlare, m_name, string, _("Raptor flare"));
 ENDCLASS(RaptorFlare)
 REGISTER_WEAPON(RAPTOR_FLARE, NEW(RaptorFlare));
 
index 7c090a1de307a2a9031f4eb14ab6b1b2f304f721..262a91916109c5357184d6262b434650ffb5667f 100644 (file)
@@ -42,7 +42,7 @@ CLASS(Weapon, Object)
     /** M: refname   : reference name name */
     ATTRIB(Weapon, netname, string, "");
     /** M: wepname   : human readable name */
-    ATTRIB(Weapon, message, string, "AOL CD Thrower");
+    ATTRIB(Weapon, m_name, string, "AOL CD Thrower");
 
     ATTRIB(Weapon, m_pickup, entity, NULL);
 
@@ -85,12 +85,14 @@ CLASS(Weapon, Object)
     METHOD(Weapon, wr_pickup, void(Weapon this)) {}
 
        METHOD(Weapon, display, void(entity this, void(string name, string icon) returns)) {
-               returns(this.message, this.model2 ? sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.model2) : string_null);
+               returns(this.m_name, this.model2 ? sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.model2) : string_null);
        }
 ENDCLASS(Weapon)
 
 #include "../items/all.qh"
 CLASS(WeaponPickup, Pickup)
+    ATTRIB(WeaponPickup, m_weapon, Weapon, NULL)
+    ATTRIB(WeaponPickup, m_name, string, string_null)
 #ifndef MENUQC
     ATTRIB(WeaponPickup, m_sound, Sound, SND_WEAPONPICKUP)
 #endif
@@ -100,6 +102,8 @@ CLASS(WeaponPickup, Pickup)
 #endif
     CONSTRUCTOR(WeaponPickup, Weapon w) {
         CONSTRUCT(WeaponPickup);
+        this.m_weapon = w;
+        this.m_name = w.m_name;
 #ifndef MENUQC
         this.m_model = w.m_model;
 #endif
@@ -162,6 +166,6 @@ string W_Model(string w_mdl);
 
 // other useful macros
 #define WEP_AMMO(wpn) (WEP_##wpn.ammo_field) // only used inside weapon files/with direct name, don't duplicate prefix
-#define WEP_NAME(wpn) ((get_weaponinfo(wpn)).message)
+#define WEP_NAME(wpn) ((get_weaponinfo(wpn)).m_name)
 
 #endif
index cc681f8e9c328a975543a8584f3e6b2eaa16929c..471e99601ee6c0ee1888b05bd2859dab966b199c 100644 (file)
@@ -13,7 +13,7 @@ CLASS(Arc, Weapon)
 /* crosshair */ ATTRIB(Arc, w_crosshair_size, float, 0.7);
 /* wepimg    */ ATTRIB(Arc, model2, string, "weaponarc");
 /* refname   */ ATTRIB(Arc, netname, string, "arc");
-/* wepname   */ ATTRIB(Arc, message, string, _("Arc"));
+/* wepname   */ ATTRIB(Arc, m_name, string, _("Arc"));
 ENDCLASS(Arc)
 REGISTER_WEAPON(ARC, NEW(Arc));
 
index f96eb77c2f3794cccd605986cc51249a51985e1c..f3d46e6d5e4df8fedb0d78546afa56afe2ceac65 100644 (file)
@@ -13,7 +13,7 @@ CLASS(Blaster, Weapon)
 /* crosshair */ ATTRIB(Blaster, w_crosshair_size, float, 0.5);
 /* wepimg    */ ATTRIB(Blaster, model2, string, "weaponlaser");
 /* refname   */ ATTRIB(Blaster, netname, string, "blaster");
-/* wepname   */ ATTRIB(Blaster, message, string, _("Blaster"));
+/* wepname   */ ATTRIB(Blaster, m_name, string, _("Blaster"));
 ENDCLASS(Blaster)
 REGISTER_WEAPON(BLASTER, NEW(Blaster));
 
index 9baa9149c802a4dc75f208f2c252a85912428e55..87e66997f722a72809acf513e79ad54296a9e253 100644 (file)
@@ -13,7 +13,7 @@ CLASS(Crylink, Weapon)
 /* crosshair */ ATTRIB(Crylink, w_crosshair_size, float, 0.5);
 /* wepimg    */ ATTRIB(Crylink, model2, string, "weaponcrylink");
 /* refname   */ ATTRIB(Crylink, netname, string, "crylink");
-/* wepname   */ ATTRIB(Crylink, message, string, _("Crylink"));
+/* wepname   */ ATTRIB(Crylink, m_name, string, _("Crylink"));
 ENDCLASS(Crylink)
 REGISTER_WEAPON(CRYLINK, NEW(Crylink));
 
index adef0b2eefcd7b3a9cd514ff99e00da59f6d62d4..47ab6460af4d7dfdc7fc0b444c83750b329bc11a 100644 (file)
@@ -13,7 +13,7 @@ CLASS(Devastator, Weapon)
 /* crosshair */ ATTRIB(Devastator, w_crosshair_size, float, 0.7);
 /* wepimg    */ ATTRIB(Devastator, model2, string, "weaponrocketlauncher");
 /* refname   */ ATTRIB(Devastator, netname, string, "devastator");
-/* wepname   */ ATTRIB(Devastator, message, string, _("Devastator"));
+/* wepname   */ ATTRIB(Devastator, m_name, string, _("Devastator"));
 ENDCLASS(Devastator)
 REGISTER_WEAPON(DEVASTATOR, NEW(Devastator));
 
index 137fd7807d81c08ea742ef877bc6332a9c7be215..c0be6c73e2739ab5fe9b6b47e533909b31c6c35b 100644 (file)
@@ -13,7 +13,7 @@ CLASS(Electro, Weapon)
 /* crosshair */ ATTRIB(Electro, w_crosshair_size, float, 0.6);
 /* wepimg    */ ATTRIB(Electro, model2, string, "weaponelectro");
 /* refname   */ ATTRIB(Electro, netname, string, "electro");
-/* wepname   */ ATTRIB(Electro, message, string, _("Electro"));
+/* wepname   */ ATTRIB(Electro, m_name, string, _("Electro"));
 ENDCLASS(Electro)
 REGISTER_WEAPON(ELECTRO, NEW(Electro));
 
index 990bdfea808a3ce40e3dfa6e74173eac71cf8b7b..ad14ef49be6c72784ae5ff449734bdfd7b915577 100644 (file)
@@ -13,7 +13,7 @@ CLASS(Fireball, Weapon)
 /* crosshair */ //ATTRIB(Fireball, w_crosshair_size, float, 0.65);
 /* wepimg    */ ATTRIB(Fireball, model2, string, "weaponfireball");
 /* refname   */ ATTRIB(Fireball, netname, string, "fireball");
-/* wepname   */ ATTRIB(Fireball, message, string, _("Fireball"));
+/* wepname   */ ATTRIB(Fireball, m_name, string, _("Fireball"));
 ENDCLASS(Fireball)
 REGISTER_WEAPON(FIREBALL, NEW(Fireball));
 
index 16c9599239440040151bd4a65730079510e5dce5..8e3b469dda1b907f520f1784fde31144430a8bf3 100644 (file)
@@ -13,7 +13,7 @@ CLASS(Hagar, Weapon)
 /* crosshair */ ATTRIB(Hagar, w_crosshair_size, float, 0.8);
 /* wepimg    */ ATTRIB(Hagar, model2, string, "weaponhagar");
 /* refname   */ ATTRIB(Hagar, netname, string, "hagar");
-/* wepname   */ ATTRIB(Hagar, message, string, _("Hagar"));
+/* wepname   */ ATTRIB(Hagar, m_name, string, _("Hagar"));
 ENDCLASS(Hagar)
 REGISTER_WEAPON(HAGAR, NEW(Hagar));
 
index bf719ac8ebe9463185a2fe38f9512b5ba8f9fc74..81c13162e9b3159d8a06ec9c1355dc9caf5d45bb 100644 (file)
@@ -13,7 +13,7 @@ CLASS(HLAC, Weapon)
 /* crosshair */ ATTRIB(HLAC, w_crosshair_size, float, 0.6);
 /* wepimg    */ ATTRIB(HLAC, model2, string, "weaponhlac");
 /* refname   */ ATTRIB(HLAC, netname, string, "hlac");
-/* wepname   */ ATTRIB(HLAC, message, string, _("Heavy Laser Assault Cannon"));
+/* wepname   */ ATTRIB(HLAC, m_name, string, _("Heavy Laser Assault Cannon"));
 ENDCLASS(HLAC)
 REGISTER_WEAPON(HLAC, NEW(HLAC));
 
index ac6ed0a6754e19a4b44a2a874ce8fb8edf13db54..ebc4a48ff12f8f894bed396e8e19f7c1cf280057 100644 (file)
@@ -13,7 +13,7 @@ CLASS(HeavyMachineGun, Weapon)
 /* crosshair */ ATTRIB(HeavyMachineGun, w_crosshair_size, float, 0.6);
 /* wepimg    */ ATTRIB(HeavyMachineGun, model2, string, "weaponhmg");
 /* refname   */ ATTRIB(HeavyMachineGun, netname, string, "hmg");
-/* wepname   */ ATTRIB(HeavyMachineGun, message, string, _("Heavy Machine Gun"));
+/* wepname   */ ATTRIB(HeavyMachineGun, m_name, string, _("Heavy Machine Gun"));
 ENDCLASS(HeavyMachineGun)
 REGISTER_WEAPON(HMG, NEW(HeavyMachineGun));
 
index b7a6d16db887198e7c9a6d8a54cfd529ea2dd13a..d73c7276fd35b855e2adbeb8ec79b95a400b6359 100644 (file)
@@ -13,7 +13,7 @@ CLASS(Hook, Weapon)
 /* crosshair */ ATTRIB(Hook, w_crosshair_size, float, 0.5);
 /* wepimg    */ ATTRIB(Hook, model2, string, "weaponhook");
 /* refname   */ ATTRIB(Hook, netname, string, "hook");
-/* wepname   */ ATTRIB(Hook, message, string, _("Grappling Hook"));
+/* wepname   */ ATTRIB(Hook, m_name, string, _("Grappling Hook"));
        ATTRIB(Hook, ammo_factor, float, 1)
 ENDCLASS(Hook)
 REGISTER_WEAPON(HOOK, NEW(Hook));
index b3dcf120bdd8c6acde2a7c2cf878650666c30a6f..c42b0274c073d0d10aec8ce7e7471c37a2ee69a6 100644 (file)
@@ -13,7 +13,7 @@ CLASS(MachineGun, Weapon)
 /* crosshair */ ATTRIB(MachineGun, w_crosshair_size, float, 0.6);
 /* wepimg    */ ATTRIB(MachineGun, model2, string, "weaponuzi");
 /* refname   */ ATTRIB(MachineGun, netname, string, "machinegun");
-/* wepname   */ ATTRIB(MachineGun, message, string, _("MachineGun"));
+/* wepname   */ ATTRIB(MachineGun, m_name, string, _("MachineGun"));
 ENDCLASS(MachineGun)
 REGISTER_WEAPON(MACHINEGUN, NEW(MachineGun));
 
index 93e32b9e81f3a2efb65fb59ca295f80c055d2c5d..ad96ab56c00c3339e9574fc89e676d0c6ba7dfd3 100644 (file)
@@ -13,7 +13,7 @@ CLASS(MineLayer, Weapon)
 /* crosshair */ ATTRIB(MineLayer, w_crosshair_size, float, 0.9);
 /* wepimg    */ ATTRIB(MineLayer, model2, string, "weaponminelayer");
 /* refname   */ ATTRIB(MineLayer, netname, string, "minelayer");
-/* wepname   */ ATTRIB(MineLayer, message, string, _("Mine Layer"));
+/* wepname   */ ATTRIB(MineLayer, m_name, string, _("Mine Layer"));
 ENDCLASS(MineLayer)
 REGISTER_WEAPON(MINE_LAYER, NEW(MineLayer));
 
index 46f26b049d37cac2c8a98a30c0aa03c75f8a817f..d804ed481bc1d772585ea671d32a4391957b5b00 100644 (file)
@@ -13,7 +13,7 @@ CLASS(Mortar, Weapon)
 /* crosshair */ ATTRIB(Mortar, w_crosshair_size, float, 0.7);
 /* wepimg    */ ATTRIB(Mortar, model2, string, "weapongrenadelauncher");
 /* refname   */ ATTRIB(Mortar, netname, string, "mortar");
-/* wepname   */ ATTRIB(Mortar, message, string, _("Mortar"));
+/* wepname   */ ATTRIB(Mortar, m_name, string, _("Mortar"));
 ENDCLASS(Mortar)
 REGISTER_WEAPON(MORTAR, NEW(Mortar));
 
index a4acb98d847f6e61e8760accbd8ba6fa7adcb2fb..2663d3dd6fe5102bf704adf970e7add1b0eb818c 100644 (file)
@@ -13,7 +13,7 @@ CLASS(PortoLaunch, Weapon)
 /* crosshair */ ATTRIB(PortoLaunch, w_crosshair_size, float, 0.6);
 /* wepimg    */ ATTRIB(PortoLaunch, model2, string, "weaponporto");
 /* refname   */ ATTRIB(PortoLaunch, netname, string, "porto");
-/* wepname   */ ATTRIB(PortoLaunch, message, string, _("Port-O-Launch"));
+/* wepname   */ ATTRIB(PortoLaunch, m_name, string, _("Port-O-Launch"));
 ENDCLASS(PortoLaunch)
 REGISTER_WEAPON(PORTO, NEW(PortoLaunch));
 
index c78e76736c3bd8d44642ebe6cf7db5590cd0941b..a87eb56c4c55e586487eb69a2cfbb6b4cd76c936 100644 (file)
@@ -13,7 +13,7 @@ CLASS(Rifle, Weapon)
 /* crosshair */ ATTRIB(Rifle, w_crosshair_size, float, 0.6);
 /* wepimg    */ ATTRIB(Rifle, model2, string, "weaponrifle");
 /* refname   */ ATTRIB(Rifle, netname, string, "rifle");
-/* wepname   */ ATTRIB(Rifle, message, string, _("Rifle"));
+/* wepname   */ ATTRIB(Rifle, m_name, string, _("Rifle"));
 ENDCLASS(Rifle)
 REGISTER_WEAPON(RIFLE, NEW(Rifle));
 
index 28016f08ebf63633a041c6a5624758848a9a531a..65cb6ba25bed705ed99d25e91916961818dabd89 100644 (file)
@@ -13,7 +13,7 @@ CLASS(RocketPropelledChainsaw, Weapon)
 /* crosshair */ ATTRIB(RocketPropelledChainsaw, w_crosshair_size, float, 0.6);
 /* wepimg    */ ATTRIB(RocketPropelledChainsaw, model2, string, "weaponrpc");
 /* refname   */ ATTRIB(RocketPropelledChainsaw, netname, string, "rpc");
-/* wepname   */ ATTRIB(RocketPropelledChainsaw, message, string, _("Rocket Propelled Chainsaw"));
+/* wepname   */ ATTRIB(RocketPropelledChainsaw, m_name, string, _("Rocket Propelled Chainsaw"));
 ENDCLASS(RocketPropelledChainsaw)
 REGISTER_WEAPON(RPC, NEW(RocketPropelledChainsaw));
 
index ad35d72f805f248d101f41bd4a5dd0d924261d67..0f3013568c82bca9bf75da9dd64b629dae05020c 100644 (file)
@@ -13,7 +13,7 @@ CLASS(Seeker, Weapon)
 /* crosshair */ ATTRIB(Seeker, w_crosshair_size, float, 0.8);
 /* wepimg    */ ATTRIB(Seeker, model2, string, "weaponseeker");
 /* refname   */ ATTRIB(Seeker, netname, string, "seeker");
-/* wepname   */ ATTRIB(Seeker, message, string, _("T.A.G. Seeker"));
+/* wepname   */ ATTRIB(Seeker, m_name, string, _("T.A.G. Seeker"));
 ENDCLASS(Seeker)
 REGISTER_WEAPON(SEEKER, NEW(Seeker));
 
index 6f71e4d5ce4a9320bdd05ccae4715b2ac1eab175..5fddb3b12d74bdefb8d4b228490bef05432d9ce4 100644 (file)
@@ -13,7 +13,7 @@ CLASS(Shockwave, Weapon)
 /* crosshair */ ATTRIB(Shockwave, w_crosshair_size, float, 0.7);
 /* wepimg    */ ATTRIB(Shockwave, model2, string, "weaponshotgun");
 /* refname   */ ATTRIB(Shockwave, netname, string, "shockwave");
-/* wepname   */ ATTRIB(Shockwave, message, string, _("Shockwave"));
+/* wepname   */ ATTRIB(Shockwave, m_name, string, _("Shockwave"));
 ENDCLASS(Shockwave)
 REGISTER_WEAPON(SHOCKWAVE, NEW(Shockwave));
 
index 9d1cc5adeee2b02074f0ddf70b7a5d0e52ce0431..87453494ab197480f60394a45d1577b59cb1efe1 100644 (file)
@@ -13,7 +13,7 @@ CLASS(Shotgun, Weapon)
 /* crosshair */ ATTRIB(Shotgun, w_crosshair_size, float, 0.65);
 /* wepimg    */ ATTRIB(Shotgun, model2, string, "weaponshotgun");
 /* refname   */ ATTRIB(Shotgun, netname, string, "shotgun");
-/* wepname   */ ATTRIB(Shotgun, message, string, _("Shotgun"));
+/* wepname   */ ATTRIB(Shotgun, m_name, string, _("Shotgun"));
 ENDCLASS(Shotgun)
 REGISTER_WEAPON(SHOTGUN, NEW(Shotgun));
 
index 2936b5e78bc7f18bece68ab1e4090dee7f820ae9..7b83baa8b52e87c3768abc5290a634198f32f2a9 100644 (file)
@@ -14,7 +14,7 @@ CLASS(Tuba, Weapon)
 /* wepimg    */ ATTRIB(Tuba, model2, string, "weapontuba");
 /* refname   */ ATTRIB(Tuba, netname, string, "tuba");
 /* xgettext:no-c-format */
-/* wepname   */ ATTRIB(Tuba, message, string, _("@!#%'n Tuba"));
+/* wepname   */ ATTRIB(Tuba, m_name, string, _("@!#%'n Tuba"));
 ENDCLASS(Tuba)
 REGISTER_WEAPON(TUBA, NEW(Tuba));
 
index 25499065d29a2b7af41b2ddcb2dd2017aa8288b6..41079791d83542933c5489d3c6a69bfacb2fdac6 100644 (file)
@@ -13,7 +13,7 @@ CLASS(Vaporizer, Weapon)
 /* crosshair */ ATTRIB(Vaporizer, w_crosshair_size, float, 0.6);
 /* wepimg    */ ATTRIB(Vaporizer, model2, string, "weaponminstanex");
 /* refname   */ ATTRIB(Vaporizer, netname, string, "vaporizer");
-/* wepname   */ ATTRIB(Vaporizer, message, string, _("Vaporizer"));
+/* wepname   */ ATTRIB(Vaporizer, m_name, string, _("Vaporizer"));
 ENDCLASS(Vaporizer)
 REGISTER_WEAPON(VAPORIZER, NEW(Vaporizer));
 
index a2cb19d0a6a1392492d39652e22d868b56984e1e..1ce575f60d341aa3e52360e398067bb6a629a471 100644 (file)
@@ -13,7 +13,7 @@ CLASS(Vortex, Weapon)
 /* crosshair */ ATTRIB(Vortex, w_crosshair_size, float, 0.65);
 /* wepimg    */ ATTRIB(Vortex, model2, string, "weaponnex");
 /* refname   */ ATTRIB(Vortex, netname, string, "vortex");
-/* wepname   */ ATTRIB(Vortex, message, string, _("Vortex"));
+/* wepname   */ ATTRIB(Vortex, m_name, string, _("Vortex"));
 ENDCLASS(Vortex)
 REGISTER_WEAPON(VORTEX, NEW(Vortex));
 
index 750f4e7023a730ca033e98c7eef86a53696d61a9..9b8cde9b99d4d46e256bf63df5dc323629b55b63 100644 (file)
@@ -272,7 +272,8 @@ bool ItemSend(entity this, entity to, int sf)
 
        if(sf & ISF_SIZE)
        {
-               WriteByte(MSG_ENTITY, ((self.flags & FL_POWERUP) || self.health || self.armorvalue));
+               Pickup p = this.itemdef;
+               WriteByte(MSG_ENTITY, p.instanceOfPowerup || p.instanceOfHealth || p.instanceOfArmor);
        }
 
        if(sf & ISF_STATUS)
@@ -308,9 +309,9 @@ void ItemUpdate(entity item)
        item.SendFlags |= ISF_LOCATION;
 }
 
-float have_pickup_item(void)
-{SELFPARAM();
-       if(self.flags & FL_POWERUP)
+bool have_pickup_item(entity this)
+{
+       if(this.itemdef.instanceOfPowerup)
        {
                if(autocvar_g_powerups > 0)
                        return true;
@@ -324,7 +325,7 @@ float have_pickup_item(void)
                if(autocvar_g_pickup_items == 0)
                        return false;
                if(g_weaponarena)
-                       if(self.weapons || (self.items & IT_AMMO)) // no item or ammo pickups in weaponarena
+                       if(this.weapons || (this.items & IT_AMMO)) // no item or ammo pickups in weaponarena
                                return false;
        }
        return true;
@@ -377,7 +378,7 @@ void Item_Show (entity e, float mode)
                e.spawnshieldtime = 1;
                e.ItemStatus &= ~ITS_AVAILABLE;
        }
-       else if((e.flags & FL_WEAPON) && !(e.flags & FL_NO_WEAPON_STAY) && g_weapon_stay)
+       else if(e.itemdef.instanceOfWeaponPickup && !(e.flags & FL_NO_WEAPON_STAY) && g_weapon_stay)
        {
                // make the item translucent and not touchable
                e.model = e.mdl;
@@ -641,7 +642,7 @@ float Item_GiveTo(entity item, entity player)
        pickedup |= Item_GiveAmmoTo(item, player, health, item.max_health, ITEM_MODE_HEALTH);
        pickedup |= Item_GiveAmmoTo(item, player, armorvalue, item.max_armorvalue, ITEM_MODE_ARMOR);
 
-       if (item.flags & FL_WEAPON)
+       if (item.itemdef.instanceOfWeaponPickup)
        {
                WepSet it;
                it = item.weapons;
@@ -692,7 +693,7 @@ float Item_GiveTo(entity item, entity player)
                return 0;
 
        // crude hack to enforce switching weapons
-       if(g_cts && (item.flags & FL_WEAPON))
+       if(g_cts && item.itemdef.instanceOfWeaponPickup)
        {
                W_SwitchWeapon_Force(player, item.weapon);
                return 1;
@@ -798,7 +799,7 @@ void Item_Reset(entity this)
                if (this.waypointsprite_attached)
                        WaypointSprite_Kill(this.waypointsprite_attached);
 
-               if ((this.flags & FL_POWERUP) || (this.weapons & WEPSET_SUPERWEAPONS)) // do not spawn powerups initially!
+               if (this.itemdef.instanceOfPowerup || (this.weapons & WEPSET_SUPERWEAPONS)) // do not spawn powerups initially!
                        Item_ScheduleInitialRespawn(this);
        }
 }
@@ -974,8 +975,9 @@ void Item_Damage(entity inflictor, entity attacker, float damage, int deathtype,
                RemoveItem();
 }
 
-void _StartItem(entity this, entity def, float defaultrespawntime, float defaultrespawntimejitter, string itemname, float itemid, float weaponid, float itemflags)
+void _StartItem(entity this, entity def, float defaultrespawntime, float defaultrespawntimejitter, float itemflags)
 {
+       string itemname = def.m_name;
        Model itemmodel = def.m_model;
     Sound pickupsound = def.m_sound;
        float(entity player, entity item) pickupevalfunc = def.m_pickupevalfunc;
@@ -992,7 +994,9 @@ void _StartItem(entity this, entity def, float defaultrespawntime, float default
                this.respawntimejitter = defaultrespawntimejitter;
        }
 
+       int itemid = def.m_itemid;
        this.items = itemid;
+       int weaponid = def.instanceOfWeaponPickup ? def.m_weapon.m_id : 0;
        this.weapon = weaponid;
 
        if(!this.fade_end)
@@ -1055,7 +1059,7 @@ void _StartItem(entity this, entity def, float defaultrespawntime, float default
        }
        else
        {
-               if(!have_pickup_item())
+               if(!have_pickup_item(this))
                {
                        startitem_failed = true;
                        remove (this);
@@ -1079,10 +1083,7 @@ void _StartItem(entity this, entity def, float defaultrespawntime, float default
                        // first nudge it off the floor a little bit to avoid math errors
                        setorigin(this, this.origin + '0 0 1');
                        // set item size before we spawn a spawnfunc_waypoint
-                       if((itemflags & FL_POWERUP) || this.health || this.armorvalue)
-                               setsize (this, '-16 -16 0', '16 16 48');
-                       else
-                               setsize (this, '-16 -16 0', '16 16 32');
+                       setsize(this, def.m_mins, def.m_maxs);
                        this.SendFlags |= ISF_SIZE;
                        // note droptofloor returns false if stuck/or would fall too far
                        WITH(entity, self, this, droptofloor());
@@ -1123,8 +1124,12 @@ void _StartItem(entity this, entity def, float defaultrespawntime, float default
                precache_model(this.model);
                precache_sound(this.item_pickupsound);
 
-               if ((itemflags & (FL_POWERUP | FL_WEAPON)) || (itemid & (IT_HEALTH | IT_ARMOR | IT_KEY1 | IT_KEY2)))
-                       this.target = "###item###"; // for finding the nearest item using find()
+               if (   def.instanceOfPowerup
+                       || def.instanceOfWeaponPickup
+                       || (def.instanceOfHealth && def != ITEM_HealthSmall)
+                       || (def.instanceOfArmor && def != ITEM_ArmorSmall)
+                       || (itemid & (IT_KEY1 | IT_KEY2))
+               ) this.target = "###item###"; // for finding the nearest item using find()
 
                Item_ItemsTime_SetTime(this, 0);
        }
@@ -1138,27 +1143,17 @@ void _StartItem(entity this, entity def, float defaultrespawntime, float default
        setmodel(this, MDL_Null); // precision set below
        //this.effects |= EF_LOWPRECISION;
 
-       if((itemflags & FL_POWERUP) || this.health || this.armorvalue)
-       {
-               this.pos1 = '-16 -16 0';
-               this.pos2 = '16 16 48';
-       }
-       else
-       {
-               this.pos1 = '-16 -16 0';
-               this.pos2 = '16 16 32';
-       }
-       setsize (this, this.pos1, this.pos2);
+       setsize (this, this.pos1 =  def.m_mins, this.pos2 = def.m_maxs);
 
        this.SendFlags |= ISF_SIZE;
 
-       if(itemflags & FL_POWERUP)
+       if(def.instanceOfPowerup)
                this.ItemStatus |= ITS_ANIMATE1;
 
        if(this.armorvalue || this.health)
                this.ItemStatus |= ITS_ANIMATE2;
 
-       if(itemflags & FL_WEAPON)
+       if(def.instanceOfWeaponPickup)
        {
                if (this.classname != "droppedweapon") // if dropped, colormap is already set up nicely
                        this.colormap = 1024; // color shirt=0 pants=0 grey
@@ -1181,7 +1176,7 @@ void _StartItem(entity this, entity def, float defaultrespawntime, float default
        else
                Item_Reset(this);
 
-       Net_LinkEntity(this, !((itemflags & FL_POWERUP) || this.health || this.armorvalue), 0, ItemSend);
+       Net_LinkEntity(this, !(def.instanceOfPowerup || def.instanceOfHealth || def.instanceOfArmor), 0, ItemSend);
 
        // call this hook after everything else has been done
        if (MUTATOR_CALLHOOK(Item_Spawn, this))
@@ -1199,9 +1194,6 @@ void StartItem(entity this, GameItem def)
        this.itemdef = def,
        def.m_respawntime(), // defaultrespawntime
        def.m_respawntimejitter(), // defaultrespawntimejitter
-       def.m_name, // itemname
-       def.m_itemid, // itemid
-       0, // weaponid
        def.m_itemflags // itemflags
        );
 }
index 870f847bf84e3ad9f1d63c67848232f17615c23d..230f54634f1273e5a46c4e549305e0cd361210eb 100644 (file)
@@ -60,7 +60,7 @@ float autocvar_sv_simple_items;
 bool ItemSend(entity this, entity to, int sf);
 
 
-float have_pickup_item(void);
+bool have_pickup_item(entity this);
 
 const float ITEM_RESPAWN_TICKS = 10;
 
@@ -112,7 +112,7 @@ float commodity_pickupevalfunc(entity player, entity item);
 
 .float is_item;
 .entity itemdef;
-void _StartItem(entity this, entity def, float defaultrespawntime, float defaultrespawntimejitter, string itemname, float itemid, float weaponid, float itemflags);
+void _StartItem(entity this, entity def, float defaultrespawntime, float defaultrespawntimejitter, float itemflags);
 
 
 void target_items_use (void);
index 6351c3031e65c05e99dd3ea3f38a0f1bd163491c..420133d377719504f84d4d1fefb91b5fc3e6d513 100644 (file)
@@ -176,9 +176,6 @@ void weapon_defaultspawnfunc(entity this, Weapon e)
                this.itemdef = def,
                this.respawntime, // defaultrespawntime
                this.respawntimejitter, // defaultrespawntimejitter
-               e.message, // itemname
-               0, // itemid
-               e.weapon, // weaponid
                f // itemflags
        );
        #if 0 // WEAPONTODO