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:
DGamerL
2023-10-31 18:46:43 +00:00
committed by GitHub
parent ec80db96d2
commit 49afcce327
7 changed files with 0 additions and 1147 deletions
-8
View File
@@ -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"
-90
View File
@@ -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)