mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 15:47:15 +01:00
Makes fire overlay properly mask when using mining sphere MODule (#96578)
## About The Pull Request Currently the overlay doesn't get masked as it is KEEP_APART and you end up with a janky fire blender visual <img width="141" height="129" alt="dreamseeker_NyvaUAPHnw" src="https://github.com/user-attachments/assets/d50a7e57-9236-4c71-a186-6b34b3deb126" /> (Overlay update delay has been fixed after recording) Not cached because its a single mob and the cost of updating said overlay is minimal ## Changelog 🆑 fix: Made fire overlay properly mask when using mining sphere MODule /🆑
This commit is contained in:
@@ -658,6 +658,8 @@
|
||||
mod.wearer.add_movespeed_mod_immunities(REF(src), /datum/movespeed_modifier/damage_slowdown)
|
||||
mod.wearer.add_movespeed_modifier(/datum/movespeed_modifier/sphere)
|
||||
RegisterSignal(mod.wearer, COMSIG_MOB_STATCHANGE, PROC_REF(on_statchange))
|
||||
RegisterSignal(mod.wearer, COMSIG_CARBON_GET_FIRE_OVERLAY, PROC_REF(replace_fire_overlay))
|
||||
mod.wearer.update_appearance(UPDATE_ICON)
|
||||
for(var/obj/item/part as anything in mod.get_parts(all = TRUE))
|
||||
part.set_armor(part.get_armor().add_other_armor(armor_mod))
|
||||
|
||||
@@ -672,10 +674,23 @@
|
||||
mod.wearer.RemoveElement(/datum/element/footstep, FOOTSTEP_OBJ_ROBOT, 1, -6, sound_vary = TRUE)
|
||||
mod.wearer.AddElement(/datum/element/footstep, FOOTSTEP_MOB_HUMAN, 1, -6)
|
||||
mod.wearer.remove_movespeed_modifier(/datum/movespeed_modifier/sphere)
|
||||
UnregisterSignal(mod.wearer, COMSIG_MOB_STATCHANGE)
|
||||
UnregisterSignal(mod.wearer, list(COMSIG_MOB_STATCHANGE, COMSIG_CARBON_GET_FIRE_OVERLAY))
|
||||
mod.wearer.update_appearance(UPDATE_ICON)
|
||||
for(var/obj/item/part as anything in mod.get_parts(all = TRUE))
|
||||
part.set_armor(part.get_armor().subtract_other_armor(armor_mod))
|
||||
|
||||
/obj/item/mod/module/sphere_transform/proc/replace_fire_overlay(datum/source, stacks, on_fire, fire_icon, list/overrides)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
var/mutable_appearance/fire_overlay = mutable_appearance(
|
||||
'icons/mob/effects/onfire.dmi',
|
||||
fire_icon,
|
||||
-HIGHEST_LAYER,
|
||||
appearance_flags = RESET_COLOR|KEEP_APART,
|
||||
)
|
||||
fire_overlay.add_filter("mod_ball", 1, alpha_mask_filter(icon = icon('icons/mob/clothing/modsuit/mod_modules.dmi', "ball_mask"), flags = MASK_INVERSE))
|
||||
overrides += fire_overlay
|
||||
|
||||
/obj/item/mod/module/sphere_transform/used(mob/activator)
|
||||
if(!lavaland_equipment_pressure_check(get_turf(src)))
|
||||
balloon_alert(activator, "too much pressure!")
|
||||
|
||||
Reference in New Issue
Block a user