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-12 05:20:18 +10:00
committed by GitHub
parent eb76812cfb
commit 90720f8a67
30 changed files with 339 additions and 116 deletions
+91 -84
View File
@@ -7,90 +7,97 @@
w_class = ITEMSIZE_HUGE
/obj/item/stolenpackage/attack_self(mob/user as mob)
// Another way of doing this. Commented out because the other method is better for this application.
/*var/spawn_chance = rand(1,100)
switch(spawn_chance)
if(0 to 49)
new /obj/random/gun/guarenteed(usr.loc)
to_chat(usr, "You got a thing!")
if(50 to 99)
new /obj/item/weapon/bikehorn/rubberducky(usr.loc)
new /obj/item/weapon/bikehorn(usr.loc)
to_chat(usr, "You got two things!")
if(100)
to_chat(usr, "The box contained nothing!")
return
*/
var/loot = pick(/obj/effect/landmark/costume,
/obj/item/clothing/glasses/thermal,
/obj/item/clothing/gloves/combat,
/obj/item/clothing/head/bearpelt,
/obj/item/clothing/mask/balaclava,
/obj/item/clothing/mask/horsehead,
/obj/item/clothing/mask/muzzle,
/obj/item/clothing/suit/armor/heavy,
/obj/item/clothing/suit/armor/laserproof,
/obj/item/clothing/suit/armor/vest,
/obj/item/device/chameleon,
/obj/item/device/pda/clown,
/obj/item/device/pda/mime,
/obj/item/device/pda/syndicate,
/obj/item/mecha_parts/chassis/phazon,
/obj/item/mecha_parts/part/phazon_head,
/obj/item/mecha_parts/part/phazon_left_arm,
/obj/item/mecha_parts/part/phazon_left_leg,
/obj/item/mecha_parts/part/phazon_right_arm,
/obj/item/mecha_parts/part/phazon_right_leg,
/obj/item/mecha_parts/part/phazon_torso,
/obj/item/weapon/circuitboard/mecha/phazon/targeting,
/obj/item/weapon/circuitboard/mecha/phazon/peripherals,
/obj/item/weapon/circuitboard/mecha/phazon/main,
/obj/item/device/bodysnatcher,
/obj/item/weapon/bluespace_harpoon,
/obj/item/clothing/accessory/permit/gun,
/obj/item/device/perfect_tele,
/obj/item/device/sleevemate,
/obj/item/weapon/disk/nifsoft/compliance,
/obj/item/weapon/implanter/compliance,
/obj/item/seeds/ambrosiadeusseed,
/obj/item/seeds/ambrosiavulgarisseed,
/obj/item/seeds/libertymycelium,
/obj/fiftyspawner/platinum,
/obj/item/toy/nanotrasenballoon,
/obj/item/toy/syndicateballoon,
/obj/item/weapon/aiModule/syndicate,
/obj/item/weapon/book/manual/engineering_hacking,
/obj/item/weapon/card/emag,
/obj/item/weapon/card/emag_broken,
/obj/item/weapon/card/id/syndicate,
/obj/item/poster,
/obj/item/weapon/disposable_teleporter,
/obj/item/weapon/grenade/flashbang/clusterbang,
/obj/item/weapon/grenade/flashbang/clusterbang,
/obj/item/weapon/grenade/spawnergrenade/spesscarp,
/obj/item/weapon/melee/energy/sword,
/obj/item/weapon/melee/telebaton,
/obj/item/weapon/pen/reagent/paralysis,
/obj/item/weapon/pickaxe/diamonddrill,
/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine,
/obj/item/weapon/reagent_containers/food/snacks/carpmeat,
/obj/item/weapon/reagent_containers/food/snacks/clownstears,
/obj/item/weapon/reagent_containers/food/snacks/xenomeat,
/obj/item/weapon/reagent_containers/glass/beaker/neurotoxin,
/obj/item/weapon/rig/combat,
/obj/item/weapon/shield/energy,
/obj/item/weapon/stamp/centcomm,
/obj/item/weapon/stamp/solgov,
/obj/item/weapon/storage/fancy/cigar/havana,
/obj/item/xenos_claw,
/obj/random/contraband,
/obj/random/contraband,
/obj/random/contraband,
/obj/random/contraband,
/obj/random/weapon/guarenteed)
new loot(usr.loc)
to_chat(user, "You unwrap the package.")
qdel(src)
// Another way of doing this. Commented out because the other method is better for this application.
/*var/spawn_chance = rand(1,100)
switch(spawn_chance)
if(0 to 49)
new /obj/random/gun/guarenteed(usr.loc)
to_chat(usr, "You got a thing!")
if(50 to 99)
new /obj/item/weapon/bikehorn/rubberducky(usr.loc)
new /obj/item/weapon/bikehorn(usr.loc)
to_chat(usr, "You got two things!")
if(100)
to_chat(usr, "The box contained nothing!")
return
*/
var/loot = pick(/obj/effect/landmark/costume,
/obj/item/clothing/glasses/thermal,
/obj/item/clothing/gloves/combat,
/obj/item/clothing/head/bearpelt,
/obj/item/clothing/mask/balaclava,
/obj/item/clothing/mask/horsehead,
/obj/item/clothing/mask/muzzle,
/obj/item/clothing/suit/armor/heavy,
/obj/item/clothing/suit/armor/laserproof,
/obj/item/clothing/suit/armor/vest,
/obj/item/device/chameleon,
/obj/item/device/pda/clown,
/obj/item/device/pda/mime,
/obj/item/device/pda/syndicate,
/obj/item/mecha_parts/chassis/phazon,
/obj/item/mecha_parts/part/phazon_head,
/obj/item/mecha_parts/part/phazon_left_arm,
/obj/item/mecha_parts/part/phazon_left_leg,
/obj/item/mecha_parts/part/phazon_right_arm,
/obj/item/mecha_parts/part/phazon_right_leg,
/obj/item/mecha_parts/part/phazon_torso,
/obj/item/weapon/circuitboard/mecha/phazon/targeting,
/obj/item/weapon/circuitboard/mecha/phazon/peripherals,
/obj/item/weapon/circuitboard/mecha/phazon/main,
/obj/item/device/bodysnatcher,
/obj/item/weapon/bluespace_harpoon,
/obj/item/clothing/accessory/permit/gun,
/obj/item/device/perfect_tele,
/obj/item/device/sleevemate,
/obj/item/weapon/disk/nifsoft/compliance,
/obj/item/weapon/implanter/compliance,
/obj/item/seeds/ambrosiadeusseed,
/obj/item/seeds/ambrosiavulgarisseed,
/obj/item/seeds/libertymycelium,
/obj/fiftyspawner/platinum,
/obj/item/toy/nanotrasenballoon,
/obj/item/toy/syndicateballoon,
/obj/item/weapon/aiModule/syndicate,
/obj/item/weapon/book/manual/engineering_hacking,
/obj/item/weapon/card/emag,
/obj/item/weapon/card/emag_broken,
/obj/item/weapon/card/id/syndicate,
/obj/item/poster,
/obj/item/weapon/disposable_teleporter,
/obj/item/weapon/grenade/flashbang/clusterbang,
/obj/item/weapon/grenade/flashbang/clusterbang,
/obj/item/weapon/grenade/spawnergrenade/spesscarp,
/obj/item/weapon/melee/energy/sword,
/obj/item/weapon/melee/telebaton,
/obj/item/weapon/pen/reagent/paralysis,
/obj/item/weapon/pickaxe/diamonddrill,
/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine,
/obj/item/weapon/reagent_containers/food/snacks/carpmeat,
/obj/item/weapon/reagent_containers/food/snacks/clownstears,
/obj/item/weapon/reagent_containers/food/snacks/xenomeat,
/obj/item/weapon/reagent_containers/glass/beaker/neurotoxin,
/obj/item/weapon/rig/combat,
/obj/item/weapon/shield/energy,
/obj/item/weapon/stamp/centcomm,
/obj/item/weapon/stamp/solgov,
/obj/item/weapon/storage/fancy/cigar/havana,
/obj/item/xenos_claw,
/obj/random/contraband,
/obj/random/contraband,
/obj/random/contraband,
/obj/random/contraband,
/obj/random/weapon/guarenteed)
//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
new loot(usr.loc)
to_chat(user, "You unwrap the package.")
qdel(src)
/obj/item/weapon/miscdisc
name = "strange artefact"