]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/gamemodes/gamemode/assault/sv_assault.qc
Fix broken Assault destroy waypoints and bots ignoring explosive barrels (bugs introc...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / gamemodes / gamemode / assault / sv_assault.qc
index 14266c8a74f9b2db36171e00faac3b7b41ed2d0c..1492c6d06c6278147428dc2d79743be62e32b9ab 100644 (file)
@@ -1,5 +1,13 @@
 #include "sv_assault.qh"
 
+#include <server/command/vote.qh>
+#include <common/mapobjects/func/breakable.qh>
+#include <common/mapobjects/triggers.qh>
+#include <common/turrets/sv_turrets.qh>
+#include <server/damage.qh>
+#include <server/world.qh>
+#include <server/spawnpoints.qh>
+
 .entity sprite;
 #define AS_ROUND_DELAY 5
 
@@ -304,7 +312,6 @@ spawnfunc(target_objective)
 {
        if (!g_assault) { delete(this); return; }
 
-       this.classname = "target_objective";
        IL_PUSH(g_assault_objectives, this);
        this.use = assault_objective_use;
        this.reset = assault_objective_reset;
@@ -316,7 +323,6 @@ spawnfunc(target_objective_decrease)
 {
        if (!g_assault) { delete(this); return; }
 
-       this.classname = "target_objective_decrease";
        IL_PUSH(g_assault_objectivedecreasers, this);
 
        if(!this.dmg)
@@ -347,13 +353,11 @@ bool destructible_heal(entity targ, entity inflictor, float amount, float limit)
        return true;
 }
 
-spawnfunc(func_breakable);
 spawnfunc(func_assault_destructible)
 {
        if (!g_assault) { delete(this); return; }
 
        this.spawnflags = 3;
-       this.classname = "func_assault_destructible";
        this.event_heal = destructible_heal;
        IL_PUSH(g_assault_destructibles, this);
 
@@ -362,14 +366,13 @@ spawnfunc(func_assault_destructible)
        else
                this.team = NUM_TEAM_1;
 
-       spawnfunc_func_breakable(this);
+       func_breakable_setup(this);
 }
 
 spawnfunc(func_assault_wall)
 {
        if (!g_assault) { delete(this); return; }
 
-       this.classname = "func_assault_wall";
        this.mdl = this.model;
        _setmodel(this, this.mdl);
        this.solid = SOLID_BSP;
@@ -383,7 +386,6 @@ spawnfunc(target_assault_roundend)
        if (!g_assault) { delete(this); return; }
 
        this.winning = 0; // round not yet won by attackers
-       this.classname = "target_assault_roundend";
        this.use = target_assault_roundend_use;
        this.cnt = 0; // first round
        this.reset = target_assault_roundend_reset;
@@ -394,7 +396,6 @@ spawnfunc(target_assault_roundstart)
        if (!g_assault) { delete(this); return; }
 
        assault_attacker_team = NUM_TEAM_1;
-       this.classname = "target_assault_roundstart";
        this.use = assault_roundstart_use;
        this.reset2 = assault_roundstart_use_this;
        InitializeEntity(this, assault_roundstart_use_this, INITPRIO_FINDTARGET);
@@ -579,7 +580,7 @@ MUTATOR_HOOKFUNCTION(as, TurretSpawn)
        entity turret = M_ARGV(0, entity);
 
        if(!turret.team || turret.team == FLOAT_MAX)
-               turret.team = 5; // this gets reversed when match starts?
+               turret.team = assault_attacker_team; // this gets reversed when match starts (assault_roundstart_use)
 }
 
 MUTATOR_HOOKFUNCTION(as, VehicleInit)
@@ -626,7 +627,7 @@ MUTATOR_HOOKFUNCTION(as, ReadLevelCvars)
 
 MUTATOR_HOOKFUNCTION(as, OnEntityPreSpawn)
 {
-    entity ent = M_ARGV(0, entity);
+       entity ent = M_ARGV(0, entity);
 
        switch(ent.classname)
        {