示例#1
0
            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);
                }
            }
示例#2
0
            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);
            }