* Traumas are copied when a person is cloned
🆑 coiax
add: When a person is cloned, any mental traumas are cloned as well.
/🆑
If the cloner is going to recreate your delicate personality, it's going
to have to recreate anything wrong with your brain as well. After all,
where does one greytider's legitimate fear of security end, and another
one's irrational fear begin?
Essentially, traumas could be easily gotten rid of by cloning, or death
would rob a person of a rare positive trauma. Now you're stuck with them
until you get rid of them.
* Suggested changes
* Removes cloning traumas
* No more cloning traumas
* reverts to bubblegum before kor's previous changes since it has been so widely disliked i'd rather work with a more liked version
changes how the charge function works but still has the same result, also decereases the delay between subsequent charges slightly
* bubblegum now has a greater base speed
the charging var now represents a target rather than a boolean
bubblegums speed is no longer based on his anger modifier
new attack, blood ball, replaces blood spray, bubblegum throws out balls of blood at the target which create blood in a 3x3 area around the landing zone and deal damage
the way charges work has been totally revamped, no longer uses any method of throwing to fix a couple things, this fixes bubblegum infinitely charging through space, and also makes bubblegum continuing to charge even after hitting living targets possible
uses moved function for checking for successful movement rather than checking if move() returned true or not
blood warping and diving now increases the speed of bubblegum like slaughter demons, blood warp is also unable to be procced while bubblegum is in this increased speed state
* bubblegums blood ball attack is now apart of the main attacking function
the blood ball attack now has a 25% chance to be used if bubblegum didn't blood warp
the blood ball attack now shoots more balls depending on the anger modifier of bubblegum
slight increase to charge windups
removes useless recovery time setting for charges
sets bubblegum move speed increase back to move_to_delay instead of speed
blood ball is now a projectile for easier movement smoothing and existing functionalities
adds a target for blood balls ending position
* removes blood ball attack, didn't really fit thematically with the melee boss idea and was kind of lame
increases bubblegum vision range for targets and aggro vision range for attacking enemies
gives bubblegum rapid melee which lets him check for melee hits every 0.25 seconds, melee attacks still have a cooldown of 20 deciseconds though so this just gives him higher priority checking for hits, aka prevents standing next to bubblegum for 19 deciseconds and not being hit in some cases (blood warp)
charge no longer moves mobs that are hit since it was visually confusing especially in rapid succession
* bubblegums base move speed has been increased
bubblegums enrage speed is now double his base move spee
bubblegum now checks for melee hits every 1/8 of a second
bubblegums enrage is now handled by a time var
adds new ground slam attack, blows back enemies caught in the blast and does decent damage with a small stun
fixes bug where move_to_delay changes didn't happen until the change was checked next, added a function to handle these changes so they apply instantaneously
bubblegum now has immunity to weaker explosions
bubblegum is now immune to projectiles in his enraged state
charge stun has been changed to a paralyze to make the trampling much clearer as the mob will fall to the floor
increases blood warp pool range and makes it only proc on pools further away
re-adds blood spray as an attack
* ground slam is now just a function of bubblegums movement while enraged
slaughterlings have been added back as a main attack
bubblegums charge's target is now 2 turf distance past its targeted player so slammage can be fully utilized
enraged charges are slower because of their aoe and bubblegum having to slam down but normal charges are now faster as a result
adds recovery time for charges
turns down the paralyze times since they were basically a death sentence with no way out
blood warping now has a proper cooldown based on the last enraged time
blood warping now has a built in delay after the warp so you don't instantly get meleed
blood enrage now has an actually variable to handle the enrage timer
blood spray now has a constant range of 25 tiles
blood spray moves slower again
* rapid melee now procs every 1/4 second instead of every 1/8
bubblegum now retreats from you when he is not manually moved towards you, which is charging at the moment
bubblegum now only does direct charge damage when he isn't enraged with the ground slamming around him
charge speed is much faster around the board and enraged charges are faster again
the recovery time from charges is 1 second instead of 2 seconds now
you no longer get shorty paralyzed from ground slams or being hit by the charge (since it pretty much meant you would never get your weapons or things in your hand back)
actually figures out how throwing speed works and increases it instead of decreasing it like movement delay
fixes a bug so now living mobs in the process of being thrown cannot be hit by ground slam anymore (so ground slam wont hit you 30 times before you get thrown away)
* adds "hallucination" bubblegums, come for one attack then disappear but act as normal bubblegums for that time period
replaces slaughterlings attack with hallucination charges
bubblegum now only takes explosion damage of light severity (so you're gonna have to chuck a lot more bombs to cheese him)
bubblegum no longer plays his normal footstep sound while enraged, so you can actually hear the ground slam sounds
fixes a bug where charge could be attempted without a target
increases the volume on ground slams sound effect
removes the delay before moving on blood warping since bubblegum naturally moves away anyways and won't instant melee you anymore
* renames hallucination charge adding an around to the end in anticipation of more similar attack types
changes bubblegums initialize making only one spawnable to only work for its exact type
bubblegums charge now has a delay var for the windup on the charge
increases the delay of hallcuination charge's wind up
decreases the distance of the hallucinations so you can actually see them when there's more directions
* removes bubblegums retreating movement
increases probability of hallucination attacks
hallucinations can now move through bubblegum
bubblegum now starts moving right after charges end
fixes hallucination charge bugs where not all hallucinations had equal charge priority and would sometimes end up in different locations
turns off hallucination AI since it does nothing
hallucinations can no longer blood attack
* re-adds retreat distance and minimum distance to bubblegum.dm
bubblegums retreat distance and minimum distance are removed while he is enraged
charging is now just a boolean representation
changes attack probabilities again
fixes bug where bubblegums could spawn despite the fact that only one should be able to be spawned
cancels movetotarget function when charging
ground slam is now async fixing a bug where all of an enraged bubblegums actions would be delayed
after a charge bubblegum now starts movement toward his target instantly
bubblegum no longer has to have his time passed for the enrage end proc to work (i don't know why i did this check)
bubblegum counts as charging while doing the hallucination charge initially fixing some movement bugs
bubblegums charge is now fully handled outside of the other hallucinations charges fixing some issues
hallucinations no longer have a life proc that does anything
fixes a bad copy paste issue (my bad) where instead of hallucinations blood attacks being overrided and cancelled bubblegums base blood attack was overrided
* accounting for movement speed changes in the future by very slightly increasing the movement delay
* increases movement delays of bubblegum in anticipation of the movement speed decrease
bubblegum's ranged throws from his ground slam now go less far
bubblegums wait time for his hallucination attacks is now increased on the increased amount of directions he's coming from
* Fixes the notes text to be accurate
The default movetodelay has been set to before the speed change because it really made the base form of the boss underwhelming
The enraged movement delay has been increased to 3.75 to be exactly half of 7.5 like it was before, the only real problem with the movement was enrage being too fast so this should be fine
Removes snowflake check attempt to make bubblegum move faster after charges that didn't work and instead made him move even slower
* decreases damage of all attacks to make them consecutively punishing but not insta crit damage comboed into nothingness in half a second
removes ground slam from bubblegums enraged state since it just made it hard to balance and i couldn't get rid of the throw stun
adds vars for hallucination charges and charges that allow different delays and charge types
adds a six circled hallcination charge attack thats delay decreases as bubblegum takes damage
adds a triple charge that gets faster each time
adds a double hallcuination charge that doesnt include bubblegum himself that procs multiple times stacking up
removes blood spray attack, bubblegum now leaves blood wherever he moves, his hallucinations leave blood trails as well
increases delay slightly on bloodsmack attack
bubblegum no longer blood grabs unless the person is unconcious
hallucination charges now use random angles
* changes probability of second phase attacks based on anger modifier
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
add: Re-added autoprocessing function on the cloner
balance: records now have an associated last death time, which must sync with the mind to clone. This means you need a new record every time someone dies.
add: diskette records can be partially applied to records in the cloner, for instance to overwrite a name.
add: you can still scan living people to obtain their records for disk use, but these records can't be cloned from.
fix: cloning records are no longer based upon ckey
tweak: ghosts are no longer required for scanning
balance: Head access is no longer needed to delete records
balance: genetics access is required to alter (but not delete) records
add: do not resuscitate verb added for ghosts (can be toggled on and off)
/cl
Previous changes done in a neater way. Helps medics clone large piles of bodies, but doesn't provide a safety net.
Ghosts are no longer required for scanning so if you miss the prompt you're not screwed over, but you can set Do Not Resuscitate if you don't want to be cloned.
*label GCAT mutations
*allow partial modification of cloning record, i.e. put in a different UI/SE
*restrict modification to genetics access
make cloning disks compatible with genetics machines
"Features" that may need to be removed:
As before, this acts as a changeling test. Pre-scan someone, then scan them again when you think they might have been replaced - if they're a changeling, it'll create a new record instead of updating the old one.
Decisions to be made:
should being placed in the cloner give you a notification?
should autocloning prompt the ghost instead of the DNR system?
should you receive a detailed "cannot clone from outdated record", or should the extra information gained be limited?
In other words, you can now dance.
@subject217
cl
experimental: Mobs now turn towards anything grabbing them when they move.
experimental: Mobs are shifted towards anything grabbing them based on move state too. You can now dance by grabbing each other!
/cl
Basic multiZ mob movement procs (Observers can always move)
Open space, showing what things are below it, and everything that entails. No complex support for dynamic generation just yet.
Decide how openspace should look :/
Atoms falling through open space (NO MOB SUPPORT/DAMAGE/ANYTHING YET.)
//CANCELLED FOR ANOTHER PR - [ ] Being able to see upwards? Downwards is going to be handled by open space.
MultiZ tile atmospherics - EDIT: Working demo! https://puu.sh/B7mUs/3f6274740f.mp4
Bugtest the heck out of this trainwreck.
cl Denton
tweak: Metastation's kitchen cold room is now really cold! Make sure to wear warm clothing.
tweak: The kitchen clothing vendor now stocks two winter jackets by default.
tweak: Goats are now fine with temperatures as low as 180°K. This is so that Pete doesn't freeze to death inside the cold room.
code: Added a kitchen area subtype for cold rooms and adjusted chef CQC to work inside it (no gameplay changes).
/cl
You know how it's called a cold room, looks like a cold room but is actually just another storage room?
I made the Meta kitchen cold room spawn at -80°C and added a freezer to it. Originally I wanted to pick a more realistic temperature (like -25°C), but the way body temperature works means that you'd have to sit inside it for minutes to feel an effect.
Now, you can store bodies inside it, trap people and let them freeze to death, or lower the temperature even further and use it as a ghetto cryo chamber.
Also:
Kitchen clothing vendor gets two winter jackets and goats survive at lower temperatures (so Pete doesn't just die).
* Gibs now rot and generate miasma
🆑 coiax
add: Gibs will now rot if not cleaned, and produce small amounts of miasma, approximately
equal to a quarter of a corpse.
/🆑
Miasma is fun. Gives the janitor more of a reason to do work. It will only become
dangerous if you have a lot of gibs in a small space. So better keep those Hopline shutters
open.
* Rot component, for things that rot
* Whoops
* No longer processes, so doesn't need to stop
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
🆑 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
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.
cl XDTM
add: Added the Hypnotic Flash to the uplink for 7 TC.
add: The Hypnotic Flash temporarily confuses and pacifies those it's used on.
add: If the victim is in a mentally vulnerable state (hallucinating, insane, reduced mental activity) they will instead fall into a trance, and will be hypnotized by the next words they hear.
/cl
Controlled hypnosis for traitors. Usual caveats apply: Mindshield prevents the trance effect (but not the confusion/pacification) and it can still deconvert from hypnosis; a new hypnosis will override the previous one; and most importantly for any ambiguity the interpretation is mostly up to the victim, so it's not a 100% sure conversion (i'm hoping people won't use this clause to just ignore it).
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.
🆑 coiax
add: Adds the Physically Obstructive negative quirk. A person with this
quirk can't swap places with other people when moving, akin to someone
always being in non-help intent.
/🆑
Adds the TRAIT_NOMOBSWAP to accomplish this.
Blindfolds don't actually need to inherit anything from sunglasses, from what I
can see, unless there's some bad type checking somewhere in the code that I'm
not aware of.
Exploit is: cloth makes blindfold + medHUD -> medHUD sunglasses -> remove
medHUD, regular sunglasses.