mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-29 07:59:01 +01:00
Refactor round start volume of welding packs and fryers (#23027)
# Summary This PR adjust welding packs and fryers. Welding packs now spawn empty [on the Horizon] to encourage the persistent welding tanks and fryers have their optimal oil level adjusted to balance out oil refills. **Depends on https://github.com/Aurorastation/Aurora.3/pull/23005**. ## Changes - Added new sprite for empty welding packs. (Regular vs new low variant) <img width="835" height="108" alt="image" src="https://github.com/user-attachments/assets/a882bff1-901b-4b0e-8d1d-750ed4e1e83c" /> - Welding packs now spawn empty (only on the Horizon and during map load). - Deep fryer no longer contain 9 full tanks of cooking oil. They contain 100u now and make refills using the [persistent cooking oil tanks](https://github.com/Aurorastation/Aurora.3/pull/23005) much more reasonable. Added a wrench to the kitchen for tank handling.
This commit is contained in:
@@ -15,6 +15,16 @@
|
||||
drop_sound = 'sound/items/drop/backpack.ogg'
|
||||
pickup_sound = 'sound/items/pickup/backpack.ogg'
|
||||
|
||||
/obj/item/reagent_containers/weldpack/Initialize(mapload)
|
||||
var/turf/T = get_turf(src)
|
||||
if(mapload && T && is_station_level(T.z))
|
||||
// If the weldpack is spawned on a station level during map load, don't give it any fuel.
|
||||
// This is in support of persistent welding fuel tanks and only for the persistent levels.
|
||||
reagents_to_add = null
|
||||
create_reagents(volume) // Ensure reagents datum is created, even if empty
|
||||
update_volume()
|
||||
. = ..() // After reagents_to_add is updated
|
||||
|
||||
/obj/item/reagent_containers/weldpack/feedback_hints(mob/user, distance, is_adjacent)
|
||||
. += ..()
|
||||
if(ishuman(loc) && user != loc) // what if we want to sneak some reagents out of somewhere?
|
||||
@@ -27,6 +37,20 @@
|
||||
else
|
||||
. += SPAN_WARNING("\The [src] is empty!")
|
||||
|
||||
/obj/item/reagent_containers/weldpack/proc/update_volume()
|
||||
var/fill_level = reagents.total_volume / volume
|
||||
if(fill_level <= 0.1)
|
||||
icon_state = "welderpack_low"
|
||||
item_state = "welderpack_low"
|
||||
else
|
||||
icon_state = "welderpack"
|
||||
item_state = "welderpack"
|
||||
update_icon()
|
||||
update_worn_icon()
|
||||
|
||||
/obj/item/reagent_containers/weldpack/on_reagent_change()
|
||||
update_volume()
|
||||
|
||||
/obj/item/reagent_containers/weldpack/attackby(obj/item/attacking_item, mob/user)
|
||||
if(attacking_item.tool_behaviour == TOOL_WRENCH)
|
||||
if(atom_flags & ATOM_FLAG_OPEN_CONTAINER)
|
||||
@@ -60,5 +84,6 @@
|
||||
reagents.trans_type_to(attacking_item, /singleton/reagent/fuel, min(fuel_volume, T.reagents.maximum_volume - tool_fuel_volume))
|
||||
to_chat(user, SPAN_NOTICE("Welder refilled!"))
|
||||
playsound(loc, 'sound/effects/refill.ogg', 50, 1, -6)
|
||||
update_volume()
|
||||
return
|
||||
return ..()
|
||||
|
||||
Reference in New Issue
Block a user