]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
q3compat: support holdable_invulnerability, holdable_kamikaze, holdable_teleporter
authorbones_was_here <bones_was_here@xa.org.au>
Sat, 5 Sep 2020 12:13:00 +0000 (22:13 +1000)
committerbones_was_here <bones_was_here@xa.org.au>
Sat, 5 Sep 2020 12:13:00 +0000 (22:13 +1000)
qcsrc/common/mutators/mutator/buffs/all.inc
qcsrc/common/mutators/mutator/buffs/buffs.qh
qcsrc/server/compat/quake3.qc

index 6fd7bdd9b32c2380766bf068975436ae6bbf603e..3b3804b84eb5dab7475e7e2e1789e2ed2faa7ea0 100644 (file)
@@ -10,6 +10,9 @@ string Buff_UndeprecateName(string buffname)
         case "revival": case "regen": return "medic";  // WOP revival, Q3A regen
         case "invis": return "invisible";              // Q3A invis
         case "jumper": return "jump";                  // WOP jumper
+        case "invulnerability": return "vampire";      // Q3TA invulnerability
+        case "kamikaze": return "vengeance";           // Q3TA kamikaze
+        case "teleporter": return "swapper";           // Q3A personal teleporter
         default: return buffname;
     }
 }
@@ -21,7 +24,7 @@ REGISTER_BUFF(AMMO) {
     this.m_color = '0.76 1 0.1';
 }
 BUFF_SPAWNFUNCS(ammo, BUFF_AMMO)
-BUFF_SPAWNFUNC_Q3TA_COMPAT(ammoregen, BUFF_AMMO)
+BUFF_SPAWNFUNC_Q3COMPAT(item_ammoregen, BUFF_AMMO)
 
 REGISTER_BUFF(RESISTANCE) {
     this.m_name = _("Resistance");
@@ -30,7 +33,7 @@ REGISTER_BUFF(RESISTANCE) {
     this.m_color = '0.36 1 0.07';
 }
 BUFF_SPAWNFUNCS(resistance, BUFF_RESISTANCE)
-BUFF_SPAWNFUNC_Q3TA_COMPAT(guard, BUFF_RESISTANCE)
+BUFF_SPAWNFUNC_Q3COMPAT(item_guard, BUFF_RESISTANCE)
 
 REGISTER_BUFF(SPEED) {
     this.m_name = _("Speed");
@@ -39,7 +42,7 @@ REGISTER_BUFF(SPEED) {
     this.m_color = '0.1 1 0.84';
 }
 BUFF_SPAWNFUNCS(speed, BUFF_SPEED)
-BUFF_SPAWNFUNC_Q3TA_COMPAT(haste, BUFF_SPEED)
+BUFF_SPAWNFUNC_Q3COMPAT(item_haste, BUFF_SPEED)
 
 REGISTER_BUFF(MEDIC) {
     this.m_name = _("Medic");
@@ -48,8 +51,8 @@ REGISTER_BUFF(MEDIC) {
     this.m_color = '1 0.12 0';
 }
 BUFF_SPAWNFUNCS(medic, BUFF_MEDIC)
-BUFF_SPAWNFUNC_Q3TA_COMPAT(regen, BUFF_MEDIC)
-BUFF_SPAWNFUNC_Q3TA_COMPAT(revival, BUFF_MEDIC)
+BUFF_SPAWNFUNC_Q3COMPAT(item_regen, BUFF_MEDIC)
+BUFF_SPAWNFUNC_Q3COMPAT(item_revival, BUFF_MEDIC)
 
 REGISTER_BUFF(BASH) {
     this.m_name = _("Bash");
@@ -58,7 +61,7 @@ REGISTER_BUFF(BASH) {
     this.m_color = '1 0.39 0';
 }
 BUFF_SPAWNFUNCS(bash, BUFF_BASH)
-BUFF_SPAWNFUNC_Q3TA_COMPAT(scout, BUFF_BASH)
+BUFF_SPAWNFUNC_Q3COMPAT(item_scout, BUFF_BASH)
 
 REGISTER_BUFF(VAMPIRE) {
     this.m_name = _("Vampire");
@@ -67,6 +70,7 @@ REGISTER_BUFF(VAMPIRE) {
     this.m_color = '1 0 0.24';
 }
 BUFF_SPAWNFUNCS(vampire, BUFF_VAMPIRE)
+BUFF_SPAWNFUNC_Q3COMPAT(holdable_invulnerability, BUFF_VAMPIRE)
 
 REGISTER_BUFF(DISABILITY) {
     this.m_name = _("Disability");
@@ -83,6 +87,7 @@ REGISTER_BUFF(VENGEANCE) {
     this.m_color = '1 0.23 0.61';
 }
 BUFF_SPAWNFUNCS(vengeance, BUFF_VENGEANCE)
+BUFF_SPAWNFUNC_Q3COMPAT(holdable_kamikaze, BUFF_VENGEANCE)
 
 REGISTER_BUFF(JUMP) {
     this.m_name = _("Jump");
@@ -91,7 +96,7 @@ REGISTER_BUFF(JUMP) {
     this.m_color = '0.24 0.78 1';
 }
 BUFF_SPAWNFUNCS(jump, BUFF_JUMP)
-BUFF_SPAWNFUNC_Q3TA_COMPAT(jumper, BUFF_JUMP)
+BUFF_SPAWNFUNC_Q3COMPAT(item_jumper, BUFF_JUMP)
 
 REGISTER_BUFF(INVISIBLE) {
     this.m_name = _("Invisible");
@@ -100,7 +105,7 @@ REGISTER_BUFF(INVISIBLE) {
     this.m_color = '0.5 0.5 1';
 }
 BUFF_SPAWNFUNCS(invisible, BUFF_INVISIBLE)
-BUFF_SPAWNFUNC_Q3TA_COMPAT(invis, BUFF_INVISIBLE)
+BUFF_SPAWNFUNC_Q3COMPAT(item_invis, BUFF_INVISIBLE)
 
 REGISTER_BUFF(INFERNO) {
     this.m_name = _("Inferno");
@@ -109,7 +114,7 @@ REGISTER_BUFF(INFERNO) {
     this.m_color = '1 0.62 0';
 }
 BUFF_SPAWNFUNCS(inferno, BUFF_INFERNO)
-BUFF_SPAWNFUNC_Q3TA_COMPAT(doubler, BUFF_INFERNO)
+BUFF_SPAWNFUNC_Q3COMPAT(item_doubler, BUFF_INFERNO)
 
 REGISTER_BUFF(SWAPPER) {
     this.m_name = _("Swapper");
@@ -118,6 +123,7 @@ REGISTER_BUFF(SWAPPER) {
     this.m_color = '0.63 0.36 1';
 }
 BUFF_SPAWNFUNCS(swapper, BUFF_SWAPPER)
+BUFF_SPAWNFUNC_Q3COMPAT(holdable_teleporter, BUFF_SWAPPER)
 
 REGISTER_BUFF(MAGNET) {
     this.m_name = _("Magnet");
@@ -142,4 +148,4 @@ REGISTER_BUFF(FLIGHT) {
     this.m_color = '0.23 0.44 1';
 }
 BUFF_SPAWNFUNCS(flight, BUFF_FLIGHT)
-BUFF_SPAWNFUNC_Q3TA_COMPAT(flight, BUFF_FLIGHT)
+BUFF_SPAWNFUNC_Q3COMPAT(item_flight, BUFF_FLIGHT)
index 91f56066f61b0f7a9eed9532cdff15c9ffb295a5..c0ccf5803278a2aab53db5accfa180e50d3011ae 100644 (file)
@@ -58,11 +58,11 @@ STATIC_INIT(REGISTER_BUFFS) {
                        BUFF_SPAWNFUNC(e##_team2,   b,  NUM_TEAM_2) \
                        BUFF_SPAWNFUNC(e##_team3,   b,  NUM_TEAM_3) \
                        BUFF_SPAWNFUNC(e##_team4,   b,  NUM_TEAM_4)
-       #define BUFF_SPAWNFUNC_Q3TA_COMPAT(o, r) spawnfunc(item_##o) { buff_Init_Compat(this, r); }
+       #define BUFF_SPAWNFUNC_Q3COMPAT(o, r) spawnfunc(o) { buff_Init_Compat(this, r); }
 #else
        #define BUFF_SPAWNFUNC(e, b, t)
        #define BUFF_SPAWNFUNCS(e, b)
-       #define BUFF_SPAWNFUNC_Q3TA_COMPAT(o, r)
+       #define BUFF_SPAWNFUNC_Q3COMPAT(o, r)
 #endif
 
 string Buff_UndeprecateName(string buffname);
index 719d383087cc983ac58ccd950214b129d3b68fa9..85219b1c8de98e67065cd9e42b63978d314cc30f 100644 (file)
@@ -19,8 +19,9 @@
  ***********************
 
  * Map entities NOT handled in this file:
- holdable_invulnerability      Q3TA    currently unsupported
- holdable_kamikaze             Q3TA    currently unsupported
+ holdable_invulnerability      Q3TA    buffs mutator
+ holdable_kamikaze             Q3TA    buffs mutator
+ holdable_teleporter           Q3A     buffs mutator
  item_ammoregen                        Q3TA    buffs mutator
  item_doubler                  Q3TA    buffs mutator
  item_guard                    Q3TA    buffs mutator