// Function from file: capture_the_flag.dm public override void attack_ghost(Mob user = null) { Client new_team_member = null; Obj_Machinery_CaptureTheFlag CTF = null; Client new_team_member2 = null; if (this.ctf_enabled == GlobalVars.FALSE) { return; } if (GlobalVars.ticker.current_state != 3) { return; } if (this.team_members.Contains(user.ckey)) { if (Lang13.Bool(user.mind.current) && user.mind.current.timeofdeath + this.respawn_cooldown > Game13.time) { user.WriteMsg("It must be more than " + this.respawn_cooldown / 10 + " seconds from your last death to respawn!"); return; } new_team_member = user.client; this.dust_old(user); this.spawn_team_member(new_team_member); return; } foreach (dynamic _a in Lang13.Enumerate(GlobalVars.machines, typeof(Obj_Machinery_CaptureTheFlag))) { CTF = _a; if (CTF == this || CTF.ctf_enabled == GlobalVars.FALSE) { continue; } if (CTF.team_members.Contains(user.ckey)) { user.WriteMsg("No switching teams while the round is going!"); return; } if (CTF.team_members.len < this.team_members.len) { user.WriteMsg("" + this.team + " has more team members than " + CTF.team + ". Try joining " + CTF.team + " to even things up."); return; } } this.team_members.Or(user.ckey); new_team_member2 = user.client; this.dust_old(user); this.spawn_team_member(new_team_member2); return; }
// Function from file: capture_the_flag.dm public void victory( ) { dynamic M = null; dynamic mob_area = null; Obj_Item_Weapon_Twohanded_Required_Ctf W = null; Obj_Machinery_ControlPoint control = null; Obj_Machinery_CaptureTheFlag CTF = null; foreach (dynamic _b in Lang13.Enumerate(GlobalVars.mob_list)) { M = _b; mob_area = GlobalFuncs.get_area(M); if (mob_area is Zone_Ctf) { M.WriteMsg("<span class='narsie'>" + this.team + " team wins!</span>"); M.WriteMsg("<span class='userdanger'>The game has been reset! Teams have been cleared. The machines will be active again in 30 seconds.</span>"); foreach (dynamic _a in Lang13.Enumerate(M, typeof(Obj_Item_Weapon_Twohanded_Required_Ctf))) { W = _a; ((Mob)M).unEquip(W); } ((Mob)M).dust(); } } foreach (dynamic _c in Lang13.Enumerate(GlobalVars.machines, typeof(Obj_Machinery_ControlPoint))) { control = _c; control.icon_state = "dominator"; control.controlling = null; } foreach (dynamic _d in Lang13.Enumerate(GlobalVars.machines, typeof(Obj_Machinery_CaptureTheFlag))) { CTF = _d; if (CTF.ctf_enabled == GlobalVars.TRUE) { CTF.points = 0; CTF.control_points = 0; CTF.ctf_enabled = GlobalVars.FALSE; CTF.team_members = new ByTable(); Task13.Schedule(300, (Task13.Closure)(() => { CTF.ctf_enabled = GlobalVars.TRUE; return; })); } } return; }
// Function from file: capture_the_flag.dm public void instagib_mode( ) { Obj_Machinery_CaptureTheFlag CTF = null; foreach (dynamic _a in Lang13.Enumerate(GlobalVars.machines, typeof(Obj_Machinery_CaptureTheFlag))) { CTF = _a; if (CTF.ctf_enabled == GlobalVars.TRUE) { CTF.ctf_gear = CTF.instagib_gear; CTF.respawn_cooldown = 50; } } return; }
// Function from file: capture_the_flag.dm public void capture(dynamic user = null) { Obj_Machinery_CaptureTheFlag CTF = null; dynamic M = null; dynamic mob_area = null; if (GlobalFuncs.do_after(user, 30, null, this)) { foreach (dynamic _b in Lang13.Enumerate(GlobalVars.machines, typeof(Obj_Machinery_CaptureTheFlag))) { CTF = _b; if (Lang13.Bool(CTF.ctf_enabled) && CTF.team_members.Contains(user.ckey)) { this.controlling = CTF; this.icon_state = "dominator-" + CTF.team; foreach (dynamic _a in Lang13.Enumerate(GlobalVars.player_list)) { M = _a; mob_area = GlobalFuncs.get_area(M); if (mob_area is Zone_Ctf) { M.WriteMsg(new Txt("<span class='userdanger'>").item(user.real_name).str(" has captured ").the(this).item().str(", claiming it for ").item(CTF.team).str("! Go take it back!</span>").ToString()); } } break; } } } return; }