/* Code for the Wild West map by Brotemis * Contains: * Wish Granter * Meat Grinder */ /* * Wish Granter */ /obj/machinery/wish_granter_dark name = "Wish Granter" desc = "You're not so sure about this, anymore..." icon = 'icons/obj/device.dmi' icon_state = "syndbeacon" anchored = TRUE density = TRUE use_power = NO_POWER_USE var/chargesa = 1 var/insistinga = 0 /obj/machinery/wish_granter_dark/attack_hand(mob/living/carbon/human/user) usr.set_machine(src) if(chargesa <= 0) to_chat(user, "The Wish Granter lies silent.") return else if(!ishuman(user)) to_chat(user, "You feel a dark stirring inside of the Wish Granter, something you want nothing of. Your instincts are better than any man's.") return else if(is_special_character(user)) to_chat(user, "Even to a heart as dark as yours, you know nothing good will come of this. Something instinctual makes you pull away.") else if (!insistinga) to_chat(user, "Your first touch makes the Wish Granter stir, listening to you. Are you really sure you want to do this?") insistinga++ else chargesa-- insistinga = 0 var/wish = input("You want...","Wish") as null|anything in list("Power","Wealth","Immortality","To Kill","Peace") switch(wish) if("Power") to_chat(user, "Your wish is granted, but at a terrible cost...") to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.") user.dna.add_mutation(LASEREYES) user.dna.add_mutation(COLDRES) user.dna.add_mutation(XRAY) user.set_species(/datum/species/shadow) if("Wealth") to_chat(user, "Your wish is granted, but at a terrible cost...") to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.") new /obj/structure/closet/syndicate/resources/everything(loc) user.set_species(/datum/species/shadow) if("Immortality") to_chat(user, "Your wish is granted, but at a terrible cost...") to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.") user.verbs += /mob/living/carbon/proc/immortality user.set_species(/datum/species/shadow) if("To Kill") to_chat(user, "Your wish is granted, but at a terrible cost...") to_chat(user, "The Wish Granter punishes you for your wickedness, claiming your soul and warping your body to match the darkness in your heart.") SSticker.mode.traitors += user.mind user.mind.special_role = "traitor" var/datum/objective/hijack/hijack = new hijack.owner = user.mind user.mind.objectives += hijack to_chat(user, "Your inhibitions are swept away, the bonds of loyalty broken, you are free to murder as you please!") user.mind.announce_objectives() user.set_species(/datum/species/shadow) if("Peace") to_chat(user, "Whatever alien sentience that the Wish Granter possesses is satisfied with your wish. There is a distant wailing as the last of the Faithless begin to die, then silence.") to_chat(user, "You feel as if you just narrowly avoided a terrible fate...") for(var/mob/living/simple_animal/hostile/faithless/F in GLOB.mob_list) F.death() ///////////////Meatgrinder////////////// /obj/effect/meatgrinder name = "Meat Grinder" desc = "What is that thing?" density = TRUE anchored = TRUE icon = 'icons/mob/blob.dmi' icon_state = "blobpod" var/triggered = 0 /obj/effect/meatgrinder/Crossed(atom/movable/AM) CollidedWith(AM) /obj/effect/meatgrinder/CollidedWith(atom/movable/AM) if(triggered) return if(!ishuman(AM)) return var/mob/living/carbon/human/M = AM if(M.stat != DEAD && M.ckey) visible_message("[M] triggered the [src]!") triggered = 1 var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread s.set_up(3, 1, src) s.start() explosion(M, 1, 0, 0, 0) qdel(src) /////For the Wishgranter/////////// /mob/living/carbon/proc/immortality() //Mob proc so people cant just clone themselves to get rid of the shadowperson race. No hiding your wickedness. set category = "Immortality" set name = "Resurrection" var/mob/living/carbon/C = usr if(!C.stat) to_chat(C, "You're not dead yet!") return if(C.has_status_effect(STATUS_EFFECT_WISH_GRANTERS_GIFT)) to_chat(C, "You're already resurrecting!") return C.apply_status_effect(STATUS_EFFECT_WISH_GRANTERS_GIFT) return 1