Crashed Vulpkanin Ship - Lavaland Ruin (#32110)

* Charon's Revolver

* Dog tags

* Ash Whelps

* Ash walkers and resist adjustment

* Some providence stuff

* Minor wording adjustment

* Desc change

* Ruin, salvage, and ruin assets

* linters

* Mo linters

* quick

* Various fixes

* Variety of fixes

* Update

* Naming

* FIX
This commit is contained in:
PollardTheDragon
2026-06-24 22:37:10 +00:00
committed by GitHub
parent 9d76cfee8e
commit 4d5b0e1286
28 changed files with 5968 additions and 2 deletions
@@ -285,6 +285,13 @@
description = "A small wooden cabin that was once lived in by a hermit who is now nowhere to be found."
allow_duplicates = FALSE
/datum/map_template/ruin/lavaland/providence_crash
id = "providence crash"
suffix = "lavaland_surface_providence_crash.dmm"
name = "Crash of the Providence"
description = "A wrecked vulpkanin mercenary vessel. There may still be some treasures hidden behind the locked door."
allow_duplicates = FALSE
// MARK: Bridges
/datum/map_template/ruin/lavaland/zlvl_bridge
+44
View File
@@ -1605,3 +1605,47 @@
new /obj/effect/temp_visual/temporal_slash(get_turf(owner), owner)
#undef FINISHER_THRESHOLD
/datum/status_effect/ice_block_talisman
id = "ice_block_talisman"
duration = 4 SECONDS
status_type = STATUS_EFFECT_REPLACE
alert_type = /atom/movable/screen/alert/status_effect/ice_block_talisman
/// Stored icon overlay for the hit mob, removed when effect is removed
var/icon/cube
/datum/status_effect/ice_block_talisman/on_creation(mob/living/new_owner, set_duration)
if(isnum(set_duration))
duration = set_duration
return ..()
/atom/movable/screen/alert/status_effect/ice_block_talisman
name = "Frozen Solid"
desc = "You're frozen inside an ice cube, and cannot move!"
icon_state = "frozen"
/datum/status_effect/ice_block_talisman/on_apply()
RegisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(owner_moved))
if(!owner.stat)
to_chat(owner, SPAN_USERDANGER("You become frozen in a cube!"))
cube = icon('icons/effects/freeze.dmi', "ice_cube")
var/list/icon_dimensions = get_icon_dimensions(owner.icon)
cube.Scale(icon_dimensions["width"], icon_dimensions["height"])
owner.add_overlay(cube)
return ..()
/// Blocks movement from the status effect owner
/datum/status_effect/ice_block_talisman/proc/owner_moved()
SIGNAL_HANDLER
return COMPONENT_MOVABLE_BLOCK_PRE_MOVE
/datum/status_effect/ice_block_talisman/be_replaced()
owner.cut_overlay(cube)
UnregisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE)
return ..()
/datum/status_effect/ice_block_talisman/on_remove()
if(!owner.stat)
to_chat(owner, SPAN_NOTICE("The cube melts!"))
owner.cut_overlay(cube)
UnregisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE)