public override void Use(edict_t self, edict_t other, edict_t activator) { edict_t ent; ent = GameUtil.G_Spawn(); ent.classname = self.target; Math3D.VectorCopy(self.s.origin, ent.s.origin); Math3D.VectorCopy(self.s.angles, ent.s.angles); GameSpawn.ED_CallSpawn(ent); GameBase.gi.Unlinkentity(ent); GameUtil.KillBox(ent); GameBase.gi.Linkentity(ent); if (self.speed != 0) { Math3D.VectorCopy(self.movedir, ent.velocity); } }
public override bool Think(edict_t self) { self.s.origin[2] += 1; GameUtil.KillBox(self); self.solid = Defines.SOLID_BBOX; self.movetype = Defines.MOVETYPE_STEP; self.svflags &= ~Defines.SVF_NOCLIENT; self.air_finished = GameBase.level.time + 12; GameBase.gi.Linkentity(self); Monster.Monster_start_go(self); if (self.enemy != null && 0 == (self.spawnflags & 1) && 0 == (self.enemy.flags & Defines.FL_NOTARGET)) { GameUtil.FoundTarget(self); } else { self.enemy = null; } return(true); }