mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-05 23:21:53 +00:00
[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:
79
code/modules/mining/equipment/hardmode_grenade.dm
Normal file
79
code/modules/mining/equipment/hardmode_grenade.dm
Normal file
@@ -0,0 +1,79 @@
|
||||
/obj/item/grenade/megafauna_hardmode
|
||||
name = "\improper HRD-MDE Scanning Grenade"
|
||||
desc = "An advanced grenade that releases nanomachines, which enter nearby megafauna. This will enrage them greatly, but allows nanotrasen to fully research their abilities."
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
icon_state = "enrager"
|
||||
item_state = "grenade"
|
||||
|
||||
/obj/item/grenade/megafauna_hardmode/prime()
|
||||
update_mob()
|
||||
playsound(loc, 'sound/effects/empulse.ogg', 50, TRUE)
|
||||
for(var/mob/living/simple_animal/hostile/megafauna/M in range(7, src))
|
||||
M.enrage()
|
||||
visible_message("<span class='userdanger'>[M] begins to wake up as the nanomachines enter them, it looks pissed!</span>")
|
||||
qdel(src)
|
||||
|
||||
/obj/item/paper/hardmode
|
||||
name = "HRD-MDE Scanner Guide"
|
||||
icon_state = "paper"
|
||||
info = {"<b>Welcome to the NT HRD-MDE Project</b><br>
|
||||
<br>
|
||||
This guide will cover the basics on the Hi-tech Research and Development, Mining Department Experiment project.<br>
|
||||
<br>
|
||||
These grenades when used, will disperse a cloud of nanomachines into nearbye fauna, allowing a detailed examination of their body structure when alive. We will use this data to develope new products to sell, and we need your help!<br>
|
||||
<br>
|
||||
We need to see these fauna working at their full potential with the nanomachines in them, so you will have to fight them. As a warning, these nanomachines have been known to irratate and annoy animals in testing, as well injecting a cocktail of drugs into them to get their organs outputting at maximum potential.<br>
|
||||
<br>
|
||||
We operate on a limited budget, but we do provide payment for participating in this project: 0.1% of profits from any products made from this research, and medals showing off your pride for NT and promoting their research.
|
||||
<br><hr>
|
||||
<font size =\"1\"><i>By participating in this experiment you waive all rights for compensation of death on the job.</font></i>
|
||||
"}
|
||||
|
||||
|
||||
/obj/item/disk/fauna_research
|
||||
name = "empty HRD-MDE project disk"
|
||||
desc = "A disk used by the HRD-MDE project. Seems empty?"
|
||||
icon_state = "holodisk"
|
||||
var/obj/item/clothing/accessory/medal/output
|
||||
|
||||
/obj/item/disk/fauna_research/Initialize(mapload)
|
||||
. = ..()
|
||||
for(var/obj/structure/closet/C in get_turf(src))
|
||||
forceMove(C)
|
||||
return
|
||||
|
||||
/obj/item/disk/fauna_research/blood_drunk_miner
|
||||
name = "blood drunk HRD-MDE project disk"
|
||||
desc = "A disk used by the HRD-MDE project. Contains data on the dash and resistance of the blood drunk miner."
|
||||
output = /obj/item/clothing/accessory/medal/blood_drunk
|
||||
|
||||
/obj/item/disk/fauna_research/hierophant
|
||||
name = "\improper Hierophant HRD-MDE project disk"
|
||||
desc = "A disk used by the HRD-MDE project. Contains data on the energy manipulation and material composition of the Hierophant."
|
||||
output = /obj/item/clothing/accessory/medal/plasma/hierophant
|
||||
|
||||
/obj/item/disk/fauna_research/ash_drake
|
||||
name = "ash drake HRD-MDE project disk"
|
||||
desc = "A disk used by the HRD-MDE project. Contains data on the fire production methods and rapid regeneration of the ash drakes."
|
||||
output = /obj/item/clothing/accessory/medal/plasma/ash_drake
|
||||
|
||||
/obj/item/disk/fauna_research/vetus
|
||||
name = "\improper Vetus Speculator HRD-MDE project disk"
|
||||
desc = "A disk used by the HRD-MDE project. Contains data on the anomaly manipulation and computing processes of the Vetus Speculator."
|
||||
output = /obj/item/clothing/accessory/medal/alloy/vetus
|
||||
|
||||
/obj/item/disk/fauna_research/colossus
|
||||
name = "colossus HRD-MDE project disk"
|
||||
desc = "A disk used by the HRD-MDE project. Contains data on the powerful voice and A-T field of the colossi."
|
||||
output = /obj/item/clothing/accessory/medal/silver/colossus
|
||||
|
||||
/obj/item/disk/fauna_research/legion
|
||||
name = "\improper Legion HRD-MDE project disk"
|
||||
desc = "A disk used by the HRD-MDE project. Contains data on the endless regeneration and disintegration laser of the Legion."
|
||||
output = /obj/item/clothing/accessory/medal/silver/legion
|
||||
|
||||
/obj/item/disk/fauna_research/bubblegum
|
||||
name = "\improper Bubblegum HRD-MDE project disk"
|
||||
desc = "A disk used by the HRD-MDE project. Contains data on the bloodcrawling and \[REDACTED\] of Bubblegum." //I hate this so much
|
||||
output = /obj/item/clothing/accessory/medal/gold/bubblegum
|
||||
|
||||
@@ -13,6 +13,76 @@
|
||||
. = ..()
|
||||
new /obj/item/crusher_trophy/demon_claws(src)
|
||||
|
||||
/obj/structure/closet/crate/necropolis/bubblegum/bait/populate_contents()
|
||||
return
|
||||
|
||||
/obj/structure/closet/crate/necropolis/bubblegum/bait/open(by_hand)
|
||||
. = ..()
|
||||
for(var/obj/effect/bubblegum_trigger/B in contents)
|
||||
B.targets_to_fuck_up += usr
|
||||
B.activate()
|
||||
|
||||
/obj/effect/bubblegum_trigger
|
||||
var/list/targets_to_fuck_up = list()
|
||||
|
||||
/obj/effect/bubblegum_trigger/Initialize(mapload, target_list)
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, PROC_REF(activate)), 15 SECONDS) //We try to auto engage the fun 15 seconds after death, or when manually opened, whichever comes first. If for some strange reason the target list is empty, we'll trigger when opened
|
||||
targets_to_fuck_up = target_list
|
||||
|
||||
/obj/effect/bubblegum_trigger/proc/activate()
|
||||
if(!length(targets_to_fuck_up))
|
||||
return
|
||||
var/spawn_locs = list()
|
||||
for(var/obj/effect/landmark/spawner/bubblegum_arena/R in GLOB.landmarks_list)
|
||||
spawn_locs += get_turf(R)
|
||||
for(var/mob/living/M in targets_to_fuck_up)
|
||||
var/turf/T = get_turf(M)
|
||||
M.Immobilize(1 SECONDS)
|
||||
to_chat(M, "<span class='colossus'><b>NO! I REFUSE TO LET YOU THINK YOU HAVE WON. I SHALL END YOUR INSIGNIFICANT LIFE!</b></span>")
|
||||
new /obj/effect/temp_visual/bubblegum_hands/leftpaw(T)
|
||||
new /obj/effect/temp_visual/bubblegum_hands/leftthumb(T)
|
||||
sleep(8)
|
||||
playsound(T, 'sound/misc/enter_blood.ogg', 100, TRUE, -1)
|
||||
var/turf/target_turf = pick(spawn_locs)
|
||||
M.forceMove(target_turf)
|
||||
playsound(target_turf, 'sound/misc/exit_blood.ogg', 100, TRUE, -1)
|
||||
for(var/obj/effect/landmark/spawner/bubblegum/B in GLOB.landmarks_list)
|
||||
new /mob/living/simple_animal/hostile/megafauna/bubblegum/round_2(get_turf(B))
|
||||
|
||||
|
||||
/obj/effect/bubblegum_exit/Initialize(mapload, target_list)
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, PROC_REF(activate)), 10 SECONDS)
|
||||
|
||||
/obj/effect/bubblegum_exit/proc/activate()
|
||||
var/spawn_exit = list()
|
||||
for(var/obj/effect/landmark/spawner/bubblegum_exit/E in GLOB.landmarks_list)
|
||||
for(var/turf/T in range(4, E))
|
||||
if(T.density)
|
||||
continue
|
||||
spawn_exit += get_turf(T)
|
||||
var/area/probably_bubblearena = get_area(src)
|
||||
for(var/mob/living/M in probably_bubblearena)
|
||||
var/turf/T = get_turf(M)
|
||||
M.Immobilize(1 SECONDS)
|
||||
to_chat(M, "<span class='colossus'><b>Now... get out of my home.</b></span>")
|
||||
new /obj/effect/temp_visual/bubblegum_hands/leftpaw(T)
|
||||
new /obj/effect/temp_visual/bubblegum_hands/leftthumb(T)
|
||||
sleep(8)
|
||||
playsound(T, 'sound/misc/enter_blood.ogg', 100, TRUE, -1)
|
||||
var/turf/target_turf = pick(spawn_exit)
|
||||
M.forceMove(target_turf)
|
||||
playsound(target_turf, 'sound/misc/exit_blood.ogg', 100, TRUE, -1)
|
||||
for(var/obj/O in probably_bubblearena) //Mobs are out, lets get items / limbs / brains. Lets also exclude blood..
|
||||
if(iseffect(O))
|
||||
continue
|
||||
if(istype(O, /obj/structure/stone_tile)) //Taking the tiles from the arena is funny, but a bit stupid
|
||||
continue
|
||||
var/turf/target_turf = pick(spawn_exit)
|
||||
O.forceMove(target_turf)
|
||||
|
||||
|
||||
// Mayhem
|
||||
|
||||
/obj/item/mayhem
|
||||
|
||||
@@ -91,6 +91,7 @@
|
||||
EQUIPMENT("Soap", /obj/item/soap/nanotrasen, 200),
|
||||
EQUIPMENT("Space Cash", /obj/item/stack/spacecash/c200, 2000),
|
||||
EQUIPMENT("Whiskey", /obj/item/reagent_containers/food/drinks/bottle/whiskey, 100),
|
||||
EQUIPMENT("HRD-MDE Project Box", /obj/item/storage/box/hardmode_box, 5000) //I want miners have to pay a lot to get this, but be set once they do.
|
||||
)
|
||||
prize_list["Extra"] = list() // Used in child vendors
|
||||
|
||||
|
||||
Reference in New Issue
Block a user