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.
cl XDTM
add: Spraying holy water on tiles will now prevent cult-based teleportation from using them as a destination point.
tweak: Quantum, wormhole and magic teleportation is no longer disrupted by bags of holding.
/cl
Refactors some teleportation code so it uses do_teleport instead of directly forceMove.
do_teleport now has a channel argument, to specify the type of teleportation used. This will affect what can and cannot interfere with teleportation. For example, BoHs interfere with bluespace teleportation but not wormhole, quantum or magic teleportation.
do_teleport now sends a COMSIG_ATOM_INTERCEPT_TELEPORT signal, allowing the target turf (or anything placing a signal on said turf) to react appropriately. As a proof of concept, blessed tiles use it to prevent teleportation from the cult channel.
Intercepting teleportation can have interesting potential uses, from teleport denial fields, to teleport scramblers (teleports you somewhere else instead), telefraggers that gib anyone unlucky enough to teleport in their area of effect, teleport anchors that shunt all teleportations in a wide area to themselves, and so on.
cl Skoglol
fix: Reduced ventcrawl lag greatly.
/cl
Basically prevents adding pipe images to client if they are outside view range. I don't know of any situations where the view range while vent crawling is higher than the standard 7, if there are let me know so I can up it.
Partial fix of #41433 as vent crawling is still fairly expensive for the server, but at least alleviates the client lag. See the short videos below for a comparison.
cl Qustinnus / Floyd / Ethereal sprites by Space, is that it? / Alerts and food sprites by MrDroppodBringer
add: Adds Ethereal; a race which lives off of electricity and shines bright. If they are healthy they shine a bright green light, and the more damaged they are, the less they shine and the greyer they become. Their punches do burn damage and they are weak to blunt attacks!
They dont need to eat normal food and dont have nutrition, Instead they gain charge by going into borg rechargers, eating ethereal food or doign specific interactions.
refactor: all nutrition changes now go through a proc so we can override behavior
/cl
Adds Ethereal. A race which is essentialy inspired by Zoltan but then with different mechanics to make it fit with SS13 more. I'm trying to stay away from making them actually provide power but the change from nutrition to electricity seemed kind of fun.
They have the following specifications:
They are walking lights; and shine bright and green if healthy, and get greyer and darker the more damaged they are. When dead they are just a grey unlit corpse.
They do burn punch damage instead of blunt.
They are weaker to blunt; especially when low on charge
They have charge instead of nutrition. Charge is gained by some interactions or by going into a borg charger. or eating new ethereal food.
They are slightly stronger to shock damage, and gain charge from it a bit; however, it is still deadly to them and thus they aren't free insulated gloves.
cl imsxz
balance: AI can now only interact with things on its z level
/cl
oranges endorsed. this is untested, i'm about to go to sleep and will fix any issues in when i wake up. at the time of posting, this is mostly proof of concept, please yell at me how to do it correctly.
* I'm through accepting limits 'cuz someone says they're so
* Some things I cannot change but till I try, I'll never know!
* Too long I've been afraid of losing love I guess I've lost
* Well, if that's love it comes at much too high a cost!
* I'd sooner buy
* DEFYING GRAVITY
* Kiss me goodbye, I'm defying gravity
* I think I'll try
* DEFYING GRAVITY
* And you won't bring me down
* Unlimited
* Tendrils are now structure based
* Re-adds tendril wipe achievement
neatens up ash walker variables
gets rid of unnecessary variables in hivelord
* Marks spawner children as admin spawned