Intent of this PR: make factions actually matter.
How we're going to do this:
Make factions limit job choices.
Make factions have alternative loadouts that override job uniforms
Make factions be visible in the employment records.
Revert existing faction loadout options or put them behind a preference, in favour of new shit.
Adds SSDocs, which manages randomly spawned documents.
These documents can be specified in a json file or in a database.
Adds /obj/random/document and adds /obj/random/document to the loot pool of /obj/random/loot.
Actually adding the notes to spawn is up to loredevs. If there are no notes to choose from, /obj/random/document will leave a blank sheet.
The notes can have HTML in them, meaning custom CSS and images. We're giving the loredevs a good bit of responsibility here.
It has been posited that it doesn't make sense to hear certain sounds through walls. So, I proceeded to go and change that.
All sounds with a volume of 50 or less will now be played only to the "hearers" list. This is basically people within line of sight. I also rewrote the lower levels of the sound API with this. The code is now more modular, while retaining the same main API entry point playsound.
This needs a test merge to see how badly I broke shit.
Adds ability for Gestalt to detach their limb nymphs and use them for scouting or whatever.
Detached Nymph can switch back and forth between controlling Gestalt or nymph
Detached nymph can merge back into Gestalt, restoring lost limb instantly.
Makes initialization of Diona nymphs based on external organs it has, not a hardcoded number
No longer Nymphs spawn on turf and move into Gestalt during initial setup.
No longer removing internal limbs would cause spawn of nymph. Only external organs do that now.
Timers:
Adds new proc in timers that calls the callback and deletes timer afterwards. Used when you need to make active timer execute now.
* Fixes Space-Ruin Issues
Fixes Load-Time and Lighting issues on the Space Ruins by moving the loading of the ruins into Atlas
* Reworks the space ruin loader
It´s now based on a json file which allows to set the weight of the ruins, add various tags with a specified weight and restrict the maps the ruin can be used in
* Fixes compile warnings
* Change z-levels in aurora.dm
* Moves the SubSystem
* Changes the player_levels back again since the away mission is now loaded after the z expansion
This adds timers sanity checks with stack tracing of where it was called. Check are:
If timer had no callback(crashes timer)
If timer was called with negative wait time. Converts time to 0 and gives call stack.
If timer was called on deleted or about to be deleted object. Still runs, but gives call stack
If timer had infinite or more wait time. Crashes timer
Adds sanity check to beams for timer wait time.
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;
All << is converted into to_chat().
Adds a helper proc for money transfers between two accounts.
Cleans up the EFTPOS and cargo delivery code to use said helper proc.
Changes SSEconomy to use indexed lists for accounts and look up the accounts by accessing it via the index.
When the round refuses to start because of a lack of players or lack of antags, it will properly state this instead of stating that there aren't enough players.
The Wizard gamemode, and the Ninja gamemode, both have restrictions that prevent the gamemode from being launched if there are more than 15 players, unless it was voted specifically.
This PR makes it so that random lethal viruses can only occur if there is a virologist to cure them. This PR also makes it so the viruses themselfs don't have completely random effects, but effects that make sense together by adding a new system.
There was an issue with one of the travis checks that caused reagents with incorrect specific heat values to sneak into the game and cause havok. This fixes that.
Fixes#5594Fixes#5593
DreamDaemon leaks memory between restarts, which might exacerbate us potentially running out of memory. This allows us to reboot the server every n rounds.
Also refactors the way we handle things that should be saved inbetween rounds. Like gamemode and the restart counter.
Overview
This is the github WIP PR for the reagent system project. This is for other developers and users to track progress of the code if they're curious about it, as well as to show that it actually works.
Remaps toxin to be a significantly more pleasing area to work in. Everything was tested thoroughly, save for the doppler array which should be easy to fix if anything is broken.
Byond doesn't know how to handle decimal based probabilities and just rounds up. Example, rand(0.5,75) will return 1, which caused everyone to spawn with max nutrition/hydration.
Overview
Adds thirst mechanics. Thirst mechanics work exactly like hunger mechanics where if you don't drink enough liquid, you become thirsty and move slower. Several other mechanics involving drinks were also changed.
For organic races, you gain hydration by consuming beverages and water. Water is the most effective way of hydrating yourself. IPCs are not affected by hydration and do not have to worry about it. If you overeat or overdrink, your nutrition decreases faster until you are of normal hunger and thirst levels.
Penalties for not eating or drinking are now more severe. If you refuse to drink or eat all shift, you will be up to 33% slower and take twice as much pain damage. The amount scales based on your hunger or thirst levels. If you are considered hungry or thirsty, it starts scaling until you're starving or seriously dehydrated. If you overeat and overdrink as well, you get a ~5% reduced movement and pain tolerance with each mechanic.
The icons for hunger have been updated to be more specific, and they match the new thirst indicators as well. https://i.imgur.com/QQbWxYI.png
You can now also inject beverages into your blood for x4 effectiveness. Before, IV dripping yourself with vodka did nothing but give you a small amount of toxins, but now it should be a hell of a party.
Dionaea can now be affected by beverages with respect to nutrition gains and temperature changes. Dionaea cannot be affected by some effects, such as stuttering and intoxication, still.
Healing effects for certain beverages (tea, milk) were removed. This a HRP server, milk shouldn't heal you.
Both items taken from the tgstation.
Magic eightballs allow you to ask a question, picking up a random answer. Or they might ask the dead on the deadchat, if it is a haunted one.
The ouija board allows some possible limited communication with the ghosts, however anyone else can move the planchette, allowing people to mess with other person as well.
Fixed the vendor sprite being wonky. (Unreported)
Fixes#5267
Adjusted Battlemonster Star calculation.
Slightly lowered the cost of battlemonster cards.
Deck searching speed is now based on the number of cards in the deck.