// Function from file: theblob.dm public void Pulse_Area(Mob_Camera_Blob pulsing_overmind = null, int?claim_range = null, int?pulse_range = null, int?expand_range = null) { pulsing_overmind = pulsing_overmind ?? this.overmind; claim_range = claim_range ?? 10; pulse_range = pulse_range ?? 3; expand_range = expand_range ?? 2; Obj_Effect_Blob B = null; Obj_Effect_Blob B2 = null; Obj_Effect_Blob B3 = null; this.Be_Pulsed(); if (Lang13.Bool(claim_range)) { foreach (dynamic _a in Lang13.Enumerate(GlobalFuncs.ultra_range(claim_range, this, true), typeof(Obj_Effect_Blob))) { B = _a; if (!(B.overmind != null) && !(B is Obj_Effect_Blob_Core) && Rand13.PercentChance(30)) { B.overmind = pulsing_overmind; B.update_icon(); } } } if (Lang13.Bool(pulse_range)) { foreach (dynamic _b in Lang13.Enumerate(Map13.FetchInRangeExcludeThis(this, pulse_range), typeof(Obj_Effect_Blob))) { B2 = _b; B2.Be_Pulsed(); } } if (Lang13.Bool(expand_range)) { this.expand(); foreach (dynamic _c in Lang13.Enumerate(Map13.FetchInRangeExcludeThis(this, expand_range), typeof(Obj_Effect_Blob))) { B3 = _c; if (Rand13.PercentChance(Num13.MaxInt(13 - Map13.GetDistance(GlobalFuncs.get_turf(this), GlobalFuncs.get_turf(B3)) * 4, 1))) { B3.expand(); } } } 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) { dynamic newB = null; if (Convert.ToDouble(damage) > 0 && original_health - Convert.ToDouble(damage) > 0) { newB = B.expand(); if (Lang13.Bool(newB)) { newB.health = original_health - Convert.ToDouble(damage); ((Obj_Effect_Blob)newB).check_health(cause); newB.update_icon(); } } return(base.damage_reaction(B, original_health, (object)(damage), (object)(damage_type), (object)(cause))); }