Diona Cult Manifestation Tweak (#8986)

This commit is contained in:
Geeves
2020-06-02 11:55:19 +02:00
committed by GitHub
parent 2a29132e5d
commit 7824a04975
4 changed files with 25 additions and 6 deletions
+1
View File
@@ -1928,6 +1928,7 @@
#include "code\modules\mob\living\carbon\human\whisper.dm"
#include "code\modules\mob\living\carbon\human\species\species.dm"
#include "code\modules\mob\living\carbon\human\species\species_attack.dm"
#include "code\modules\mob\living\carbon\human\species\species_damage.dm"
#include "code\modules\mob\living\carbon\human\species\species_hud.dm"
#include "code\modules\mob\living\carbon\human\species\outsider\shadow.dm"
#include "code\modules\mob\living\carbon\human\species\outsider\undead.dm"
@@ -1,7 +1,7 @@
/obj/effect/rune/manifest
var/mob/living/carbon/human/apparition/apparition
/obj/effect/rune/manifest/do_rune_action(mob/living/user)
/obj/effect/rune/manifest/do_rune_action(mob/living/carbon/user)
if(!iscarbon(user))
to_chat(user, span("warning", "Your primitive form cannot use this rune!"))
if(apparition)
@@ -45,17 +45,18 @@
log_and_message_admins("used a manifest rune.")
// The cultist doesn't have to stand on the rune, but they will continually take damage for as long as they have a summoned ghost
while(user?.stat == CONSCIOUS && user.client)
user.take_organ_damage(1, 0)
var/can_manifest = TRUE
while(user?.stat == CONSCIOUS && user.client && can_manifest)
can_manifest = user.species.take_manifest_ghost_damage(user)
sleep(30)
apparition_check()
return
/obj/effect/rune/manifest/proc/apparition_check()
if(apparition)
apparition.visible_message("<span class='danger'>[apparition] slowly dissipates into dust and bones.</span>", \
"<span class='danger'>You feel pain, as bonds formed between your soul and this homunculus break.</span>", \
"<span class='warning'>You hear a faint rustling.</span>")
apparition.visible_message(FONT_LARGE(SPAN_WARNING("\The [apparition] slowly dissipates into dust and bones.")), \
FONT_LARGE(SPAN_WARNING("You feel pain, as bonds formed between your soul and this homunculus break.")), \
SPAN_WARNING("You hear a faint rustling."))
apparition.dust()
apparition = null
@@ -0,0 +1,11 @@
/datum/species/proc/take_manifest_ghost_damage(var/mob/living/carbon/C)
C.take_organ_damage(1, 0)
return TRUE
/datum/species/diona/take_manifest_ghost_damage(mob/living/carbon/C)
C.take_organ_damage(2, 0)
C.adjustNutritionLoss(5)
if(C.nutrition <= C.max_nutrition * 0.05)
to_chat(C, SPAN_WARNING("We cannot support our summoned apparitions with our biomass any longer..."))
return FALSE
return TRUE
@@ -0,0 +1,6 @@
author: Geeves
delete-after: True
changes:
- rscadd: "Diona now have a biomass drain when they have apparitions summoned, they also take slightly more damage."