Various fixes (#16176)

-Patches map-spawn random objects inside loot piles
-Adds counter-clockwise rotation to many objects
-Prevents borers from crashing VR
-Tweaks blood drying to not queue dry timers on mapload
-Prevents adding grabs to crates
-Fixes look up verb when outdoors
-Lets vehicles fall through open space
-Lets the cargo tug dangerously use stairs
-Fixes med/sec bot runtimes
-Fixes TECH_MAGNETS incorrect define
-Fixes damage/stumblevore procing every step when riding taurs/borgs while confused
This commit is contained in:
Nadyr
2024-08-11 15:20:18 -04:00
committed by GitHub
parent eb76812cfb
commit 90720f8a67
30 changed files with 339 additions and 116 deletions
@@ -97,6 +97,8 @@
return
if(W.loc != user) // This should stop mounted modules ending up outside the module.
return
if(istype(W, /obj/item/weapon/grab)) //VOREstation edit: we don't want to drop grabs into the crate
return
user.drop_item()
if(W)
W.forceMove(src.loc)
@@ -740,4 +742,4 @@
icon = 'icons/obj/closets/miningcar.dmi'
closet_appearance = null
open_sound = 'sound/effects/wooden_closet_open.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
+20 -1
View File
@@ -126,4 +126,23 @@
return
src.set_dir(turn(src.dir, 270))
return
return
//VOREstation edit: counter-clockwise rotation
/obj/structure/gravemarker/verb/rotate_counterclockwise()
set name = "Rotate Grave Marker Counter-Clockwise"
set category = "Object"
set src in oview(1)
if(anchored)
return
if(!usr || !isturf(usr.loc))
return
if(usr.stat || usr.restrained())
return
if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction))
return
src.set_dir(turn(src.dir, 90))
return
@@ -93,6 +93,14 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
else // Welp.
loot = produce_common_item()
//VOREstation edit - Randomized map objects were put in loot piles, so handle them...
if(istype(loot,/obj/random))
var/obj/random/randy = loot
var/new_I = randy.spawn_item()
qdel(loot)
loot = new_I // swap it
//VOREstation edit end
if(loot)
searched_by |= user.ckey
loot.forceMove(get_turf(src))
@@ -158,6 +158,14 @@
else if(luck <= chance_alpha+chance_beta+chance_gamma)
I = produce_gamma_item()
//VOREstation edit - Randomized map objects were put in loot piles, so handle them...
if(istype(I,/obj/random))
var/obj/random/randy = I
var/new_I = randy.spawn_item()
qdel(I)
I = new_I // swap it
//VOREstation edit end
//We either have an item to hand over or we don't, at this point!
if(I)
searchedby += user.ckey
@@ -290,6 +290,27 @@
update_icon()
return
//VOREstation edit: counter-clockwise rotation
/obj/structure/windoor_assembly/verb/rotate_counterclockwise()
set name = "Rotate Windoor Assembly Counter-Clockwise"
set category = "Object"
set src in oview(1)
if (src.anchored)
to_chat(usr,"It is fastened to the floor; therefore, you can't rotate it!")
return 0
if(src.state != "01")
update_nearby_tiles(need_rebuild=1) //Compel updates before
src.set_dir(turn(src.dir, 90))
if(src.state != "01")
update_nearby_tiles(need_rebuild=1)
update_icon()
return
//VOREstation edit end
//Flips the windoor assembly, determines whather the door opens to the left or the right
/obj/structure/windoor_assembly/verb/flip()
set name = "Flip Windoor Assembly"