// Function from file: ghost.dm public override bool start( ) { Mob_Dead_Observer G = null; foreach (dynamic _a in Lang13.Enumerate(GlobalVars.player_list, typeof(Mob_Dead_Observer))) { G = _a; G.invisibility = 0; G.WriteMsg("You suddenly feel extremely obvious..."); } return(false); }
// Function from file: ghost.dm public override bool start( ) { Mob_Dead_Observer G = null; foreach (dynamic _a in Lang13.Enumerate(GlobalVars.player_list, typeof(Mob_Dead_Observer))) { G = _a; G.verbs.Add(typeof(Mob_Dead_Observer).GetMethod("boo")); G.verbs.Add(typeof(Mob_Dead_Observer).GetMethod("possess")); G.WriteMsg("You suddenly feel a welling of new spooky powers..."); } return(false); }
public void jumptomob( ) { ByTable dest = null; dynamic target = null; dynamic M = null; Mob_Dead_Observer A = null; dynamic T = null; if (Task13.User is Mob_Dead_Observer) { dest = new ByTable(); target = null; dest.Add(GlobalFuncs.getpois(true)); target = Interface13.Input("Please, select a player!", "Jump to Mob", null, null, dest, InputType.Null | InputType.Any); if (!Lang13.Bool(target)) { return; } else { M = dest[target]; A = this; T = GlobalFuncs.get_turf(M); if (Lang13.Bool(T) && T is Tile) { A.loc = T; } else { A.WriteMsg("This mob is not located in the game world."); } } } return; }
// Function from file: runes.dm public override void invoke(dynamic user = null) { dynamic T = null; Mob_Dead_Observer G = null; Mob_Dead_Observer G2 = null; if (this.rune_in_use) { user.WriteMsg("<span class='cultitalic'>" + this + " cannot support more than one body!</span>"); this.fail_invoke(); GlobalFuncs.log_game("Astral Communion rune failed - more than one user"); return; } T = GlobalFuncs.get_turf(this); if (T.contents.Contains(!Lang13.Bool(user))) { user.WriteMsg("<span class='cultitalic'>You must be standing on top of " + this + "!</span>"); this.fail_invoke(); GlobalFuncs.log_game("Astral Communion rune failed - user not standing on rune"); return; } this.rune_in_use = true; this.affecting = user; user.color = "#7e1717"; ((Ent_Static)user).visible_message("<span class='warning'>" + user + " freezes statue-still, glowing an unearthly red.</span>", "<span class='cult'>You see what lies beyond. All is revealed. While this is a wondrous experience, your physical form will waste away in this state. Hurry...</span>"); ((Mob)user).ghostize(true); while (Lang13.Bool(user)) { if (!Lang13.Bool(this.affecting)) { this.visible_message("<span class='warning'>" + this + " pulses gently before falling dark.</span>"); this.affecting = null; this.rune_in_use = false; return; } this.affecting.apply_damage(1, "brute"); if (!T.contents.Contains(user)) { ((Ent_Static)user).visible_message("<span class='warning'>A spectral tendril wraps around " + user + " and pulls them back to the rune!</span>"); this.Beam(user, "drainbeam", "icons/effects/effects.dmi", 2); ((Ent_Dynamic)user).forceMove(GlobalFuncs.get_turf(this)); } if (Lang13.Bool(user.key)) { ((Ent_Static)user).visible_message("<span class='warning'>" + user + " slowly relaxes, the glow around them dimming.</span>", "<span class='danger'>You are re-united with your physical form. " + this + " releases its hold over you.</span>"); user.color = Lang13.Initial(user, "color"); ((Mob)user).Weaken(3); this.rune_in_use = false; this.affecting = null; return; } if (Lang13.Bool(user.stat) == true) { if (Rand13.PercentChance(10)) { G = ((Mob)user).get_ghost(); if (G != null) { G.WriteMsg("<span class='cultitalic'>You feel the link between you and your body weakening... you must hurry!</span>"); } } } if (Convert.ToInt32(user.stat) == 2) { user.color = Lang13.Initial(user, "color"); this.rune_in_use = false; this.affecting = null; G2 = ((Mob)user).get_ghost(); if (G2 != null) { G2.WriteMsg("<span class='cultitalic'><b>You suddenly feel your physical form pass on. " + this + "'s exertion has killed you!</b></span>"); } return; } Task13.Sleep(10); } this.rune_in_use = false; return; }