mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
Merge pull request #8274 from dylanstrategie/SCP-Again
More tweaks and fixes to SCP-173. Neuter the crematorium in wait for rewrite
This commit is contained in:
@@ -13,6 +13,7 @@
|
|||||||
response_disarm = "pushes the"
|
response_disarm = "pushes the"
|
||||||
response_harm = "hits the"
|
response_harm = "hits the"
|
||||||
meat_type = null
|
meat_type = null
|
||||||
|
see_in_dark = 8 //Needs to see in darkness to snap in darkness
|
||||||
var/response_snap = "snapped the neck of" //Past tense because it "happened before you could see it"
|
var/response_snap = "snapped the neck of" //Past tense because it "happened before you could see it"
|
||||||
var/response_snap_target = "In the blink of an eye, something grabs you and snaps your neck!"
|
var/response_snap_target = "In the blink of an eye, something grabs you and snaps your neck!"
|
||||||
var/snap_sound = list('sound/scp/firstpersonsnap.ogg','sound/scp/firstpersonsnap2.ogg','sound/scp/firstpersonsnap3.ogg')
|
var/snap_sound = list('sound/scp/firstpersonsnap.ogg','sound/scp/firstpersonsnap2.ogg','sound/scp/firstpersonsnap3.ogg')
|
||||||
@@ -128,6 +129,9 @@
|
|||||||
for(var/obj/structure/table/O in next_turf)
|
for(var/obj/structure/table/O in next_turf)
|
||||||
O.ex_act(1)
|
O.ex_act(1)
|
||||||
sleep(5)
|
sleep(5)
|
||||||
|
for(var/obj/structure/closet/C in next_turf)
|
||||||
|
C.ex_act(1)
|
||||||
|
sleep(5)
|
||||||
for(var/obj/structure/grille/G in next_turf)
|
for(var/obj/structure/grille/G in next_turf)
|
||||||
G.ex_act(1)
|
G.ex_act(1)
|
||||||
sleep(5)
|
sleep(5)
|
||||||
@@ -141,7 +145,7 @@
|
|||||||
sleep(5)
|
sleep(5)
|
||||||
if(!next_turf.CanPass(src, next_turf)) //Once we cleared everything we could, check one last time if we can pass
|
if(!next_turf.CanPass(src, next_turf)) //Once we cleared everything we could, check one last time if we can pass
|
||||||
break
|
break
|
||||||
loc = next_turf
|
forceMove(next_turf)
|
||||||
dir = get_dir(src, target)
|
dir = get_dir(src, target)
|
||||||
next_turf = get_step(src, get_dir(next_turf,target))
|
next_turf = get_step(src, get_dir(next_turf,target))
|
||||||
num_turfs--
|
num_turfs--
|
||||||
@@ -176,6 +180,9 @@
|
|||||||
for(var/obj/structure/table/O in next_turf)
|
for(var/obj/structure/table/O in next_turf)
|
||||||
O.ex_act(1)
|
O.ex_act(1)
|
||||||
sleep(5)
|
sleep(5)
|
||||||
|
for(var/obj/structure/closet/C in next_turf)
|
||||||
|
C.ex_act(1)
|
||||||
|
sleep(5)
|
||||||
for(var/obj/structure/grille/G in next_turf)
|
for(var/obj/structure/grille/G in next_turf)
|
||||||
G.ex_act(1)
|
G.ex_act(1)
|
||||||
sleep(5)
|
sleep(5)
|
||||||
@@ -189,7 +196,7 @@
|
|||||||
sleep(5)
|
sleep(5)
|
||||||
if(!next_turf.CanPass(src, next_turf)) //Once we cleared everything we could, check one last time if we can pass
|
if(!next_turf.CanPass(src, next_turf)) //Once we cleared everything we could, check one last time if we can pass
|
||||||
break
|
break
|
||||||
loc = next_turf
|
forceMove(next_turf)
|
||||||
dir = get_dir(src, target_turf)
|
dir = get_dir(src, target_turf)
|
||||||
next_turf = get_step(src, get_dir(next_turf,target_turf))
|
next_turf = get_step(src, get_dir(next_turf,target_turf))
|
||||||
num_turfs--
|
num_turfs--
|
||||||
@@ -198,8 +205,8 @@
|
|||||||
|
|
||||||
//Do we have a vent ? Good, let's take a look
|
//Do we have a vent ? Good, let's take a look
|
||||||
for(entry_vent in view(1, src))
|
for(entry_vent in view(1, src))
|
||||||
if(prob(50))
|
if(prob(90)) //10 % chance to consider a vent, to try and avoid constant vent switching
|
||||||
return //Ignore that vent for this tick
|
return
|
||||||
visible_message("<span class='danger'>\The [src] starts trying to slide itself into the vent!</span>")
|
visible_message("<span class='danger'>\The [src] starts trying to slide itself into the vent!</span>")
|
||||||
sleep(50) //Let's stop SCP-173 for five seconds to do his parking job
|
sleep(50) //Let's stop SCP-173 for five seconds to do his parking job
|
||||||
..()
|
..()
|
||||||
@@ -219,17 +226,14 @@
|
|||||||
var/travel_time = round(get_dist(loc, exit_vent.loc)/2)
|
var/travel_time = round(get_dist(loc, exit_vent.loc)/2)
|
||||||
spawn(travel_time)
|
spawn(travel_time)
|
||||||
if(!exit_vent || exit_vent.welded)
|
if(!exit_vent || exit_vent.welded)
|
||||||
loc = entry_vent
|
forceMove(get_turf(entry_vent))
|
||||||
entry_vent = null
|
entry_vent = null
|
||||||
visible_message("<span class='danger'>\The [src] suddenly appears from the vent!</span>")
|
visible_message("<span class='danger'>\The [src] suddenly appears from the vent!</span>")
|
||||||
return
|
return
|
||||||
|
|
||||||
loc = exit_vent.loc
|
forceMove(get_turf(exit_vent))
|
||||||
entry_vent = null
|
entry_vent = null
|
||||||
visible_message("<span class='danger'>\The [src] suddenly appears from the vent!</span>")
|
visible_message("<span class='danger'>\The [src] suddenly appears from the vent!</span>")
|
||||||
var/area/new_area = get_area(loc)
|
|
||||||
if(new_area)
|
|
||||||
new_area.Entered(src)
|
|
||||||
else
|
else
|
||||||
entry_vent = null
|
entry_vent = null
|
||||||
|
|
||||||
|
|||||||
@@ -70,6 +70,8 @@
|
|||||||
/obj/structure/morgue/attack_hand(mob/user as mob)
|
/obj/structure/morgue/attack_hand(mob/user as mob)
|
||||||
if (src.connected)
|
if (src.connected)
|
||||||
for(var/atom/movable/A as mob|obj in src.connected.loc)
|
for(var/atom/movable/A as mob|obj in src.connected.loc)
|
||||||
|
if(istype(A, /mob/living/simple_animal/sculpture)) //I have no shame. Until someone rewrites this shitcode extroadinaire, I'll just snowflake over it
|
||||||
|
continue
|
||||||
if (!( A.anchored ))
|
if (!( A.anchored ))
|
||||||
A.loc = src
|
A.loc = src
|
||||||
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
|
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
|
||||||
@@ -170,6 +172,8 @@
|
|||||||
/obj/structure/m_tray/attack_hand(mob/user as mob)
|
/obj/structure/m_tray/attack_hand(mob/user as mob)
|
||||||
if (src.connected)
|
if (src.connected)
|
||||||
for(var/atom/movable/A as mob|obj in src.loc)
|
for(var/atom/movable/A as mob|obj in src.loc)
|
||||||
|
if(istype(A, /mob/living/simple_animal/sculpture)) //I have no shame. Until someone rewrites this shitcode extroadinaire, I'll just snowflake over it
|
||||||
|
continue
|
||||||
if (!( A.anchored ))
|
if (!( A.anchored ))
|
||||||
A.loc = src.connected
|
A.loc = src.connected
|
||||||
//Foreach goto(26)
|
//Foreach goto(26)
|
||||||
@@ -337,7 +341,9 @@
|
|||||||
if (locate(/obj/item/weapon/disk/nuclear) in inside)
|
if (locate(/obj/item/weapon/disk/nuclear) in inside)
|
||||||
to_chat(user, "<SPAN CLASS='warning'>You get the feeling that you shouldn't cremate one of the items in the cremator.</SPAN>")
|
to_chat(user, "<SPAN CLASS='warning'>You get the feeling that you shouldn't cremate one of the items in the cremator.</SPAN>")
|
||||||
return
|
return
|
||||||
|
if(locate(/mob/living/simple_animal/sculpture) in inside)
|
||||||
|
to_chat(user, "<span class='warning'>You try to toggle the crematorium on, but all you hear is scrapping stone.</span>")
|
||||||
|
return
|
||||||
for (var/mob/M in viewers(src))
|
for (var/mob/M in viewers(src))
|
||||||
if(!M.hallucinating())
|
if(!M.hallucinating())
|
||||||
M.show_message("<span class='warning'>You hear a roar as the crematorium activates.</span>", 1)
|
M.show_message("<span class='warning'>You hear a roar as the crematorium activates.</span>", 1)
|
||||||
|
|||||||
Reference in New Issue
Block a user