mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
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:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user