]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'master' into TimePath/issues/1490
authorMario <zacjardine@y7mail.com>
Fri, 21 Aug 2015 06:00:56 +0000 (16:00 +1000)
committerTimePath <andrew.hardaker1995@gmail.com>
Fri, 21 Aug 2015 06:11:52 +0000 (16:11 +1000)
# Conflicts:
# qcsrc/server/mutators/mutator_instagib.qc
# qcsrc/server/t_items.qc

23 files changed:
qcsrc/Makefile
qcsrc/client/hud.qc
qcsrc/common/items/item/ammo.qc
qcsrc/common/items/item/ammo.qh
qcsrc/common/items/item/armor.qc
qcsrc/common/items/item/jetpack.qc
qcsrc/common/items/item/powerup.qc
qcsrc/common/monsters/monster/mage.qc
qcsrc/common/physics.qc
qcsrc/common/weapons/all.qc
qcsrc/common/weapons/w_porto.qc
qcsrc/server/cl_client.qc
qcsrc/server/g_damage.qc
qcsrc/server/miscfunctions.qc
qcsrc/server/mutators/gamemode_ctf.qc
qcsrc/server/mutators/gamemode_lms.qc
qcsrc/server/mutators/mutator_instagib.qc
qcsrc/server/mutators/mutator_melee_only.qc
qcsrc/server/mutators/mutator_nades.qc
qcsrc/server/mutators/mutator_nix.qc
qcsrc/server/mutators/mutator_overkill.qc
qcsrc/server/t_items.qc
qcsrc/server/weapons/common.qc

index f53707e829f482c39e0f6dcdee0c54d54d4aa3c1..26797c55a1459fd67fe9599f97158d3707a4f7e4 100644 (file)
@@ -13,7 +13,7 @@ QCCFLAGS ?= \
        -std=gmqcc \
        -O3 -flno \
        -Werror -fno-bail-on-werror -Wall \
-       -fftepp -fftepp-predefs -Wcpp -futf8 \
+       -fftepp -fftepp-predefs -Wcpp -futf8 -frelaxed-switch \
        $(QCCFLAGS_WTFS) \
        $(QCCFLAGS_FEATURES) \
        $(QCCFLAGS_EXTRA) $(QCCFLAGS_WATERMARK)
index 8ea4155ae939242d66e672238c16905ba1272439..50eed4c421bc0113c48ed59efdd3f0dfa1bb5e65 100644 (file)
@@ -11,6 +11,7 @@
 #include "../common/constants.qh"
 #include "../common/counting.qh"
 #include "../common/deathtypes.qh"
+#include "../common/items/all.qc"
 #include "../common/mapinfo.qh"
 #include "../common/nades.qh"
 
@@ -1358,7 +1359,7 @@ int getPowerupItemAlign(int align, int column, int row, int columns, int rows, b
        return 2;
 }
 
-void HUD_Powerups(void)
+void HUD_Powerups()
 {
        if(intermission == 2) return;
 
@@ -1372,7 +1373,7 @@ void HUD_Powerups(void)
                if(!autocvar_hud_panel_powerups) return;
                if(spectatee_status == -1) return;
                if(getstati(STAT_HEALTH) <= 0) return;
-               if(!(allItems & (IT_STRENGTH | IT_INVINCIBLE | IT_SUPERWEAPON)) && !allBuffs) return;
+               if(!(allItems & (ITEM_Strength.m_itemid | ITEM_Shield.m_itemid | IT_SUPERWEAPON)) && !allBuffs) return;
 
                strengthTime = bound(0, getstatf(STAT_STRENGTH_FINISHED) - time, 99);
                shieldTime = bound(0, getstatf(STAT_INVINCIBLE_FINISHED) - time, 99);
index 58f30fb848483ca8438593174e44e3d58592dd92..faf2b26da28b8ded5020d87c86ecbcc92b59b65b 100644 (file)
@@ -6,6 +6,7 @@
 REGISTER_ITEM(Bullets, Ammo) {
     this.m_model    =   "models/items/a_bullets.mdl";
     this.m_name     =   "bullets";
+    this.m_ammoPic  =   "ammo_bullets";
 #ifdef SVQC
     this.m_botvalue =   2000;
     this.m_itemid   =   IT_NAILS;
@@ -14,6 +15,7 @@ REGISTER_ITEM(Bullets, Ammo) {
 REGISTER_ITEM(Cells, Ammo) {
     this.m_model    =   "models/items/a_cells.md3";
     this.m_name     =   "cells";
+    this.m_ammoPic  =   "ammo_cells";
 #ifdef SVQC
     this.m_botvalue =   2000;
     this.m_itemid   =   IT_CELLS;
@@ -22,6 +24,7 @@ REGISTER_ITEM(Cells, Ammo) {
 REGISTER_ITEM(Plasma, Ammo) {
     this.m_model    =   "models/items/a_cells.md3";
     this.m_name     =   "plasma";
+    this.m_ammoPic  =   "ammo_cells";
 #ifdef SVQC
     this.m_botvalue =   2000;
     this.m_itemid   =   IT_PLASMA;
@@ -30,6 +33,7 @@ REGISTER_ITEM(Plasma, Ammo) {
 REGISTER_ITEM(Rockets, Ammo) {
     this.m_model    =   "models/items/a_rockets.md3";
     this.m_name     =   "rockets";
+    this.m_ammoPic  =   "ammo_rockets";
 #ifdef SVQC
     this.m_botvalue =   3000;
     this.m_itemid   =   IT_ROCKETS;
@@ -38,6 +42,7 @@ REGISTER_ITEM(Rockets, Ammo) {
 REGISTER_ITEM(Shells, Ammo) {
     this.m_model    =   "models/items/a_shells.md3";
     this.m_name     =   "shells";
+    this.m_ammoPic  =   "ammo_shells";
 #ifdef SVQC
     this.m_botvalue =   500;
     this.m_itemid   =   IT_SHELLS;
index 84f20483e4f2902d65cc325ee8d0f0ca31d0509b..70c4ef1efad17c8b3348133458dd354299a4ef21 100644 (file)
@@ -2,6 +2,7 @@
 #define AMMO_H
 #include "pickup.qh"
 CLASS(Ammo, Pickup)
+    ATTRIB(Ammo, m_ammoPic, string, string_null)
 #ifdef SVQC
     ATTRIB(Ammo, m_pickupevalfunc, float(entity player, entity item), commodity_pickupevalfunc)
     ATTRIB(Ammo, m_respawntime, float(), GET(g_pickup_respawntime_ammo))
index 0db9d1f70e8bf0f75344125ca0268512949763f1..e5ade4f4ba91574d4c729bc20d426c01f3f4be0a 100644 (file)
@@ -27,7 +27,7 @@ REGISTER_ITEM(ArmorMedium, Armor) {
 #endif
 }
 
-REGISTER_ITEM(ArmorBig, Armor) {
+REGISTER_ITEM(ArmorLarge, Armor) {
     this.m_model                =   "models/items/item_armor_big.md3";
     this.m_sound                =   "misc/armor17_5.wav";
     this.m_name                 =   "50 Armor";
@@ -39,7 +39,7 @@ REGISTER_ITEM(ArmorBig, Armor) {
 #endif
 }
 
-REGISTER_ITEM(ArmorLarge, Armor) {
+REGISTER_ITEM(ArmorMega, Armor) {
     this.m_model                =   "models/items/item_armor_large.md3";
     this.m_sound                =   "misc/armor25.wav";
     this.m_name                 =   "100 Armor";
index ad4ab2d0df48bf0c95b653dd778f1c0ad882495e..25dd9b131c2aadaeedf31117aebec7a63531bc06 100644 (file)
@@ -3,28 +3,26 @@
     #include "../../../server/constants.qh"
 #endif
 
-REGISTER_ITEM(Jetpack, Pickup) {
+#include "ammo.qh"
+#include "powerup.qh"
+
+REGISTER_ITEM(Jetpack, Powerup) {
     this.m_model                =   "models/items/g_jetpack.md3";
     this.m_name                 =   "Jet pack";
 #ifdef SVQC
     this.m_botvalue             =   BOT_PICKUP_RATING_LOW;
-    this.m_itemflags            =   FL_POWERUP;
     this.m_itemid               =   IT_JETPACK;
     this.m_pickupevalfunc       =   commodity_pickupevalfunc;
-    this.m_respawntime          =   GET(g_pickup_respawntime_powerup);
-    this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_powerup);
 #endif
 }
 
-REGISTER_ITEM(JetpackFuel, Pickup) {
-    this.m_model                =   "models/items/g_fuel.md3";
-    this.m_name                 =   "Fuel";
+REGISTER_ITEM(JetpackFuel, Ammo) {
+    this.m_model    =   "models/items/g_fuel.md3";
+    this.m_name     =   "Fuel";
+    this.m_ammoPic  =   "ammo_fuel";
 #ifdef SVQC
-    this.m_botvalue             =   BOT_PICKUP_RATING_LOW;
-    this.m_itemid               =   IT_FUEL;
-    this.m_pickupevalfunc       =   commodity_pickupevalfunc;
-    this.m_respawntime          =   GET(g_pickup_respawntime_ammo);
-    this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_ammo);
+    this.m_botvalue =   BOT_PICKUP_RATING_LOW;
+    this.m_itemid   =   IT_FUEL;
 #endif
 }
 
index 0f025aed8f5a4ab4ee0282f24343e05077922f3e..c4bfb39361f2efffe7c97064ef6408748a1a713b 100644 (file)
@@ -1,19 +1,18 @@
 #include "powerup.qh"
 #include "../../../server/t_items.qh"
 
+#ifndef SVQC
+.int m_itemid;
+#endif
 REGISTER_ITEM(Strength, Powerup) {
     this.m_model    =   "models/items/g_strength.md3";
     this.m_sound    =   "misc/powerup.wav";
     this.m_name     =   "Strength Powerup";
-#ifdef SVQC
     this.m_itemid   =   IT_STRENGTH;
-#endif
 }
 REGISTER_ITEM(Shield, Powerup) {
     this.m_model    =   "models/items/g_invincible.md3";
     this.m_sound    =   "misc/powerup_shield.wav";
     this.m_name     =   "Shield";
-#ifdef SVQC
     this.m_itemid   =   IT_INVINCIBLE;
-#endif
 }
index bbf9ddb1c84422d7c4566d29824a6b05186b9087..02f37c890ac44e68f9f8249f1fcf766f6ffac34d 100644 (file)
@@ -68,7 +68,7 @@ float friend_needshelp(entity e)
                return false;
        if(!IS_PLAYER(e))
                return ((e.flags & FL_MONSTER) && e.health < e.max_health);
-       if(e.items & IT_INVINCIBLE)
+       if(e.items & ITEM_Shield.m_itemid)
                return false;
 
        switch(self.skin)
index 0cac08bb0c0fab1c7ac93ccdb160863753907c56..41261e6a19d7ed9fa8486a4d29d133b191a66cc9 100644 (file)
@@ -709,7 +709,7 @@ void CheckPlayerJump()
                float activate = JETPACK_JUMP(self) && air_jump && PHYS_INPUT_BUTTON_JUMP(self) || PHYS_INPUT_BUTTON_JETPACK(self);
                float has_fuel = !PHYS_JETPACK_FUEL || PHYS_AMMO_FUEL(self) || ITEMS_STAT(self) & IT_UNLIMITED_WEAPON_AMMO;
 
-               if (!(ITEMS_STAT(self) & IT_JETPACK)) { }
+               if (!(ITEMS_STAT(self) & ITEM_Jetpack.m_itemid)) { }
                else if (self.jetpack_stopped) { }
                else if (!has_fuel)
                {
index 72c92471a9c537435aaeb29ed20072303c7700a3..53974d8d558f4dc63a90ce8d216439197b88dcf7 100644 (file)
@@ -353,14 +353,14 @@ void W_RandomWeapons(entity e, float n)
 
 string GetAmmoPicture(.int ammotype)
 {
-       switch(ammotype)
+       switch (ammotype)
        {
-               case ammo_shells:  return "ammo_shells";
-               case ammo_nails:   return "ammo_bullets";
-               case ammo_rockets: return "ammo_rockets";
-               case ammo_cells:   return "ammo_cells";
-               case ammo_plasma:  return "ammo_cells";
-               case ammo_fuel:    return "ammo_fuel";
+               case ammo_shells:  return ITEM_Shells.m_ammoPic;
+               case ammo_nails:   return ITEM_Bullets.m_ammoPic;
+               case ammo_rockets: return ITEM_Rockets.m_ammoPic;
+               case ammo_cells:   return ITEM_Cells.m_ammoPic;
+               case ammo_plasma:  return ITEM_Plasma.m_ammoPic;
+               case ammo_fuel:    return ITEM_JetpackFuel.m_ammoPic;
                default: return ""; // wtf, no ammo type?
        }
 }
index 909e5db4a418d77d7de2645b038874c2eb21eb2d..558c83c0436563784ba2091f12fe34b362b6ee66 100644 (file)
@@ -262,7 +262,7 @@ void W_Porto_Attack(float type)
        gren.think = W_Porto_Think;
        gren.touch = W_Porto_Touch;
 
-       if(self.items & IT_STRENGTH)
+       if(self.items & ITEM_Strength.m_itemid)
                W_SetupProjVelocity_Basic(gren, WEP_CVAR_BOTH(porto, (type <= 0), speed) * autocvar_g_balance_powerup_strength_force, 0);
        else
                W_SetupProjVelocity_Basic(gren, WEP_CVAR_BOTH(porto, (type <= 0), speed), 0);
index b7072849c59b9e9cd9dacf1d7cd5e9fedf2c620b..f0a615a236e0a50c8f76e5dee981adf771cc5c33 100644 (file)
@@ -33,6 +33,8 @@
 #include "../common/net_notice.qh"
 #include "../common/physics.qh"
 
+#include "../common/items/all.qc"
+
 #include "../common/triggers/subs.qh"
 #include "../common/triggers/triggers.qh"
 #include "../common/triggers/trigger/secret.qh"
@@ -1479,13 +1481,13 @@ void player_powerups (void)
 
        if (!g_instagib)
        {
-               if (self.items & IT_STRENGTH)
+               if (self.items & ITEM_Strength.m_itemid)
                {
                        play_countdown(self.strength_finished, "misc/poweroff.wav");
                        self.effects = self.effects | (EF_BLUE | EF_ADDITIVE | EF_FULLBRIGHT);
                        if (time > self.strength_finished)
                        {
-                               self.items = self.items - (self.items & IT_STRENGTH);
+                               self.items = self.items - (self.items & ITEM_Strength.m_itemid);
                                //Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_POWERDOWN_STRENGTH, self.netname);
                                Send_Notification(NOTIF_ONE, self, MSG_CENTER, CENTER_POWERDOWN_STRENGTH);
                        }
@@ -1494,18 +1496,18 @@ void player_powerups (void)
                {
                        if (time < self.strength_finished)
                        {
-                               self.items = self.items | IT_STRENGTH;
+                               self.items = self.items | ITEM_Strength.m_itemid;
                                Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_POWERUP_STRENGTH, self.netname);
                                Send_Notification(NOTIF_ONE, self, MSG_CENTER, CENTER_POWERUP_STRENGTH);
                        }
                }
-               if (self.items & IT_INVINCIBLE)
+               if (self.items & ITEM_Shield.m_itemid)
                {
                        play_countdown(self.invincible_finished, "misc/poweroff.wav");
                        self.effects = self.effects | (EF_RED | EF_ADDITIVE | EF_FULLBRIGHT);
                        if (time > self.invincible_finished)
                        {
-                               self.items = self.items - (self.items & IT_INVINCIBLE);
+                               self.items = self.items - (self.items & ITEM_Shield.m_itemid);
                                //Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_POWERDOWN_SHIELD, self.netname);
                                Send_Notification(NOTIF_ONE, self, MSG_CENTER, CENTER_POWERDOWN_SHIELD);
                        }
@@ -1514,7 +1516,7 @@ void player_powerups (void)
                {
                        if (time < self.invincible_finished)
                        {
-                               self.items = self.items | IT_INVINCIBLE;
+                               self.items = self.items | ITEM_Shield.m_itemid;
                                Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_POWERUP_SHIELD, self.netname);
                                Send_Notification(NOTIF_ONE, self, MSG_CENTER, CENTER_POWERUP_SHIELD);
                        }
@@ -1664,7 +1666,7 @@ void player_regen (void)
                minf = autocvar_g_balance_fuel_regenstable;
                limitf = autocvar_g_balance_fuel_limit;
 
-               self.ammo_fuel = CalcRotRegen(self.ammo_fuel, minf, autocvar_g_balance_fuel_regen, autocvar_g_balance_fuel_regenlinear, frametime * (time > self.pauseregen_finished) * ((self.items & IT_FUEL_REGEN) != 0), maxf, autocvar_g_balance_fuel_rot, autocvar_g_balance_fuel_rotlinear, frametime * (time > self.pauserotfuel_finished), limitf);
+               self.ammo_fuel = CalcRotRegen(self.ammo_fuel, minf, autocvar_g_balance_fuel_regen, autocvar_g_balance_fuel_regenlinear, frametime * (time > self.pauseregen_finished) * ((self.items & ITEM_JetpackRegen.m_itemid) != 0), maxf, autocvar_g_balance_fuel_rot, autocvar_g_balance_fuel_rotlinear, frametime * (time > self.pauserotfuel_finished), limitf);
        }
 }
 
@@ -2496,8 +2498,8 @@ void PlayerPreThink (void)
                        W_WeaponFrame();
 
                        self.items_added = 0;
-                       if(self.items & IT_JETPACK)
-                               if(self.items & IT_FUEL_REGEN || self.ammo_fuel >= 0.01)
+                       if(self.items & ITEM_Jetpack.m_itemid)
+                               if(self.items & ITEM_JetpackRegen.m_itemid || self.ammo_fuel >= 0.01)
                                        self.items_added |= IT_FUEL;
 
                        self.items |= self.items_added;
index cd6a7000c4f56ac586ad46031d40d8128c526602..f8e6cc00f9dd9d838d714bf020a1ab9cca909feb 100644 (file)
@@ -810,7 +810,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, int d
                if(!g_instagib)
                {
                        // apply strength multiplier
-                       if (attacker.items & IT_STRENGTH)
+                       if (attacker.items & ITEM_Strength.m_itemid)
                        {
                                if(targ == attacker)
                                {
@@ -825,7 +825,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, int d
                        }
 
                        // apply invincibility multiplier
-                       if (targ.items & IT_INVINCIBLE)
+                       if (targ.items & ITEM_Shield.m_itemid)
                                damage = damage * autocvar_g_balance_powerup_invincible_takedamage;
                }
 
index 4975b86f09cbc8b5ee85291a683f8e305d73a691..f038d264594b3f46a23e5a3ec1ed6f55cb2700ff 100644 (file)
@@ -303,11 +303,11 @@ string formatmessage(string msg)
                                wep = self.cnt;
                        replacement = WEP_NAME(wep);
                } else if (escape == "W") {
-                       if (self.items & IT_SHELLS) replacement = "shells";
-                       else if (self.items & IT_NAILS) replacement = "bullets";
-                       else if (self.items & IT_ROCKETS) replacement = "rockets";
-                       else if (self.items & IT_CELLS) replacement = "cells";
-                       else if (self.items & IT_PLASMA) replacement = "plasma";
+                       if (self.items & ITEM_Shells.m_itemid) replacement = "shells";
+                       else if (self.items & ITEM_Bullets.m_itemid) replacement = "bullets";
+                       else if (self.items & ITEM_Rockets.m_itemid) replacement = "rockets";
+                       else if (self.items & ITEM_Cells.m_itemid) replacement = "cells";
+                       else if (self.items & ITEM_Plasma.m_itemid) replacement = "plasma";
                        else replacement = "batteries"; // ;)
                } else if (escape == "x") {
                        replacement = cursor_ent.netname;
@@ -724,13 +724,13 @@ void readplayerstartcvars()
        }
 
        if (g_jetpack)
-               start_items |= IT_JETPACK;
+               start_items |= ITEM_Jetpack.m_itemid;
 
        MUTATOR_CALLHOOK(SetStartItems);
 
-       if ((start_items & IT_JETPACK) || (g_grappling_hook && (start_weapons & WEPSET_HOOK)))
+       if ((start_items & ITEM_Jetpack.m_itemid) || (g_grappling_hook && (start_weapons & WEPSET_HOOK)))
        {
-               start_items |= IT_FUEL_REGEN;
+               start_items |= ITEM_JetpackRegen.m_itemid;
                start_ammo_fuel = max(start_ammo_fuel, cvar("g_balance_fuel_rotstable"));
                warmup_start_ammo_fuel = max(warmup_start_ammo_fuel, cvar("g_balance_fuel_rotstable"));
        }
index 121efd7e37ca91b2b1e6d5e0f29a7da3787eacd2..fb0632ec3327437ca4ebe93af86a02e915518c19 100644 (file)
@@ -372,7 +372,7 @@ void ctf_Handle_Throw(entity player, entity receiver, int droptype)
                {
                        makevectors((player.v_angle.y * '0 1 0') + (bound(autocvar_g_ctf_throw_angle_min, player.v_angle.x, autocvar_g_ctf_throw_angle_max) * '1 0 0'));
 
-                       flag_velocity = (('0 0 1' * autocvar_g_ctf_throw_velocity_up) + ((v_forward * autocvar_g_ctf_throw_velocity_forward) * ((player.items & IT_STRENGTH) ? autocvar_g_ctf_throw_strengthmultiplier : 1)));
+                       flag_velocity = (('0 0 1' * autocvar_g_ctf_throw_velocity_up) + ((v_forward * autocvar_g_ctf_throw_velocity_forward) * ((player.items & ITEM_Strength.m_itemid) ? autocvar_g_ctf_throw_strengthmultiplier : 1)));
                        flag.velocity = W_CalculateProjectileVelocity(player.velocity, flag_velocity, false);
                        ctf_Handle_Drop(flag, player, droptype);
                        break;
index 9c97c7cd2f2695bd6ade537fe1835f0412454b14..7ed082f49bda79e08fff3837ab9f1d5551ea8c3f 100644 (file)
@@ -170,7 +170,7 @@ MUTATOR_HOOKFUNCTION(lms_FilterItem)
 MUTATOR_HOOKFUNCTION(lms_ItemTouch)
 {
        // give extra lives for mega health
-       if(self.items & IT_HEALTH)
+       if (self.items & ITEM_HealthMega.m_itemid)
        {
                Send_Notification(NOTIF_ONE, other, MSG_CENTER, CENTER_EXTRALIVES);
                PlayerScore_Add(other, SP_LMS_LIVES, autocvar_g_lms_extra_lives);
index 4c384c0e9384a18b589d4dd7310a1ec30430e4ed..e71f49265add057b6fb60ccbf094d7ea4fd61b53 100644 (file)
@@ -132,7 +132,7 @@ MUTATOR_HOOKFUNCTION(instagib_MonsterSpawn)
 
 MUTATOR_HOOKFUNCTION(instagib_BotShouldAttack)
 {
-       if(checkentity.items & IT_STRENGTH)
+       if(checkentity.items & ITEM_Strength.m_itemid)
                return true;
 
        return false;
@@ -167,14 +167,14 @@ MUTATOR_HOOKFUNCTION(instagib_PlayerPowerups)
        if (!(self.effects & EF_FULLBRIGHT))
                self.effects |= EF_FULLBRIGHT;
 
-       if (self.items & IT_STRENGTH)
+       if (self.items & ITEM_Strength.m_itemid)
        {
                play_countdown(self.strength_finished, "misc/poweroff.wav");
                if (time > self.strength_finished)
                {
                        self.alpha = default_player_alpha;
                        self.exteriorweaponentity.alpha = default_weapon_alpha;
-                       self.items &= ~IT_STRENGTH;
+                       self.items &= ~ITEM_Strength.m_itemid;
                        Send_Notification(NOTIF_ONE, self, MSG_CENTER, CENTER_POWERDOWN_INVISIBILITY);
                }
        }
@@ -184,18 +184,18 @@ MUTATOR_HOOKFUNCTION(instagib_PlayerPowerups)
                {
                        self.alpha = autocvar_g_instagib_invis_alpha;
                        self.exteriorweaponentity.alpha = autocvar_g_instagib_invis_alpha;
-                       self.items |= IT_STRENGTH;
+                       self.items |= ITEM_Strength.m_itemid;
                        Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_POWERUP_INVISIBILITY, self.netname);
                        Send_Notification(NOTIF_ONE, self, MSG_CENTER, CENTER_POWERUP_INVISIBILITY);
                }
        }
 
-       if (self.items & IT_INVINCIBLE)
+       if (self.items & ITEM_Shield.m_itemid)
        {
                play_countdown(self.invincible_finished, "misc/poweroff.wav");
                if (time > self.invincible_finished)
                {
-                       self.items &= ~IT_INVINCIBLE;
+                       self.items &= ~ITEM_Shield.m_itemid;
                        Send_Notification(NOTIF_ONE, self, MSG_CENTER, CENTER_POWERDOWN_SPEED);
                }
        }
@@ -203,7 +203,7 @@ MUTATOR_HOOKFUNCTION(instagib_PlayerPowerups)
        {
                if (time < self.invincible_finished)
                {
-                       self.items |= IT_INVINCIBLE;
+                       self.items |= ITEM_Shield.m_itemid;
                        Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_POWERUP_SPEED, self.netname);
                        Send_Notification(NOTIF_ONE, self, MSG_CENTER, CENTER_POWERUP_SPEED);
                }
@@ -213,7 +213,7 @@ MUTATOR_HOOKFUNCTION(instagib_PlayerPowerups)
 
 MUTATOR_HOOKFUNCTION(instagib_PlayerPhysics)
 {
-       if(self.items & IT_INVINCIBLE)
+       if(self.items & ITEM_Shield.m_itemid)
                self.stat_sv_maxspeed = self.stat_sv_maxspeed * autocvar_g_instagib_speed_highspeed;
 
        return false;
@@ -290,7 +290,7 @@ MUTATOR_HOOKFUNCTION(instagib_PlayerDamage)
                frag_mirrordamage = 0;
        }
 
-       if((frag_target.buffs & BUFF_INVISIBLE.m_itemid) || (frag_target.items & IT_STRENGTH))
+       if((frag_target.buffs & BUFF_INVISIBLE.m_itemid) || (frag_target.items & ITEM_Strength.m_itemid))
                yoda = 1;
 
        return false;
@@ -355,7 +355,7 @@ MUTATOR_HOOKFUNCTION(instagib_CustomizeWaypoint)
 
        // if you have the invisibility powerup, sprites ALWAYS are restricted to your team
        // but only apply this to real players, not to spectators
-       if((self.owner.flags & FL_CLIENT) && (self.owner.items & IT_STRENGTH) && (e == other))
+       if((self.owner.flags & FL_CLIENT) && (self.owner.items & ITEM_Strength.m_itemid) && (e == other))
        if(DIFF_TEAM(self.owner, e))
                return true;
 
@@ -364,11 +364,11 @@ MUTATOR_HOOKFUNCTION(instagib_CustomizeWaypoint)
 
 MUTATOR_HOOKFUNCTION(instagib_ItemCountdown)
 {
-       switch(self.items)
+       switch (self.items)
        {
-               case IT_STRENGTH:   item_name = "item-invis"; item_color = '0 0 1'; break;
-               case IT_NAILS:      item_name = "item-extralife"; item_color = '1 0 0'; break;
-               case IT_INVINCIBLE: item_name = "item-speed"; item_color = '1 0 1'; break;
+               case ITEM_Strength.m_itemid:  item_name = "item-invis";     item_color = '0 0 1'; break;
+               case ITEM_ExtraLife.m_itemid: item_name = "item-extralife"; item_color = '1 0 0'; break;
+               case ITEM_Shield.m_itemid:    item_name = "item-speed";     item_color = '1 0 1'; break;
        }
        return false;
 }
index ed7cd2074620616546212f546090a41c7d1fd685..c77bba51630a59378bbfe02a0714d7ce32413391 100644 (file)
@@ -19,8 +19,8 @@ MUTATOR_HOOKFUNCTION(melee_FilterItem)
 {
        switch (self.items)
        {
-               case IT_5HP:
-               case IT_ARMOR_SHARD:
+               case ITEM_HealthSmall.m_itemid:
+               case ITEM_ArmorSmall.m_itemid:
                        return false;
        }
 
index 82cb70fc5970b2acfe2f95b2ceda6202b7b47c8e..c80b56fae3dcad39f4292b41c80630f8782709c3 100644 (file)
@@ -799,7 +799,7 @@ void nade_prime()
        n.classname = "nade";
        fn.classname = "fake_nade";
 
-       if(self.items & IT_STRENGTH && autocvar_g_nades_bonus_onstrength)
+       if(self.items & ITEM_Strength.m_itemid && autocvar_g_nades_bonus_onstrength)
                n.nade_type = self.nade_type;
        else if (self.bonus_nades >= 1)
        {
index 42a490b00e8befbf5bc4542200ecc86358155ec1..ecf07cb7875ee53582e34cd478608abe664284a1 100644 (file)
@@ -180,16 +180,19 @@ MUTATOR_HOOKFUNCTION(nix_FilterItem)
 {
        switch (self.items)
        {
-               case IT_HEALTH:
-               case IT_5HP:
-               case IT_25HP:
-               case IT_ARMOR:
-               case IT_ARMOR_SHARD:
+               case ITEM_HealthSmall.m_itemid:
+               case ITEM_HealthMedium.m_itemid:
+               case ITEM_HealthLarge.m_itemid:
+               case ITEM_HealthMega.m_itemid:
+               case ITEM_ArmorSmall.m_itemid:
+               case ITEM_ArmorMedium.m_itemid:
+               case ITEM_ArmorLarge.m_itemid:
+               case ITEM_ArmorMega.m_itemid:
                        if (autocvar_g_nix_with_healtharmor)
                                return 0;
                        break;
-               case IT_STRENGTH:
-               case IT_INVINCIBLE:
+               case ITEM_Strength.m_itemid:
+               case ITEM_Shield.m_itemid:
                        if (autocvar_g_nix_with_powerups)
                                return 0;
                        break;
index 39b244a724ef97116cf988d0d186730cd72ae497..75c7b41c480a85427c4fb0767a9ca3c041c39483 100644 (file)
@@ -114,7 +114,7 @@ MUTATOR_HOOKFUNCTION(ok_PlayerRegen)
                minf = autocvar_g_balance_fuel_regenstable;
                limitf = autocvar_g_balance_fuel_limit;
 
-               self.ammo_fuel = CalcRotRegen(self.ammo_fuel, minf, autocvar_g_balance_fuel_regen, autocvar_g_balance_fuel_regenlinear, frametime * (time > self.pauseregen_finished) * ((self.items & IT_FUEL_REGEN) != 0), maxf, autocvar_g_balance_fuel_rot, autocvar_g_balance_fuel_rotlinear, frametime * (time > self.pauserotfuel_finished), limitf);
+               self.ammo_fuel = CalcRotRegen(self.ammo_fuel, minf, autocvar_g_balance_fuel_regen, autocvar_g_balance_fuel_regenlinear, frametime * (time > self.pauseregen_finished) * ((self.items & ITEM_JetpackRegen.m_itemid) != 0), maxf, autocvar_g_balance_fuel_rot, autocvar_g_balance_fuel_rotlinear, frametime * (time > self.pauserotfuel_finished), limitf);
        }
        return true; // return true anyway, as frozen uses no regen
 }
@@ -256,8 +256,8 @@ MUTATOR_HOOKFUNCTION(ok_ItemRemove)
 
        switch(self.items)
        {
-               case IT_HEALTH: return !(autocvar_g_overkill_100h_anyway);
-               case IT_ARMOR: return !(autocvar_g_overkill_100a_anyway);
+               case ITEM_HealthMega.m_itemid: return !(autocvar_g_overkill_100h_anyway);
+               case ITEM_ArmorMega.m_itemid: return !(autocvar_g_overkill_100a_anyway);
        }
 
        return true;
index aa0e830651c61678dee1493a185e07480b0e743e..7d173d73a87d89011c920495adb1f6a4d64dcd12 100644 (file)
@@ -384,7 +384,7 @@ void Item_Show (entity e, float mode)
                e.ItemStatus &= ~ITS_AVAILABLE;
        }
 
-       if (e.items & IT_STRENGTH || e.items & IT_INVINCIBLE)
+       if (e.items & ITEM_Strength.m_itemid || e.items & ITEM_Shield.m_itemid)
            e.ItemStatus |= ITS_POWERUP;
 
        if (autocvar_g_nodepthtestitems)
@@ -590,9 +590,9 @@ void Item_Respawn (void)
 {
        Item_Show(self, 1);
        // this is ugly...
-       if(self.items == IT_STRENGTH)
+       if(self.items == ITEM_Strength.m_itemid)
                sound (self, CH_TRIGGER, "misc/strength_respawn.wav", VOL_BASE, ATTEN_NORM);    // play respawn sound
-       else if(self.items == IT_INVINCIBLE)
+       else if(self.items == ITEM_Shield.m_itemid)
                sound (self, CH_TRIGGER, "misc/shield_respawn.wav", VOL_BASE, ATTEN_NORM);      // play respawn sound
        else
                sound (self, CH_TRIGGER, "misc/itemrespawn.wav", VOL_BASE, ATTEN_NORM); // play respawn sound
@@ -629,18 +629,18 @@ void Item_RespawnCountdown (void)
                        string name;
                        vector rgb = '1 0 1';
                        name = string_null;
-                       switch(self.items)
+                       switch (self.items)
                        {
-                               case IT_FUEL_REGEN: name = "item-fuelregen"; rgb = '1 0.5 0'; break;
-                               case IT_JETPACK:    name = "item-jetpack"; rgb = '0.5 0.5 0.5'; break;
-                               case IT_STRENGTH:   name = "item-strength"; rgb = '0 0 1'; break;
-                               case IT_INVINCIBLE: name = "item-shield"; rgb = '1 0 1'; break;
-                               case IT_HEALTH:
-                                       // if(self.itemdef == ITEM_HealthMega)
+                               case ITEM_JetpackRegen.m_itemid: name = "item-fuelregen"; rgb = '1 0.5 0'; break;
+                               case ITEM_Jetpack.m_itemid:    name = "item-jetpack"; rgb = '0.5 0.5 0.5'; break;
+                               case ITEM_Strength.m_itemid:   name = "item-strength"; rgb = '0 0 1'; break;
+                               case ITEM_Shield.m_itemid: name = "item-shield"; rgb = '1 0 1'; break;
+                               case ITEM_HealthMega.m_itemid:
+                                       //if (self.classname == "item_health_mega")
                                                {name = "item_health_mega"; rgb = '1 0 0';}
                                        break;
-                               case IT_ARMOR:
-                                       if(self.itemdef == ITEM_ArmorLarge)
+                               case ITEM_ArmorMega.m_itemid:
+                                       if (self.itemdef == ITEM_ArmorLarge)
                                                {name = "item_armor_large"; rgb = '0 1 0';}
                                        break;
                        }
@@ -1084,17 +1084,17 @@ float commodity_pickupevalfunc(entity player, entity item)
                if (!(player.weapons & WepSet_FromWeapon(i)))
                        continue;
 
-               if(wi.items & IT_SHELLS)
+               if(wi.items & ITEM_Shells.m_itemid)
                        need_shells = true;
-               else if(wi.items & IT_NAILS)
+               else if(wi.items & ITEM_Bullets.m_itemid)
                        need_nails = true;
-               else if(wi.items & IT_ROCKETS)
+               else if(wi.items & ITEM_Rockets.m_itemid)
                        need_rockets = true;
-               else if(wi.items & IT_CELLS)
+               else if(wi.items & ITEM_Cells.m_itemid)
                        need_cells = true;
-               else if(wi.items & IT_PLASMA)
+               else if(wi.items & ITEM_Plasma.m_itemid)
                        need_plasma = true;
-               else if(wi.items & IT_FUEL)
+               else if(wi.items & ITEM_JetpackFuel.m_itemid)
                        need_fuel = true;
        }
 
@@ -1287,9 +1287,9 @@ void StartItem (string itemmodel, string pickupsound, float defaultrespawntime,
                precache_sound (self.item_pickupsound);
 
                precache_sound ("misc/itemrespawncountdown.wav");
-               if(itemid == IT_STRENGTH)
+               if(itemid == ITEM_Strength.m_itemid)
                        precache_sound ("misc/strength_respawn.wav");
-               else if(itemid == IT_INVINCIBLE)
+               else if(itemid == ITEM_Shield.m_itemid)
                        precache_sound ("misc/shield_respawn.wav");
                else
                        precache_sound ("misc/itemrespawn.wav");
@@ -1459,7 +1459,7 @@ void spawnfunc_item_armor_big (void) {
                self.max_armorvalue = g_pickup_armorbig_max;
        if(!self.pickup_anyway)
                self.pickup_anyway = g_pickup_armorbig_anyway;
-       StartItemA (ITEM_ArmorBig);
+       StartItemA (ITEM_ArmorLarge);
 }
 
 void spawnfunc_item_armor_large (void) {
@@ -1469,7 +1469,7 @@ void spawnfunc_item_armor_large (void) {
                self.max_armorvalue = g_pickup_armorlarge_max;
        if(!self.pickup_anyway)
                self.pickup_anyway = g_pickup_armorlarge_anyway;
-       StartItemA (ITEM_ArmorLarge);
+       StartItemA (ITEM_ArmorMega);
 }
 
 void spawnfunc_item_health_small (void) {
@@ -1592,11 +1592,11 @@ void spawnfunc_target_items (void)
                        if     (argv(i) == "unlimited_ammo")         self.items |= IT_UNLIMITED_AMMO;
                        else if(argv(i) == "unlimited_weapon_ammo")  self.items |= IT_UNLIMITED_WEAPON_AMMO;
                        else if(argv(i) == "unlimited_superweapons") self.items |= IT_UNLIMITED_SUPERWEAPONS;
-                       else if(argv(i) == "strength")               self.items |= IT_STRENGTH;
-                       else if(argv(i) == "invincible")             self.items |= IT_INVINCIBLE;
+                       else if(argv(i) == "strength")               self.items |= ITEM_Strength.m_itemid;
+                       else if(argv(i) == "invincible")             self.items |= ITEM_Shield.m_itemid;
                        else if(argv(i) == "superweapons")           self.items |= IT_SUPERWEAPON;
-                       else if(argv(i) == "jetpack")                self.items |= IT_JETPACK;
-                       else if(argv(i) == "fuel_regen")             self.items |= IT_FUEL_REGEN;
+                       else if(argv(i) == "jetpack")                self.items |= ITEM_Jetpack.m_itemid;
+                       else if(argv(i) == "fuel_regen")             self.items |= ITEM_JetpackRegen.m_itemid;
                        else
                        {
                                for(j = WEP_FIRST; j <= WEP_LAST; ++j)
@@ -1646,11 +1646,11 @@ void spawnfunc_target_items (void)
                self.netname = "";
                self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.items & IT_UNLIMITED_WEAPON_AMMO), "unlimited_weapon_ammo");
                self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.items & IT_UNLIMITED_SUPERWEAPONS), "unlimited_superweapons");
-               self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, self.strength_finished * !!(self.items & IT_STRENGTH), "strength");
-               self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, self.invincible_finished * !!(self.items & IT_INVINCIBLE), "invincible");
+               self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, self.strength_finished * !!(self.items & ITEM_Strength.m_itemid), "strength");
+               self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, self.invincible_finished * !!(self.items & ITEM_Shield.m_itemid), "invincible");
                self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, self.superweapons_finished * !!(self.items & IT_SUPERWEAPON), "superweapons");
-               self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.items & IT_JETPACK), "jetpack");
-               self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.items & IT_FUEL_REGEN), "fuel_regen");
+               self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.items & ITEM_Jetpack.m_itemid), "jetpack");
+               self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.items & ITEM_JetpackRegen.m_itemid), "fuel_regen");
                if(self.ammo_shells != 0) self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, max(0, self.ammo_shells), "shells");
                if(self.ammo_nails != 0) self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, max(0, self.ammo_nails), "nails");
                if(self.ammo_rockets != 0) self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, max(0, self.ammo_rockets), "rockets");
@@ -1695,7 +1695,7 @@ void spawnfunc_item_fuel(void)
 
 void spawnfunc_item_fuel_regen(void)
 {
-       if(start_items & IT_FUEL_REGEN)
+       if(start_items & ITEM_JetpackRegen.m_itemid)
        {
                spawnfunc_item_fuel();
                return;
@@ -1707,7 +1707,7 @@ void spawnfunc_item_jetpack(void)
 {
        if(!self.ammo_fuel)
                self.ammo_fuel = g_pickup_fuel_jetpack;
-       if(start_items & IT_JETPACK)
+       if(start_items & ITEM_Jetpack.m_itemid)
        {
                spawnfunc_item_fuel();
                return;
@@ -1887,13 +1887,13 @@ float GiveItems(entity e, float beginarg, float endarg)
                                op = OP_MINUS;
                                continue;
                        case "ALL":
-                               got += GiveBit(e, items, IT_FUEL_REGEN, op, val);
+                               got += GiveBit(e, items, ITEM_JetpackRegen.m_itemid, op, val);
                                got += GiveValue(e, strength_finished, op, val);
                                got += GiveValue(e, invincible_finished, op, val);
                                got += GiveValue(e, superweapons_finished, op, val);
                                got += GiveBit(e, items, IT_UNLIMITED_AMMO, op, val);
                        case "all":
-                               got += GiveBit(e, items, IT_JETPACK, op, val);
+                               got += GiveBit(e, items, ITEM_Jetpack.m_itemid, op, val);
                                got += GiveValue(e, health, op, val);
                                got += GiveValue(e, armorvalue, op, val);
                        case "allweapons":
@@ -1922,10 +1922,10 @@ float GiveItems(entity e, float beginarg, float endarg)
                                got += GiveBit(e, items, IT_UNLIMITED_SUPERWEAPONS, op, val);
                                break;
                        case "jetpack":
-                               got += GiveBit(e, items, IT_JETPACK, op, val);
+                               got += GiveBit(e, items, ITEM_Jetpack.m_itemid, op, val);
                                break;
                        case "fuel_regen":
-                               got += GiveBit(e, items, IT_FUEL_REGEN, op, val);
+                               got += GiveBit(e, items, ITEM_JetpackRegen.m_itemid, op, val);
                                break;
                        case "strength":
                                got += GiveValue(e, strength_finished, op, val);
@@ -1979,10 +1979,10 @@ float GiveItems(entity e, float beginarg, float endarg)
                op = OP_SET;
        }
 
-       POSTGIVE_BIT(e, items, IT_FUEL_REGEN, "misc/itempickup.wav", string_null);
+       POSTGIVE_BIT(e, items, ITEM_JetpackRegen.m_itemid, "misc/itempickup.wav", string_null);
        POSTGIVE_BIT(e, items, IT_UNLIMITED_SUPERWEAPONS, "misc/powerup.wav", "misc/poweroff.wav");
        POSTGIVE_BIT(e, items, IT_UNLIMITED_WEAPON_AMMO, "misc/powerup.wav", "misc/poweroff.wav");
-       POSTGIVE_BIT(e, items, IT_JETPACK, "misc/itempickup.wav", string_null);
+       POSTGIVE_BIT(e, items, ITEM_Jetpack.m_itemid, "misc/itempickup.wav", string_null);
        for(j = WEP_FIRST; j <= WEP_LAST; ++j)
        {
                wi = get_weaponinfo(j);
index cf49b54f8b0b169e5702d4e0a010a64af51e6fc5..8e19fb53df96d98cb53e5e7268d35df714669239 100644 (file)
@@ -28,7 +28,7 @@ void W_GiveWeapon (entity e, float wep)
 
 void W_PlayStrengthSound(entity player) // void W_PlayStrengthSound
 {
-       if((player.items & IT_STRENGTH)
+       if((player.items & ITEM_Strength.m_itemid)
                && ((time > player.prevstrengthsound + autocvar_sv_strengthsound_antispam_time) // prevent insane sound spam
                || (time > player.prevstrengthsoundattempt + autocvar_sv_strengthsound_antispam_refire_threshold)))
                {