/obj/machinery/wish_granter name = "wish granter" desc = "You're not so sure about this, anymore..." icon = 'icons/obj/device.dmi' icon_state = "syndbeacon" use_power = NO_POWER_USE density = TRUE var/charges = 1 var/insisting = 0 /obj/machinery/wish_granter/on_attack_hand(mob/living/carbon/user) if(charges <= 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 (!insisting) to_chat(user, "Your first touch makes the Wish Granter stir, listening to you. Are you really sure you want to do this?") insisting++ else if(is_special_character(user)) to_chat(user, "You speak. [pick("I want power","Humanity is corrupt, mankind must be destroyed", "I want to rule the world","I want immortality")]. The Wish Granter answers.") to_chat(user, "Your head pounds for a moment, before your vision clears. The Wish Granter, sensing the darkness in your heart, has given you limitless power, and it's all yours!") user.dna.add_mutation(HULK) user.dna.add_mutation(XRAY) user.dna.add_mutation(SPACEMUT) user.dna.add_mutation(TK) user.action_cooldown_mod *= 0.5 to_chat(user, "Things around you feel slower!") charges-- insisting = FALSE to_chat(user, "You have a very great feeling about this!") else to_chat(user, "The Wish Granter awaits your wish.") var/wish = input("You want...","Wish") as null|anything in list("Power","Wealth","The Station To Disappear","To Kill","Nothing") switch(wish) if("Power") //Gives infinite power in exchange for infinite power going off in your face! if(charges <= 0) return to_chat(user, "Your wish is granted, but at a terrible cost...") to_chat(user, "The Wish Granter punishes you for your selfishness, warping itself into a delaminating supermatter shard!") var/obj/item/stock_parts/cell/infinite/powah = new /obj/item/stock_parts/cell/infinite(get_turf(user)) if(user.put_in_hands(powah)) to_chat(user, "[powah] materializes into your hands!") else to_chat(user, "[powah] materializes onto the floor.") var/obj/machinery/power/supermatter_crystal/powerwish = new /obj/machinery/power/supermatter_crystal(loc) powerwish.damage = 700 //right at the emergency threshold powerwish.produces_gas = FALSE charges-- insisting = FALSE if(!charges) qdel(src) if("Wealth") //Gives 1 million space bucks in exchange for being turned into gold! if(charges <= 0) return to_chat(user, "Your wish is granted, but at a cost...") to_chat(user, "The Wish Granter punishes you for your selfishness, warping your body to match the greed in your heart.") new /obj/structure/closet/crate/trashcart/moneywish(loc) new /obj/structure/closet/crate/trashcart/moneywish(loc) user.set_species(/datum/species/golem/gold) charges-- insisting = FALSE if(!charges) qdel(src) if("The Station To Disappear") //teleports you to the station and makes you blind, making the station disappear for you! if(charges <= 0) return 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 eyes to match the darkness in your heart.") user.dna.add_mutation(BLINDMUT) var/obj/item/organ/eyes/eyes = user.getorganslot(ORGAN_SLOT_EYES) if(eyes) eyes.applyOrganDamage(eyes.maxHealth) var/list/destinations = list() for(var/obj/item/beacon/B in GLOB.teleportbeacons) var/turf/T = get_turf(B) if(is_station_level(T.z)) destinations += B var/chosen_beacon = pick(destinations) var/obj/effect/portal/jaunt_tunnel/J = new (get_turf(src), 100, null, FALSE, get_turf(chosen_beacon)) try_move_adjacent(J) playsound(src,'sound/effects/sparks4.ogg',50,1) charges-- insisting = FALSE if(!charges) qdel(src) if("To Kill") //Makes you kill things in exchange for rewards! if(charges <= 0) return to_chat(user, "Your wish is granted, but at a terrible cost...") to_chat(user, "The Wish Granter punishes you for your wickedness, warping itself into a dastardly creature for you to kill! ...but it almost seems to reward you for this.") var/obj/item/melee/transforming/energy/sword/cx/killreward = new /obj/item/melee/transforming/energy/sword/cx(get_turf(user)) if(user.put_in_hands(killreward)) to_chat(user, "[killreward] materializes into your hands!") else to_chat(user, "[killreward] materializes onto the floor.") user.action_cooldown_mod *= 0.8 to_chat(user, "Things around you feel slightly slower!") var/mob/living/simple_animal/hostile/venus_human_trap/killwish = new /mob/living/simple_animal/hostile/venus_human_trap(loc) killwish.maxHealth = 1500 killwish.health = killwish.maxHealth killwish.vine_grab_distance = 6 killwish.melee_damage_upper = 30 killwish.loot = list(/obj/item/dualsaber/hypereutactic) charges-- insisting = FALSE if(!charges) qdel(src) if("Nothing") //Makes the wish granter disappear if(charges <= 0) return to_chat(user, "The Wish Granter vanishes from sight!") to_chat(user, "You feel as if you just narrowly avoided a terrible fate...") charges-- insisting = FALSE qdel(src) //ITEMS THAT IT USES /obj/structure/closet/crate/trashcart/moneywish desc = "A heavy, metal trashcart with wheels. Filled with cash." name = "loaded trash cart" /obj/structure/closet/crate/trashcart/moneywish/PopulateContents() //25*20*1000=500,000 for(var/i in 1 to 25) var/obj/item/stack/spacecash/c1000/lodsamoney = new /obj/item/stack/spacecash/c1000(src) lodsamoney.amount = lodsamoney.max_amount