// Function from file: flashbang.dm public override void prime( ) { dynamic flashbang_turf = null; Mob_Living M = null; Obj_Effect_Blob B = null; double damage = 0; this.update_mob(); flashbang_turf = GlobalFuncs.get_turf(this); if (!Lang13.Bool(flashbang_turf)) { return; } foreach (dynamic _a in Lang13.Enumerate(GlobalFuncs.get_hearers_in_view(7, flashbang_turf), typeof(Mob_Living))) { M = _a; this.bang(GlobalFuncs.get_turf(M), M); } foreach (dynamic _b in Lang13.Enumerate(GlobalFuncs.get_hear(8, flashbang_turf), typeof(Obj_Effect_Blob))) { B = _b; damage = Num13.Floor(40 / (Map13.GetDistance(B, GlobalFuncs.get_turf(this)) + 1)); B.take_damage(damage, "fire"); } GlobalFuncs.qdel(this); return; }
// Function from file: blob_reagents.dm public override dynamic damage_reaction(Obj_Effect_Blob B = null, double original_health = 0, dynamic damage = null, dynamic damage_type = null, dynamic cause = null) { double damagesplit = 0; Obj_Effect_Blob C = null; Obj_Effect_Blob C2 = null; if (!(cause == null)) { damagesplit = 0.8; foreach (dynamic _a in Lang13.Enumerate(Map13.FetchInRangeExcludeThis(B, 1), typeof(Obj_Effect_Blob))) { C = _a; if (C.overmind != null && C.overmind.blob_reagent_datum == B.overmind.blob_reagent_datum) { damagesplit += 0.8; } } foreach (dynamic _b in Lang13.Enumerate(Map13.FetchInRangeExcludeThis(B, 1), typeof(Obj_Effect_Blob))) { C2 = _b; if (C2.overmind != null && C2.overmind.blob_reagent_datum == B.overmind.blob_reagent_datum && !(C2 is Obj_Effect_Blob_Core)) { C2.take_damage(damage / damagesplit, "clone", B, false); } } return(damage / damagesplit); } else { return(damage * 1.25); } }