public void smite( ) { bool has_smitten = false; Mob_Living L = null; if (!this.ability_cost(40, false, true)) { return; } if (!(Map13.FetchInRange(this.god_nexus, 7) != null)) { this.WriteMsg("You lack the strength to smite this far from your nexus."); return; } has_smitten = false; foreach (dynamic _a in Lang13.Enumerate(GlobalFuncs.get_turf(this), typeof(Mob_Living))) { L = _a; L.adjustFireLoss(20); L.adjustBruteLoss(20); L.WriteMsg("<span class='danger'><B>You feel the wrath of " + this.name + "!<B></span>"); has_smitten = true; } if (has_smitten) { this.add_faith(-40); } return; }
// Function from file: armor.dm public override bool hit_reaction(Mob_Living_Carbon owner = null, string attack_text = null, int?final_block_chance = null, dynamic damage = null, int?attack_type = null) { Mob_Living M = null; if (!this.active) { return(false); } if (Rand13.PercentChance(this.hit_reaction_chance)) { owner.visible_message("<span class='danger'>The " + this + " blocks the " + attack_text + ", sending out arcs of lightning!</span>"); foreach (dynamic _a in Lang13.Enumerate(Map13.FetchInView(owner, 6), typeof(Mob_Living))) { M = _a; if (M == owner) { continue; } owner.Beam(M, "lightning" + Rand13.Int(1, 12), "icons/effects/effects.dmi", 5); M.adjustFireLoss(25); GlobalFuncs.playsound(M, "sound/machines/defib_zap.ogg", 50, 1, -1); } return(true); } return(false); }
// Function from file: weather_types.dm public override void storm_act(Mob_Living L = null) { Mob_Living H = null; double thermal_protection = 0; if (L is Mob_Living_Carbon_Human) { H = L; thermal_protection = ((Mob_Living_Carbon_Human)H).get_thermal_protection(); if (thermal_protection >= 35000) { return; } } L.adjustFireLoss(4); return; }
// Function from file: weather_types.dm public override void storm_act(Mob_Living L = null) { dynamic F = null; Obj_Structure O = null; F = GlobalFuncs.get_turf(L); foreach (dynamic _a in Lang13.Enumerate(F.contents, typeof(Obj_Structure))) { O = _a; if ((O.level ?? 0) > Convert.ToDouble(F.level) && !(O is Obj_Structure_Window)) { return; } } L.adjustFireLoss(3); return; }
// Function from file: statue.dm public override int?process(dynamic seconds = null) { Mob_Living M = null; this.timer--; foreach (dynamic _a in Lang13.Enumerate(this, typeof(Mob_Living))) { M = _a; M.setToxLoss(this.intialTox); M.adjustFireLoss(this.intialFire - M.getFireLoss()); M.adjustBruteLoss(this.intialBrute - M.getBruteLoss()); M.setOxyLoss(this.intialOxy); } if (this.timer <= 0) { this.dump_contents(); GlobalVars.SSobj.processing.Remove(this); GlobalFuncs.qdel(this); } return(null); }
// Function from file: inflict_handler.dm public override bool cast(dynamic targets = null, dynamic thearea = null, dynamic user = null) { thearea = thearea ?? Task13.User; Mob_Living target = null; Mob_Living C_target = null; dynamic B = null; foreach (dynamic _b in Lang13.Enumerate(targets, typeof(Mob_Living))) { target = _b; GlobalFuncs.playsound(target, this.sound, 50, 1); switch ((string)(this.destroys)) { case "gib": target.gib(); break; case "gib_brain": if (target is Mob_Living_Carbon_Human || target is Mob_Living_Carbon_Monkey) { C_target = target; B = C_target.getorgan(typeof(Obj_Item_Organ_Internal_Brain)); if (Lang13.Bool(B)) { B.loc = GlobalFuncs.get_turf(C_target); B.transfer_identity(C_target); ((dynamic)C_target).internal_organs -= B; } } target.gib(); break; case "disintegrate": target.dust(); break; } if (!(target != null)) { continue; } target.adjustBruteLoss(this.amt_dam_brute); target.adjustFireLoss(this.amt_dam_fire); target.adjustToxLoss(this.amt_dam_tox); target.adjustOxyLoss(this.amt_dam_oxy); target.Weaken(this.amt_weakened); target.Paralyse(this.amt_paralysis); target.Stun(this.amt_stunned); target.blind_eyes(this.amt_eye_blind); target.blur_eyes(this.amt_eye_blurry); if (Lang13.Bool(this.summon_type)) { Lang13.Call(this.summon_type, target.loc, target); } } return(false); }