Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
5bafb5b
bs and mh
tattax Jan 31, 2022
6b35f72
updoot
tattax Feb 2, 2022
a94369f
fix 2
tattax Feb 2, 2022
60b96a7
updoot 3
tattax Feb 4, 2022
2e843c5
updoot 4
tattax Feb 7, 2022
59e9850
updoot 5
tattax Feb 10, 2022
bd36e4b
quick psosible fix
tattax Feb 10, 2022
10975d8
updoot 6
tattax Feb 11, 2022
7486eee
quick fix 2
tattax Feb 12, 2022
92d2ec7
pr updoot (probably)
tattax Feb 13, 2022
6171e32
Merge branch 'master' into poggy
ToasterBiome Feb 13, 2022
f9b527b
updoot 7
tattax Feb 13, 2022
f1bd74b
possible maybable fix
tattax Feb 13, 2022
5f93b95
second maybable possible fix
tattax Feb 13, 2022
4429c41
should work for checks
tattax Feb 13, 2022
60aa33d
updoot 8
tattax Feb 14, 2022
d6739e2
attempt 2
tattax Feb 14, 2022
832538c
mindslave hud
tattax Feb 14, 2022
b5defd3
Merge remote-tracking branch 'upstream/master' into poggy
ToasterBiome Feb 15, 2022
fe2dd5e
reupdates hud.dmi
tattax Feb 15, 2022
d09d655
quickfix 1
tattax Mar 2, 2022
5ad1634
hotfix 2
tattax Mar 2, 2022
609f8d2
quickfix 3
tattax Mar 3, 2022
31d9cbb
quickfix 5
tattax Mar 3, 2022
4c2b2bb
quickfix 4
tattax Mar 4, 2022
4045c82
quick fix 6
tattax Mar 4, 2022
2046805
clean 1
tattax Mar 5, 2022
289cb6e
quickfix 7
tattax Mar 5, 2022
0ca11aa
quickfix 8
tattax Mar 6, 2022
e45f91c
turns all clans flavor only
tattax Mar 7, 2022
085c6ee
code improvement + fixes
JohnFulpWillard Mar 9, 2022
7992903
things i forgot
JohnFulpWillard Mar 9, 2022
792467c
Revert yarn
JohnFulpWillard Mar 9, 2022
2756e53
Merge pull request #1 from JohnFulpWillard/bloodsuckers
tattax Mar 9, 2022
fa71f30
fix to huds
JohnFulpWillard Mar 9, 2022
2f0fac9
Merge pull request #2 from JohnFulpWillard/bloodsuckers
tattax Mar 9, 2022
3134826
quickfix 9
tattax Mar 9, 2022
0eb18d5
quickfix 10
tattax Mar 10, 2022
86b60d7
quickfix 11
tattax Mar 15, 2022
bd131f7
quick fix 12 (the lugening)
tattax Mar 16, 2022
1422865
fuck
tattax Mar 18, 2022
68f2777
d
tattax Mar 23, 2022
4f3da13
p
tattax Mar 23, 2022
f879109
saves yogstation
tattax Mar 26, 2022
d8a1eed
Merge branch 'poggy' of https://github.com/tattax/Yogstation into poggy
tattax Mar 26, 2022
94c3309
penis
tattax Mar 26, 2022
977d109
why can't we have nice things
tattax Mar 28, 2022
8d1f9ab
quickfix 13
tattax Mar 28, 2022
0e1245b
ssssssssss
tattax Mar 29, 2022
77032a0
hell
tattax Mar 30, 2022
451c0a1
Merge branch 'poggy' of https://github.com/tattax/Yogstation into poggy
tattax Mar 30, 2022
5a797b1
summon traps
tattax Apr 1, 2022
4948c65
this probably is a good idea
tattax Apr 1, 2022
0b66446
heolp
tattax Apr 3, 2022
c346759
merge master into poggy
tattax Apr 3, 2022
baa98aa
Revert "merge master into poggy"
tattax Apr 3, 2022
04d0b81
Merge branch 'master' into poggy
tattax Apr 3, 2022
1d03e0e
amogus
tattax Apr 5, 2022
f913165
possibly fixes the gamemode idk it compiles
tattax Apr 5, 2022
ab5cd2a
makes stuff not cringe
tattax Apr 5, 2022
119f8d9
i hate webeditor
tattax Apr 5, 2022
829cc9c
i hate webeditor
tattax Apr 5, 2022
95ed6dc
i hate webeditor
tattax Apr 5, 2022
337c3b5
fixessss
tattax Apr 5, 2022
775af4a
ducky
tattax Apr 5, 2022
8e0ad75
2
tattax Apr 5, 2022
6c89aed
o
tattax Apr 9, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions code/__DEFINES/antagonists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -101,3 +101,9 @@
#define TIER_BLADE 5
#define TIER_3 6
#define TIER_ASCEND 7

//Bloodsuckers
#define IS_BLOODSUCKER(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/bloodsucker))
#define IS_VASSAL(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/vassal))
#define IS_MONSTERHUNTER(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/monsterhunter))

2 changes: 2 additions & 0 deletions code/__DEFINES/atom_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@
#define ANTAG_HUD_HERETIC 29
#define ANTAG_HUD_MINDSLAVE 30
#define ANTAG_HUD_ZOMBIE 31
#define ANTAG_HUD_BLOODSUCKER 32
#define ANTAG_HUD_MHUNTER 33

// Notification action types
#define NOTIFY_JUMP "jump"
Expand Down
70 changes: 70 additions & 0 deletions code/__DEFINES/bloodsuckers.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
/**
* Bloodsucker defines
*/
/// Determines Bloodsucker regeneration rate
#define BS_BLOOD_VOLUME_MAX_REGEN 700
/// Cost to torture someone, in blood
#define TORTURE_BLOOD_COST "15"
/// Cost to convert someone after successful torture, in blood
#define TORTURE_CONVERSION_COST "50"
/// Deals with constant processes off of LifeTick()
#define COMSIG_LIVING_BIOLOGICAL_LIFE "biological_life"
/// Once blood is this low, will enter Frenzy
#define FRENZY_THRESHOLD_ENTER 25
/// Once blood is this high, will exit Frenzy
#define FRENZY_THRESHOLD_EXIT 250
/// You have special interactions with Bloodsuckers
#define TRAIT_BLOODSUCKER_HUNTER "bloodsucker_hunter"

/**
* Cooldown defines
* Used in Cooldowns Bloodsuckers use to prevent spamming
*/
///Spam prevention for healing messages.
#define BLOODSUCKER_SPAM_HEALING (15 SECONDS)
///Span prevention for Sol messages.
#define BLOODSUCKER_SPAM_SOL (30 SECONDS)

/**
* Clan defines
*/
#define CLAN_BRUJAH "Brujah Clan"
#define CLAN_NOSFERATU "Nosferatu Clan"
#define CLAN_TREMERE "Tremere Clan"
#define CLAN_VENTRUE "Ventrue Clan"
#define CLAN_MALKAVIAN "Malkavian Clan"
#define CLAN_TOREADOR "Toreador Clan"
#define CLAN_GANGREL "Gangrel Clan"
#define CLAN_LASOMBRA "Lasombra Clan"

/**
* Power defines
*/
/// This Power can't be used in Torpor
#define BP_CANT_USE_IN_TORPOR (1<<0)
/// This Power can't be used in Frenzy unless you're part of Brujah
#define BP_CANT_USE_IN_FRENZY (1<<1)
/// This Power can't be used with a stake in you
#define BP_CANT_USE_WHILE_STAKED (1<<2)
/// This Power can't be used while incapacitated
#define BP_CANT_USE_WHILE_INCAPACITATED (1<<3)
/// This Power can't be used while unconscious
#define BP_CANT_USE_WHILE_UNCONSCIOUS (1<<4)

/// This Power can be purchased by Bloodsuckers
#define BLOODSUCKER_CAN_BUY (1<<0)
/// This Power can be purchased by Tremere Bloodsuckers
#define TREMERE_CAN_BUY (1<<1)
/// This Power can be purchased by Vassals
#define VASSAL_CAN_BUY (1<<2)
/// This Power can be purchased by Monster Hunters
#define HUNTER_CAN_BUY (1<<3)

/// This Power is a Toggled Power
#define BP_AM_TOGGLE (1<<0)
/// This Power is a Single-Use Power
#define BP_AM_SINGLEUSE (1<<1)
/// This Power has a Static cooldown
#define BP_AM_STATIC_COOLDOWN (1<<2)
/// This Power doesn't cost bloot to run while unconscious
#define BP_AM_COSTLESS_UNCONSCIOUS (1<<3)
3 changes: 3 additions & 0 deletions code/__DEFINES/melee.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
#define MARTIALART_CQC_COOK "CQC cook"
#define MARTIALART_PLASMAFIST "plasma fist"
#define MARTIALART_FLYINGFANG "flying fang"
#define MARTIALART_HUNTERFU "hunterfu"
#define MARTIALART_FRENZYGRAB "frenzy grabbing"


//Weapon stat defines
#define SWING_SPEED "swing_speed"
Expand Down
9 changes: 9 additions & 0 deletions code/__DEFINES/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -488,3 +488,12 @@ GLOBAL_LIST_INIT(pda_styles, list(MONO, VT, ORBITRON, SHARE))
#define ALIGNMENT_GOOD "good"
#define ALIGNMENT_NEUT "neutral"
#define ALIGNMENT_EVIL "evil"

/// Whether we have succesfully hidden out blood level
#define BLOODSUCKER_HIDE_BLOOD "hide_blood_volume"
/// 1 tile down
#define ui_blood_display "WEST:6,CENTER-1:0"
/// 2 tiles down
#define ui_vamprank_display "WEST:6,CENTER-2:-5"
/// 6 pixels to the right, zero tiles & 5 pixels DOWN.
#define ui_sunlight_display "WEST:6,CENTER-0:0"
9 changes: 7 additions & 2 deletions code/__DEFINES/role_preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,10 @@
#define ROLE_HORROR "Eldritch Horror" // Yogs
#define ROLE_INFILTRATOR "Infiltrator" // Yogs
#define ROLE_ZOMBIE "Zombie"

#define ROLE_BLOODSUCKER "Bloodsucker"
#define ROLE_VAMPIRICACCIDENT "Vampiric Accident"
#define ROLE_BLOODSUCKERBREAKOUT "Bloodsucker Breakout"
#define ROLE_MONSTERHUNTER "Monster Hunter"

//Missing assignment means it's not a gamemode specific role, IT'S NOT A BUG OR ERROR.
//The gamemode specific ones are just so the gamemodes can query whether a player is old enough
Expand Down Expand Up @@ -85,7 +88,9 @@ GLOBAL_LIST_INIT(special_roles, list(
ROLE_DARKSPAWN = /datum/game_mode/darkspawn,
ROLE_SENTIENCE,
ROLE_ZOMBIE = /datum/game_mode/zombie,
ROLE_FUGITIVE
ROLE_FUGITIVE,
ROLE_BLOODSUCKER = /datum/game_mode/bloodsucker,
ROLE_MONSTERHUNTER,
))

//Job defines for what happens when you fail to qualify for any job during job selection
Expand Down
4 changes: 4 additions & 0 deletions code/__DEFINES/status_effects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@

#define STATUS_EFFECT_DETERMINED /datum/status_effect/determined //currently in a combat high from being seriously wounded

#define STATUS_EFFECT_FRENZY /datum/status_effect/frenzy //Makes you fast and stronger

/////////////
// DEBUFFS //
/////////////
Expand Down Expand Up @@ -147,6 +149,8 @@

#define STATUS_EFFECT_PROGENITORCURSE /datum/status_effect/progenitor_curse

#define STATUS_EFFECT_MASQUERADE /datum/status_effect/masquerade

/////////////
// SLIME //
/////////////
Expand Down
6 changes: 6 additions & 0 deletions code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@
#define TRAIT_EASILY_WOUNDED "easy_limb_wound"
#define TRAIT_HARDLY_WOUNDED "hard_limb_wound"
#define TRAIT_TOXINLOVER "toxinlover"
#define TRAIT_TOXIMMUNE "toxin_immune"
#define TRAIT_NOBREATH "no_breath"
#define TRAIT_ANTIMAGIC "anti_magic"
#define TRAIT_HOLY "holy"
Expand Down Expand Up @@ -216,6 +217,9 @@
#define TRAIT_NO_PASSIVE_HEATING "no-passive-heating"
#define TRAIT_BLOODY_MESS "bloody_mess" //from heparin, makes open bleeding wounds rapidly spill more blood
#define TRAIT_COAGULATING "coagulating" //from coagulant reagents, this doesn't affect the bleeding itself but does affect the bleed warning messages
#define TRAIT_NOPULSE "nopulse" // Your heart doesn't beat
#define TRAIT_MASQUERADE "masquerade" // Falsifies Health analyzer blood levels
#define TRAIT_COLDBLOODED "coldblooded" // Your body is literal room temperature. Does not make you immune to the temp

//non-mob traits
/// Used for limb-based paralysis, where replacing the limb will fix it.
Expand Down Expand Up @@ -319,6 +323,8 @@
#define GUARDIAN_TRAIT "guardian_trait"
#define RANDOM_BLACKOUTS "random_blackouts"
#define MADE_UNCLONEABLE "made-uncloneable"
#define BLOODSUCKER_TRAIT "bloodsucker_trait"
#define FRENZY_TRAIT "frenzy_trait"
#define HORROR_TRAIT "horror"

///Traits given by station traits
Expand Down
4 changes: 4 additions & 0 deletions code/_onclick/hud/hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
var/obj/screen/ling/chems/lingchemdisplay
var/obj/screen/ling/sting/lingstingdisplay

var/obj/screen/bloodsucker/blood_counter/blood_display
var/obj/screen/bloodsucker/rank_counter/vamprank_display
var/obj/screen/bloodsucker/sunlight_counter/sunlight_display

var/obj/screen/blobpwrdisplay

var/obj/screen/alien_plasma_display
Expand Down
33 changes: 33 additions & 0 deletions code/_onclick/hud/human.dm
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,31 @@
icon_state = "power_display"
screen_loc = ui_lingchemdisplay

/obj/screen/bloodsucker
icon = 'icons/mob/actions/actions_bloodsucker.dmi'
invisibility = INVISIBILITY_ABSTRACT

/obj/screen/bloodsucker/proc/clear()
invisibility = INVISIBILITY_ABSTRACT

/obj/screen/bloodsucker/proc/update_counter()
invisibility = 0

/obj/screen/bloodsucker/blood_counter
name = "Blood Consumed"
icon_state = "blood_display"
screen_loc = ui_blood_display

/obj/screen/bloodsucker/rank_counter
name = "Bloodsucker Rank"
icon_state = "rank"
screen_loc = ui_vamprank_display

/obj/screen/bloodsucker/sunlight_counter
name = "Solar Flare Timer"
icon_state = "sunlight_night"
screen_loc = ui_sunlight_display

/datum/hud/human/New(mob/living/carbon/human/owner)
..()
owner.overlay_fullscreen("see_through_darkness", /obj/screen/fullscreen/see_through_darkness)
Expand Down Expand Up @@ -302,6 +327,14 @@
devilsouldisplay = new /obj/screen/devil/soul_counter
infodisplay += devilsouldisplay

//bloodsuckers
blood_display = new /obj/screen/bloodsucker/blood_counter
infodisplay += blood_display
vamprank_display = new /obj/screen/bloodsucker/rank_counter
infodisplay += vamprank_display
sunlight_display = new /obj/screen/bloodsucker/sunlight_counter
infodisplay += sunlight_display

zone_select = new /obj/screen/zone_sel()
zone_select.icon = ui_style
zone_select.update_icon(mymob)
Expand Down
4 changes: 3 additions & 1 deletion code/datums/hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ GLOBAL_LIST_INIT(huds, list(
ANTAG_HUD_HERETIC = new/datum/atom_hud/antag/hidden(),
ANTAG_HUD_MINDSLAVE = new/datum/atom_hud/antag/hidden(),
ANTAG_HUD_ZOMBIE = new/datum/atom_hud/antag(),
ANTAG_HUD_INFILTRATOR = new/datum/atom_hud/antag() // Yogs
ANTAG_HUD_INFILTRATOR = new/datum/atom_hud/antag(), // Yogs
ANTAG_HUD_BLOODSUCKER = new/datum/atom_hud/antag(),
ANTAG_HUD_MHUNTER = new/datum/atom_hud/antag/hidden()
))

/datum/atom_hud
Expand Down
Loading