public override void Use(edict_t ent, edict_t other, edict_t activator) { GameBase.gi.Sound(ent, Defines.CHAN_VOICE, ent.noise_index, 1, Defines.ATTN_NORM, 0); GameBase.level.found_secrets++; GameUtil.G_UseTargets(ent, activator); GameUtil.G_FreeEdict(ent); }
public static void SP_trigger_always(edict_t ent) { if (ent.delay < 0.2F) { ent.delay = 0.2F; } GameUtil.G_UseTargets(ent, ent); }
public override Boolean Think(edict_t self) { if (self.spawnflags == (GameBase.game.serverflags & Defines.SFL_CROSS_TRIGGER_MASK & self.spawnflags)) { GameUtil.G_UseTargets(self, self); GameUtil.G_FreeEdict(self); } return(true); }
public override void Use(edict_t ent, edict_t other, edict_t activator) { GameBase.gi.Sound(ent, Defines.CHAN_VOICE, ent.noise_index, 1, Defines.ATTN_NORM, 0); GameBase.level.found_goals++; if (GameBase.level.found_goals == GameBase.level.total_goals) { GameBase.gi.Configstring(Defines.CS_CDTRACK, "0"); } GameUtil.G_UseTargets(ent, activator); GameUtil.G_FreeEdict(ent); }
public override Boolean Think(edict_t self) { Single save; GameBase.gi.WriteByte(Defines.svc_temp_entity); GameBase.gi.WriteByte(Defines.TE_EXPLOSION1); GameBase.gi.WritePosition(self.s.origin); GameBase.gi.Multicast(self.s.origin, Defines.MULTICAST_PHS); GameCombat.T_RadiusDamage(self, self.activator, self.dmg, null, self.dmg + 40, Defines.MOD_EXPLOSIVE); save = self.delay; self.delay = 0; GameUtil.G_UseTargets(self, self.activator); self.delay = save; return(true); }
public static void Multi_trigger(edict_t ent) { if (ent.nextthink != 0) { return; } GameUtil.G_UseTargets(ent, ent.activator); if (ent.wait > 0) { ent.think = multi_wait; ent.nextthink = GameBase.level.time + ent.wait; } else { ent.touch = null; ent.nextthink = GameBase.level.time + Defines.FRAMETIME; ent.think = GameUtil.G_FreeEdictA; } }
public static void Monster_death_use(edict_t self) { self.flags &= ~(Defines.FL_FLY | Defines.FL_SWIM); self.monsterinfo.aiflags &= Defines.AI_GOOD_GUY; if (self.item != null) { GameItems.Drop_Item(self, self.item); self.item = null; } if (self.deathtarget != null) { self.target = self.deathtarget; } if (self.target == null) { return; } GameUtil.G_UseTargets(self, self.enemy); }
public override void Use(edict_t self, edict_t other, edict_t activator) { int index; if (self.item == null) { return; } if (activator.client == null) { return; } index = GameItems.ITEM_INDEX(self.item); if (activator.client.pers.inventory[index] == 0) { if (GameBase.level.time < self.touch_debounce_time) { return; } self.touch_debounce_time = GameBase.level.time + 5F; GameBase.gi.Centerprintf(activator, "You need the " + self.item.pickup_name); GameBase.gi.Sound(activator, Defines.CHAN_AUTO, GameBase.gi.Soundindex("misc/keytry.wav"), 1, Defines.ATTN_NORM, 0); return; } GameBase.gi.Sound(activator, Defines.CHAN_AUTO, GameBase.gi.Soundindex("misc/keyuse.wav"), 1, Defines.ATTN_NORM, 0); if (GameBase.coop.value != 0) { int player; edict_t ent; if (Lib.Strcmp(self.item.classname, "key_power_cube") == 0) { int cube; for (cube = 0; cube < 8; cube++) { if ((activator.client.pers.power_cubes & (1 << cube)) != 0) { break; } } for (player = 1; player <= GameBase.game.maxclients; player++) { ent = GameBase.g_edicts[player]; if (!ent.inuse) { continue; } if (null == ent.client) { continue; } if ((ent.client.pers.power_cubes & (1 << cube)) != 0) { ent.client.pers.inventory[index]--; ent.client.pers.power_cubes &= ~(1 << cube); } } } else { for (player = 1; player <= GameBase.game.maxclients; player++) { ent = GameBase.g_edicts[player]; if (!ent.inuse) { continue; } if (ent.client == null) { continue; } ent.client.pers.inventory[index] = 0; } } } else { activator.client.pers.inventory[index]--; } GameUtil.G_UseTargets(self, activator); self.use = null; }
public override void Use(edict_t self, edict_t other, edict_t activator) { GameUtil.G_UseTargets(self, activator); }