mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-16 09:34:21 +01:00
203105788c
* fixes * fuck my stupid chungus life * Minion limit, heal fix, dead sac fix * cooldown, no sacrificing star gazer or ascended alive heretics * blade debuff * oopsy * Update tgui.bundle.js * map diff bot what ya doing * fuck that chat spam * lets heretic armour hold a haunted longsword * why not it makes sense * do_after * god I hate this bullshit * other lewc stuff * push * heretic id card fix * she tg on my ui till I css * yes * spent * fix / ipc buff (real)™️ * moderate again * revert * no reserve * bringing up to master * update map files to master * didnt replace centcomm * beginning some rebalancing * aggressive spread tweaks * lots of tweaks and fixes * trying to un-key the maps * maybe this time * this time???? * oops * sql fix * basicmob conversion * paintings! and a critical influence fix * rust + tweaks * monster tweak * small change * removing this * more tweaks. no more dusting * added some examine_more * flower seeds * various tweaks. more to come * no more conduit spacing * fixed some dumb stuff * silly stuff * its always prettier * bugfixes and linters * linters, wow * oops * bah * linter * fuck you * temp check * hidden influence drain * influence visible message * tweak fix * void cloak bugfix * small fixes * fixes * do_after_once broken * fixes and tweaks * heretic blade potential fix + sacrifice changes * batch of fixes * tiny tweak * rebuilt TGUI * no greentext + rerolls * logging + bugfix * unused var * small fix * various fixes * comment * projectile change * tgui rebuild * tgui bundle redo * rune issue solved * influence visible now * fix ui reloading * new moon ascension + fixes + icons * tweaks, species sprites * tgui rebuild * small tweak + linter * harvester icon tweak * spans * fixes and tweaks * caretaker nerf + tweaks * potential fix for knowledge * roller fix * mad mask * Update tgui.bundle.js * void phase tweak * Update tgui.bundle.js * misc tweaks * fix heretic not retargeting correctly with cryo * simplify logic * this is better * lots of fixes and tweaks * Update tgui.bundle.js * linter * linter * fireshark and greyscale insanity * fish * Update tgui.bundle.js * linter * linter * tgui * no window shopping * fish fix * tgui rebundle * moon smile runtime fix * various fixes * sacrifice fixes * insanity is easier now, madness mask changes. * bugfixing + teleport change * linters + tweaks * Update code/modules/antagonists/heretic/status_effects/mark_effects.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/antagonists/heretic/status_effects/mark_effects.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> --------- Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> Co-authored-by: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com> Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Co-authored-by: Paul <pmerkamp@gmail.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
58 lines
2.3 KiB
Plaintext
58 lines
2.3 KiB
Plaintext
/// Component applying shared behaviour by cursed organs granted when sacrificed by a heretic
|
|
/// Mostly just does something spooky when it is removed
|
|
/datum/element/corrupted_organ
|
|
|
|
/datum/element/corrupted_organ/Attach(obj/item/organ/target)
|
|
. = ..()
|
|
if(!is_internal_organ(target))
|
|
return ELEMENT_INCOMPATIBLE
|
|
|
|
RegisterSignal(target, COMSIG_ORGAN_REMOVED, PROC_REF(on_removed))
|
|
|
|
var/atom/atom_parent = target
|
|
atom_parent.color = COLOR_VOID_PURPLE
|
|
|
|
atom_parent.add_filter(name = "ray", priority = 1, params = list(
|
|
type = "rays",
|
|
size = 12,
|
|
color = COLOR_VOID_PURPLE,
|
|
density = 12
|
|
))
|
|
var/ray_filter = atom_parent.get_filter("ray")
|
|
animate(ray_filter, offset = 100, time = 2 MINUTES, loop = -1, flags = ANIMATION_PARALLEL) // Absurdly long animate so nobody notices it hitching when it loops
|
|
animate(offset = 0, time = 2 MINUTES) // I sure hope duration of animate doesnt have any performance effect
|
|
|
|
/datum/element/corrupted_organ/Detach(datum/source)
|
|
UnregisterSignal(source, list(COMSIG_ORGAN_REMOVED))
|
|
return ..()
|
|
|
|
/// When we're taken out of someone, do something spooky
|
|
/datum/element/corrupted_organ/proc/on_removed(obj/item/organ/organ, mob/living/carbon/loser)
|
|
SIGNAL_HANDLER // COMSIG_ORGAN_REMOVED
|
|
if(loser.reagents?.has_reagent("holywater") || loser.can_block_magic(MAGIC_RESISTANCE|MAGIC_RESISTANCE_HOLY) || prob(20))
|
|
return
|
|
var/turf/origin_turf = get_turf(loser)
|
|
playsound(loser, 'sound/magic/forcewall.ogg', vol = 100)
|
|
new /obj/effect/temp_visual/curse_blast(origin_turf)
|
|
loser.visible_message(SPAN_DANGER("[organ] explodes in a burst of dark energy!"))
|
|
for(var/mob/living/target in range(1, origin_turf))
|
|
var/armor = target.run_armor_check()
|
|
target.apply_damage(30, damagetype = BURN, blocked = armor, spread_damage = TRUE)
|
|
QDEL_IN(organ, 1 SECONDS)
|
|
|
|
/obj/effect/temp_visual/curse_blast
|
|
icon = 'icons/effects/64x64.dmi'
|
|
pixel_x = -16
|
|
pixel_y = -16
|
|
icon_state = "curse"
|
|
duration = 0.3 SECONDS
|
|
|
|
/obj/effect/temp_visual/curse_blast/Initialize(mapload)
|
|
. = ..()
|
|
animate(src, transform = matrix() * 0.2, time = 0, flags = ANIMATION_PARALLEL)
|
|
animate(transform = matrix() * 2, time = duration, easing = EASE_IN)
|
|
|
|
animate(src, alpha = 255, time = 0, flags = ANIMATION_PARALLEL)
|
|
animate(alpha = 255, time = 0.2 SECONDS)
|
|
animate(alpha = 0, time = 0.1 SECONDS)
|