mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-28 14:37:04 +01:00
Purging the wishgranter (#22976)
* Everything except the map * Deletes the ruin * Makes CI not fail * I pray this fixes it
This commit is contained in:
@@ -20,14 +20,6 @@
|
||||
description = "WELCOME TO CLOWN PLANET! HONK HONK HONK etc.!"
|
||||
suffix = "lavaland_biodome_clown_planet.dmm"
|
||||
|
||||
/datum/map_template/ruin/lavaland/cube
|
||||
name = "The Wishgranter Cube"
|
||||
id = "wishgranter-cube"
|
||||
description = "Nothing good can come from this. Learn from their mistakes and turn around."
|
||||
suffix = "lavaland_surface_cube.dmm"
|
||||
cost = 10
|
||||
allow_duplicates = FALSE
|
||||
|
||||
/datum/map_template/ruin/lavaland/seed_vault
|
||||
name = "Seed Vault"
|
||||
id = "seed-vault"
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
/obj/machinery/wish_granter
|
||||
name = "wish granter"
|
||||
desc = "You're not so sure about this, anymore..."
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "syndbeacon"
|
||||
|
||||
power_state = NO_POWER_USE
|
||||
anchored = TRUE
|
||||
density = TRUE
|
||||
|
||||
var/charges = 1
|
||||
var/insisting = FALSE
|
||||
|
||||
/obj/machinery/wish_granter/attack_hand(mob/living/carbon/user)
|
||||
. = ..()
|
||||
|
||||
if(.)
|
||||
return ..()
|
||||
|
||||
if(charges <= 0)
|
||||
to_chat(user, "<span class='warning'>The Wish Granter lies silent.</span>")
|
||||
return TRUE
|
||||
|
||||
else if(!ishuman(user))
|
||||
to_chat(user, "<span class='warning'>You feel a dark stirring inside of the Wish Granter, something you want nothing of. Your instincts are better than any man's..</span>")
|
||||
return
|
||||
|
||||
else if(is_special_character(user))
|
||||
to_chat(user, "<span class='warning'>Even to a heart as dark as yours, you know nothing good will come of this. Something instinctual makes you pull away.</span>")
|
||||
|
||||
else if(!insisting)
|
||||
to_chat(user, "<span class='warning'>Your first touch makes the Wish Granter stir, listening to you. Are you really sure you want to do this?</span>")
|
||||
insisting = TRUE
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You speak. [pick("I want the station to disappear", "Humanity is corrupt, mankind must be destroyed", "I want to be rich", "I want to rule the world", "I want immortality.")]. The Wish Granter answers.</span>")
|
||||
to_chat(user, "<span class='notice'>Your head pounds for a moment, before your vision clears. You are the avatar of the Wish Granter, and your power is LIMITLESS! And it's all yours. You need to make sure no one can take it from you. No one can know, first.</span>")
|
||||
|
||||
charges--
|
||||
insisting = FALSE
|
||||
|
||||
user.mind.add_antag_datum(/datum/antagonist/wishgranter)
|
||||
|
||||
to_chat(user, "You have a very bad feeling about this.")
|
||||
|
||||
/obj/machinery/wish_granter/super
|
||||
name = "super wish granter"
|
||||
var/list/types = list()
|
||||
|
||||
/obj/machinery/wish_granter/super/attack_hand(mob/living/carbon/user)
|
||||
. = ..()
|
||||
|
||||
if(.)
|
||||
return ..()
|
||||
|
||||
if(!ishuman(user))
|
||||
to_chat(user, "<span class='warning'>You feel a dark stirring inside of the Wish Granter, something you want nothing of. Your instincts are better than any man's.</warning>")
|
||||
return TRUE
|
||||
|
||||
if(is_special_character(user) || jobban_isbanned(user, ROLE_TRAITOR) || jobban_isbanned(user, ROLE_SYNDICATE))
|
||||
to_chat(user, "<span class='warning'>Something instinctual makes you pull away.</span>")
|
||||
return TRUE
|
||||
|
||||
to_chat(user, "<span class='notice'>Your touch makes the Wish Granter stir. Are you really sure you want to do this?</span>")
|
||||
|
||||
for(var/supname in GLOB.all_superheroes)
|
||||
types += supname
|
||||
|
||||
var/wish
|
||||
if(types.len == 1)
|
||||
wish = pick(types)
|
||||
else
|
||||
wish = input("You want to become...", "Wish") as null|anything in types
|
||||
|
||||
if(!wish || user.stat == DEAD || (get_dist(src, user) > 4)) // Another check after the input to check if someone already used it, closed it, or if they're dead, or if they ran off.
|
||||
return
|
||||
|
||||
var/datum/superheroes/S = GLOB.all_superheroes[wish]
|
||||
if(S.activated)
|
||||
to_chat(user,"<span class='warning'>There can only be one! Pick something else!</span>")
|
||||
return
|
||||
|
||||
S.create(user)
|
||||
S.activated = TRUE //sets this superhero as taken so we don't have duplicates
|
||||
|
||||
playsound(src.loc, 'sound/effects/bamf.ogg', 50, 1)
|
||||
visible_message("<span class='notice'>The wishgranter fades into mist..</span>")
|
||||
add_attack_logs(user, user, "Became [GLOB.all_superheroes[wish]]")
|
||||
notify_ghosts("[GLOB.all_superheroes[wish]] has appeared in [get_area(user)].", source = user)
|
||||
qdel(src)
|
||||
@@ -1,64 +0,0 @@
|
||||
/datum/antagonist/wishgranter
|
||||
name = "Wishgranter Avatar"
|
||||
special_role = "Avatar of the Wish Granter"
|
||||
|
||||
/datum/antagonist/wishgranter/give_objectives()
|
||||
add_antag_objective(/datum/objective/hijack)
|
||||
|
||||
/datum/antagonist/wishgranter/greet()
|
||||
. = ..()
|
||||
. += "<span class='notice'>Your inhibitions are swept away, the bonds of loyalty broken, you are free to murder as you please!</span>"
|
||||
|
||||
/datum/antagonist/wishgranter/apply_innate_effects(mob/living/mob_override)
|
||||
var/mob/living/carbon/human/H = ..()
|
||||
if(!istype(H))
|
||||
return
|
||||
H.ignore_gene_stability = TRUE
|
||||
H.dna.SetSEState(GLOB.hulkblock, TRUE)
|
||||
singlemutcheck(H, GLOB.hulkblock, MUTCHK_FORCED)
|
||||
|
||||
H.dna.SetSEState(GLOB.fireblock, TRUE)
|
||||
singlemutcheck(H, GLOB.fireblock, MUTCHK_FORCED)
|
||||
|
||||
H.dna.SetSEState(GLOB.coldblock, TRUE)
|
||||
singlemutcheck(H, GLOB.coldblock, MUTCHK_FORCED)
|
||||
|
||||
H.dna.SetSEState(GLOB.teleblock, TRUE)
|
||||
singlemutcheck(H, GLOB.teleblock, MUTCHK_FORCED)
|
||||
|
||||
H.dna.SetSEState(GLOB.breathlessblock, TRUE)
|
||||
singlemutcheck(H, GLOB.breathlessblock, MUTCHK_FORCED)
|
||||
|
||||
H.dna.SetSEState(GLOB.regenerateblock, TRUE)
|
||||
singlemutcheck(H, GLOB.regenerateblock, MUTCHK_FORCED)
|
||||
|
||||
H.dna.SetSEState(GLOB.shockimmunityblock, TRUE)
|
||||
singlemutcheck(H, GLOB.shockimmunityblock, MUTCHK_FORCED)
|
||||
|
||||
H.dna.SetSEState(GLOB.smallsizeblock, TRUE)
|
||||
singlemutcheck(H, GLOB.smallsizeblock, MUTCHK_FORCED)
|
||||
|
||||
H.dna.SetSEState(GLOB.soberblock, TRUE)
|
||||
singlemutcheck(H, GLOB.soberblock, MUTCHK_FORCED)
|
||||
|
||||
H.dna.SetSEState(GLOB.psyresistblock, TRUE)
|
||||
singlemutcheck(H, GLOB.psyresistblock, MUTCHK_FORCED)
|
||||
|
||||
H.dna.SetSEState(GLOB.shadowblock, TRUE)
|
||||
singlemutcheck(H, GLOB.shadowblock, MUTCHK_FORCED)
|
||||
|
||||
H.dna.SetSEState(GLOB.cryoblock, TRUE)
|
||||
singlemutcheck(H, GLOB.cryoblock, MUTCHK_FORCED)
|
||||
|
||||
H.dna.SetSEState(GLOB.eatblock, TRUE)
|
||||
singlemutcheck(H, GLOB.eatblock, MUTCHK_FORCED)
|
||||
|
||||
H.dna.SetSEState(GLOB.jumpblock, TRUE)
|
||||
singlemutcheck(H, GLOB.jumpblock, MUTCHK_FORCED)
|
||||
|
||||
H.dna.SetSEState(GLOB.immolateblock, TRUE)
|
||||
singlemutcheck(H, GLOB.immolateblock, MUTCHK_FORCED)
|
||||
|
||||
ADD_TRAIT(H, TRAIT_LASEREYES, "wishgranter")
|
||||
H.update_mutations()
|
||||
H.update_body()
|
||||
@@ -8,7 +8,6 @@
|
||||
var/desc
|
||||
var/class
|
||||
var/list/default_spells = list()
|
||||
var/activated = FALSE //for wishgranters to not give an option if someone already has it.
|
||||
|
||||
/datum/superheroes/proc/create(mob/living/carbon/human/H)
|
||||
assign_mutations(H)
|
||||
|
||||
Reference in New Issue
Block a user