X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Ftriggers%2Ftrigger%2Fswamp.qc;h=71c5247c7446c5332d12e62b7f9084e105e47bd9;hb=42d51a516d5741c23c505a46b6e94bd806b04def;hp=32999b71adb9c829e57926fb4abb0e92ee2694e6;hpb=1add7fc6b9e512dcfcfd3180505046449ac782cd;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/triggers/trigger/swamp.qc b/qcsrc/common/triggers/trigger/swamp.qc index 32999b71a..71c5247c7 100644 --- a/qcsrc/common/triggers/trigger/swamp.qc +++ b/qcsrc/common/triggers/trigger/swamp.qc @@ -1,8 +1,9 @@ +#include "swamp.qh" #if defined(CSQC) #elif defined(MENUQC) #elif defined(SVQC) #include - #include + #include #include #include #endif @@ -22,8 +23,8 @@ #ifdef SVQC spawnfunc(trigger_swamp); #endif -void swamp_touch(); -void swampslug_think(); +void swamp_touch(entity this, entity toucher); +void swampslug_think(entity this); /* @@ -36,17 +37,17 @@ void swampslug_think(); * * I do it this way becuz there is no "untouch" event. */ -void swampslug_think() -{SELFPARAM(); +void swampslug_think(entity this) +{ //Slowly kill the slug - self.health = self.health - 1; + this.health = this.health - 1; //Slug dead? then remove curses. - if(self.health <= 0) + if(this.health <= 0) { - self.owner.in_swamp = 0; - remove(self); - //centerprint(self.owner,"Killing slug...\n"); + this.owner.in_swamp = 0; + delete(this); + //centerprint(this.owner,"Killing slug...\n"); return; } @@ -54,42 +55,42 @@ void swampslug_think() // Or we have exited it very recently. // Do the damage and renew the timer. #ifdef SVQC - Damage (self.owner, self, self, self.dmg, DEATH_SWAMP.m_id, other.origin, '0 0 0'); + Damage (this.owner, this, this, this.dmg, DEATH_SWAMP.m_id, this.owner.origin, '0 0 0'); #endif - self.nextthink = time + self.swamp_interval; + this.nextthink = time + this.swamp_interval; } -void swamp_touch() -{SELFPARAM(); +void swamp_touch(entity this, entity toucher) +{ // If whatever thats touching the swamp is not a player // or if its a dead player, just dont care abt it. - if(!IS_PLAYER(other) || IS_DEAD(other)) + if(!IS_PLAYER(toucher) || IS_DEAD(toucher)) return; - EXACTTRIGGER_TOUCH; + EXACTTRIGGER_TOUCH(this, toucher); // Chech if player alredy got a swampslug. - if(other.in_swamp != 1) + if(toucher.in_swamp != 1) { // If not attach one. - //centerprint(other,"Entering swamp!\n"); - other.swampslug = spawn(); - other.swampslug.health = 2; - other.swampslug.think = swampslug_think; - other.swampslug.nextthink = time; - other.swampslug.owner = other; - other.swampslug.dmg = self.dmg; - other.swampslug.swamp_interval = self.swamp_interval; - other.swamp_slowdown = self.swamp_slowdown; - other.in_swamp = 1; + //centerprint(toucher,"Entering swamp!\n"); + toucher.swampslug = spawn(); + toucher.swampslug.health = 2; + setthink(toucher.swampslug, swampslug_think); + toucher.swampslug.nextthink = time; + toucher.swampslug.owner = toucher; + toucher.swampslug.dmg = this.dmg; + toucher.swampslug.swamp_interval = this.swamp_interval; + toucher.swamp_slowdown = this.swamp_slowdown; + toucher.in_swamp = 1; return; } - //other.in_swamp = 1; + //toucher.in_swamp = 1; //Revitalize players swampslug - other.swampslug.health = 2; + toucher.swampslug.health = 2; } REGISTER_NET_LINKED(ENT_CLIENT_SWAMP) @@ -148,7 +149,7 @@ NET_HANDLE(ENT_CLIENT_SWAMP, bool isnew) this.classname = "trigger_swamp"; this.solid = SOLID_TRIGGER; - this.move_touch = swamp_touch; + settouch(this, swamp_touch); this.drawmask = MASK_NORMAL; this.move_time = time; this.entremove = trigger_remove_generic;