From 7b0bab076059a3d1780720a576e7094acee6bf8b Mon Sep 17 00:00:00 2001 From: Archie Date: Tue, 15 Jun 2021 22:12:20 -0300 Subject: [PATCH 1/2] We ain't got no brakes --- hyperstation/code/game/objects/railings.dm | 5 ++- .../modules/events/crystalline_reentry.dm | 40 +++++++++---------- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/hyperstation/code/game/objects/railings.dm b/hyperstation/code/game/objects/railings.dm index 495f28b2..1710fe18 100644 --- a/hyperstation/code/game/objects/railings.dm +++ b/hyperstation/code/game/objects/railings.dm @@ -39,7 +39,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 )) //Gotta make sure certain things can phase through it otherwise the railings also block them. /obj/structure/railing/CanPass(atom/movable/mover, turf/target) @@ -158,4 +159,4 @@ else usr.forceMove(get_turf(src)) - usr.visible_message("[user] climbed over \the [src]!") \ No newline at end of file + usr.visible_message("[user] climbed over \the [src]!") diff --git a/hyperstation/code/modules/events/crystalline_reentry.dm b/hyperstation/code/modules/events/crystalline_reentry.dm index bcdb01c5..8c1ca1e8 100644 --- a/hyperstation/code/modules/events/crystalline_reentry.dm +++ b/hyperstation/code/modules/events/crystalline_reentry.dm @@ -131,11 +131,8 @@ 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) + //We hit what we wanted to hit, time to go boom! + collision_effect() /obj/effect/crystalline_reentry/ex_act(severity, target) return 0 @@ -147,8 +144,9 @@ return /obj/effect/crystalline_reentry/Bump(atom/clong) - asteroidhealth = asteroidhealth - rand(7,14) - + if(!special_target)//If it has a special target, THERE ARE NO BRAKES ON THE ADMINBUS, BABY + asteroidhealth = asteroidhealth - rand(7,14) + if(clong = istype()) if(prob(10)) playsound(src, 'sound/effects/bang.ogg', 50, 1) audible_message("You hear a BONK!") @@ -177,19 +175,6 @@ qdel(other) if(asteroidhealth <= 0) collision_effect() - atmos_spawn_air("water_vapor=1000;TEMP=0") //brr - switch(rand(1,100)) - if(1 to 20) - var/obj/structure/spawner/crystalline/M = new(src.loc) - visible_message("A [M] emerges from the asteroid's rubble!") - if(prob(50) && tendrilnotify) - priority_announce("Unknown organic entities have been detected in the vincinity of [station_name()]. General caution is advised.", "General Alert") - if(21 to 99) - visible_message("The asteroid collapses into nothing...") - if(100) - var/mob/living/simple_animal/bot/hugbot/M = new(src.loc) - visible_message("A [M] emerges from the asteroid's rubble! Wait... What?") - qdel(src) else atmos_spawn_air("water_vapor=75;TEMP=0") //brr @@ -198,6 +183,8 @@ if(ishuman(L)) var/mob/living/carbon/human/H = L H.adjustBruteLoss(160) + if(special_target && loc == get_turf(special_target)) + complete_trajectory() /obj/effect/crystalline_reentry/proc/make_debris() for(var/throws = dropamt, throws > 0, throws--) @@ -218,6 +205,19 @@ var/dist = get_dist(M.loc, src.loc) shake_camera(M, dist > 20 ? 2 : 4, dist > 20 ? 1 : 3) M.playsound_local(src.loc, null, 50, 1, random_frequency, 10, S = meteor_sound) + atmos_spawn_air("water_vapor=1250;TEMP=0") //brr + switch(rand(1,100)) + if(1 to 20) + var/obj/structure/spawner/crystalline/M = new(src.loc) + visible_message("A [M] emerges from the asteroid's rubble!") + if(prob(50) && tendrilnotify) + priority_announce("Unknown organic entities have been detected in the vincinity of [station_name()]. General caution is advised.", "General Alert") + if(21 to 99) + visible_message("The asteroid collapses into nothing...") + if(100) + var/mob/living/simple_animal/bot/hugbot/M = new(src.loc) + visible_message("A [M] emerges from the asteroid's rubble! Wait... What?") + qdel(src) /obj/effect/crystalline_reentry/notendrilalert tendrilnotify = FALSE From 054241175f076e45c96a17d40eda4064c1e8c135 Mon Sep 17 00:00:00 2001 From: Archie Date: Tue, 15 Jun 2021 22:13:43 -0300 Subject: [PATCH 2/2] nope --- hyperstation/code/modules/events/crystalline_reentry.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hyperstation/code/modules/events/crystalline_reentry.dm b/hyperstation/code/modules/events/crystalline_reentry.dm index 8c1ca1e8..5475388c 100644 --- a/hyperstation/code/modules/events/crystalline_reentry.dm +++ b/hyperstation/code/modules/events/crystalline_reentry.dm @@ -146,7 +146,7 @@ /obj/effect/crystalline_reentry/Bump(atom/clong) if(!special_target)//If it has a special target, THERE ARE NO BRAKES ON THE ADMINBUS, BABY asteroidhealth = asteroidhealth - rand(7,14) - if(clong = istype()) + if(prob(10)) playsound(src, 'sound/effects/bang.ogg', 50, 1) audible_message("You hear a BONK!") @@ -183,7 +183,7 @@ if(ishuman(L)) var/mob/living/carbon/human/H = L H.adjustBruteLoss(160) - if(special_target && loc == get_turf(special_target)) + if(special_target && loc == get_turf(special_target)) // just in case. Otherwise the asteroid can stop if it penetrates someone that is standing exactly on that spot and that is bad complete_trajectory() /obj/effect/crystalline_reentry/proc/make_debris()