Files
Aurora.3/code/game/objects/effects/burnt_wall.dm
T
Batrachophreno 374e220be6 Hardsuit interface overhaul (#22403)
**Summary**
Converts hardsuit NanoUI to TGUI and overhauls much of the associated UI
and module code.

The conversion alone is what necessitated quite a bit of cleanup of our
11-year-old hardsuit code, for which I leaned heavily upon tg's
implementation of MODsuits. Therefore, this is a PARTIAL (???) port of
both https://github.com/tgstation/tgstation/pull/59109 and
https://github.com/tgstation/tgstation/pull/77022. While a lot of
wonderful code and UI design was ported 1:1 (for which I am grateful!),
our hardsuits are still NOT MODsuits. Most of our back-end remains the
same.

Fixes https://github.com/Aurorastation/Aurora.3/issues/22071

changes:
  - refactor: "Migrates Hardsuit NanoUI to TGUI."
- refactor: "Updates Hardsuit module type definitions, configuration
data, many misc other functions for the purpose of the UI refactor
(general utility and readability improvements)."
- balance: "Hardsuits now passively consume a small amount of energy
while online, even when retracted."
- balance: "Hardsuit boots can no longer be retracted without also
retracting the chest piece first."
- balance: "Mounted hardsuit storage module max space increased from 9
to 14."
- balance: "Plasma cutter (standalone and mounted) damage increased and
range decreased by 50% each."
- soundadd: "Adds several new sounds for hardsuit use (attribution
located w/ files)."
- code_imp: "Makes power_wattage_readable() a global proc and adds
power_joules_readable()."
  - code_imp: "Lots of misc DMdoc updates."
- bugfix: "Synthetic Charging Stations now charge hardsuit power cells
as intended."

**Old UI**
<img width="804" height="1321" alt="Screenshot 2026-05-04 135705"
src="https://github.com/user-attachments/assets/f01957a0-7cec-4fcc-b862-c9dfde0dcc43"
/>

**New UI**
<img width="998" height="782" alt="Screenshot 2026-05-04 174658"
src="https://github.com/user-attachments/assets/ad402902-d489-435a-9c16-82150ed82618"
/>

### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/mob/rig_modules.dmi (mounted-plasmacutter)|
[Ghostsheet](https://github.com/ghostsheet) | CC-BY-SA |

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2026-05-18 19:21:11 +00:00

46 lines
1.6 KiB
Plaintext

/obj/effect/overlay/burnt_wall
name = "burnt wall"
desc = "A wall that had a hole burnt into it. Nasty."
icon = 'icons/turf/flooring/plating.dmi'
icon_state = "wall_thermite"
var/material/material
var/material/reinf_material
/obj/effect/overlay/burnt_wall/Initialize(mapload, new_name, new_mat, new_reinf_mat)
. = ..()
name = "burnt [new_name]"
material = SSmaterials.get_material_by_name(new_mat)
if(new_reinf_mat)
reinf_material = SSmaterials.get_material_by_name(new_reinf_mat)
color = material.icon_colour
if(material.opacity < 0.5)
alpha = 125
/obj/effect/overlay/burnt_wall/attackby(obj/item/attacking_item, mob/user)
if(attacking_item.tool_behaviour == TOOL_WELDER)
var/obj/item/weldingtool/WT = attacking_item
if(!WT.isOn())
return TRUE
if(WT.use(0,user))
user.visible_message("<b>[user]</b> starts slicing \the [src] apart.", SPAN_NOTICE("You start slicing \the [src] apart."))
playsound(src, 'sound/items/Welder.ogg', 100, 1)
var/slice_time = reinf_material ? 100 : 30
if(WT.use_tool(src, user, slice_time, volume = 50))
user.visible_message("<b>[user]</b> slices \the [src] apart.", SPAN_NOTICE("You slice \the [src] apart."))
material.place_sheet(get_turf(src))
if(reinf_material)
reinf_material.place_sheet(get_turf(src))
qdel(src)
return TRUE
return ..()
/obj/effect/overlay/thermite
name = "blazing heat"
desc = "It's blazing wall of heat!"
icon = 'icons/effects/fire.dmi'
icon_state = "2"
anchored = TRUE
/obj/effect/overlay/burnt_wall/steel/Initialize(mapload)
. = ..(mapload, "wall", MATERIAL_STEEL)