fix paper wrapping crates (#30482)

* fix paper wrapping crates

* define magic number
This commit is contained in:
warriorstar-orion
2025-09-19 12:05:48 -04:00
committed by GitHub
parent 9af452c0ce
commit df0e69332f
5 changed files with 21 additions and 7 deletions
@@ -175,6 +175,10 @@
/obj/structure/ai_core,
/turf/simulated/floor/plasteel,
/area/game_test)
"Pr" = (
/obj/structure/closet/crate/sci,
/turf/simulated/floor/plasteel,
/area/game_test)
"QL" = (
/obj/structure/disposalconstruct,
/turf/simulated/floor/plating,
@@ -399,7 +403,7 @@ le
rT
yd
rT
rT
Pr
rT
rT
Od
+3
View File
@@ -407,6 +407,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
/// Allows faster butchering times
#define TRAIT_BUTCHER "butcher"
/// How much faster pack rats are in wrapping packages as a percentage
#define PACK_RAT_WRAP_SPEEDUP 0.375
// sec traits
/// Gives the user a new tab for being able to open up space law/sop book pages
@@ -316,7 +316,7 @@
emag_act(user)
return ITEM_INTERACT_COMPLETE
else if(istype(W, /obj/item/stack/package_wrap))
return ITEM_INTERACT_COMPLETE
return
else if(user.a_intent != INTENT_HARM)
closed_item_click(user)
return ITEM_INTERACT_COMPLETE
+6 -5
View File
@@ -149,6 +149,7 @@
amount = 25
max_amount = 25
resistance_flags = FLAMMABLE
var/wrap_time = 2 SECONDS
var/static/list/no_wrap = list(/obj/item/small_delivery, /obj/structure/big_delivery, /obj/item/evidencebag, /obj/structure/closet/body_bag)
/obj/item/stack/package_wrap/pre_attack(atom/atom_target, mob/living/user, params)
@@ -233,12 +234,12 @@
to_chat(user, "<span class='warning'>You need more paper.</span>")
return
// Checking these again since it's after a delay
var/wrap_do_after = wrap_time
if(user.mind && HAS_TRAIT(user.mind, TRAIT_PACK_RAT))
if(!do_after_once(user, 0.75 SECONDS, target = C) || C.opened || !use(3))
return
else
if(!do_after_once(user, 2 SECONDS, target = C) || C.opened || !use(3))
return
wrap_do_after *= PACK_RAT_WRAP_SPEEDUP
if(!do_after_once(user, wrap_do_after, target = C) || C.opened || !use(3))
return
var/obj/structure/big_delivery/P = new(get_turf(C))
P.wrapped = C
C.loc = P
@@ -322,3 +322,9 @@
var/obj/water_cooler = teleport_to_first(player, /obj/structure/reagent_dispensers/water_cooler)
player.click_on(water_cooler)
TEST_ASSERT_LAST_CHATLOG(player, "You fill [bucket] with 20 units of the contents of [water_cooler]")
player.drop_held_item()
crate = teleport_to_first(player, /obj/structure/closet/crate/sci)
player.spawn_fast_tool(/obj/item/stack/package_wrap)
player.click_on(crate)
TEST_ASSERT_LAST_CHATLOG(player, "[player.puppet] wraps [crate]")