]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/t_quake3.qc
Clean up SVQC #includes
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / t_quake3.qc
index 6f61f7928a9e0ef907b5bd16852a175f9669a1d0..35b81c699a59bb2561b40f1450466ba91ea37c17 100644 (file)
@@ -1,3 +1,5 @@
+#include "../common/weapons/weapons.qc"
+
 //***********************
 //QUAKE 3 ENTITIES - So people can play quake3 maps with the xonotic weapons
 //***********************
@@ -14,7 +16,7 @@ void spawnfunc_ammo_bullets()        { spawnfunc_item_bullets();        }
 void spawnfunc_ammo_grenades()       { spawnfunc_item_rockets();        }
 
 // LG -> Lightning
-//void spawnfunc_weapon_lightning()    { spawnfunc_weapon_electro();      }
+void spawnfunc_weapon_lightning()    { spawnfunc_weapon_electro();      }
 void spawnfunc_ammo_lightning()      { spawnfunc_item_cells();          }
 
 // Plasma -> Hagar
@@ -70,9 +72,9 @@ void target_give_init()
 {
        entity targ;
        for (targ = world; (targ = find(targ, targetname, self.target)); ) {
-               if (targ.classname == "weapon_rocketlauncher") {
+               if (targ.classname == "weapon_rocketlauncher" || targ.classname == "weapon_devastator") {
                        self.ammo_rockets += targ.count * WEP_CVAR(devastator, ammo);
-                       self.netname = "rocketlauncher";
+                       self.netname = "devastator";
                }
                else if (targ.classname == "weapon_plasmagun") {
                        self.ammo_rockets += targ.count * WEP_CVAR_PRI(hagar, ammo); // WEAPONTODO
@@ -82,18 +84,18 @@ void target_give_init()
                                self.netname = strcat(self.netname, " hagar");
                }
                else if (targ.classname == "weapon_bfg") {
-                       self.ammo_cells += targ.count * autocvar_g_balance_crylink_primary_ammo;
+                       self.ammo_cells += targ.count * WEP_CVAR_PRI(crylink, ammo);
                        if(self.netname == "")
                                self.netname = "crylink";
                        else
                                self.netname = strcat(self.netname, " crylink");
                }
-               else if (targ.classname == "weapon_grenadelauncher") {
-                       self.ammo_rockets += targ.count * autocvar_g_balance_mortar_primary_ammo; // WEAPONTODO
+               else if (targ.classname == "weapon_grenadelauncher" || targ.classname == "weapon_mortar") {
+                       self.ammo_rockets += targ.count * WEP_CVAR_PRI(mortar, ammo); // WEAPONTODO
                        if(self.netname == "")
-                               self.netname = "grenadelauncher";
+                               self.netname = "mortar";
                        else
-                               self.netname = strcat(self.netname, " grenadelauncher");
+                               self.netname = strcat(self.netname, " mortar");
                }
                else if (targ.classname == "item_armor_body")
                        self.armorvalue = 100;
@@ -113,18 +115,24 @@ void spawnfunc_target_give()
        InitializeEntity(self, target_give_init, INITPRIO_FINDTARGET);
 }
 
-//void spawnfunc_item_flight()       /* not supported */
-//void spawnfunc_item_haste()        /* not supported */
+//void spawnfunc_item_flight()       /* handled by buffs mutator or jetpack */
+//void spawnfunc_item_haste()        /* handled by buffs mutator */
 //void spawnfunc_item_health()       /* handled in t_quake.qc */
 //void spawnfunc_item_health_large() /* handled in t_items.qc */
 //void spawnfunc_item_health_small() /* handled in t_items.qc */
 //void spawnfunc_item_health_mega()  /* handled in t_items.qc */
-//void spawnfunc_item_invis()        /* not supported */
-//void spawnfunc_item_regen()        /* not supported */
+//void spawnfunc_item_invis()        /* handled by buffs mutator */
+//void spawnfunc_item_regen()        /* handled by buffs mutator */
 
 // CTF spawnfuncs handled in mutators/gamemode_ctf.qc now
 
-void spawnfunc_item_flight()         { spawnfunc_item_jetpack();       }
+void spawnfunc_item_flight()
+{
+       if(!cvar("g_buffs") || !cvar("g_buffs_flight"))
+               spawnfunc_item_jetpack();
+       else
+               buff_Init_Compat(self, BUFF_FLIGHT);
+}
 
 .float notteam;
 .float notsingle;