[READY FOR REVIEW] I killed bubblegum on hard mode and all I got was this stupid medal. Adds hard mode to megafauna. (#22016)

* hard mode stuff

* further progress

* more progress

* pausing work to fix bug

* lets pr this mess

* more progress saving as vacation soon

* sleep_check_qdel

* saving work

* medals into deconflicting

* icons

* Fix compilings, medals

* Apply suggestions from code review

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* yes

* Apply suggestions from code review

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* earliest of the returns

* icons

* Apply suggestions from code review

Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>

* Update code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm

Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>

* ah lateload, my beloved and hated with no debug points

* todoops

* requested changes

* move medals / move comment

* guh

---------

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
This commit is contained in:
Qwertytoforty
2023-10-09 21:45:41 +01:00
committed by GitHub
co-authored by Henri215 Contrabang
parent 793fd34b6b
commit 64456806a5
43 changed files with 2077 additions and 1215 deletions
+12
View File
@@ -107,6 +107,18 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/awaystart) //Without this away mission
/obj/effect/landmark/spawner/rev
name = "revenantspawn"
icon_state = "Rev"
/obj/effect/landmark/spawner/bubblegum_arena
name = "bubblegum_arena_human"
icon_state = "Explorer"
/obj/effect/landmark/spawner/bubblegum
name = "bubblegum_arena_bubblegum"
icon_state = "bubblegumjumpscare"
/obj/effect/landmark/spawner/bubblegum_exit
name = "bubblegum_arena_exit"
icon_state = "bubblegumjumpscare"
/obj/effect/landmark/spawner/syndie
name = "Syndicate-Spawn"
@@ -61,7 +61,7 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems)
/// How many times this is disabled by EMPs
var/disable_timer = 0
/// Areas in which this radio cannot send messages
var/static/list/blacklisted_areas = list(/area/adminconstruction, /area/tdome)
var/static/list/blacklisted_areas = list(/area/adminconstruction, /area/tdome, /area/ruin/space/bubblegum_arena)
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
@@ -976,6 +976,16 @@
new /obj/item/stock_parts/matter_bin(src)
new /obj/item/screwdriver(src)
/obj/item/storage/box/hardmode_box
name = "box of HRD-MDE project box"
desc = "Contains everything needed to get yourself killed for a medal."
/obj/item/storage/box/hardmode_box/populate_contents()
for(var/I in 1 to 7)
new /obj/item/grenade/megafauna_hardmode(src)
new /obj/item/storage/lockbox/medal/hardmode_box(src)
new /obj/item/paper/hardmode(src)
#undef NODESIGN
#undef NANOTRASEN
#undef SYNDI
@@ -111,6 +111,37 @@
new /obj/item/clothing/accessory/medal/silver/valor(src)
new /obj/item/clothing/accessory/medal/heart(src)
/obj/item/storage/lockbox/medal/hardmode_box
name = "\improper HRD-MDE program medal box"
desc = "A locked box used to store medals of pride. Use a fauna research disk on the box to transmit the data and print a medal."
req_access = list(ACCESS_MINING) //No grubby assistant hands on my hard earned medals
can_hold = list(/obj/item/clothing/accessory, /obj/item/coin) //Whoops almost gave miners boxes that could store 12 legion cores. Scoped to accessory if they want to store neclaces or hope or something in there. Or a coin collection.
var/list/completed_fauna = list()
var/number_of_megafauna = 7 //Increase this if new megafauna are added.
/obj/item/storage/lockbox/medal/hardmode_box/Initialize(mapload)
. = ..()
number_of_megafauna = length(subtypesof(/obj/item/disk/fauna_research))
/obj/item/storage/lockbox/medal/hardmode_box/populate_contents()
return
/obj/item/storage/lockbox/medal/hardmode_box/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/disk/fauna_research))
var/obj/item/disk/fauna_research/disky = W
var/obj/item/pride = new disky.output(get_turf(src))
to_chat(user, "<span class='notice'>[src] accepts [disky], and prints out [pride]!</span>")
qdel(disky)
if(!is_type_in_list(pride, completed_fauna))
completed_fauna += pride.type
if(length(completed_fauna) == number_of_megafauna)
to_chat(user, "<span class='notice'>[src] prints out a very fancy medal!</span>")
var/obj/item/accomplishment = new /obj/item/clothing/accessory/medal/gold/heroism/hardmode_full(get_turf(src))
user.put_in_hands(accomplishment)
user.put_in_hands(pride)
return
return ..()
/obj/item/storage/lockbox/t4
name = "lockbox (T4)"
desc = "Contains three T4 breaching charges."