Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PORT] Removes vampire race, replaces them with vampire antagonist (bloodsuckers) #12092

Open
wants to merge 112 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
6c88297
initial
mrmanlikesbt Dec 20, 2024
6951f0f
stuff, log in desc
mrmanlikesbt Dec 22, 2024
5718167
Merge branch 'BeeStation:master' into bloodsucker
mrmanlikesbt Dec 22, 2024
6659b41
i need this file space ok?
mrmanlikesbt Dec 27, 2024
306234c
Merge branch 'bloodsucker' of https://github.com/mrmanlikesbt/BeeStat…
mrmanlikesbt Dec 27, 2024
a6f4e70
Merge branch 'master' into bloodsucker
mrmanlikesbt Dec 27, 2024
bb1bc66
Merge branch 'bloodsucker' of https://github.com/mrmanlikesbt/BeeStat…
mrmanlikesbt Dec 28, 2024
d09c897
fixes compilation errors + grammar
mrmanlikesbt Dec 28, 2024
07ec2c7
stuff
mrmanlikesbt Dec 28, 2024
efe0d1c
mostly code cleanup
mrmanlikesbt Dec 29, 2024
8bf2e41
🍎
mrmanlikesbt Jan 3, 2025
69273ed
lets fix this before i forget
mrmanlikesbt Jan 3, 2025
fc8928d
Merge branch 'BeeStation:master' into bloodsucker
mrmanlikesbt Jan 3, 2025
056878f
im tired
mrmanlikesbt Jan 4, 2025
15af799
whoops
mrmanlikesbt Jan 4, 2025
7bf4a0c
am i stupid?
mrmanlikesbt Jan 4, 2025
10a35f7
i am a vampire
mrmanlikesbt Jan 8, 2025
c497464
soulstone
mrmanlikesbt Jan 8, 2025
77d6f5f
Update malkavian.dm
mrmanlikesbt Jan 8, 2025
9bf58f6
lets fix this before it becomes a problem
mrmanlikesbt Jan 8, 2025
4e74ce7
will this fix linters?
mrmanlikesbt Jan 8, 2025
1fb65bd
going to bed now. hope this fixes it
mrmanlikesbt Jan 8, 2025
50631e8
cleanup + bugfixes
mrmanlikesbt Jan 10, 2025
c6b3b6a
oops
mrmanlikesbt Jan 10, 2025
6d08842
removes vampire race, fix linters (probably)
mrmanlikesbt Jan 10, 2025
3e5db7e
fixes
mrmanlikesbt Jan 11, 2025
1ac4a52
tgui, rewrote power explanations, fixed problem with final_death
mrmanlikesbt Jan 11, 2025
173d1bc
fix runtime + bloodshield fix
mrmanlikesbt Jan 11, 2025
0d817b4
rename bloodsuckers to vampires
mrmanlikesbt Jan 11, 2025
25d9a46
fix checks probably
mrmanlikesbt Jan 11, 2025
db42371
linter
mrmanlikesbt Jan 11, 2025
61561e0
what the FUCK IS A KILOMETER
mrmanlikesbt Jan 11, 2025
f1ada62
im freaking it
mrmanlikesbt Jan 11, 2025
8bf8f1e
plz
mrmanlikesbt Jan 11, 2025
8b4dac7
need this file space
mrmanlikesbt Jan 12, 2025
c215cf2
fix checks probably
mrmanlikesbt Jan 13, 2025
840b225
humanity is kind of stupid. goodbye
mrmanlikesbt Jan 14, 2025
2dfec30
last commit kind of looks like a suicide note :trollface:
mrmanlikesbt Jan 14, 2025
a64a8e5
tgui looks a lot cooler with the narsie theme
mrmanlikesbt Jan 14, 2025
07d0307
minor changes
mrmanlikesbt Jan 21, 2025
f977fdc
Merge branch 'BeeStation:master' into bloodsucker
mrmanlikesbt Jan 21, 2025
973824a
Update AntagInfoVampire.tsx
mrmanlikesbt Jan 21, 2025
a57dfa9
Merge branch 'bloodsucker' of https://github.com/mrmanlikesbt/BeeStat…
mrmanlikesbt Jan 21, 2025
5484d82
gamemodes
mrmanlikesbt Jan 24, 2025
28b4db1
Merge remote-tracking branch 'upstream/master' into bloodsucker
mrmanlikesbt Jan 24, 2025
938fd22
s is for span
mrmanlikesbt Jan 24, 2025
b08c571
goodbye context parameter
mrmanlikesbt Jan 26, 2025
214521f
Merge remote-tracking branch 'upstream/master' into bloodsucker
mrmanlikesbt Jan 31, 2025
99f4b0f
five nights
mrmanlikesbt Jan 31, 2025
92a824d
Merge branch 'BeeStation:master' into bloodsucker
mrmanlikesbt Feb 1, 2025
1a51b46
this is BROKEN i will FIX IT later
mrmanlikesbt Feb 2, 2025
81d9e13
Merge remote-tracking branch 'upstream/master' into bloodsucker
mrmanlikesbt Feb 2, 2025
ca46d0b
actions
mrmanlikesbt Feb 2, 2025
53bdc08
ok dude.
mrmanlikesbt Feb 2, 2025
8be03c0
fix checks probably
mrmanlikesbt Feb 2, 2025
4e03ad6
goodbye trigger_flags
mrmanlikesbt Feb 3, 2025
212bc2c
Update _targeted.dm
mrmanlikesbt Feb 3, 2025
e6dabce
Update misc_procs_vampire.dm
mrmanlikesbt Feb 3, 2025
dadff57
dinner time
mrmanlikesbt Feb 3, 2025
358bec2
Update tremere.dm
mrmanlikesbt Feb 3, 2025
03f0645
i never have to touch power explanations again
mrmanlikesbt Feb 3, 2025
d45c6de
how did that check even fail dude
mrmanlikesbt Feb 3, 2025
656f6c4
used audio files
mrmanlikesbt Feb 3, 2025
05d2223
Merge branch 'BeeStation:master' into bloodsucker
mrmanlikesbt Feb 3, 2025
3e75278
Merge branch 'BeeStation:master' into bloodsucker
mrmanlikesbt Feb 4, 2025
dc17d25
Update _clan.dm
mrmanlikesbt Feb 4, 2025
5c26112
Merge branch 'bloodsucker' of https://github.com/mrmanlikesbt/BeeStat…
mrmanlikesbt Feb 4, 2025
4aaa83d
Merge branch 'BeeStation:master' into bloodsucker
mrmanlikesbt Feb 7, 2025
a6a44f6
Update AntagInfoVampire.tsx
mrmanlikesbt Feb 8, 2025
79409ed
Merge branch 'BeeStation:master' into bloodsucker
mrmanlikesbt Feb 12, 2025
156489a
Merge branch 'BeeStation:master' into bloodsucker
mrmanlikesbt Feb 14, 2025
28cc75f
Merge branch 'BeeStation:master' into bloodsucker
mrmanlikesbt Feb 15, 2025
2947252
freaky deaky combat mode
mrmanlikesbt Feb 15, 2025
6adf8f1
some eency weency little things
mrmanlikesbt Feb 15, 2025
c08b64e
archive
mrmanlikesbt Feb 15, 2025
60b4d71
malkavian
mrmanlikesbt Feb 15, 2025
41753a0
Update malkavian.dm
mrmanlikesbt Feb 15, 2025
4c3617e
Update malkavian.dm
mrmanlikesbt Feb 15, 2025
4415a9a
health analyzer blood
mrmanlikesbt Feb 15, 2025
e638709
Update feed.dm
mrmanlikesbt Feb 15, 2025
9a58dd8
eawed
mrmanlikesbt Feb 15, 2025
6e7be8a
fix some runtimes
mrmanlikesbt Feb 15, 2025
ca56e7c
Update recuperate.dm
mrmanlikesbt Feb 15, 2025
8381547
consistency
mrmanlikesbt Feb 16, 2025
dbde9f7
absolucy pt1
mrmanlikesbt Feb 16, 2025
f9a6e9e
absolucy pt2 & rename getorganslot to get_organ_slot
mrmanlikesbt Feb 16, 2025
cdaf852
VERY partial absolucy pt3 & removed vassal cap :trollface:
mrmanlikesbt Feb 16, 2025
0a4ea23
typo
mrmanlikesbt Feb 17, 2025
eeb9382
vampires heal inorganic limbs now
mrmanlikesbt Feb 17, 2025
c1a3829
Merge branch 'BeeStation:master' into bloodsucker
mrmanlikesbt Feb 17, 2025
353c7e9
Update _targeted.dm
mrmanlikesbt Feb 17, 2025
ea55c3c
Merge branch 'bloodsucker' of https://github.com/mrmanlikesbt/BeeStat…
mrmanlikesbt Feb 17, 2025
8420419
Update datum_vampire.dm
mrmanlikesbt Feb 17, 2025
7cdd88c
remove brawn rng
mrmanlikesbt Feb 18, 2025
c82a1b9
all vassals get distress
mrmanlikesbt Feb 18, 2025
53e2975
join clan from a coffin
mrmanlikesbt Feb 18, 2025
85b6509
vamps can heal burn now (albeit inefficiently). compiler fix
mrmanlikesbt Feb 18, 2025
a6870e8
fix clan picking radial menu
mrmanlikesbt Feb 18, 2025
591a379
bat transformation fix
mrmanlikesbt Feb 18, 2025
1c6f7e8
code consistency
mrmanlikesbt Feb 18, 2025
61e9325
radial menu for power selection
mrmanlikesbt Feb 18, 2025
457073d
tremere radial
mrmanlikesbt Feb 18, 2025
fb6607e
Update _targeted.dm
mrmanlikesbt Feb 18, 2025
4d73e4b
Merge branch 'BeeStation:master' into bloodsucker
mrmanlikesbt Feb 19, 2025
7116051
fleshy mass
mrmanlikesbt Feb 20, 2025
9e306e4
Update metals.dm
mrmanlikesbt Feb 20, 2025
dd01cc3
Merge remote-tracking branch 'upstream/master' into bloodsucker
mrmanlikesbt Feb 23, 2025
0598a20
Update effects.dmi
mrmanlikesbt Feb 23, 2025
5a2247d
removed final death
mrmanlikesbt Feb 24, 2025
c8531c5
revenge vassal nuke
mrmanlikesbt Feb 24, 2025
8615ef5
blacklist IPCs and diona
mrmanlikesbt Feb 24, 2025
281bc6f
Update datum_vampire.dm
mrmanlikesbt Feb 24, 2025
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
48 changes: 47 additions & 1 deletion beestation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@
#include "code\__DEFINES\turfs.dm"
#include "code\__DEFINES\typeids.dm"
#include "code\__DEFINES\uplink.dm"
#include "code\__DEFINES\vampires.dm"
#include "code\__DEFINES\vehicles.dm"
#include "code\__DEFINES\visual_helpers.dm"
#include "code\__DEFINES\vv.dm"
Expand Down Expand Up @@ -332,6 +333,7 @@
#include "code\__HELPERS\test_helpers.dm"
#include "code\__HELPERS\text.dm"
#include "code\__HELPERS\time.dm"
#include "code\__HELPERS\traits.dm"
#include "code\__HELPERS\turfs.dm"
#include "code\__HELPERS\type2type.dm"
#include "code\__HELPERS\type_processing.dm"
Expand Down Expand Up @@ -421,6 +423,7 @@
#include "code\_onclick\hud\robot.dm"
#include "code\_onclick\hud\screen_objects.dm"
#include "code\_onclick\hud\swarmer.dm"
#include "code\_onclick\hud\vampire.dm"
#include "code\_onclick\hud\rendering\plane_master.dm"
#include "code\_onclick\hud\rendering\plane_master_controller.dm"
#include "code\_onclick\hud\rendering\render_plate.dm"
Expand Down Expand Up @@ -511,6 +514,7 @@
#include "code\controllers\subsystem\stat.dm"
#include "code\controllers\subsystem\stickyban.dm"
#include "code\controllers\subsystem\sun.dm"
#include "code\controllers\subsystem\sunlight.dm"
#include "code\controllers\subsystem\supply.dm"
#include "code\controllers\subsystem\tgui.dm"
#include "code\controllers\subsystem\throwing.dm"
Expand Down Expand Up @@ -1181,6 +1185,7 @@
#include "code\game\gamemodes\revolution\revolution.dm"
#include "code\game\gamemodes\traitor\double_agents.dm"
#include "code\game\gamemodes\traitor\traitor.dm"
#include "code\game\gamemodes\vampire\vampire.dm"
#include "code\game\gamemodes\wizard\wizard.dm"
#include "code\game\machinery\_machinery.dm"
#include "code\game\machinery\ai_slipper.dm"
Expand Down Expand Up @@ -1759,6 +1764,7 @@
#include "code\game\objects\structures\tank_dispenser.dm"
#include "code\game\objects\structures\target_stake.dm"
#include "code\game\objects\structures\traps.dm"
#include "code\game\objects\structures\vampire_crypt.dm"
#include "code\game\objects\structures\watercloset.dm"
#include "code\game\objects\structures\windoor_assembly.dm"
#include "code\game\objects\structures\window.dm"
Expand Down Expand Up @@ -1792,6 +1798,7 @@
#include "code\game\objects\structures\crates_lockers\closets\secure\secure_closets.dm"
#include "code\game\objects\structures\crates_lockers\closets\secure\security.dm"
#include "code\game\objects\structures\crates_lockers\crates\bins.dm"
#include "code\game\objects\structures\crates_lockers\crates\coffins.dm"
#include "code\game\objects\structures\crates_lockers\crates\critter.dm"
#include "code\game\objects\structures\crates_lockers\crates\large.dm"
#include "code\game\objects\structures\crates_lockers\crates\secure.dm"
Expand Down Expand Up @@ -2258,6 +2265,45 @@
#include "code\modules\antagonists\traitor\IAA\internal_affairs.dm"
#include "code\modules\antagonists\valentines\heartbreaker.dm"
#include "code\modules\antagonists\valentines\valentine.dm"
#include "code\modules\antagonists\vampire\conversion_vampire.dm"
#include "code\modules\antagonists\vampire\datum_vampire.dm"
#include "code\modules\antagonists\vampire\daylight_vampire.dm"
#include "code\modules\antagonists\vampire\frenzy_vampire.dm"
#include "code\modules\antagonists\vampire\life_vampire.dm"
#include "code\modules\antagonists\vampire\misc_procs_vampire.dm"
#include "code\modules\antagonists\vampire\moodlets_vampire.dm"
#include "code\modules\antagonists\vampire\names_vampire.dm"
#include "code\modules\antagonists\vampire\objectives_vampire.dm"
#include "code\modules\antagonists\vampire\clans\_clan.dm"
#include "code\modules\antagonists\vampire\clans\assignclan.dm"
#include "code\modules\antagonists\vampire\clans\clan_flavortext.dm"
#include "code\modules\antagonists\vampire\clans\malkavian.dm"
#include "code\modules\antagonists\vampire\clans\nosferatu.dm"
#include "code\modules\antagonists\vampire\clans\tremere.dm"
#include "code\modules\antagonists\vampire\clans\ventrue.dm"
#include "code\modules\antagonists\vampire\powers\_power.dm"
#include "code\modules\antagonists\vampire\powers\cloak.dm"
#include "code\modules\antagonists\vampire\powers\conversion.dm"
#include "code\modules\antagonists\vampire\powers\feed.dm"
#include "code\modules\antagonists\vampire\powers\fortitude.dm"
#include "code\modules\antagonists\vampire\powers\gohome.dm"
#include "code\modules\antagonists\vampire\powers\masquerade.dm"
#include "code\modules\antagonists\vampire\powers\veil.dm"
#include "code\modules\antagonists\vampire\powers\targeted\_targeted.dm"
#include "code\modules\antagonists\vampire\powers\targeted\brawn.dm"
#include "code\modules\antagonists\vampire\powers\targeted\haste.dm"
#include "code\modules\antagonists\vampire\powers\targeted\lunge.dm"
#include "code\modules\antagonists\vampire\powers\targeted\mesmerize.dm"
#include "code\modules\antagonists\vampire\powers\targeted\trespass.dm"
#include "code\modules\antagonists\vampire\powers\tremere\_tremere.dm"
#include "code\modules\antagonists\vampire\powers\tremere\auspex.dm"
#include "code\modules\antagonists\vampire\powers\tremere\dominate.dm"
#include "code\modules\antagonists\vampire\powers\tremere\thaumaturgey.dm"
#include "code\modules\antagonists\vampire\powers\vassal\distress.dm"
#include "code\modules\antagonists\vampire\powers\vassal\recuperate.dm"
#include "code\modules\antagonists\vampire\vassals\datum_vassal.dm"
#include "code\modules\antagonists\vampire\vassals\favorite_vassal.dm"
#include "code\modules\antagonists\vampire\vassals\misc_procs_vassal.dm"
#include "code\modules\antagonists\wishgranter\wishgranter.dm"
#include "code\modules\antagonists\wizard\wizard.dm"
#include "code\modules\antagonists\wizard\equipment\artefact.dm"
Expand Down Expand Up @@ -3004,6 +3050,7 @@
#include "code\modules\language\sylvan.dm"
#include "code\modules\language\terrum.dm"
#include "code\modules\language\uncommon.dm"
#include "code\modules\language\vampiric.dm"
#include "code\modules\language\voltaic.dm"
#include "code\modules\language\xenocommon.dm"
#include "code\modules\library\lib_codex_gigas.dm"
Expand Down Expand Up @@ -3233,7 +3280,6 @@
#include "code\modules\mob\living\carbon\human\species_types\shadowpeople.dm"
#include "code\modules\mob\living\carbon\human\species_types\skeletons.dm"
#include "code\modules\mob\living\carbon\human\species_types\snail.dm"
#include "code\modules\mob\living\carbon\human\species_types\vampire.dm"
#include "code\modules\mob\living\carbon\human\species_types\zombies.dm"
#include "code\modules\mob\living\carbon\human\verbs\give.dm"
#include "code\modules\mob\living\carbon\monkey\death.dm"
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/antagonists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@
#define FACTION_BLOB "Blob"
#define FACTION_ALIEN "Xenomorph"
#define FACTION_WIZARD "Wizard"
#define FACTION_VAMPIRE "Vampire"

// Heretic path defines.
#define HERETIC_PATH_START "Heretic Start Path"
Expand Down
1 change: 0 additions & 1 deletion code/__DEFINES/is_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,6 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list(
#define ishumanbasic(A) (is_species(A, /datum/species/human) && !is_species(A, /datum/species/human/krokodil_addict))
#define iscatperson(A) (is_species(A, /datum/species/human/felinid) )
#define isethereal(A) (is_species(A, /datum/species/ethereal))
#define isvampire(A) (is_species(A,/datum/species/vampire))
#define isdullahan(A) (is_species(A, /datum/species/dullahan))
#define isipc(A) (is_species(A, /datum/species/ipc))
#define isapid(A) (is_species(A, /datum/species/apid))
Expand Down
3 changes: 2 additions & 1 deletion code/__DEFINES/language.dm
Original file line number Diff line number Diff line change
Expand Up @@ -82,5 +82,6 @@ GLOBAL_LIST_INIT(multilingual_language_list, typecacheof(list(
/datum/language/sylvan,
/datum/language/terrum,
/datum/language/uncommon,
/datum/language/voltaic
/datum/language/voltaic,
/datum/language/vampiric
)))
4 changes: 3 additions & 1 deletion code/__DEFINES/role_preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@
#define ROLE_PYRO_SLIME "Pyroclastic Anomaly Slime"
#define ROLE_MONKEY_HELMET "Sentient Monkey"
#define ROLE_PRISONER "Prisoner"
#define ROLE_WIZARD_APPRENTICE "apprentice"
#define ROLE_WIZARD_APPRENTICE "Apprentice"
#define ROLE_VAMPIRE "Vampire"

/// Roles that are antagonists, roundstart or not, and have passes to do.. antagonistry
GLOBAL_LIST_INIT(antagonist_bannable_roles, list(
Expand Down Expand Up @@ -92,6 +93,7 @@ GLOBAL_LIST_INIT(antagonist_bannable_roles, list(
ROLE_FUGITIVE_HUNTER,
ROLE_SLAUGHTER_DEMON,
ROLE_CONTRACTOR_SUPPORT_UNIT,
ROLE_VAMPIRE,
))

#define BAN_ROLE_FORCED_ANTAGONISTS "Forced Antagonists"
Expand Down
1 change: 0 additions & 1 deletion code/__DEFINES/species.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
#define SPECIES_SKELETON "skeleton"
#define SPECIES_SNAILPERSON "snail"
#define SPECIES_SUPERSOLDIER "supersoldier"
#define SPECIES_VAMPIRE "vampire"
#define SPECIES_PSYPHOZA "psyphoza"

//Defines for Golem Species IDs
Expand Down
178 changes: 178 additions & 0 deletions code/__DEFINES/vampires.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
///Uncomment this to enable testing of Vampire features (such as vassalizing people with a mind instead of a client).
//#define VAMPIRE_TESTING

#ifdef VAMPIRE_TESTING
#ifdef CIBUILDING
#error VAMPIRE_TESTING is enabled, disable this!!!
#else
#warn VAMPIRE_TESTING is enabled, you REALLY do not want this enabled outside of local testing!!
#endif
#endif

/**
* Blood-level defines
*/
/// Determines Vampire regeneration rate
#define BS_BLOOD_VOLUME_MAX_REGEN 700
/// Cost to torture someone halfway, in blood. Called twice for full cost
#define TORTURE_BLOOD_HALF_COST 8
/// Cost to convert someone after successful torture, in blood
#define TORTURE_CONVERSION_COST 50
/// Once blood is this low, will enter Frenzy
#define FRENZY_THRESHOLD_ENTER 25
/// Once blood is this high, will exit Frenzyshak
#define FRENZY_THRESHOLD_EXIT 250

/**
* Vassal defines
*/
///If someone passes all checks and can be vassalized
#define VASSALIZATION_ALLOWED 0
///If someone has to accept vassalization
#define VASSALIZATION_DISLOYAL 1
///If someone is not allowed under any circimstances to become a Vassal
#define VASSALIZATION_BANNED 2

/**
* Cooldown defines
* Used in Cooldowns Vampires use to prevent spamming
*/
///Spam prevention for healing messages.
#define VAMPIRE_SPAM_HEALING (15 SECONDS)
///Span prevention for Sol Masquerade messages.
#define VAMPIRE_SPAM_MASQUERADE (60 SECONDS)

///Span prevention for Sol messages.
#define VAMPIRE_SPAM_SOL (30 SECONDS)

/**
* Clan defines
*/
#define CLAN_NONE "Caitiff"
#define CLAN_BRUJAH "Brujah Clan"
#define CLAN_TOREADOR "Toreador Clan"
#define CLAN_NOSFERATU "Nosferatu Clan"
#define CLAN_TREMERE "Tremere Clan"
#define CLAN_GANGREL "Gangrel Clan"
#define CLAN_VENTRUE "Ventrue Clan"
#define CLAN_MALKAVIAN "Malkavian Clan"
#define CLAN_TZIMISCE "Tzimisce Clan"

#define TREMERE_VASSAL "tremere_vassal"
#define FAVORITE_VASSAL "favorite_vassal"

/**
* 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.
#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 Vampires
#define VAMPIRE_CAN_BUY (1<<0)
/// This is a Default Power that all Vampires get.
#define VAMPIRE_DEFAULT_POWER (1<<1)
/// This Power can be purchased by Tremere Vampires
#define TREMERE_CAN_BUY (1<<2)
/// This Power can be purchased by Vassals
#define VASSAL_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)

/**
* Vampire Signals
*/
///Called when a Vampire ranks up: (datum/vampire_datum, mob/owner, mob/target)
#define VAMPIRE_RANK_UP "vampire_rank_up"
///Called when a Vampire interacts with a Vassal on their persuasion rack.
#define VAMPIRE_INTERACT_WITH_VASSAL "vampire_interact_with_vassal"
///Called when a Vampire makes a Vassal into their Favorite Vassal: (datum/vassal_datum, mob/master)
#define VAMPIRE_MAKE_FAVORITE "vampire_make_favorite"
///Called when a new Vassal is successfully made: (datum/vampire_datum)
#define VAMPIRE_MADE_VASSAL "vampire_made_vassal"
///Called when a Vampire exits Torpor.
#define VAMPIRE_EXIT_TORPOR "vampire_exit_torpor"
///Whether the Vampire should not be dusted when arriving Final Death
#define DONT_DUST (1<<0)
///Called when a Vampire breaks the Masquerade
#define COMSIG_VAMPIRE_BROKE_MASQUERADE "comsig_vampire_broke_masquerade"
///Called when a Vampire enters Frenzy
#define VAMPIRE_ENTERS_FRENZY "vampire_enters_frenzy"
///Called when a Vampire exits Frenzy
#define VAMPIRE_EXITS_FRENZY "vampire_exits_frenzy"

/**
* Sol signals & Defines
*/
#define COMSIG_SOL_RANKUP_VAMPIRES "comsig_sol_rankup_vampires"
#define COMSIG_SOL_RISE_TICK "comsig_sol_rise_tick"
#define COMSIG_SOL_NEAR_START "comsig_sol_near_start"
#define COMSIG_SOL_END "comsig_sol_end"
///Sent when a warning for Sol is meant to go out: (danger_level, vampire_warning_message, vassal_warning_message)
#define COMSIG_SOL_WARNING_GIVEN "comsig_sol_warning_given"
///Called on a Vampire's Lifetick.
#define COMSIG_VAMPIRE_ON_LIFETICK "comsig_vampire_on_lifetick"

#define DANGER_LEVEL_FIRST_WARNING 1
#define DANGER_LEVEL_SECOND_WARNING 2
#define DANGER_LEVEL_THIRD_WARNING 3
#define DANGER_LEVEL_SOL_ROSE 4
#define DANGER_LEVEL_SOL_ENDED 5

/**
* Clan defines
*
* This is stuff that is used solely by Clans for clan-related activity.
*/
///Drinks blood the normal Vampire way.
#define VAMPIRE_DRINK_NORMAL "vampire_drink_normal"
///Drinks blood but is snobby, refusing to drink from mindless
#define VAMPIRE_DRINK_SNOBBY "vampire_drink_snobby"
///Drinks blood from disgusting creatures without Humanity consequences.
#define VAMPIRE_DRINK_INHUMANELY "vampire_drink_imhumanely"

/**
* Traits
*/
/// Falsifies Health analyzer blood levels
#define TRAIT_MASQUERADE "trait_masquerade"
/// Your body is literal room temperature. Does not make you immune to the temp
#define TRAIT_COLDBLOODED "trait_coldblooded"

/**
* Sources
*/
#define TRAIT_VAMPIRE "trait_vampire"
/// Source trait while Feeding
#define TRAIT_FEED "trait_feed"
/// Source trait during a Frenzy
#define TRAIT_FRENZY "trait_frenzy"
/// Source trait for vampires in torpor.
#define TRAIT_TORPOR "trait_torpor"
/// Source trait for vampire mesmerization.
#define TRAIT_MESMERIZED "trait_mesmerized"

/**
* Macros
*/
#define IS_VAMPIRE(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/vampire))
#define IS_VASSAL(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/vassal))
#define IS_FAVORITE_VASSAL(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/vassal/favorite))
#define IS_CURATOR(mob) (mob?.mind?.assigned_role == JOB_NAME_CURATOR)

//Used in vampire_life.dm
#define MARTIALART_FRENZYGRAB "frenzy grabbing"
9 changes: 9 additions & 0 deletions code/__HELPERS/traits.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/// Proc that handles adding multiple traits to a target via a list. Must have a common source and target.
/datum/proc/add_traits(list/list_of_traits, source)
for(var/trait in list_of_traits)
ADD_TRAIT(src, trait, source)

/// Proc that handles removing multiple traits from a target via a list. Must have a common source and target.
/datum/proc/remove_traits(list/list_of_traits, source)
for(var/trait in list_of_traits)
REMOVE_TRAIT(src, trait, source)
4 changes: 4 additions & 0 deletions code/_onclick/hud/hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
var/atom/movable/screen/ling/chems/lingchemdisplay
var/atom/movable/screen/ling/sting/lingstingdisplay

var/atom/movable/screen/vampire/blood_counter/blood_display
var/atom/movable/screen/vampire/rank_counter/vamprank_display
var/atom/movable/screen/vampire/sunlight_counter/sunlight_display

var/atom/movable/screen/blobpwrdisplay

var/atom/movable/screen/alien_plasma_display
Expand Down
Loading
Loading