Fixes elder atmosian's statue showing up as abstract (#93751)

## About The Pull Request
The statue abused abstract types to prevent itself from being carved,
duh.
Also changed the wording to not call generic material-specific statues
abstract

Closes #93747

## Changelog
🆑
fix: Fixed elder atmosian's statue showing up as abstract
/🆑
This commit is contained in:
SmArtKar
2025-11-03 22:36:24 +01:00
committed by GitHub
parent f22a017fa0
commit ecc71f1360
+11 -7
View File
@@ -20,6 +20,8 @@
var/impressiveness = 15
/// Art component subtype added to this statue
var/art_type = /datum/element/art
/// Set to true to prevent it from being carved out of a block
var/uncarveable = FALSE
/obj/structure/statue/Initialize(mapload)
. = ..()
@@ -280,7 +282,7 @@
custom_materials = list(/datum/material/metalhydrogen = SHEET_MATERIAL_AMOUNT*10)
max_integrity = 1000
impressiveness = 100
abstract_type = /obj/structure/statue/elder_atmosian //This one is uncarvable
uncarveable = TRUE
///////////Goliath//////////////////////////////////////////////////
/obj/structure/statue/goliath
@@ -347,6 +349,7 @@ Moving interrupts
/obj/item/chisel/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers)
if(sculpting)
return ITEM_INTERACT_BLOCKING
if(istype(interacting_with, /obj/structure/carving_block))
var/obj/structure/carving_block/sculpt_block = interacting_with
@@ -443,15 +446,16 @@ Moving interrupts
for(var/statue_path in prepared_block.get_possible_statues())
var/obj/structure/statue/abstract_statue = statue_path
choices[statue_path] = image(icon = initial(abstract_statue.icon), icon_state = initial(abstract_statue.icon_state))
if(!choices.len)
user.balloon_alert(user, "no abstract statues for material!")
user.balloon_alert(user, "no statues for material!")
var/choice = show_radial_menu(user, prepared_block, choices, require_near = TRUE)
if(choice)
prepared_block.current_preset_type = choice
var/image/chosen_looks = choices[choice]
prepared_block.current_target = chosen_looks.appearance
user.balloon_alert(user, "abstract statue selected")
user.balloon_alert(user, "statue selected")
/obj/structure/carving_block
name = "block"
@@ -572,11 +576,11 @@ Moving interrupts
/obj/structure/carving_block/proc/build_statue_cost_table()
. = list()
for(var/statue_type in subtypesof(/obj/structure/statue) - /obj/structure/statue/custom)
var/obj/structure/statue/S = new statue_type()
if(!S.icon_state || S.abstract_type == S.type || !S.custom_materials)
var/obj/structure/statue/fake_statue = new statue_type()
if(!fake_statue.icon_state || fake_statue.abstract_type == fake_statue.type || fake_statue.uncarveable || !fake_statue.custom_materials)
continue
.[S.type] = S.custom_materials
qdel(S)
.[fake_statue.type] = fake_statue.custom_materials
qdel(fake_statue)
/obj/structure/statue/custom
name = "custom statue"