diff --git a/code/game/gamemodes/devil/devilinfo.dm b/code/game/gamemodes/devil/devilinfo.dm
index b512422ef5c..75d5c0ca724 100644
--- a/code/game/gamemodes/devil/devilinfo.dm
+++ b/code/game/gamemodes/devil/devilinfo.dm
@@ -35,7 +35,7 @@ var/global/list/lawlorify = list (
BAN_STRIKEUNCONCIOUS = "This devil only shows interest in those who are awake.",
BAN_HURTLIZARD = "This devil will not strike a lizardman first.",
BAN_HURTANIMAL = "This devil avoids hurting animals.",
- BANISH_WATER = "To banish the devil, you must sprinkle holy water upon it's body.",
+ BANISH_WATER = "To banish the devil, you must infuse it's body with holy water.",
BANISH_COFFIN = "This devil will return to life if it's remains are not placed within a coffin.",
BANISH_FORMALDYHIDE = "To banish the devil, you must inject it's lifeless body with embalming fluid.",
BANISH_RUNES = "This devil will resurrect after death, unless it's remains are within a rune.",
@@ -138,11 +138,10 @@ var/global/list/lawlorify = list (
return pick(BANISH_WATER, BANISH_COFFIN, BANISH_FORMALDYHIDE, BANISH_RUNES, BANISH_CANDLES, BANISH_DESTRUCTION, BANISH_FUNERAL_GARB)
/datum/devilinfo/proc/add_soul(datum/mind/soul)
- var/mob/living/carbon/human/H = owner.current
if(soulsOwned.Find(soul))
return
soulsOwned += soul
- H.nutrition = NUTRITION_LEVEL_FULL
+ owner.current.nutrition = NUTRITION_LEVEL_FULL
owner.current << "You feel satiated as you received a new soul."
update_hud()
switch(SOULVALUE)
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index d1be98828ea..f3fe39a88cb 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -510,7 +510,7 @@
/obj/item/weapon/twohanded/pitchfork/demonic/pickup(mob/user)
if(istype(user, /mob/living))
var/mob/living/U = user
- if(U.mind && (!U.mind.devilinfo || (U.mind.soulOwner == U.mind))) //Burn hands unless they are a devil or have sold their soul
+ if(U.mind && !U.mind.devilinfo && (U.mind.soulOwner == U.mind)) //Burn hands unless they are a devil or have sold their soul
U.visible_message("As [U] picks [src] up, [U]'s arms briefly catch fire.", \
"\"As you pick up the [src] your arms ignite, reminding you of all your past sins.\"")
if(ishuman(U))
@@ -520,7 +520,7 @@
U.adjustFireLoss(rand(force/2,force))
/obj/item/weapon/twohanded/pitchfork/demonic/attack(mob/target, mob/living/carbon/human/user)
- if(user.mind && (!user.mind.devilinfo || (user.mind.soulOwner == user.mind)))
+ if(user.mind && !user.mind.devilinfo && (user.mind.soulOwner != user.mind))
user << "The [src] burns in your hands."
user.apply_damage(rand(force/2, force), BURN, pick("l_arm", "r_arm"))
..()
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 8d6995a0aa1..961977cc4f2 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -790,3 +790,10 @@
blood_volume -= amount
return ..()
+/mob/living/carbon/fakefire(var/fire_icon = "Generic_mob_burning")
+ overlays_standing[FIRE_LAYER] = image("icon"='icons/mob/OnFire.dmi', "icon_state"= fire_icon, "layer"=-FIRE_LAYER)
+ apply_overlay(FIRE_LAYER)
+
+/mob/living/carbon/fakefireextinguish()
+ remove_overlay(FIRE_LAYER)
+
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 313781735f7..51296df2196 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -1044,3 +1044,9 @@ Sorry Giacom. Please don't be mad :(
G.Recall()
G << "Your summoner has changed \
form!"
+
+/mob/living/proc/fakefireextinguish()
+ return
+
+/mob/living/proc/fakefire()
+ return
\ No newline at end of file
diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm
index df21427279d..9974737affd 100644
--- a/code/modules/paperwork/contract.dm
+++ b/code/modules/paperwork/contract.dm
@@ -187,11 +187,9 @@
add_logs(user, H, "infernally revived via contract")
user.visible_message("With a sudden blaze, [H] stands back up.")
H.adjust_fire_stacks(20)
- H.IgniteMob()
+ H.fakefire()
FulfillContract(H)
- sleep(5)
- H.ExtinguishMob()
- H.adjustFireLoss(0)
+ addtimer(H, "fakefireextinguish",5,TRUE)
else
..()
diff --git a/code/modules/spells/spell_types/devil.dm b/code/modules/spells/spell_types/devil.dm
index 90de8e124df..87e1d2fcd24 100644
--- a/code/modules/spells/spell_types/devil.dm
+++ b/code/modules/spells/spell_types/devil.dm
@@ -93,7 +93,7 @@
/obj/effect/proc_holder/spell/targeted/infernal_jaunt
name = "Infernal Jaunt"
desc = "Use hellfire to phase out of existence."
- charge_max = 10
+ charge_max = 200
clothes_req = 0
selection_type = "range"
range = -1
@@ -121,6 +121,7 @@
else
user.notransform = 1
user.fakefire()
+ src << "You begin to phase back into sinful flames."
addtimer(user, "infernalphaseout",150,TRUE,get_turf(user))
start_recharge()
return
@@ -159,20 +160,7 @@
src.client.eye = src
src.visible_message("[src] appears in a firey blaze!")
playsound(get_turf(src), 'sound/magic/exit_blood.ogg', 100, 1, -1)
- addtimer(src, "fakefireextinguish" ,15,TRUE,get_turf(src))
-
-/mob/living/proc/fakefire()
- return
-
-/mob/living/carbon/fakefire(var/fire_icon = "Generic_mob_burning")
- overlays_standing[FIRE_LAYER] = image("icon"='icons/mob/OnFire.dmi', "icon_state"= fire_icon, "layer"=-FIRE_LAYER)
- apply_overlay(FIRE_LAYER)
-
-/mob/living/proc/fakefireextinguish()
- return
-
-/mob/living/carbon/fakefireextinguish()
- remove_overlay(FIRE_LAYER)
+ addtimer(src, "fakefireextinguish", 15,TRUE)
/obj/effect/proc_holder/spell/targeted/sintouch
name = "Sin Touch"