Skip to content

Commit

Permalink
24. New ash rune
Browse files Browse the repository at this point in the history
  • Loading branch information
NightDawnFox committed Nov 21, 2024
1 parent d17df2b commit 1cd2372
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,10 @@
},
/turf/simulated/floor/lava,
/area/ruin/unpowered/ash_walkers)
"pL" = (
/obj/effect/decal/ash_rune_centre,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/ruin/unpowered/ash_walkers)
"pX" = (
/obj/structure/stone_tile/block{
dir = 4
Expand Down Expand Up @@ -355,6 +359,13 @@
"sJ" = (
/turf/simulated/wall/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"sW" = (
/obj/structure/stone_tile/surrounding_tile/cracked{
dir = 1
},
/obj/effect/rune_animation_landmark,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/ruin/unpowered/ash_walkers)
"to" = (
/obj/structure/stone_tile/surrounding_tile/burnt{
dir = 8
Expand Down Expand Up @@ -1742,7 +1753,7 @@ ie
Cd
uH
PD
qb
sW
rd
PD
rl
Expand Down Expand Up @@ -1776,7 +1787,7 @@ yv
WX
BR
PD
PD
pL
PD
Lr
kS
Expand Down
62 changes: 62 additions & 0 deletions code/modules/mining/ash_walkers/ash_rune.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
/obj/effect/decal/ash_rune_centre
name = "ash sigil"
desc = "Незаконченная руна, нарисованная на пепле."
icon = 'icons/effects/ash_runes.dmi'
icon_state = "runaash_1"

///Is our rune being transformed right now? Sanity check
var/transforming = FALSE
///Is our rune activated? Another sanity check, love it
var/activated = FALSE

// Our little cheat in order to make first rune activation unforgetable
/obj/effect/rune_animation_landmark
name = "ash rune"
icon = 'icons/effects/ashwalker_rune.dmi'
icon_state = "AshRun"
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
anchored = TRUE
plane = FLOOR_PLANE

/obj/effect/rune_animation_landmark/Initialize(mapload)
. = ..()
icon_state = ""
invisibility = INVISIBILITY_MAXIMUM

/obj/effect/rune_animation_landmark/proc/activate()
invisibility = 0
flick("3", src)
icon_state = "AshRun"
visible_message(span_notice("руна полностью готова к использованию!"))

/obj/effect/decal/ash_rune_centre/Initialize(mapload)
. = ..()
var/number = rand(1, 36)
icon_state = "runaash_[number]"

/obj/effect/decal/ash_rune_centre/attackby(obj/item/I, mob/user, params)
if(!istype(I, /obj/item/melee/touch_attack/healtouch))
return ..()
if(transforming)
return ..()
visible_message(span_notice("[user] прикасается рукой к руне."))
transforming = TRUE
var/obj/effect/rune_animation_landmark/our_landmark = locate() in orange(3, src)
if(!our_landmark)
visible_message(span_warning("но ничего не происходит."))
if(!activated)
our_landmark.activate()
activate_rune()
qdel(I)
return ATTACK_CHAIN_PROCEED

/obj/effect/decal/ash_rune_centre/proc/activate_rune()
if(activated)
return
activated = TRUE
name = "ash rune"
desc = "полностью функционирующая руна, готовая для ритуальных действий."
AddComponent( \
/datum/component/ritual_object, \
/datum/ritual/ashwalker, \
)
Binary file added icons/effects/ash_runes.dmi
Binary file not shown.

0 comments on commit 1cd2372

Please sign in to comment.