mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-27 22:17:32 +01:00
Vamp update 4
This commit is contained in:
@@ -438,4 +438,41 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha
|
||||
vampire_mind.special_role = null
|
||||
update_vampire_icons_removed(vampire_mind)
|
||||
//world << "Removed [vampire_mind.current.name] from vampire shit"
|
||||
vampire_mind.current << "\red <FONT size = 3><B>The fog clouding your mind clears. You remember nothing from the moment you were enthralled until now.</B></FONT>"
|
||||
vampire_mind.current << "\red <FONT size = 3><B>The fog clouding your mind clears. You remember nothing from the moment you were enthralled until now.</B></FONT>"
|
||||
|
||||
/mob/living/carbon/human/proc/check_sun()
|
||||
|
||||
var/ax = x
|
||||
var/ay = y
|
||||
|
||||
for(var/i = 1 to 20)
|
||||
ax += sun.dx
|
||||
ay += sun.dy
|
||||
|
||||
var/turf/T = locate( round(ax,0.5),round(ay,0.5),z)
|
||||
|
||||
if(T.x == 1 || T.x==world.maxx || T.y==1 || T.y==world.maxy)
|
||||
break
|
||||
|
||||
if(T.density)
|
||||
return
|
||||
if(prob(35))
|
||||
switch(health)
|
||||
if(80 to 100)
|
||||
src << "\red Your skin flakes away..."
|
||||
if(60 to 80)
|
||||
src << "<span class='warning'>Your skin sizzles!</span>"
|
||||
if((-INFINITY) to 60)
|
||||
if(!on_fire)
|
||||
src << "<b>\red Your skin catches fire!</b>"
|
||||
else
|
||||
src << "<b>\red You continue to burn!</b>"
|
||||
fire_stacks += 5
|
||||
IgniteMob()
|
||||
emote("scream")
|
||||
else
|
||||
switch(health)
|
||||
if((-INFINITY) to 60)
|
||||
fire_stacks++
|
||||
IgniteMob()
|
||||
adjustFireLoss(3)
|
||||
|
||||
@@ -27,6 +27,16 @@
|
||||
return 0
|
||||
return 1
|
||||
|
||||
/mob/proc/vampire_affected(datum/mind/M)
|
||||
//Other vampires aren't affected
|
||||
if(mind && mind.vampire) return 0
|
||||
//Vampires who have reached their full potential can affect nearly everything
|
||||
if(M && M.vampire && (VAMP_FULL in M.vampire.powers))
|
||||
return 1
|
||||
//Chaplains are resistant to vampire powers
|
||||
if(mind && mind.assigned_role == "Chaplain")
|
||||
return 0
|
||||
|
||||
/mob/proc/vampire_can_reach(mob/M as mob, active_range = 1)
|
||||
if(M.loc == src.loc) return 1 //target and source are in the same thing
|
||||
if(!isturf(src.loc) || !isturf(M.loc)) return 0 //One is inside, the other is outside something.
|
||||
@@ -117,6 +127,9 @@
|
||||
M.current.visible_message("\blue [M] shakes [src] trying to wake [t_him] up!" )
|
||||
playsound(src.loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)*/
|
||||
C.help_shake_act(M.current) // i use da colon
|
||||
if(!C.vampire_affected(M))
|
||||
M.current << "\red They seem to be unaffected."
|
||||
return
|
||||
var/datum/disease2/disease/shutdown = new /datum/disease2/disease
|
||||
var/datum/disease2/effectholder/holder = new /datum/disease2/effectholder
|
||||
var/datum/disease2/effect/organs/vampire/O = new /datum/disease2/effect/organs/vampire
|
||||
@@ -149,10 +162,10 @@
|
||||
spawn(300)
|
||||
M.current.verbs += /client/proc/vampire_glare
|
||||
if(istype(M.current:glasses, /obj/item/clothing/glasses/sunglasses/blindfold))
|
||||
M.current << "<span class='warning'>You're blindfolded</span>"
|
||||
M.current << "<span class='warning'>You're blindfolded!</span>"
|
||||
return
|
||||
for(var/mob/living/carbon/C in oview(1))
|
||||
if(C.mind && C.mind.vampire) continue
|
||||
if(!C.vampire_affected(M)) continue
|
||||
if(!M.current.vampire_can_reach(C, 1)) continue
|
||||
C.Stun(8)
|
||||
C.Weaken(8)
|
||||
@@ -185,6 +198,7 @@
|
||||
for(var/mob/living/carbon/C in ohearers(4, M.current))
|
||||
if(C == M.current) continue
|
||||
if(ishuman(C) && (C:l_ear || C:r_ear) && istype((C:l_ear || C:r_ear), /obj/item/clothing/ears/earmuffs)) continue
|
||||
if(!C.vampire_affected(M)) continue
|
||||
C << "<span class='warning'><font size='3'><b>You hear a ear piercing shriek and your senses dull!</font></b></span>"
|
||||
C.Weaken(8)
|
||||
C.ear_deaf = 20
|
||||
@@ -218,11 +232,12 @@
|
||||
if(M.current.can_enthrall(C) && M.current.vampire_power(300, 0)) // recheck
|
||||
M.current.handle_enthrall(C)
|
||||
M.current.remove_vampire_blood(300)
|
||||
M.current.verbs -= /client/proc/vampire_enthrall
|
||||
spawn(1800) M.current.verbs += /client/proc/vampire_enthrall
|
||||
else
|
||||
M.current << "\red You or your target either moved or you dont have enough usable blood."
|
||||
return
|
||||
M.current.verbs -= /client/proc/vampire_enthrall
|
||||
spawn(1800) M.current.verbs += /client/proc/vampire_enthrall
|
||||
|
||||
|
||||
|
||||
/client/proc/vampire_cloak()
|
||||
@@ -261,8 +276,10 @@
|
||||
src << "\red [C.name]'s mind is not there for you to enthrall."
|
||||
return 0
|
||||
if((/obj/item/weapon/implant/traitor in C.contents) || (/obj/item/weapon/implant/loyalty in C.contents )||( C.mind in ticker.mode.vampires )||( C.mind.vampire )||( C.mind in ticker.mode.enthralled ))
|
||||
C.visible_message("[C] seems to resist the takeover!", "You feel a familiar sensation in your skull that quickly dissipates.")
|
||||
C.visible_message("\red [C] seems to resist the takeover!", "\blue You feel a familiar sensation in your skull that quickly dissipates.")
|
||||
return 0
|
||||
if(!C.vampire_affected(mind))
|
||||
C.visible_message("\red [C] seems to resist the takeover!", "\blue Your faith of [ticker.Bible_deity_name] has kept your mind clear of all evil")
|
||||
if(!ishuman(C))
|
||||
src << "\red You can only enthrall humans!"
|
||||
return 0
|
||||
|
||||
@@ -134,6 +134,9 @@
|
||||
hud_used.vampire_blood_display.maptext_height = 26
|
||||
hud_used.vampire_blood_display.maptext = "<div align='left' valign='top' style='position:relative; top:0px; left:6px'> U:<font color='#33FF33' size='1'>[mind.vampire.bloodusable]</font><br> T:<font color='#FFFF00' size='1'>[mind.vampire.bloodtotal]</font></div>"
|
||||
handle_vampire_cloak()
|
||||
if(istype(loc, /turf/space))
|
||||
check_sun()
|
||||
|
||||
|
||||
|
||||
/mob/living/carbon/human/calculate_affecting_pressure(var/pressure)
|
||||
|
||||
Reference in New Issue
Block a user