Revert "changes vampire hypnotize to be a sleep stun but makes it cost blood or something i guess this is supposed to be better since its prebase code (#9955)" (#10039)

This reverts commit 54fe18bb84.
This commit is contained in:
Jamie D
2020-10-17 23:11:11 +01:00
committed by GitHub
parent 7e10e7a637
commit faefb6d72d
7 changed files with 27 additions and 122 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 614 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 435 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@@ -98,8 +98,8 @@ h1.alert, h2.alert {color: #000000;}
.holoparasite {color: #35333a;}
.surrender {
color: #1235d1;
font-weight: bold;
font-size: 3;
font-weight: bold;
font-size: 3;
animation: surrender 1s ease-in-out infinite alternate;
transform-origin: 0 0;
display: inline-block;

View File

@@ -25,8 +25,7 @@
var/list/upgrade_tiers = list(
/obj/effect/proc_holder/spell/self/vampire_help = 0,
/obj/effect/proc_holder/spell/self/rejuvenate = 0,
/obj/effect/proc_holder/spell/pointed/gaze = 0,
/obj/effect/proc_holder/spell/pointed/hypno = 0,
/obj/effect/proc_holder/spell/targeted/hypnotise = 0,
/datum/vampire_passive/vision = 75,
/obj/effect/proc_holder/spell/self/shapeshift = 75,
/obj/effect/proc_holder/spell/self/cloak = 100,

View File

@@ -49,7 +49,7 @@
/obj/effect/proc_holder/spell/can_target(mob/living/target)
. = ..()
if(!istype(target) || (vamp_req && is_vampire(target)))
if(vamp_req && is_vampire(target))
return FALSE
/datum/vampire_passive
var/gain_desc
@@ -79,14 +79,14 @@
name = "How to suck blood 101"
desc = "Explains how the vampire blood sucking system works."
action_icon_state = "bloodymaryglass"
action_icon = 'icons/obj/drinks.dmi'
icon = 'icons/obj/drinks.dmi'
action_background_icon_state = "bg_demon"
charge_max = 0
vamp_req = TRUE //YES YOU NEED TO BE A VAMPIRE TO KNOW HOW TO BE A VAMPIRE SHOCKING
/obj/effect/proc_holder/spell/self/vampire_help/cast(list/targets, mob/user = usr)
to_chat(user, "<span class='notice'>You can consume blood from living, humanoid life by <b>punching their head while on the harm intent</b>. This <i>WILL</i> alert everyone who can see it as well as make a noise, which is generally hearable about <b>three meters away</b>. Note that you <b>cannot</b> draw blood from <b>catatonics or corpses</b>.\n\
Your bloodsucking speed depends on grab strength, you can <i>stealthily</i> extract blood by initiating without a grab, and can suck more blood per cycle by <b>having a neck grab or stronger</b>. Both of these modify the amount of blood taken by 50%; less for stealth, more for strong grabs.</span>")
to_chat(user, "<span class='notice'>You can consume blood from living, humanoid life by <b>punching their head while on the harm intent</b>. This <i>WILL</i> alert everyone who can see it as well as make a noise, which is generally hearable about <b>three meters away</b>. Note that you cannot draw blood from <b>catatonics or corpses</b>.\n\
Your bloodsucking speed depends on grab strength, you can <i>stealhily</i> extract blood by initiating without a grab, and can suck more blood per cycle by <b>having a neck grab or stronger</b>. Both of these modify the amount of blood taken by 50%; less for stealth, more for strong grabs.</span>")
/obj/effect/proc_holder/spell/self/rejuvenate
name = "Rejuvenate"
@@ -115,126 +115,32 @@
sleep(7.5)
/obj/effect/proc_holder/spell/pointed/gaze
name = "Vampiric Gaze"
desc = "Paralyze your target with fear."
charge_max = 300
action_icon_state = "gaze"
active_msg = "You prepare your vampiric gaze.</span>"
deactive_msg = "You stop preparing your vampiric gaze.</span>"
vamp_req = TRUE
ranged_mousepointer = 'icons/effects/mouse_pointers/gaze_target.dmi'
action_icon = 'yogstation/icons/mob/vampire.dmi'
action_background_icon_state = "bg_demon"
/obj/effect/proc_holder/spell/pointed/gaze/can_target(atom/target, mob/user, silent)
. = ..()
if(!.)
return FALSE
if(!ishuman(target))
to_chat(user, "<span class='warning'>Gaze will not work on this being.</span>")
return FALSE
var/mob/living/carbon/human/T = target
if(T.stat == DEAD)
to_chat(user,"<span class='warning'>You cannot gaze at corpses... \
or maybe you could if you really wanted to.</span>")
return FALSE
/obj/effect/proc_holder/spell/pointed/gaze/cast(list/targets, mob/user)
var/mob/living/target = targets[1]
var/mob/living/carbon/human/T = target
user.visible_message("<span class='warning'>[user]'s eyes flash red.</span>",\
"<span class='warning'>[user]'s eyes flash red.</span>")
if(ishuman(target))
var/obj/item/clothing/glasses/G = T.glasses
if(G)
if(G.flash_protect)
to_chat(user,"<span class='warning'>[T] has protective sunglasses on!</span>")
to_chat(target, "<span class='warning'>[user]'s paralyzing gaze is blocked by your [G]!</span>")
return
var/obj/item/clothing/mask/M = T.wear_mask
if(M)
if(M.flash_protect)
to_chat(user,"<span class='warning'>[T]'s mask is covering their eyes!</span>")
to_chat(target,"<span class='warning'>[user]'s paralyzing gaze is blocked by your [M]!</span>")
return
var/obj/item/clothing/head/H = T.head
if(H)
if(H.flash_protect)
to_chat(user, "<span class='vampirewarning'>[T]'s helmet is covering their eyes!</span>")
to_chat(target, "<span class='warning'>[user]'s paralyzing gaze is blocked by [H]!</span>")
return
to_chat(target,"<span class='warning'>You are paralyzed with fear!</span>")
to_chat(user,"<span class='notice'>You paralyze [T].</span>")
T.Stun(50)
/obj/effect/proc_holder/spell/pointed/hypno
/obj/effect/proc_holder/spell/targeted/hypnotise
name = "Hypnotize"
desc = "Knock out your target."
charge_max = 300
blood_used = 20
desc= "A piercing stare that incapacitates your victim for a good length of time."
action_icon_state = "hypnotize"
active_msg = "<span class='warning'>You prepare your hypnosis technique.</span>"
deactive_msg = "<span class='warning'>You stop preparing your hypnosis.</span>"
vamp_req = TRUE
ranged_mousepointer = 'icons/effects/mouse_pointers/hypnotize_target.dmi'
blood_used = 0
charge_max = 1500
range = 2
action_icon = 'yogstation/icons/mob/vampire.dmi'
action_background_icon_state = "bg_demon"
vamp_req = TRUE
/obj/effect/proc_holder/spell/pointed/hypno/Click()
if(!active)
usr.visible_message("<span class='warning'>[usr] twirls their finger in a circlular motion.</span>",\
"<span class='warning'>You twirl your finger in a circular motion.</span>")
..()
/obj/effect/proc_holder/spell/pointed/hypno/can_target(atom/target, mob/user, silent)
if(!..())
return
if(!ishuman(target))
to_chat(user, "<span class='warning'>Hypnotize will not work on this being.</span>")
return FALSE
var/mob/living/carbon/human/T = target
if(T.IsSleeping())
to_chat(user, "<span class='warning'>[T] is already asleep!.</span>")
return FALSE
return TRUE
/obj/effect/proc_holder/spell/pointed/hypno/cast(list/targets, mob/user)
var/mob/living/target = targets[1]
var/mob/living/carbon/human/T = target
user.visible_message("<span class='warning'>[user]'s eyes flash red.</span>",\
"<span class='warning'>[user]'s eyes flash red.</span>")
if(T)
var/obj/item/clothing/glasses/G = T.glasses
if(G)
if(G.flash_protect)
to_chat(user, "<span class='warning'>[T] has protective sunglasses on!</span>")
to_chat(target, "<span class='warning'>[user]'s paralyzing gaze is blocked by [G]!</span>")
return
var/obj/item/clothing/mask/M = T.wear_mask
if(M)
if(M.flash_protect)
to_chat(user, "<span class='vampirewarning'>[T]'s mask is covering their eyes!</span>")
to_chat(target, "<span class='warning'>[user]'s paralyzing gaze is blocked by [M]!</span>")
return
var/obj/item/clothing/head/H = T.head
if(H)
if(H.flash_protect)
to_chat(user, "<span class='vampirewarning'>[T]'s helmet is covering their eyes!</span>")
to_chat(target, "<span class='warning'>[user]'s paralyzing gaze is blocked by [H]!</span>")
return
to_chat(target, "<span class='boldwarning'>Your knees suddenly feel heavy. Your body begins to sink to the floor.</span>")
to_chat(user, "<span class='notice'>[target] is now under your spell. In four seconds they will be rendered unconscious as long as they are within close range.</span>")
if(do_mob(user, target, 40, TRUE)) // 4 seconds...
if(get_dist(user, T) <= 3) // 7 range
flash_color(T, flash_color="#472040", flash_time=30) // it's the vampires color!
T.SetSleeping(300)
to_chat(user, "<span class='warning'>[T] has fallen asleep!</span>")
/obj/effect/proc_holder/spell/targeted/hypnotise/cast(list/targets, mob/user = usr)
for(var/mob/living/carbon/target in targets)
user.visible_message("<span class='warning'>[user]'s eyes flash briefly as [user.p_they()] stares into [target]'s eyes</span>")
target.silent = 2 //this is actually roughly 4 seconds due to how silent works
if(target.flash_act(1))
target.adjustStaminaLoss(40) //minor slowdown if they aren't protected
if(do_mob(user, target, 30, TRUE) && (target in view(user))) //effect stops working if the target escapes line of sight
to_chat(user, "<span class='warning'>Your piercing gaze knocks out [target].</span>")
to_chat(target, "<span class='warning'>You find yourself unable to move or speak.</span>")
target.Paralyze(150)
target.silent = 10 //finally makes this stupid spell USEFUL
else
to_chat(T, "<span class='notice'>You feel a whole lot better now.</span>")
revert_cast(usr)
to_chat(usr, "<span class='warning'>You broke your gaze.</span>")
/obj/effect/proc_holder/spell/self/shapeshift
name = "Shapeshift (50)"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB