X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fturrets%2Fsv_turrets.qc;h=d8587b14a809954a433f033fe88e5e33245c49d8;hb=HEAD;hp=f3c6d0e24ecfb0a654982fe73e273d5e0dd24651;hpb=80e96d3476de18ec2d27c905eb789bd39b2f52f9;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/turrets/sv_turrets.qc b/qcsrc/common/turrets/sv_turrets.qc index f3c6d0e24..4c7ce5ab4 100644 --- a/qcsrc/common/turrets/sv_turrets.qc +++ b/qcsrc/common/turrets/sv_turrets.qc @@ -304,6 +304,8 @@ void turret_respawn(entity this) Turret tur = get_turretinfo(this.m_id); tur.tr_setup(tur, this); + + setorigin(this, this.origin); // make sure it's linked to the area grid } @@ -693,7 +695,8 @@ float turret_validate_target(entity e_turret, entity e_target, float validate_fl if(!e_target) return -2; - if(e_target.owner == e_turret) + // Don't attack against owner + if(e_target.owner == e_turret || e_target == e_turret.realowner) return -0.5; if(!checkpvs(e_target.origin, e_turret)) @@ -1256,7 +1259,7 @@ void turret_findtarget(entity this) entity e = find(NULL, classname, "turret_manager"); if(!e) { - e = new(turret_manager); + e = new_pure(turret_manager); setthink(e, turrets_manager_think); e.nextthink = time + 2; } @@ -1296,7 +1299,7 @@ bool turret_initialize(entity this, Turret tur) } if(!(this.spawnflags & TSF_SUSPENDED)) - droptofloor(this); + DropToFloor_QC_DelayedInit(this); this.netname = tur.netname; load_unit_settings(this, 0);