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().
* Base work for the unathi robot subspecies.
* Adds metabolism species, kidney vars, and the robot unathi organs.
* Moves some action buttons to organs, pretty much a bay port right now. Todo: the unathi and alien stuff should also go here.
* First autakh implant power.
* Fixes the organs action button this time.
* Finishes more implants, and interactions with flashs and vaurca.
* Prepare for great changes.
* Drops the real bomb, boss.
* He who fights with monsters.
* Far more work into augments and limb removing powers.
* Limb verbs should be good now.
* A LOT of work into the assited organ, allowing it to bleed and etc, as well adding a new chem that will stop bleeding in their case.
* Probably the last work on implants.
* Some extra touches.
* Some tweaks to the species.
* More fixes and adds kyre's sprites.
* More runtime fixes.
* Fixes the species name too.
* Fixes travis.
* Updates this file too to work with the new tools procs.
* Adds changelog
* Fixed changelog.
* Unathi hair and lore description.
* Some tweaks to this too.
* Locks away them for now, they will be released after we got all the events and etc done.
* Changes this chemical.
* Fixes an airlock runtime.
* Adds the non scan flag to the autakh, mostly due to some bizzare interactions with changelings and cloning.
* Organs removal changes; can't take out the organ if it is too damage.
* Restricts them back again.
* Robotic organs now have the proper icons and names.
* Adds sprites for their organs and some extra tweaks.
* Fixes this missing icon.
* emp should also now hurt assited organs.
* Tweaks more organ related things.
* Fixes the head not being properly set as well.
* Fixes their flags.
* fixes the flag for real this time.
* Poze's review.
* Changes the au'takh organ buttons to don't be animated.
* Helps with adminbus or something.
* Fowl's requested changes.
* Fixes a typo.
* Robotic limb's brute and burn mods are now controlled by the limb model.
* Fowl's changes once more.
* Stops some spam.
* More grammar.
* No eal.
* Skull's review.
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.
Reworked how slipping on tiles work. If there is too much lube/water on one tile, it will spread to all adjacent tiles.
Fixed a potential bug where spilling copious amounts of water on a tile will turn it to ice.
Containers are much more saner now. They all share a standard system, unless specified.
You can drink from any open holdable container using help intent. You can splash the contents of the container on anything via harm intent.
Sinks are more saner, you can refill or empty them easier with various refill amounts.
Removed silly exclusive cyborg limb checking for hyposprays.
Added a new chemsprayer, the "Xenoblaster" which is a significantly weaker chem sprayer. Two can be found in xenobiology.
Large reagent containers (beer kegs, water tanks, fuel tanks) now share a system together. Both can leak their reagents via harm intent with a wrench, and bother can accept any sort of reagent, with exception to the fuel tank.
Large reagent container leaking happens over time as opposed to just leaking every time it moves.
New chemical, Monoammonium phosphate. Monoammonium phosphate is a fertilizer and also a potent fire extinguishing and preventing chemical. It can be made with 1 part ammonia, 1 part sulfuric acid, 1 part sodium, 1 part phosphorus.
All extinguishers now have monoammonium phosphate in them instead of water.
Extinguishers can hold any reagent, however they must be filled using an extinguisher refiller cartridge. These can be ordered or found in atmospherics.
Nerfed the extinguisher range so it only sprays in a 3x3 radius.
Mini-extinguishers spray in a 1x1 radius.
Adds Monoammonium phosphate containers across the station.
Most watertanks are replaced with Monoammonium phosphate containers.
Refactors electrocute_act slightly. Electricity will now only start in your hands if ground_zero is explicitly set to l_hand or r_hand. All instances where electrocute_act is called because you touched something (IE opening a crate, touching the powergrid) have been set so that ground_zero is your currently active hand.
Otherwise, ground_zero will be randomly selected from available organs.
This is important because it is the siemens_coefficient of ground_zero only that affects electrical conductivity. EG if you get tesla_zapped in the chest you will not be saved by wearing insulated gloves. Once the electricity is in your body it does not matter.
Sufficiently powerful electricity (shock_damage >= 6) will induce an EMP in the relevant contact zones. This EMP will affect all items in the relevant organ only. Shock damage will still become reduced as the arc propagates through your body, and the EMP's produced will be updated accordingly.
The IPC power cell organ will now produce effects when EMP'd based on the current damage value of the organ pre-decrement, ranging from stuttering and blurriness to unconsciousness. Other special EMP effects for other IPC organs are pending, but I am thinking of holding it off for Part 2/1,034
Baton class weapons have been modified. Their raw force damage has been reduced, but they will now deal shock damage to a roughly equivalent value.
Harmbatons will deal 5 brute and 10 shock, and their electrocute_act will have a defined def zone (e.g it is a localized shock and there will be no arcs)
Cattleprods will deal 3 brute and 6 shock on both harm and help intents, and their electrocute_act is non-localized and will cause arcing.
Stunrods will deal 7 brute and 14 shock on both harm and help intents, and their electrocute_act is non-localized and will cause arcing.
(For clarification, cattleprods and stunrods currently still deal no brute on help intent, but will cause shock damage)
Fixes an issue with electrocute_act where if def_zone is called would not actually do anything.
Fixed fire alarm in virology #3875
Fixed random pixel on glasses #3872
Fixed welder issue #3888. Plus explored further issue with welder, fixing it. Small logic optimization.
Fixed firelocker icon not being updated with welded overlay, even so they have been welded
Welding interaction with closets was reworked, almost all secure closets except for detective's, barternder's now work with welding same way as closets/crates.
Coffins, and wooden closets of any kind can no longer be welded shut.
Clean up of some code using src as reference, and :
* Replace SSingulo with SScalamity; processing cleanup
- SScalamity now handles blobs as well as singularity-types.
- Processing subtypes have been simplified to not require a stop_processing definition.
* this is probably important
* Remove cascade disabling SSgarbage
* Fixed a bug where dust() did not qdel the target mob
* Misc fixes
* Fix decals surviving break-to-plating
* Subsystem flag tweaks
* Apparently subsystems are new'd before config is.
* Fix paper icons
* Speculative fix for insane lag
* Better machinery stat
* Make organs not use SSoverlay
* Misc bugfixes & tweaks
* Nightmode fixes
* Changelog for SMC
* Port /tg/'s improved MC crash handling
* Add some more SS Recover() procs
* supply_controller -> SScargo
* More New() -> Initialize()
* pAI and robot construction overlays
* Fix cargo unit tests
* Merge the DMM Suite's atom/New() into atoms_init
* Lighting pre-baking
* Lighting initialization logging
* Fix some bad SS init orders
* Fix SSlighting logging; rename Processes to MC
* Speculative fix for insane GC lag
* Prebaked openturf/icon_smooth & fix lighting prebake
* SS init status; SSatoms LATEQDEL
* Fix bug with MC init stat panel
* Fix parallax
* Misc
* Ignore SS_NO_DISPLAY during init
* apparently this is important
* REEEEEE
* Image GC fixes; broadcaster radio-new sanity
* RCON Cleanup
* Move pAI recruiter into subsystem
* Move global solars list into sun subsystem
* Make chickens not use a global
* Demote SSdisposals to SS_BACKGROUND; garbage-debug cleanup
* Speed up space init a little
* Fix bad timer flags on floor drying
* Subsystem panic-restart verb for mins
* Explosion speedup
* Minor subsystem & MC logging tweaks
* SSopenturf improvements
* Make pipenet actually initialize (whoops)
* Minor tweaks
* Implement lighting rounding
* comments are hard okay
* Minor lattice tweaks
* Fix some timer issues & better closet init
* Timer sanity
* Request console tweaks + Storage init sanity
* Minor SSmachiner RCON improvements
* Further reduce world-start timer count
* Standardize subsystem logging
* Garbage hard delete profiling from /tg/
* Timer hang detection & recovery
* Log machines that sleep in process() and fuck up SSmachinery
* Fix an issue with external airlocks sleeping in process()
* Failsafe logging
* Minor tweaks
* Revert "Request console tweaks + Storage init sanity"
This reverts commit 98d3579e35.
* Re-implement RC changes
* Fix SQL FT saving
* Fix SSmachinery sleep in disposals
* Minor SS tweaks
* Paper fixes
* Blood drying fixes
* Merge gameticker and SSticker
* Minor global list init cleanup
* Lagcheck biogenerator & bags
* Tweak SScargo init order; RIG Initialize()
* Caching tweaks
* Remove rogue comma
* Initialize fixes
* Lighting destroy cleanup
* Fix emagging airlocks
* Initial SSicon implementation
* Tweaks & Fixes
* Fire + Air alarm queued icon updates
* Overlays + Queued icon cleanup
* Runtime & background fixes
* Kill some meaningless set statements
* Kill some image qdels
* Bump up lighting rounding val
* Fix adv. scanner destroy runtimes
* Remove unneeded icon update limiting
* Move icon smoothing into helpers
* Show a warning if DM 510 compiles without memory leak hack enabled
* Re-organize subsystems & MC defines a little
* Airlock SFX
* Log of Changes
* Make SSicon_update disable itself when not doing anything
* Fix respawn verb runtime when used early in server-init
* Add more information to MC's stat_entry()
* Replace direct refernces to gcDestroyed with QDEL* macros
* plant_controller -> SSplants
* More plant tweaks
* Add more humor to changelog
* Move parallax globals into SSparallax
* Lighting responsiveness tweaks
* Fix parallax init order & better MC init panel stat
* Make mobs GC
* More overlays + Remove intercom spawn()
* SSfast_process; make pinpointers not use spawn-recursion to process
Also made the SM Cascade beach process with SSprocessing instead of a spawn loop.
* Update changelog
* Mob GC tweaks
* Del() cleanup
* Fix insomniac ZAS connection edges
* Minor pAI cleanup
* Convert more things to SSoverlay; fix duplicated overlay in field gens
* SM Bluespace turf tweaks
* Update SSgarbage debug globals list
* Human-type qdel tweaks
* Subsystem suspension; stat_entry improvements
* SQL Statistics cleanup
* Fix runtimes with ambrosia
* More disable() -> suspend(); fix nightmode again
* Human qdel fix; minor tweaks
* Update turbolift to work with StonedMC
* Make lifts use timers instead of a subsystem
* Make SSassets start earlier
* Convert the radio controller into a subsystem
* Fix some missing CHECK_TICKs in asteroid generation
* MC stat tweaks; make shouldnt_see a typecache
* Kill some redundant debug-controller entries
* radio_controller -> SSradio
* Better SSgarbage hard-del logging from /tg/ upstream
* Logging tweaks + GELF
* Misc client caching improvements
* Slime SSoverlay
* Oven icon fixes
* Implant fixes
- Death implants will no longer spam Common on death of user.
- Death implants should handle a deleted user better.
* Holder tweaks + Welding tool Initialize()
* Fix some bad subsystem logging
* Fix suit cooling units spawning without cells
* Starlight tweaks
* Gibber infinite gib fix
* More SSoverlay stuff
* Make crates use CUT_OVERLAY_IN
* Make SSarrivals suspend instead of disable
* Make openturf use split/phased tick checks
* Speculative fix for unwet timer runtimes
* Blood overlay tweaks/fixes
* Update crusher to play nice with SMC + SSoverlay
* Openturf improvements and fixes
* Minor turbolift tweaks
* Lighting performance improvements + ChangeTurf tweaks
* this is probably important
* Fix wall weld noises on changeturf
* More ChangeTurf tweaks
* Explosion tweaks
* Pre-game lobby tweaks
* Openturf tweaks
* Prevent admins from starting the game before init finishes
* Fix Travis
* Kill an unused var
* Fix ChangeTurf runtimes on openturfs
* Fixes
* Browser datum fixes, asset caching
* Update changelog
* Changelog
* Lobby tweaks
* Ticker tweaks; kill ticker var
* Further lobby tweaks
* Cascade tweaks
* air_master -> SSair
* Reduce overhead from radio autosay
* alarm_manager -> SSalarm
* bomb_processor -> SSexplosives
* corp_regs -> SSlaw
* ZAS overlay fixes
* Small wall icon optimization
* Fix effects master
* Assembly tweaks
* Megavend fixes
* Shuttle fixes
* Camera alert performance improvements
* Fix some world.log spam from lighting overlays
* Fix some Initialize() procs
* Openspace responsiveness tweaks
* Make HE pipes animate through openturfs
* Kill a spawn
changes:
Removed shim for old spark system.
Converted all calls to old spark system with calls to new one.
Processor-based effects are no longer pooled, as it had minimal performance impact and was breaking things.
Tweaked some visible_messages for rogue drones.
PB effects' handling of location is now done at the /datum/effect_system level.
Fixes#1489Fixes#1499
Grippers basically torn up and remade, i went down to the root and incorporated them into cyborg click and inventory code. This should make them resistant against future bugs.
Fixes all current known gripper bugs. Grippers work properly with all the stuff they should. Minor tweaks to borg modules.
In addition, i went and raided VG, TG, paradise and bay repositories, and ported all their best sprites that were suitable for us. VG station was the most lucrative by far, about 70% of the new ones came from there.
Inspired partially by complaints about my changes to crates that made them hard to shoot open. This PR adds two main features which interact:
Crates can now be slid under tables, making them easier to stow away. A crate only fits under a table while closed, and can't be opened while under there.
Crates can now be hoisted up ontop of a table, this takes time depending on the mass of the crate. A crate ontop of a table works as normal, and it will also always block shots, making a table the ideal platform for firing an emitter at one.
A table can have a crate both under and ontop of it, allowing two crates to be stored on one tile, at some cost of convenience and effort. The crates have their pixel offsets modified so that both of them can be seen at once.
This PR is intended to make working in cargo more interesting, and more like a real warehouse experience. IE, the place is an aladdin's cave full of wierd knicknaks and useful oddifies.
Access description, type, and area/region (medical, security, etc.) is now defined in a datum, ensuring the id modification consoles will (should) never be missing entries.
Collection of gear and changes from the four gear polls on the forums
includes:
2 new automatic weapons, mapped in to ERT and random weapon spawns.
Laser carbine balance.
Slow emergency softsuits, no armor value other than bio and rad, 4
slowdown.
1 knife, not mapped in, available for Psi's uplink merge.
New vests: 2 types, 2 pocket no slowdown,
4 pocket with slowdown, second is available from cargo and one random
vest
spawn in armory. The first replaces all instances of the old vests. Old
vests still exist in code.
Mercenary vest with no slowdown, 4 pockets, and slightly better armor,
not on map, possibly for Nukes or Traitor Uplink
Holster rearrangement for custom loadout.
Acid dispenser, mapped into robotics and science.
New food items, added to vendors and rations crate.
New random medical spawns, added to medbay.
Cargo and loadout additions to accommodate new items.
1 beanbag loaded 5 round shotgun added to Warden's closet to compensate
for officers having .45 ltls and the HoS having an e-gun, suggested by
IRC and server.
http://baystation12.net/forums/viewtopic.php?f=5&t=12064http://baystation12.net/forums/viewtopic.php?f=5&t=12031http://baystation12.net/forums/viewtopic.php?f=5&t=12027http://baystation12.net/forums/viewtopic.php?f=5&t=12007
New turf proc: assume_gas(). Maps to air.adjust_gas_temp().
Lots of optimizations to processing, fire, lighting, HasEntered() and
more.
Zones now process all fire data and existance in one go, fire objects
only handle spreading.
Most code has been ported straight so some of it mightn't be ideally
structured for the new gas_mixtures.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
- Added atmos themed sprite for atmospheric technician secure closets
- Added a second radiation suit to radiation suit closets
- Added a solar pack crate (because adding crates to the map with this many objects manually is silly)
Wall emergency lockers now contain two breath masks and two emergency oxygen tanks.
Emergency ration crates contain two boxes of donk-pockets. The escape shuttle has two crates at the back.