mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
* Virology Rewrite/Virus3 - Part 2.5 of 3 : Rebase to Bleeding-Edge (#23391) * Virology Rewrite/Virus3 - Part 1 of 3 : pathogen spread, science goggles (#22036) * blud * cloud * clooooud * spread * scanner * I am the god of hellfire * oh god oh no * trimming fat * dsqdsqdqs * sdqdqsdqs * derp * pinky & the brain * gibs n meats * fix * FeetStab * working * overload * recipes * analyser sprites * analyser * fucktheflu * cures * scanner * scanner data * work * incubator * more incubator stuff * all of the centrifuge * some splicer stuff * more stuff * lab mouse and cage * way too much shit * rr * duh * travis u havin a stroke? * dangerousness * better spacing * some fixes * qdel * virus and immune system transfer * derp * pixels * fixing retardation * srccccccccc * geh * ahh * sterility scan * however * out of * conflicted dmi fixes * what's wrong with you git * aight travis now get your shit together. * ffff * hurr durr * setting up * oh shit nigga why have I not commit any of this yet * ugh * curb your pathogens * bleh * eh * runtime * sterilizine buff * fixes * sterile * fixes * gibbbb * gneh * eh * oh that too * fixing mouse refactor * lab mice packs * oh god oh fuck here we go * fucking pandemic circuitboard * chew * ERT * step on it travis * get on with it * fixing disease touch not really though * what's your problem byond * o minus * syntax error Co-Authored-By: DamianX <DamianX@users.noreply.github.com> * spelling error Co-Authored-By: DamianX <DamianX@users.noreply.github.com> * still that spelling error Co-Authored-By: DamianX <DamianX@users.noreply.github.com> * boy am I bad at english Co-Authored-By: DamianX <DamianX@users.noreply.github.com> * I mean just look at that Co-Authored-By: DamianX <DamianX@users.noreply.github.com> * manual tweak and record * oxford comma or something Co-Authored-By: DamianX <DamianX@users.noreply.github.com> * TRAsen Co-Authored-By: DamianX <DamianX@users.noreply.github.com> * wrong proc * weird process * chem chem chem * mouse balance * defines
95 lines
2.7 KiB
Plaintext
95 lines
2.7 KiB
Plaintext
/spell/targeted/disease
|
|
name = "Diseased Touch (50)"
|
|
desc = "Touches your victim with infected blood giving them the Shutdown Syndrome which quickly shuts down their major organs resulting in a quick painful death."
|
|
abbreviation = "HN"
|
|
|
|
school = "vampire"
|
|
user_type = USER_TYPE_VAMPIRE
|
|
|
|
charge_type = Sp_RECHARGE
|
|
charge_max = 3 MINUTES
|
|
invocation_type = SpI_NONE
|
|
range = 1
|
|
max_targets = 1
|
|
spell_flags = WAIT_FOR_CLICK | NEEDSHUMAN
|
|
cooldown_min = 3 MINUTES
|
|
selection_type = "range"
|
|
|
|
override_base = "vamp"
|
|
hud_state = "vampire_disaese"
|
|
|
|
var/blood_cost = 50
|
|
|
|
/spell/targeted/disease/cast_check(skipcharge = 0,mob/user = usr)
|
|
. = ..()
|
|
if (!user.vampire_power(blood_cost, CONSCIOUS))
|
|
return FALSE
|
|
|
|
/spell/targeted/disease/is_valid_target(var/target, var/mob/user, var/list/options)
|
|
if (!ismob(target))
|
|
return FALSE
|
|
|
|
var/mob/M = target
|
|
|
|
var/success = M.vampire_affected(user.mind)
|
|
switch (success)
|
|
if (TRUE)
|
|
return ..()
|
|
if (FALSE)
|
|
return FALSE
|
|
if (VAMP_FAILURE)
|
|
critfail(target, user)
|
|
return FALSE
|
|
|
|
/spell/targeted/disease/cast(var/list/targets, var/mob/user)
|
|
if (targets.len > 1)
|
|
return FALSE
|
|
|
|
var/datum/role/vampire/V = isvampire(user)
|
|
if(!V)
|
|
return FALSE
|
|
|
|
var/mob/living/carbon/target = targets[1]
|
|
|
|
log_admin("[key_name(user)] has death-touched [key_name(target)]. The latter will die in moments.")
|
|
message_admins("[key_name(user)] has death-touched [key_name(target)] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[target.x];Y=[target.y];Z=[target.z]'>JMP</A>). The latter will die in moments.")
|
|
var/datum/disease2/disease/S = new ()
|
|
S.form = "Virus"//Because the form is given away by the Health Analyser and we don't want to out the vampire right away.
|
|
S.infectionchance = 100
|
|
S.infectionchance_base = 100
|
|
S.stageprob = 0//single-stage
|
|
S.stage_variance = 0
|
|
S.max_stage = 1
|
|
S.can_kill = list()
|
|
var/datum/disease2/effect/organs/vampire/O = new /datum/disease2/effect/organs/vampire
|
|
O.chance = 10
|
|
O.max_chance = 10
|
|
S.strength = rand(70,100)
|
|
S.robustness = 100
|
|
S.antigen = list(pick(all_antigens))
|
|
S.antigen |= pick(all_antigens)
|
|
S.spread = SPREAD_BLOOD
|
|
S.uniqueID = rand(0,9999)
|
|
S.subID = rand(0,9999)
|
|
S.effects += O
|
|
S.origin = "Vampire Touch"
|
|
S.mutation_modifier = 0
|
|
S.color = "#777777"
|
|
S.pattern = 5
|
|
S.pattern_color = "#555555"
|
|
|
|
S.update_global_log()
|
|
|
|
target.infect_disease2(S, notes="(Spell, from [key_name(user)])")
|
|
|
|
V.remove_blood(blood_cost)
|
|
|
|
/spell/targeted/disease/critfail(var/list/targets, var/mob/user)
|
|
to_chat(user, "<span class='danger'>It feels like your dead blood met with molten silver.</span>")
|
|
if (ishuman(user))
|
|
var/mob/living/carbon/human/H = user
|
|
H.drip(50) // Coughing up quite some blood.
|
|
var/datum/role/vampire/V = isvampire(user)
|
|
if(V)
|
|
V.remove_blood(3*blood_cost)
|