/obj/artifact/wish_granter
name = "artifact wish granter"
associated_datum = /datum/artifact/wish_granter
/datum/artifact/wish_granter
associated_object = /obj/artifact/wish_granter
rarity_class = 4
validtypes = list("wizard","eldritch")
validtriggers = list(/datum/artifact_trigger/force,/datum/artifact_trigger/electric,/datum/artifact_trigger/heat,
/datum/artifact_trigger/radiation,/datum/artifact_trigger/cold)
activ_text = "begins glowing with an enticing light!"
deact_text = "falls dark and quiet."
react_xray = list(666,666,666,11,"NONE")
var/list/wish_granted = list()
var/evil = 0
New()
..()
if (prob(50))
evil = 1
effect_touch(var/obj/O,var/mob/living/user)
if (..())
return
if (!istype(user,/mob/living/))
return
if (user.key in wish_granted)
boutput(user, "[O] is silent.")
return
boutput(user, "[O] resonates, \"I SHALL GRANT YOU ONE WISH...\"")
var/list/wishes = list("I wish to become rich!","I wish for great power!")
var/wish = input("Make a wish?","[O]") as null|anything in wishes
if (!wish)
boutput(user, "You say nothing.")
boutput(user, "[O] resonates, \"YOU MAY RETURN LATER...\"")
return
wish_granted += user.key
user.say(wish)
sleep(5)
boutput(user, "[O] resonates, \"SO BE IT...\"")
playsound(O, "sound/effects/gong_rumble.ogg", 40, 1)
O.visible_message("[O] begins to charge up...")
sleep(30)
if (prob(2))
evil = !evil
if (evil)
switch(wish)
if("I wish to become rich!")
O.visible_message("[O] envelops [user] in a golden light!")
playsound(user, "sound/weapons/flashbang.ogg", 50, 1)
for(var/mob/N in viewers(user, null))
N.flash(30)
if(N.client)
shake_camera(N, 6, 4)
user.desc = "A statue of someone very wealthy"
user.become_gold_statue()
if("I wish for great power!")
O.visible_message("[O] discharges a massive bolt of electricity!")
playsound(user, "sound/effects/elec_bigzap.ogg", 40, 1)
var/list/affected = DrawLine(O,user,/obj/line_obj/elec,'icons/obj/projectiles.dmi',"WholeLghtn",1,1,"HalfStartLghtn","HalfEndLghtn",OBJ_LAYER,1,PreloadedIcon='icons/effects/LghtLine.dmi')
for(var/obj/OB in affected)
spawn(6)
pool(OB)
user.elecgib()
else
switch(wish)
if("I wish to become rich!")
O.visible_message("A ton of money falls out of thin air! Woah!")
for(var/turf/T in range(user,3))
if (T.density)
continue
new /obj/item/spacecash/million(T)
if("I wish for great power!")
O.visible_message("[O] envelops [user] in a brilliant light!")
if (ishuman(user))
var/mob/living/carbon/human/H = user
if (H.bioHolder)
H.bioHolder.RandomEffect("good")
H.bioHolder.RandomEffect("good")
H.bioHolder.RandomEffect("good")
else if (istype(user,/mob/living/silicon/robot))
var/mob/living/silicon/robot/R = user
if (istype(R.cell))
R.cell.genrate = 100
R.cell.maxcharge = 1000000
R.cell.charge = R.cell.maxcharge