]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/cheats.qc
Merge remote-tracking branch 'origin/divVerent/weapons-field-rewrite'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / cheats.qc
index b3487657de98cdc12b54c7a886db5165db91b697..19ee93868a59f04b69c5dd061a80a79e7e668ca9 100644 (file)
@@ -1,4 +1,4 @@
-entity CopyBody(float keepvelocity);
+void CopyBody(float keepvelocity);
 
 #ifdef NOCHEATS
 
@@ -145,7 +145,7 @@ float CheatImpulse(float i)
                        self.personal.ammo_fuel = self.ammo_fuel;
                        self.personal.health = self.health;
                        self.personal.armorvalue = self.armorvalue;
-                       self.personal.weapons = self.weapons;
+                       WEPSET_COPY_EE(self.personal, self);
                        self.personal.items = self.items;
                        self.personal.pauserotarmor_finished = self.pauserotarmor_finished;
                        self.personal.pauserothealth_finished = self.pauserothealth_finished;
@@ -158,18 +158,15 @@ float CheatImpulse(float i)
                case CHIMPULSE_CLONE_MOVING:
                        IS_CHEAT(i, 0, 0);
                        makevectors (self.v_angle);
-                       e = CopyBody(1);
-                       if(e.colormap <= maxclients && e.colormap > 0)
-                               e.colormap = 1024 + self.clientcolors;
-                       e.velocity = e.velocity + v_forward * 300;
+                       self.velocity = self.velocity + v_forward * 300;
+                       CopyBody(1);
                        self.lip += 1;
+                       self.velocity = self.velocity - v_forward * 300;
                        DID_CHEAT();
                        break;
                case CHIMPULSE_CLONE_STANDING:
                        IS_CHEAT(i, 0, 0);
-                       e = CopyBody(0);
-                       if(e.colormap <= maxclients && e.colormap > 0)
-                               e.colormap = 1024 + self.clientcolors;
+                       CopyBody(0);
                        self.lip += 1;
                        DID_CHEAT();
                        break;
@@ -209,7 +206,7 @@ float CheatImpulse(float i)
                                        self.ammo_fuel = 999;
                                        self.health = start_health;
                                        self.armorvalue = start_armorvalue;
-                                       self.weapons |= weaponsInMap;
+                                       WEPSET_OR_EA(self.personal, weaponsInMap);
                                        self.pauserotarmor_finished = time + autocvar_g_balance_pause_armor_rot_spawn;
                                        self.pauserothealth_finished = time + autocvar_g_balance_pause_health_rot_spawn;
                                        self.pauserotfuel_finished = time + autocvar_g_balance_pause_fuel_rot_spawn;
@@ -226,7 +223,7 @@ float CheatImpulse(float i)
                                        self.ammo_fuel = self.personal.ammo_fuel;
                                        self.health = self.personal.health;
                                        self.armorvalue = self.personal.armorvalue;
-                                       self.weapons = self.personal.weapons;
+                                       WEPSET_COPY_EE(self, self.personal);
                                        self.items = self.personal.items;
                                        self.pauserotarmor_finished = time + self.personal.pauserotarmor_finished - self.personal.teleport_time;
                                        self.pauserothealth_finished = time + self.personal.pauserothealth_finished - self.personal.teleport_time;