// Function from file: zombie.dm public override bool death(bool?gibbed = null, bool?toast = null) { Mob_Living_SimpleAnimal_Hostile_Zombie_Holder D = null; base.death(gibbed, toast); if (Lang13.Bool(this.stored_corpse)) { this.stored_corpse.loc = this.loc; if (Lang13.Bool(this.ckey)) { this.stored_corpse.ckey = this.ckey; this.stored_corpse.WriteMsg("<span class='userdanger'>You're down, but not quite out. You'll be back on your feet within a minute or two.</span>"); D = new Mob_Living_SimpleAnimal_Hostile_Zombie_Holder(this.stored_corpse); D.faction = this.faction; } GlobalFuncs.qdel(this); return(false); } this.WriteMsg("<span class='userdanger'>You're down, but not quite out. You'll be back on your feet within a minute or two.</span>"); Task13.Schedule(Rand13.Int(800, 1200), (Task13.Closure)(() => { if (this != null) { this.visible_message("<span class='danger'>" + this + " staggers to their feet!</span>"); this.revive(); } return; })); return(false); }
// Function from file: zombie.dm public override bool AttackingTarget( ) { dynamic L = null; dynamic H = null; Mob_Living_SimpleAnimal_Hostile_Zombie_Holder Z = null; base.AttackingTarget(); if (this.target is Mob_Living) { L = this.target; if (L is Mob_Living_Carbon_Human && Lang13.Bool(L.stat)) { H = L; foreach (dynamic _a in Lang13.Enumerate(H, typeof(Mob_Living_SimpleAnimal_Hostile_Zombie_Holder))) { Z = _a; this.WriteMsg("<span class='userdanger'>They'll be getting up on their own, just give them a minute!</span>"); Z.faction = this.faction; H.faction = this.faction; return(false); } this.Zombify(H); } else if (Lang13.Bool(L.stat)) { ((Mob)L).gib(); this.visible_message("<span class='danger'>" + this + " tears " + L + " to pieces!</span>"); this.WriteMsg("<span class='userdanger'>You feast on " + L + ", restoring your health!</span>"); this.revive(); } } return(false); }
// Function from file: zombie.dm public void Zombify(dynamic H = null) { dynamic helmet = null; dynamic mask = null; Mob_Living_SimpleAnimal_Hostile_Zombie Z = null; Mob_Dead_Observer ghost = null; Mob_Living_SimpleAnimal_Hostile_Zombie_Holder D = null; ((Mob)H).set_species(typeof(Species_Zombie)); if (Lang13.Bool(H.head)) { helmet = H.head; if (!((Mob)H).unEquip(helmet)) { GlobalFuncs.qdel(helmet); } } if (Lang13.Bool(H.wear_mask)) { mask = H.wear_mask; if (!((Mob)H).unEquip(mask)) { GlobalFuncs.qdel(mask); } } Z = new Mob_Living_SimpleAnimal_Hostile_Zombie(H.loc); Z.faction = this.faction; Z.appearance = H.appearance; Z.transform = Num13.Matrix(); Z.pixel_y = 0; foreach (dynamic _a in Lang13.Enumerate(GlobalVars.player_list, typeof(Mob_Dead_Observer))) { ghost = _a; if (H.real_name == ghost.real_name) { ghost.reenter_corpse(); break; } } Z.ckey = H.ckey; H.stat = 2; H.butcher_results = new ByTable().Set(typeof(Obj_Item_Weapon_ReagentContainers_Food_Snacks_Meat_Slab_Human_Mutant_Zombie), 3); H.loc = Z; Z.stored_corpse = H; foreach (dynamic _b in Lang13.Enumerate(H, typeof(Mob_Living_SimpleAnimal_Hostile_Zombie_Holder))) { D = _b; GlobalFuncs.qdel(D); } this.visible_message("<span class='danger'>" + Z + " staggers to their feet!</span>"); Z.WriteMsg("<span class='userdanger'>You are now a zombie! Follow your creators lead!</span>"); return; }