About The Pull Request
repaths clothing/under to be more sane
Also fixed a couple of bugs relating to pathing being incorrect, and modified a couple of bad descriptions and names
Also adds a map path updating script, which also helps show the full repath.
Why It's Good For The Game
improves maintainability, makes mapping easier, stages for a clothing dmi split
Changelog
cl
refactor: repathed all under clothing, keep an eye out for errors
/cl
* Brain damage works on organ damage procs, some defib reworks
* Heart and Lung damaging effects and failure, liver damage and failure moved to its organ again
* Cleans up reused global
* Organ damage procs on living and living/carbon
* Changes brain damage procs again
* SR heals all organs on revive, no decay for cybernetic implants, stomach damage and fail effects.
* Damage and failure effects for the appendix, ears, and some touchups on the stomach
* Committing changes so I don't lose them
* Organs now cease decaying in the proper containers
* Organ Fridges
* Reverts map changes
* Adds coronary bypass, lobectomy, trying to deal with organ_stat runtime
* Actually fixes merge conflict
* Smartfridge tweaks
* Think I figured out map merger
* Evidently not
* Still runtiming with glass shards even after I remove the map changes?
* Fixes runtime error with brain_item
* Runtime fix on living/carbon/life
* Cleaning up old PR code
* Brain damage fix, moves defines to actually be in _DEFINES, under DNA since that's where organ slots were
* Wrong math operation used
* Brains in MMIs no longer decay
* Removes redundant variable, and defibs no longer work on heart attacks caused by failing hearts
* Removes misleading comment
* init freezes organs in case organ crates are added, morgue corpses are frozen, removes adjustLiverLoss
* Removes random spaces, scanners check brain damage severity now
* Swaps numbers for defines, fixes brain surgery, rebalances coronary bypass bleed since that was insane last I tested it
* List change
* Runs off of an index instead of using cut
* Brains can be put into organ fridges
* Fixes minor type, hotfix for cloning problem
* Removes pointless check
* Demon hearts no longer decay
* Nightmare hearts no longer decay
* Removes istype() check on process, sets can_decompose instead
* Condenses organ damage report
* Removes organ failure messages
* Less organ damage spam, implements organ threshold messages instead
* Brain damage messages go to owner, not source
* Self-examine shows damaged organs
* Minor code cleanup, adds autodoc comments to the new procs
* Inverts standard organ vars to prevent random organs decaying, adds a few more autodoc comments.
* Merged the booleans into a set of flags
* Healthy living improves organ healing rates
* dunno why this didn't update
* my actions have consequences
* Sets ORGAN_SYNTHETIC for overlooked robotics organs
* Doubles heart decay time
* 3 minute heart decay
* Lobectomy/Coronary_Bypass heal more
* removes hivemind spells from the changes
Adds a preference for jumpsuit/jumpskirt into the game. Currently runs
a jumpskirt for all occupations on spawn except for miner, since they
have their special lavaland suit, and no skirt variant I could find.
Doesn't remove skirts from lockers/machines yet since I am not 100% as
to whether that should be done (clothes are available generically for
the sake of changing outfits/recovering clothes after a whoops with
some pyrotechnics).
In advance of eventually adding SpacemanDMM's linter to Travis, fix everything it can currently detect.
Some lists, including global lists, are given types so that L[i].foo expressions can be checked.
Some procs are given a new form of return type annotation so that DuplicateObject(O).forceMove()-type invocations can be checked.
Open to syntax suggestions on the return type annotations, and on whether the preprocessor strategy makes sense.
Return type syntax is currently roughly:
<typepath> | <paramname>([_])*(.type)?
About The Pull Request
Same premise as #44712 but using a simple regex replace and also on the client side
Closes#44712
I was gonna PR it to #44712 but half way through I realized I had already replaced nearly all of bobbah's changes, and after I was finished the branches shared nothing.
Why It's Good For The Game
The delta is way smaller and simpler
Should solve the DoS concerns without needing a limit on bad chats because it's not a loop it's on the client side
Changelog
cl JJRcop and Bobbahbrown
tweak: When attempting to say a blocked word in character you will be notified which ones were blocked.
/cl
Cables now autoconnect on cardinal directions. All cable placement has been completely stripped out and replaced with simple single cable per tile logic.
Low effort demo: https://www.youtube.com/watch?v=fXp8s6ORWbA
Yes I am aware that cutting it is not dropping wire, that version was bugged.
Cables no longer need a knot specifically placed to link to power objects. The sprite is automatically changed to represent this.
The only exception to this logic is that on smes units, due to the terminal being next to the output, they will not link there.
On a technical powernet side, this is the same as old cables once actually placed. They still use the existing powernet system, just the placement and connection works differently.
Old cables have been turned into "pipe cleaners" for wire art purposes. they work just like the old ones, just missing all the powernet functionality, and also you can put them on top of the floor.
Why It's Good For The Game
How obnoxious cables were to both map and work with in game has been something that has annoyed me for a really long time now.
This is both easier for new players to learn, and easier for experienced players to work with.
Along with making in game much more intuitive and easier, it makes mapping much easier as well. Mad lad wjohn was able to rip out all the mapping conversion in one day because of how much faster it is to work with.
cl actioninja and wjohn
add: Cables have been completely reworked. Simple per tile connection logic, automatically connects to things above it. Think minecraft redstone.
add: Old cables have been kept as pipe cleaner. They are non-functional in terms of power, but otherwise have the same connection logic. Also can go on top of tiles.
remove: mech cable layer has been removed because it was terrible shitcode nobody used
tweak: (sort of balance) cable stack sized has been reduced to 15.
/cl
* Adds 10 new drinks + related stuff.
* Update code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
Co-Authored-By: Krysonism <49783092+Krysonism@users.noreply.github.com>
* Update alcohol_reagents.dm
* Fixes the pwr game soda I messed up
* gives champagne the intended price
* Tries to fix the atrocious spelling and grammar
* Adds period
* Tries to appease cobby
Removes Mandela(RIP)
Makes misc changes cobby wanted to the best of my limited ability.
* Taking "catsip" out behind the shed
The drink catsip has been axed. Rest in peace.
* Reworks turbo to be more unique
Turbo no longer boosts your speed, but instead restores stamina based on how drunk you are. Enjoy responsibly, or get shitfaced and fight with security.
* blob refactor
* blobtype -> blobstrain
* fixes, chemical -> strain
* only /mob/living experience Life, blobs and other cameras can process if they need to
also other fixes
* call_life goes out
* ispath thing
About The Pull Request
Pretty much what it says on the tin.
Oh yeah I also removed the string concatenation nonsense in favor of multiline strings and a list.
Why It's Good For The Game
Removes many getFlatIcon calls during the round, also some runtimes from ephemeral items being created and immediately deleted when the vending machines are used.
Changelog
cl Naksu
tweak: vending machines now use spritesheets
/cl
* fugitives
* lets make this a bit cleaner
* cultists and the beginnings of security detail, lots of wip
* wip security
* WALDO (and some more work on yalp, of course)
* adding antagonist teams for both hunter and fugitives, roundend report beginnings
* this whole file is shit, but hopefully a little better
* it compiles (+ space police)
* some more work
* S.E.L.F. fluff
* grammar and icon fixes
* lets finish yalp elor, give it the justice it deserves
* moves hunter spawns to ship pods + russians P1
* moves hunter spawns to ship pods + russians P2
* fugitives and hunters now recognize eachother
* hunter spawning finished(?)
* missed this
* ATH's review
* runtime fixed, added yalp's transport ability
* anturk's review
* makes hunter.dm better trust me
* oopsies
* INVOKE_ASYNC
* russian ship + finally a (bad) sprite for the capture machine
* step > pixel, thanks travis
* mooshroom review p1
* mooshroom review p2
* improper use of /improper
* waldo's radio doesn't stick, police id
* candidate picking is more flexible + minor things
Port of yogstation13/Yogstation-TG#2549
which is a port of Citadel-Station-13/Citadel-Station-13#7442
which is a port of OracleStation/OracleStation#50
This port visualizes items in all machines handled by _vending.dm, allowing a
person to see what they're buying before buying it. This is very useful for
clothing vendors for example, and much better than the previous system that had
vending machines choose from three colors randomly.
Credits to:
* AndrewMontagne (Oracle, original implementation)
* FlattestGuitar (Citadel)
* nichlas0010 (Yogstation)
🆑 coiax
code: Randomly coloured gloves and randomly coloured glowsticks now have
slightly different typepaths, but otherwise function the same.
/🆑
Essentially, these items just acted AS spawners by qdeling in Initialize
(or at least hinting) and spawning a new totally seperate item.
There is nothing that uses the auto-equipping of random gloves, so I
removed it.
* 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
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 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.
In preparation of pixel movement, I want to refactor our slowdown system to something more modular, and something that doesn't require /quite/ as many proccalls/calculations a tick. The way this works is intended to only have things recalculate when it's necessary, rather than calling it every move.
However, I've left movement_delay() in, as without completely redoing a lot of code it's not /quite/ ready at this point to tear it out completely, but I'm hoping everything can be transitioned over to this system later.
Adds maintenance pills. They are a rare maint loot that holds a random reagent, with exception of a few blacklisted ones. Their name and description are also random
Added a new ghost verb that lets you change your ignore settings, allowing previously ignored popups to be un-ignored and notifications without an ignore button to be ignored
The old color-change functionality of the multitool remains unchanged. The hud is toggled with an action button, because multitools already have an attack_self() that does something. When toggled on, you get the hud as long as the multitool is in any slot on your body.
The only way I could find to reliably show exactly where an AI is looking was to place an image on every turf they are looking at. Because AI eyes move around a lot and I do not want them placing images all over the place when they do not have to, if there is nobody in the world currently using an ai detection multitool, they will not update the images until someone is.
Only AI eyes and multicamera zones currently appear. Advanced camera consoles do not appear on the hud, and no longer trigger the proximity color change. Also fixed multitools not appearing in-hands if their icon state changed.
* Adds VR Snowdin and Syndicate Trainer
* Replace var edit
* I did forget to add a few
* Adds one full outfit spawn
* internals too
* closet
* Extends same Z level check to monitor and emping
* restricted uplinks
* camera bug fixes
don't talk about the bees
outfit changes
More items
outfit fix
* Adds vr sleepers to runtime station
* More mapping fixes
* Adds telecomms to taunt your enemies
* More restrictions
* Some fixes
* badabing
* More fixes
* emag related changes
* forgot the ract
* Additions
* griff resistance mode
* minor changes
* Removes old centcom away map
* Pushes you out of VR if you try to ghost
* this is :b:roke
* this shit is not :b:roke
* as requested