// Function from file: organ_internal.dm public virtual void Insert(dynamic M = null, int?special = null) { special = special ?? 0; Obj_Item_Organ_Internal replaced = null; if (!(M is Mob_Living_Carbon) || this.owner == M) { return; } replaced = ((Mob)M).getorganslot(this.slot); if (replaced != null) { replaced.Remove(M, true); } this.owner = M; M.internal_organs.Or(this); this.loc = null; if (Lang13.Bool(this.organ_action_name)) { this.action_button_name = this.organ_action_name; } return; }
// Function from file: augmented_eyesight.dm public override void on_refund(Mob user = null) { Obj_Item_Organ_Internal O = null; O = user.getorganslot("eye_ling"); if (O != null) { O.Remove(user); GlobalFuncs.qdel(O); } return; }
// Function from file: limb augmentation.dm public override bool success(dynamic user = null, Mob target = null, string target_zone = null, dynamic tool = null, Surgery surgery = null) { Mob H = null; Obj_Item_Organ_Internal I = null; if (Lang13.Bool(this.L)) { if (target is Mob_Living_Carbon_Human) { H = target; ((Ent_Static)user).visible_message("" + user + " successfully augments " + target + "'s " + GlobalFuncs.parse_zone(target_zone) + "!", "<span class='notice'>You successfully augment " + target + "'s " + GlobalFuncs.parse_zone(target_zone) + ".</span>"); this.L.loc = GlobalFuncs.get_turf(target); ((dynamic)H).organs -= this.L; switch ((string)(target_zone)) { case "r_leg": ((dynamic)H).organs += new Obj_Item_Organ_Limb_Robot_RLeg(this); break; case "l_leg": ((dynamic)H).organs += new Obj_Item_Organ_Limb_Robot_LLeg(this); break; case "r_arm": ((dynamic)H).organs += new Obj_Item_Organ_Limb_Robot_RArm(this); break; case "l_arm": ((dynamic)H).organs += new Obj_Item_Organ_Limb_Robot_LArm(this); break; case "head": ((dynamic)H).organs += new Obj_Item_Organ_Limb_Robot_Head(this); break; case "chest": foreach (dynamic _a in Lang13.Enumerate(target.getorganszone(target_zone, true), typeof(Obj_Item_Organ_Internal))) { I = _a; if (I.status == 1) { I.Remove(target, true); GlobalFuncs.qdel(I); } } ((dynamic)H).organs += new Obj_Item_Organ_Limb_Robot_Chest(this); break; } user.drop_item(); GlobalFuncs.qdel(tool); ((dynamic)H).update_damage_overlays(0); ((dynamic)H).update_augments(); GlobalFuncs.add_logs(user, target, "augmented", null, "by giving him new " + GlobalFuncs.parse_zone(target_zone) + " INTENT: " + String13.ToUpper(user.a_intent)); } } else { user.WriteMsg("<span class='warning'>" + target + " has no organic " + GlobalFuncs.parse_zone(target_zone) + " there!</span>"); } return(true); }
// Function from file: headcrab.dm public override dynamic sting_action(Mob user = null, Ent_Static target = null) { Mind M = null; ByTable organs = null; Obj_Item_Organ_Internal I = null; Mob_Living_Carbon_Human H = null; Mob_Living_Silicon S = null; dynamic turf = null; Mob_Living_SimpleAnimal_Hostile_Headcrab crab = null; Obj_Item_Organ_Internal I2 = null; M = user.mind; organs = user.getorganszone("head", true); foreach (dynamic _a in Lang13.Enumerate(organs, typeof(Obj_Item_Organ_Internal))) { I = _a; I.Remove(user, true); } GlobalFuncs.explosion(GlobalFuncs.get_turf(user), 0, 0, 2, 0, null, null, null, true); foreach (dynamic _b in Lang13.Enumerate(Map13.FetchInRange(user, 2), typeof(Mob_Living_Carbon_Human))) { H = _b; H.WriteMsg("<span class='userdanger'>You are blinded by a shower of blood!</span>"); H.Stun(1); H.blur_eyes(20); H.adjust_eye_damage(5); H.confused += 3; } foreach (dynamic _c in Lang13.Enumerate(Map13.FetchInRange(user, 2), typeof(Mob_Living_Silicon))) { S = _c; S.WriteMsg("<span class='userdanger'>Your sensors are disabled by a shower of blood!</span>"); S.Weaken(3); } turf = GlobalFuncs.get_turf(user); Task13.Schedule(5, (Task13.Closure)(() => { crab = new Mob_Living_SimpleAnimal_Hostile_Headcrab(turf); foreach (dynamic _d in Lang13.Enumerate(organs, typeof(Obj_Item_Organ_Internal))) { I2 = _d; I2.loc = crab; } crab.origin = M; if (crab.origin != null) { crab.origin.active = true; crab.origin.transfer_to(crab); crab.WriteMsg("<span class='warning'>You burst out of the remains of your former body in a shower of gore!</span>"); } return; })); user.gib(); GlobalFuncs.feedback_add_details("changeling_powers", "LR"); return(1); }