Vampire Rework. (#16476)

* vampire rework

* fixes and tweaks

* cleanup + tweaks

* grug stomp

* TGUI

* TGUI rebuild

* UID fix

* debugging cooldown fix

* first review changes

* subclass refactor

* tweaks + some sprites

* blackbox logging

* tweaks + grammar

* minor UI tweaks

* ability icon sprites.

* placeholder sprite warning fix

* melee mod code comment warning

* nullification rework

* final sprites!

* fixes

* sabre review pt 1

Co-authored-by: SabreML <57483089+SabreML@users.noreply.github.com>

* sabre review pt2

* sprites readd

* tgui rebuild

* removes traitor vampires

* fixes

* readds sprites

* runtime fixes

* hotfix

* more runtime fixes

* glare tweak. less confusing when the vampire is stunned.

* gargantua nerf

* minor tweaks.

* hemomancer nerfs

* bugfixes and cleanup

* I did a dumb

* couple of fixes

* confusion and shadow snare fixes

* hemomancer nerfs part 2 electric boogaloo

* TGUI rebuild

* fixes and easier events

* Umbrae tweaks

* gargantua tweak

* umbrae nerf 2 electric boogaloo. also var edit suggestion

* runtime fix

* buffs blood nutrition to be in line with its metabolic rate

* Henk stuff

Co-authored-by: Farie82 <farie82@users.noreply.github.com>

* more review changes

* final tweak

* affected request + runtime fix

* FUCK

* fat fucks

* darkness tweaks

* UMBRAE AAAAAAAAAAAAAHH

* force doors bugfix

* either git or I am drunk

* admin rejuv fix

* I CANNOT SPELL

* shitnt code

* steel review

* tgui rebuild

* mochi review

* vampire ability usage logging

Co-authored-by: SabreML <57483089+SabreML@users.noreply.github.com>
Co-authored-by: Farie82 <farie82@users.noreply.github.com>
This commit is contained in:
Charlie
2021-11-14 15:34:56 +01:00
committed by GitHub
co-authored by SabreML Farie82
parent 46d3759216
commit 634f9c72f1
52 changed files with 1600 additions and 819 deletions
@@ -109,20 +109,6 @@
M.ForceContractDisease(new /datum/disease/kuru(0))
return ..()
/datum/reagent/grave_dust
name = "Grave Dust"
id = "grave_dust"
description = "Moldy old dust taken from a grave site."
reagent_state = LIQUID
color = "#465046"
can_synth = FALSE
taste_mult = 0
/datum/reagent/grave_dust/on_mob_life(mob/living/carbon/M)
if(volume > 4.5)
M.ForceContractDisease(new /datum/disease/vampire(0))
return ..()
/datum/reagent/bacon_grease
name = "Pure bacon grease"
id = "bacon_grease"
@@ -107,6 +107,8 @@
C.reagents.add_reagent("toxin", volume * 0.5)
else
C.blood_volume = min(C.blood_volume + round(volume, 0.1), BLOOD_VOLUME_NORMAL)
if(C.mind?.vampire)
C.set_nutrition(min(NUTRITION_LEVEL_WELL_FED, C.nutrition + 10))
/datum/reagent/blood/on_new(list/data)
if(istype(data))
@@ -268,19 +270,20 @@
update_flags |= M.adjustStaminaLoss(5, FALSE)
if(prob(20))
M.emote("scream")
M.mind.vampire.adjust_nullification(5, 2)
M.mind.vampire.adjust_nullification(20, 4)
M.mind.vampire.bloodusable = max(M.mind.vampire.bloodusable - 3,0)
if(M.mind.vampire.bloodusable)
V.vomit(0,1)
V.vomit(0, TRUE, FALSE)
V.adjustBruteLoss(3)
else
holder.remove_reagent(id, volume)
V.vomit(0,0)
V.vomit(0, FALSE, FALSE)
return
else
switch(current_cycle)
if(1 to 4)
to_chat(M, "<span class = 'warning'>Something sizzles in your veins!</span>")
M.mind.vampire.adjust_nullification(5, 2)
M.mind.vampire.adjust_nullification(20, 4)
if(5 to 12)
to_chat(M, "<span class = 'danger'>You feel an intense burning inside of you!</span>")
update_flags |= M.adjustFireLoss(1, FALSE)
@@ -288,19 +291,18 @@
M.Jitter(20)
if(prob(20))
M.emote("scream")
M.mind.vampire.adjust_nullification(5, 2)
M.mind.vampire.adjust_nullification(20, 4)
if(13 to INFINITY)
to_chat(M, "<span class = 'danger'>You suddenly ignite in a holy fire!</span>")
for(var/mob/O in viewers(M, null))
O.show_message(text("<span class = 'danger'>[] suddenly bursts into flames!</span>", M), 1)
M.fire_stacks = min(5,M.fire_stacks + 3)
M.IgniteMob() //Only problem with igniting people is currently the commonly availible fire suits make you immune to being on fire
update_flags |= M.adjustFireLoss(3, FALSE) //Hence the other damages... ain't I a bastard?
M.visible_message("<span class='danger'>[M] suddenly bursts into flames!</span>",
"<span class='danger'>You suddenly ignite in a holy fire!</span>")
M.fire_stacks = min(5, M.fire_stacks + 3)
M.IgniteMob()
update_flags |= M.adjustFireLoss(3, FALSE)
M.Stuttering(1)
M.Jitter(30)
if(prob(40))
M.emote("scream")
M.mind.vampire.adjust_nullification(5, 2)
M.mind.vampire.adjust_nullification(20, 4)
return ..() | update_flags