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

Conversation

mrmanlikesbt
Copy link
Contributor

@mrmanlikesbt mrmanlikesbt commented Dec 27, 2024

About The Pull Request

Vampires

vampire

Vampires are team-based antagonists with roughly the same power level as changelings which constantly lose blood and have to feed off of humans to replenish it. They must create a lair and are incentivized to vassalize the crew. Alongside night vision and heat vision, they have a set of inherent traits while not using the Masquerade power.

  • No beating heart
  • No breathing
  • Sleep immune
  • Immune to the cold
  • Immune to radiation
  • Crit doesn't knock them down
  • Can't taste food
  • Can't get sick
  • Can't take toxin damage

Entering a Frenzy

frenzy

When a vampire's blood dips below 25, they will enter a frenzy.

When a vampire enters a frenzy they become deaf and mute, their screen turns blood red, they lose access to all powers except Feed and Trespass, and can no longer use items. Aside from the negatives, they can instantly aggressively grab people, and if you are part of the Malkavian clan you become stun-immune as well.

The Masquerade

masquerade_broken

Vampires have two rules, don't get noticed feeding, and don't get revealed by the Archive of the Kindred. If a non-vampire or non-vassalized person sees you feeding, then you will receive a Masquerade Infraction. If you receive 3 infractions or are revealed via the Archive of the Kindred, you will have broken the masquerade and all vampires are open to kill you. Members of the Malkavian clan will gain an objective to slay you, and your vassals can be stolen by other vampires.

Sol

sol

Sol is an event that happens every 10 minutes and lasts 1 minute. When Sol arrives, a vampire must be in either a coffin or a closet, otherwise, they burn. During Sol, vampires enter Torpor where they will heal and sleep away the rest of Sol. At the end of Sol, vampires are given a rank to spend on a new power or whatever gimmick the clan has.

Torpor

torpor

Torpor is triggered in one of two ways: a vampire dies, or Sol puts them to sleep while in a coffin.
When a vampire enters Torpor, they fall asleep and are healed (assuming the masquerade power is not active). If a vampire enters torpor because they died, they will eventually be resurrected.

Stakes

stake

Stakes are the bane of a vampire, they can either be made in the crafting menu under the Weapons section or whittled by using a sharp object on wood. Stakes are embedded into a person's chest only while they are immobile (unconscious or stunned).

The following occurs when a vampire is staked.

  • All healing is halted while the stake is still embedded
  • Automatic revival is blocked
  • You can no longer rest in a coffin
  • Most powers are blocked

The Archive of the Kindred and Curators

kindred

Curators are immune to most vampire attacks and are meant to be a sudo vampire enemy. Think of the chaplain's relationship with a cult.

The Archive of the Kindred is found in the curator's backroom and is only usable by the curator, if you attempt to use the book and not a curator, you will be burned. If you are a curator you can read the book for knowledge on each vampire clan and how they work, you can also hit somebody with the book to see if they are a vampire or not. If the targeted person is a vampire and does not have the masquerade power, their true identity will be revealed to you.

Clans

caitiff

Vampires choose a clan that shapes their gameplay, by default, they are in the Caitiff clan. This clan has no specific positives or negatives.

Malkavian

malkavian

  • Members of the Malkavian clan gain hallucinations upon joining and a special brain trauma that allows them to see Phobetor Tears and travel through them, granted nobody is watching, they gain X-RAY eyes, and when they enter a frenzy they are stun immune.
  • The Malkavian clan's objective is to slay anyone who has broken the Masquerade.
  • The Malkavian clan's favorite vassal gains hallucinations and the Phobetor Trauma.

Nosferatu

nosferatu

  • Members of the Nosferatu clan are easily recognized as vampires. They lose the Masquerade and Veil ability while also gaining a bad back and becoming disfigured. Their strength is the ability to vent-crawl.
  • The Nosferatu clan's objective is to steal the Archive of the Kindred.
  • The Nosferatu clan's favorite vassal also becomes disfigured and can vent-crawl while naked.

Tremere

tremere

  • Members of the Tremere clan will burn in the chapel. Instead of having access to the same powers every other clan has, Tremere members are given three new clan-specific powers that they can level up (see the powers section). Tremere members gain ranks by vassalizing people instead of how they are normally obtained.
  • The Tremere clan's objective is to upgrade one of their powers to its maximum level.
  • The Tremere clan's favorite vassal gains the ability to transform into a bat at will.

Ventrue

ventrue

  • Members of the Ventrue clan can only level up 3 times, any further ranks are used on their favorite vassal. Members of the Ventrue clan can no longer drink from mindless humans or mice.
  • The Ventrue clan's objective is to level up your favorite vassal until they become a vampire.
  • The Ventrue clan's favorite vassal is leveled up by their master until they eventually become a vampire.

Vassals

vassal

A vassal is a crewmember enslaved to a vampire. You can convert crewmembers into your vassals by creating a persuasion rack, dragging your "recruit" onto it and torturing them.

Vassals are de-converted by use of Mindshield (NOT HOLYWATER), favorite vassals cannot be de-converted.

Sanguine Recuperation

power_recuperate
BLOOD DRAIN: 1.5

Use this power to heal your wounds at the cost of your stamina and blood from both you and your master.

Distress

power_distress
BLOOD COST: 10

Use this power and your master will instantly be alerted to your location.

The Favorite Vassal

favorite_vassal
Favorite vassals cannot be de-converted via Mindshield and gain a power unique to each clan.

Caitiff - You gain the brawn ability
Malkavian - You now suffer hallucinations and gain the ability to use Phobetor Tears
Nosferatu - You are now disfigured and gain the ability to vent-crawl while naked
Tremere - You gain the ability to transform into a bat at will
Ventrue - Your master can spend their ranks to give you powers and turn you into a vampire

Your Crypt

securecoffin

Every proper vampire needs a crypt, whether it be in maintenance or the captain's bathroom, this is where you will get up to the majority of your evil deeds. A crypt may be claimed by dragging a coffin into an unclaimed room and sleeping in it. After claiming your crypt you will gain access to three new structures which you can make in the crafting menu.

The Persuasion Rack

vassalrack

Persuasion racks are used to convert crewmembers into your vassals. To use the rack, you must first find a "volunteer" and drag them onto the rack. After this, hit the rack with an empty hand (while not on help intent) and you will start torturing them. If the person you are torturing has any of the following 4 traits, they are unconvertable.

  • They are a changeling, cultist, or vampire

  • They are a vassal AND their master has not broken the masquerade

  • They are asleep

  • You have reached your max vassals

  • They are mindshielded or an antagonist and do not want vassilization. (They will be given a popup asking whether or not they want to be vassilized.)

If you have a tool in your off-hand this will decrease the amount of time it takes to torture someone, generally the sharper and more damage it deals, the better. After torturing your new friend for a total of three times they will become your completely loyal vassal.

When finished, you can unbuckle your new vassal by clicking on the rack while on help intent, or you can turn them into a special vassal by clicking the rack while not on help intent.

The Candelabrum

candelabrum

The candelabrum is a structure that can be turned on and off by vampires and vassals. If you view the candelabrum while it's lit you are given a mood-debuff and will experience hallucinations, you are not affected by this if you are a vampire, vassal, or curator.

The Blood Throne

bloodthrone

The blood throne allows vampires to communicate with their vassals telepathically via the vampire speaking out loud. If a non-vampire attempts to sit on the throne they will be paralyzed for 10 seconds.

Powers

power_feed

Feed

feed64x64

Use this power while next to a person or a mouse to begin feeding off of them and replenish your blood. The higher rank you are, the faster you will begin to feed. If you feed off of someone while aggressively grabbing them you will put them to sleep.

Masquerade

masq

BLOOD COST: 10
BLOOD DRAIN: 0.1

Use this power to conceal your vampiric nature. Your heart will beat to life, you gain a genetic sequence, and health analyzers report you as having 100% blood.

Veil of Many Faces

veil

BLOOD COST: 10
BLOOD DRAIN: 0.1

Use this power to randomize your identity. Your clothes and ID will not be changed and you won't be on the manifest.

Vanishing Act

vanish

BLOOD COST: 100

This power is given to all vampires that have a lair shortly before Sol arrives. When activated, you are teleported to your coffin with a short delay. If you're being watched while teleporting and your viewer isn't a vassal or vampire, you will drop all of your belongings.

Things to note

  • Bloodsuckers are originally from fulpstation, however, this pr uses a lot of the code from monkestation's original port
  • Monster hunters are NOT in this port. The curator replaces all relevant interactions, sort of giving them the same importance as a chaplain.
  • Due to how awful the hud system is and my not wanting to refactor large parts of it, vampires cannot see each others' hud icons. Instead, every vampire team is assigned one antag hud to which all team members are added. Hopefully, this can be changed when the following PR is merged.
  • [PORT] Follows up TG's atom_hud system #10897

Why It's Good For The Game

bloodsucker.antag.mp4

Testing Photographs and Procedure

Screenshots&Videos

Sol

sol.mp4

Torpor

torpor.mp4

Final Death

final.death.mp4

Stakes

stake.mp4

Archives of the Kindred

kindred.mp4

Clans

Malkavian

malkavian.mp4

Nosferatu

nosferatu.mp4

Ventrue

ventrue.mp4

Vassalizing

vassalizing.mp4

Powers

Feed

feed.mp4

Masqeruade

masquerade.mp4

Veil

veil.mp4

Vanishing Act

vanishing.act.mp4

Cloak

cloak.mp4

Fortitude

fortitude.mp4

Brawn

brawn.mp4

Immortal Haste

immortal.haste.mp4

Predatory Lunge

predatory.lunge.mp4

Mesmerize

mesmerize.mp4

Trespass

trespass.mp4

Changelog

🆑 mrmanlikesbt, TheSwain, JohnFulpWillard, absolucy
add: new antagonist, vampire (bloodsuckers)
del: vampire race
imageadd: radial menu yes and no icon
tweak: you can drink from blood bags now
code: new trait helper for adding a list of traits to a mob
code: rename getorganslot proc to get_organ_slot
/:cl:

base bloodsucker functionality
fixed veil power not changing identity
fixed gohome power
fixed sol not putting bloodsuckers to sleep
fixed some malkavian clan things
fixed new coffins not opening
fixed the masquerade status alert not having a background
fixed runtime errors
fixed lunge ability
slightly adjusted the persuasion rack's bloodsucker description
the persuasion rack can no longer be walked over when secured
securing/unsecuring a bloodsucker building plays the ratchet sfx
removed the constant moodlet for bloodsuckers
bloodsuckers cant use the momento mori anymore
using targeted powers changes your mouse icon
lunging onto a dead person removes all their chest organs
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot added Sprites Sound TGUI-Changes Contains changes to TGUI. Make sure its up to date with TGUI 4.0 labels Dec 27, 2024
fixes two balloon alerts being shown when trying to vassalize a mindless mob
fixes malkavians not getting a new objective when another bloodsucker breaks the masquerade
fixed phobetor tears showing up as the wrong icon
non-humans can no longer be vassalized (sorry animal intelligence players)
renames the finaldeath proc
nosferatu clan gives badback
bloodsucker teams are now actually initialized
malkavians can use phobetor tears if being watched by bloodsuckers or vassals
cleaned up a bit of code
@Absolucy
Copy link
Contributor

please do not port the code 1:1

bloodsucker code is infamously HORRIBLE and would be much better off with extensive refactors/rewrites

@mrmanlikesbt
Copy link
Contributor Author

fair enough

various code cleanup and fix prs (all of which by absolucy)
i rewrote the vassal conversion code
@mrmanlikesbt
Copy link
Contributor Author

@itsmeow how are antagonist preference icons decided? I've been trying to figure this out for a few days, but haven't been able to figure it out. The code below always has the traitor icon.

/datum/role_preference/antagonist/bloodsucker
	name = "Bloodsucker"
	description = "..."
	antag_datum = /datum/antagonist/bloodsucker
	preview_outfit = /datum/outfit/bloodsucker

/datum/outfit/bloodsucker
	name = "Bloodsucker outfit (Preview only)"
	suit = /obj/item/clothing/suit/costume/dracula

Screenshot 2024-12-31 033355

I've also tried to change other antagonist preferences' preview outfits, but I couldn't even get that to work. This led me to believe that maybe they're compiled with tgui, so re-compiled it to no avail. After that I wasted my time by going down some other rabbit holes that lead no where.

@itsmeow
Copy link
Member

itsmeow commented Dec 31, 2024

@mrmanlikesbt
Debug -> Regenerate Asset Cache

@TsunamiAnt
Copy link
Contributor

why is it bloodsucker and not vampire anyhow. Honestly ruins the vibe a bit.

@mrmanlikesbt
Copy link
Contributor Author

There is a vampire race and bloodsucker antagonist, I don't want to cause confusion between the two. Or we can just delete the vampire race and rename bloodsuckers to vampires.

@TsunamiAnt
Copy link
Contributor

Just delete vampires and rename 'em. Our vamps were always just a Halloween gimmick anyhow

@mrmanlikesbt
Copy link
Contributor Author

Just delete vampires and rename 'em. Our vamps were always just a Halloween gimmick anyhow

@PowerfulBacon ?

@mrmanlikesbt mrmanlikesbt changed the title [PORT] Bloodsuckers from monkestation [PORT] Bloodsuckers Jan 3, 2025
@PowerfulBacon PowerfulBacon removed the Test Merged This PR is currently in rotation label Feb 17, 2025
@mrmanlikesbt
Copy link
Contributor Author

mrmanlikesbt commented Feb 17, 2025

my planned changes after the first TM

  • All vampire structures are made with a new material that you get from using a spell on iron. (think cult's twisted construction and runed metal)
  • Vampires are no longer round removed on Final Death but instead when the conditions are met, block their automatic revival. (idk how this would play into vassals)
  • Add a guide tab to the Vampire Info Panel to simplify things for first-time vampires.
  • Add a spell to hide vampire structures (think of the cult "Conceal Presence" spell)
  • Change the Spell-picking UI to give a description of each spell.
  • Greater combat abilities

@wikimody
Copy link
Contributor

Not sure about greater combat abilities, i was plaing sec during test merge and we only won when going full lethals
Also make it posible to arest them, we had to swith to kiling because nothing else works

@Therealdoooc213
Copy link
Contributor

They have no round-end HUD icon from what I can see.

@mrmanlikesbt
Copy link
Contributor Author

Clans are now chosen by resting in a claimed coffin and powers are chosen via radial menu instead of the previous tgui popup.
Feedback is always appreciated if anybody thinks this should be different

2025-02-18.00-27-31.mp4

@mrmanlikesbt
Copy link
Contributor Author

instead of using the crafting menu for vampire structures you now use the 'Vampiric Conversion' power on iron to convert it into fleshy mass which is used to make the new vampire structures. I should note however, the new coffins are still made via the crafting menu (except the meat coffin)

2025-02-20.14-20-54.mp4

Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@PowerfulBacon
Copy link
Member

Conflicting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants