From 604ae740db97b667999662c6e678bc1cd9b66272 Mon Sep 17 00:00:00 2001 From: Archie Date: Tue, 8 Jun 2021 18:39:11 -0300 Subject: [PATCH] Crystal Asteroid event --- code/datums/components/chasm.dm | 3 +- .../dynamic/dynamic_rulesets_events.dm | 16 ++ .../modules/events/crystalline_reentry.dm | 152 ++++++++++++++++++ icons/obj/meteor.dmi | Bin 11786 -> 14142 bytes tgstation.dme | 3 +- 5 files changed, 172 insertions(+), 2 deletions(-) create mode 100644 hyperstation/code/modules/events/crystalline_reentry.dm diff --git a/code/datums/components/chasm.dm b/code/datums/components/chasm.dm index 1dcd5836..40934bd7 100644 --- a/code/datums/components/chasm.dm +++ b/code/datums/components/chasm.dm @@ -21,7 +21,8 @@ /obj/effect/collapse, /obj/effect/particle_effect/ion_trails, /obj/effect/dummy/phased_mob, - /obj/effect/immovablerod + /obj/effect/immovablerod, + /obj/effect/crystalline_reentry )) /datum/component/chasm/Initialize(turf/target) diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm index f71c853a..df980539 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm @@ -612,6 +612,22 @@ var/atom/special_target map_blacklist = list("LayeniaStation.dmm") +/datum/dynamic_ruleset/event/crystalline_reentry + name = "Crystalline Asteroid" + controller = /datum/round_event_control/crystalline_reentry + typepath = /datum/round_event/crystalline_reentry + enemy_roles = list("Research Director","Chief Engineer","Station Engineer","Captain","Chaplain","AI") + required_enemies = list(2,2,2,2,2,2,1,1,1,0) + requirements = list(101,101,20,18,16,14,12,10,8,6) + high_population_requirement = 15 + cost = 0 + occurances_max = 2 + weight = 3 + repeatable_weight_decrease = 2 + chaos_min = 1.5 + var/atom/special_target + map_whitelist = list("LayeniaStation.dmm") + /* /datum/dynamic_ruleset/event/immovable_rod/execute() //I do not know why this is necessary var/datum/round_event_control/E = locate(/datum/round_event_control/immovable_rod) in SSevents.control diff --git a/hyperstation/code/modules/events/crystalline_reentry.dm b/hyperstation/code/modules/events/crystalline_reentry.dm new file mode 100644 index 00000000..07ad6629 --- /dev/null +++ b/hyperstation/code/modules/events/crystalline_reentry.dm @@ -0,0 +1,152 @@ +/datum/round_event_control/crystalline_reentry + name = "Crystalline Asteroid" + typepath = /datum/round_event/crystalline_reentry + min_players = 15 + max_occurrences = 5 + var/atom/special_target + + +/datum/round_event_control/crystalline_reentry/admin_setup() + if(!check_rights(R_FUN)) + return + + var/aimed = alert("Aimed at current location?","Snipe", "Yes", "No") + if(aimed == "Yes") + special_target = get_turf(usr) + +/datum/round_event/crystalline_reentry + announceWhen = 5 + +/datum/round_event/crystalline_reentry/announce(fake) + priority_announce("A crystalline asteroid has suffered a violent atmospheric entry. Brace for possible impact.", "General Alert") + +/datum/round_event/crystalline_reentry/start() + var/datum/round_event_control/crystalline_reentry/C = control + var/startside = pick(GLOB.cardinals) + var/z = pick(SSmapping.levels_by_trait(ZTRAIT_STATION)) + var/turf/startT = spaceDebrisStartLoc(startside, z) + var/turf/endT = spaceDebrisFinishLoc(startside, z) + new /obj/effect/crystalline_reentry(startT, endT, C.special_target) + +/obj/effect/crystalline_reentry + name = "dense ice asteroid" + desc = "Oh shit." + icon = 'icons/obj/meteor.dmi' + icon_state = "ice" + throwforce = 100 + move_force = INFINITY + move_resist = INFINITY + pull_force = INFINITY + density = TRUE + anchored = TRUE + flags_1 = PREVENT_CONTENTS_EXPLOSION_1 + var/asteroidhealth = 150 + var/z_original = 0 + var/destination + var/notify = TRUE + var/atom/special_target + var/dropamt = 3 + var/droptype = list(/obj/item/stack/ore/bluespace_crystal) + +/obj/effect/crystalline_reentry/New(atom/start, atom/end, aimed_at) + ..() + SSaugury.register_doom(src, 2000) + z_original = z + destination = end + special_target = aimed_at + asteroidhealth = rand(120,240) + if(notify) + notify_ghosts("\A [src] is inbound!", + enter_link="(Click to orbit)", + source=src, action=NOTIFY_ORBIT) + GLOB.poi_list += src + + var/special_target_valid = FALSE + if(special_target) + var/turf/T = get_turf(special_target) + if(T.z == z_original) + special_target_valid = TRUE + if(special_target_valid) + walk_towards(src, special_target, 1) + else if(end && end.z==z_original) + walk_towards(src, destination, 1) + +/obj/effect/crystalline_reentry/Topic(href, href_list) + if(href_list["orbit"]) + var/mob/dead/observer/ghost = usr + if(istype(ghost)) + ghost.ManualFollow(src) + +/obj/effect/crystalline_reentry/Destroy() + GLOB.poi_list -= src + . = ..() + +/obj/effect/crystalline_reentry/Moved() + if((z != z_original) || (loc == destination)) + qdel(src) + if(special_target && loc == get_turf(special_target)) + complete_trajectory() + return ..() + +/obj/effect/crystalline_reentry/proc/complete_trajectory() + //We hit what we wanted to hit, time to go + special_target = null + destination = get_edge_target_turf(src, dir) + walk(src,0) + walk_towards(src, destination, 1) + +/obj/effect/crystalline_reentry/ex_act(severity, target) + return 0 + +/obj/effect/crystalline_reentry/singularity_act() + return + +/obj/effect/crystalline_reentry/singularity_pull() + return + +/obj/effect/crystalline_reentry/Bump(atom/clong) + asteroidhealth = asteroidhealth - rand(7,14) + if(prob(10)) + playsound(src, 'sound/effects/bang.ogg', 50, 1) + audible_message("You hear a BONK!") + + if(clong && prob(25)) + x = clong.x + y = clong.y + + if(special_target && clong == special_target) + complete_trajectory() + + if(isturf(clong) || isobj(clong)) + if(clong.density) + clong.ex_act(EXPLODE_HEAVY) + + else if(isliving(clong)) + penetrate(clong) + else if(istype(clong, type)) + var/obj/effect/crystalline_reentry/other = clong + visible_message("[src] collides with [other]!\ + ") + var/datum/effect_system/smoke_spread/smoke = new + smoke.set_up(2, get_turf(src)) + smoke.start() + qdel(src) + qdel(other) + if(asteroidhealth <= 0) + atmos_spawn_air("water_vapor=1000;TEMP=0") //brr + make_debris() + explosion(src.loc, 1, 2, 3, 3, 1, 0, 3, 0, 0) + qdel(src) + else + atmos_spawn_air("water_vapor=100;TEMP=0") //brr + +/obj/effect/crystalline_reentry/proc/penetrate(mob/living/L) + L.visible_message("[L] is smashed by an crystalline asteroid!" , "The crystalline asteroid smashes you!" , "You hear a BONK!") + if(ishuman(L)) + var/mob/living/carbon/human/H = L + H.adjustBruteLoss(160) + +/obj/effect/crystalline_reentry/proc/make_debris() + for(var/throws = dropamt, throws > 0, throws--) + var/thing_to_spawn = pick(droptype) + new thing_to_spawn(get_turf(src)) diff --git a/icons/obj/meteor.dmi b/icons/obj/meteor.dmi index 84faabcc18817abe79524e1abecb573f5a915db6..7100c40ee6e426b1c118625123cfb2dbeb0a1871 100644 GIT binary patch literal 14142 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 Wi776^Nbm=7kdmCbY=yL`|Nj6~WP>9B literal 11786 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 diff --git a/tgstation.dme b/tgstation.dme index d93cc8a3..4e251289 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3043,9 +3043,9 @@ #include "hyperstation\code\__DEFINES\wendigo.dm" #include "hyperstation\code\controllers\subsystem\economy.dm" #include "hyperstation\code\datums\actions.dm" +#include "hyperstation\code\datums\ert_hazard_cleanup.dm" #include "hyperstation\code\datums\components\crafting\bounties.dm" #include "hyperstation\code\datums\components\crafting\recipes.dm" -#include "hyperstation\code\datums\ert_hazard_cleanup.dm" #include "hyperstation\code\datums\elements\holder_micro.dm" #include "hyperstation\code\datums\mood_events\events.dm" #include "hyperstation\code\datums\ruins\lavaland.dm" @@ -3095,6 +3095,7 @@ #include "hyperstation\code\modules\clothing\suits\misc.dm" #include "hyperstation\code\modules\clothing\under\under.dm" #include "hyperstation\code\modules\economy\account.dm" +#include "hyperstation\code\modules\events\crystalline_reentry.dm" #include "hyperstation\code\modules\integrated_electronics\input.dm" #include "hyperstation\code\modules\mining\shelters.dm" #include "hyperstation\code\modules\mining\equipment\survival_pod.dm"