cl
add: Added a new antagonist, the Creep!
add: Chosen from a random event, the Creep will become obsessed with one person, feeling amazing around them and terrible when they aren't. They will have objectives to steal heirlooms, take pictures, hug, and kill coworkers. They also have to kill the obsession but some objectives can only be completed while the obsession is alive, requiring you to protect the obsession!
/cl
There really is no reason to betray people, generally. Maybe some stuff with security and traitors working things out, but a traitor based around betrayal and the general insane creep idea is just cool.
One Creep can show up, and they get objectives to mess with their obsession leading to the obsession's death. Here is their objectives:
A random creepy objective. It could be taking a photo with them in it, hugging them, etc
After your are done with your objectives, kill them. you can't complete the objectives when they are dead!
Creeps do not get the determination mood. Instead, when they are around their obsession, they feel AMAZING! If they are around too long, they will stutter, cough, and generally spaghetti out when talking near their obsession. So if you are going to talk near them, do it when you aren't entranced.
* Scope locate calls which are immediately checked against a list
* Remove silly use of locate from bible Topic
* Scope various locate calls (needs testing)
* More WIP
* Buff up lightswitches while we're here
* Tidy record browsing code
* Scope a few more locates
These have caused problems in the past (#41917, #39303). Continues #29349.
Also cleans up lightswitch code while I was already touching it.
I recommend a testmerge.
* Added admin smite: Mark for Death
🆑 coiax
admin: Admins can Mark For Death with the Smite menu, which functions
the same as someone being blood contracted.
tweak: The butcher knives and the red colouring of someone
marked for death will disappear after two minutes.
/🆑
The primary use I see of Mark for Death? WGW readers. Saw some
other admins use it, but they had to manually spawn in a contract
and use it.
The cleaning up after two minutes is so the station isn't covered in
cleavers, and the RED GET THIS GUY fades, so people can be horrified/thrilled
at their actions appropriately.
* No more smite for death
* Also remove that line
* Only the knives
cl 0d0be32, PKPenguin321, Armhulen, epochayur
refactor: Changeling powers are now action buttons rather than verbs.
imageadd: Thanks to epochayur for creating and compiling sprites for every single changeling action button!
imageadd: Thanks to Armhulen for the changeling button background sprite!
/cl
original pr #35394
the two main bugs i saw are fixed. reviving works, monkeyform/humanform works
fixes#41899
* Hardened Syndie Shuttle
* Fixes
* Fuck borgs
* Review
* Syndie turrets are now set to lethal by default
* here's hoping
makes the required changes this time with TGM(?)
* dv cleanup 1
* Cleans up two non-replaced plastitanium walls.
Nobody opens commit descriptions. Except the cutie reading this.
* Cleans up the turf I know I changed but somehow didn't in the final version.
cl
balance: blobs now receive a 50% cost refund on attacks that don't spread
balance: blobs receive a free chemical re-roll every 4 minutes
balance: reflector blobs are considerably tougher
fix: attempting to turn a damaged strong blob into a reflector blob now refunds points
fix: fixed an intregrity
/cl
I think Blob is a great midround antag. It provides a threat that forces the station to work together as a whole, adds excellent drama, and has a cool design. However, it's currently very weak. I think it needs both a buff of the core antag, and then some buffs/nerfs to bring all the different variants into line. This PR deals only with the former.
One thing blob is currently lacking in is kill power. To actually attack someone, or smash through a wall, takes a crippling amount of chemicals (usually 16-20). This means that if the blob fights back through spreading instead of factories it cripples itself. I believe attacking should be cheap to make blob a more dangerous enemy to fight, while not allowing it to reach critical mass more quickly while not in combat.
Re-rolls are very cool and make fighting blob more dynamic. They also help combat the current terrible balance between blob variants so RNG doesn't force you to watch yourself die to fire extinguishers. However, you have to pass up 80 chemicals to get one after your first. In fact, I believe any chemical cost makes re-rolling clunky to use - re-rolls work best as an attempt to throw off a crew that's beating you too easily, and sinking yourself into low points plays actively against that.
Reflector blobs are also rarely used. As they are now, you pay 15 points just to have a reflecting strong blob tile with 1/3rd health, and FOUR TIMES BRUTE DAMAGE. This means that the blob tile dies TWELVE TIMES quicker to brute than it did before! This buffs it to die a mere three times quicker to brute, and 1.5x quicker to burn.
🆑 coiax
fix: Abductors created by abductor mutation toxin will be able to talk
to themselves and to other abductors.
tweak: Abductor tongues now have distinct "channels". A person with an
abductor tongue will be able to attune another tongue to the same
channel as their own.
tweak: Speaking on the abductor channel will always use your mob's
"real name".
add: Abductor teams can now purchase additional superlingual matricies
from their abductor console.
/🆑
Essentially, non-antagonist abductors couldn't hear themselves or each
other because of special case handling when the tongue was present
inside someone with the abductor species, in order so mothership teams
could hear only their team.
Now: All abductor speech is only heard by people with the same
"mothership" var as the speech originator. People can attack_self() with
the tongues to attune them to their channel, in case mothership teams
want to buy additional tongues, attune them to their team, and put them
in their abductee victims. It also means that if you kill the Agent,
stick his tongue in your mouth, you'll be able to talk to the Scientist.
Mobs with abductor training (or observers) can identify which channel the tongue is
attuned to.
I also marked the items in the abductor shop that cost two credits.
🆑 coiax
admin: When the nuclear authentication disk remains stationary
for too long, the chances of a Lone Operative increase. Admins are
now notified when the chances go up.
/🆑
Surprises are bad, and it saves having to check the datum constantly.
cl XDTM
balance: DNA-damaging methods (changeling draining, mainly) no longer prevent alternative revival methods, but can no longer be circumvented by upgrading DNA scanners.
balance: Any source of husking now prevents cloning on unupgraded cloning scanners, instead of only husking caused by changelings.
balance: Husking now fully prevents revival from several non-cloning methods, including defibrillation, surgery, and strange reagent.
/cl
Why? Consistency! Also, the removal of prescanning/autocloning really simplifies this.
Changeling draining effectively prevents cloning until you transfer the brain to an intact body.
cl Kierany9
code: Several minor updates to Assimilation.
balance: Hosts no longer lose abilities if they fall below the required hive size.
balance: Mind Control victims can no longer see nor hear for the duration of the control.
tweak: Distortion Field now affects the victim and those surrounding them over time instead of instantly.
fix: Abilities that inflict stamina damage now affect the head instead of spreading damage over the entire body.
tweak: Mind Control now informs you of how long you have control for upon activation.
tweak: Changed various do_mob for do_after. All hivemind abilities except for Mass Assimilation should now work in certain situations where they didn't before.
balance: Abusing the sleep verb while mind controlling is no longer a viable tactic.
balance: Assimilating/removing people into/from the hive now has screen-wide range, with time taken to assimilate increasing exponentially with distance. The time to assimilate from 4 tiles away is approximately the same. Assimilation's cooldown has also been increased by five seconds to compensate.
/cl
Minor additions, changes and fixes for Assimilation that should handle some of the more nitpicky and learning-curve issues I've seen with it. Bigger changes coming soonlatertm.
* Christmas code changes
🆑 coiax
add: Santa can now examine presents to see what's inside.
del: Santa no longer has a mass summon presents spell, because of his
new regenerating bag!
add: Santa's bag regenerates presents as long as Santa is holding it.
balance: You can only find one gift under a christmas tree per round, no
matter how many trees you search.
balance: Santa's teleport does not announce where he's going.
fix: Fixed Santa not having a full head and beard of white hair.
fix: Fixed Santa not being genetically white-haired.
fix: Fixed Concentrated Barber's Aid not growing extreme amounts of
hair.
/🆑
The `box` var has been moved down from `/datum/outfit/job` to
`/datum/outfit`.
Added unlimited christmas tree with presents, for testing.
Santa's restriction against opening presents is now done by
TRAIT_CANNOT_OPEN_PRESENTS. Santa's ability to see inside presents is
done by the TRAIT_PRESENT_VISION, which also determines if Santa's Bag
will regenerate presents every 30 to 60 seconds.
Santa no longer starts with a breath mask and O2 tank, but instead has
an internals box. Santa no longer has a no-access gold ID, he can
teleport from room to room!
Gifts determine what type is inside them on initialization, rather than
when unwrapped.
- Reasoning -
Unlike last year, there are various possible methods of accessing
christmas trees spawners, allowing for an unlimited number of anything
presents. Cutting down the presents to one per round regardless of tree
count will avoid this.
Santa should be able to see what he's giving, because then he can reward
the naughty and nice children with different gifts.
* Missed a merge
* Adds present investigate logs, and visible messages
* Use the body+mind checking of mob.has_trait
* Less globals, more static vars on types; also event renaming
GENETICS
The random hexadecimal rng game has been replaced with gene sequencing from goon.
Adds mutation activators and mutators
You can now store mutations
Everyone now has their own set of unique mutations
Limited mutations per person to 8 (including one always being monkey)
Adds race specific mutations (See fire breathing for lizads)
You can inspect discovered mutations, undiscovered mutations use an alias to recognize them by
Adds a sequence analyzer. Can be used to scan someones genes sequence. Useful for determing what mutations they can safely have and or collecting data for very difficult sequences
Adds mutation combining. It's currently only RADIOACTIVE + STRONG = HULK (So yes you will now need 2 mutations for to get hulk)
Adds several other mutations. Telepathy, firebreath, glowy, radioactive and strength
cl Time-Green
add: Goon genetics!
add: More mutations! Fire breath for lizards! Radioactive! Telepathy! Glowy! Strength, though its cosmetic and should be combined with radioactivity instead! Fiery sweat!
add: Adds void magnet mutation by @tralezab !
/cl
cl MetroidLover
add: New Abductor uniforms
/cl
Try 2 due to horrendous incompetence on my part.
Saw these over on Oracle before it's plug got pulled, and I thought they looked nice and would be better than grey jumpsuits
🆑 coiax
add: Abductor scientists, or people who have had training similar to an
abductor's scientist will be able to examine alien glands to determine
their scientific purpose.
/🆑
Had a lot of fun making up dumb sciencey sounding explanations for the
glands.
Removes the "scientist" var from the species datum, don't need that
anymore.
TRAIT_ABDUCTOR_TRAINING and TRAIT_ABDUCTOR_SCIENTIST_TRAINING are the
important key traits here, assigned in the antag datum. Being an
abductor doesn't give you experience with all their tools, after all.
TRAIT_SURGEON (another trait the ayy scientist has) gives you access to
all surgeries, rather than a more snowflake-style species check.
Spiritual successor and extension to #17798, an almost entire rebuild of the SQL ban system backend and interface.
Bantypes are removed per #8584 and #6174. All bans are now 'role bans', server bans are when a ban's role is server. Admin bans are a column, meaning it's possible to ban admins from jobs.
Bans now have only an expiry datetime, duration is calculated from this when queried.
unbanned column is removed as it's superfluous, checking unban status is now done through checking unban_datetime. unban_round_id column added. Each ip and computerid columns rearranged so ip is always first, like in other tables. Bans now permit a null ckey, ip and computerid.
Ban checking is split into two procs now is_banned_from() does a check if a ckey is banned from one or more roles and returns true or false. This effectively replaces jobban_isbanned() used in simple if() statements. If connected a client's ban cache is checked rather than querying the DB. This makes it possible for a client connected to two or more servers to ignore any bans made on one server until their ban cache is rebuilt on the others. Could be avoided with cross-server calls to update ban caches or just the removal of the ban cache but as is I've done neither since I think it's enough of an edge case to not be worth it.
The second proc is is_banned_from_with_details(), this queries the DB for a role ban on a player's ckey, ip or CID and returns the details. This replaces direct queries in IsBanned.dm and the preferences menu.
The legacy ban system is removed.
The interfaces for banning, unbanning and editing bans have been remade to require less clicking and easier simultaneous operations. The banning and jobban panel are combined. They also store player connection details when opened so a client disconnecting no longer stops a ban being placed.
New banning panel:
Key, IP and CID can all be toggled to allow excluding them from a ban.
Checking Use IP and CID from last connection lets you enter only a ckey and have the DB fill these fields in for you, if possible.
Temporary bans have a drop-menu which lets you select between seconds, minutes, hours, days, weeks, months and years so you don't need to calculate how many minutes a long ban would be. The ban is still converted into minutes on the DB however.
Checking any of the head roles will check both of the boxes for you.
The red role box indicates there is already a ban on that role for this ckey. You can apply additional role bans to stack them.
New unbanning panel:
Unbanning panel is now separate from the banning panel but otherwise functionally the same.
Ban editing panel:
Actually just a modified banning panel, all the features from it work the same here.
You can now edit almost all parameters of a ban instead of just the reason.
You can't edit severity as it's not really part of the ban.
The panels have been tested but I've not been able to get my local server to be accessible so ban functionality isn't properly confirmed. Plenty of testing will be required as I'd rather not break bans.
cl
admin: Ban interface rework. The banning and unbanning panels have received a new design which is easier to use and allows multiple role bans to be made at once.
prefix: Ban search and unbanning moved to unbanning panel, which is now a separate panel to the old banning panel.
/cl
🆑 coiax
fix: Fixes bug where Curse of Madness was not giving proper brain traumas.
/🆑
Also adds some messages so magic immune and foil hatted people on the station
plus observers will know when a curse of madness is cast/badminned.
cl
add: A wizard's scrying orb now grants both xray vision, and the ability to hear the dead to whoever possesses it.
balance: However, as soon as the orb is no longer in your possession, these abilities fade.
/cl
This was @XDTM's idea, when he implemented near death experiences.
It works even when in your backpack.
This also adds the TRAIT_XRAY_VISION, for non-genetic, non-eyeball sources of xray.
Why? Having a wizard talking to ghosts means it looks like he's talking to thin air. Also, this makes scrying orb a little more active in its knowledge gathering. Ghosts will have the chance to mislead the wizard with whatever they're talking about.
All powers that don't have their own feedback calls, Absorb DNA and Linglink, now call ..() after any cancelling returns.
Fixes#41621, Absorb DNA would do an extra feedback call from try_to_sting()
cl
tweak: spellbooks now count towards the survivalist objective if they were not used.
/cl
fixes#40857
It feels like shit if you don't know spellbooks don't count and you just lose out of nowhere. It also doesn't make sense for them to count if they still have magic powers.
cl ShizCalev
fix: Fixed chem OD's causing damage to robotic limbs.
fix: Fixed wood golems repairing robotic limbs every tick of life()
fix: Fixed vampires repairing robotic limbs every tick of life()...
fix: Fixed shadowpeople healing robotic limbs every tick of life()
fix: Fixed poppeople healing robotic limbs every tick of life()
fix: Fixed adjustBruteLoss and adjustFireLoss not properly discriminating for limb status types.
tweak: Fixed bibles healing robotic limbs, because your false deity can't fix SCIENCE.
fix: Fixed the Starlight Condensation, Nocturnal Regeneration, Tissue Hydration, Regenerative Coma, and Radioactive Resonance virus symptoms repairing robotic limbs.
/cl
Gonna be away the next two weeks, so if there's anything major after today just go ahead and close it and I'll fix it when I get back.