This Pr tweaks previous update
Grounding rods now are vital for how many miniballs of Tesla can be contained without it going nuts and melt stuff. 1 rod = 4 miniballs. So with standard setup 4 rods = 16 miniballs max and that is around 4 million W energy.
Each time Tesla melts coil/rod/emitter it will loose a single miniball and drop in energy.
Tesla miniballs no longer shoot beams, instead they shoot main ball which shoot coils, accounting for energy produced by all miniballs.
Tesla miniballs no longer zap. Instead they shoot main Tesla ball which shoots one single beamn, which accounts how much power each miniball produces.
Tesla now looses more and faster energy with number of miniballs it has. Energy loss changes after 12 balls and after 16 miniballs.
Each miniball produces 156250W
Tesla Engine room is reduced in size, field is now 5x5.
Tesla now moves smoothly tile-by-tile. No more jumps
It is now no longer to electrocute yourself by merely clicking on an exposed power cable with an object that happens to be conductive. Power cables are now insulated.
It is now possible to sever cables with an object that is sharp or edgy by clicking on an exposed power cable with said object while on help intent (to alleviate potential misclicks while fighting in maint, which one assumes is normally done in harm intent.) If the sharp object is conductive you will electrocute yourself.
This PR fixes Tesla not having miniballs. Problem was that it would delete its own generated balls. Fixes#5749
Tesla that has 9 or more balls will start to melt down any tesla coils or grounding rods.
Tesla that has 10 or more balls will start to target and melt down emitters
Tesla with no balls looses power as intended, thus dying with less than 0 power.
* 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.
Oh boi, this one is a tiny in terms of lines, yet a huge impact. It absolutely solves problem with powernet bug of cables not updating through Z levels properly. Spend lots of time and especially intellectual effort to debug this thing and finally comparing Bay's code and debugging ours showed that lines 359 and 364 should be power_list(T, src, 12) because that stands for marked and we have unmarked cables.
Fixes Z level update of cables, now it updates them properly. So the substations work. Fixes#5165 , Fixes#5883 , Fixes#5655
Fixes mapping of cables
Increases charge of runtime SMES
Adds Z powernet to runtime levels for debug and tests
Adds Z level supply pipes and vents for debugging and tests
The Tesla has not been nerfed or buffed, but more appropriately reworked.
The tesla can move across z-levels when it is not contained, however it cannot phase through reinforced floors or walls. These new features mostly contain the tesla to the engineering sublevel for about 10 minutes, until RNG dictates that it reaches other departments on all levels, or if very lucky, escapes to the derelict and doesn't bother the station for another 30 minutes.
Fixes#3410
Ranged hostile mob stop if they are in range of fire, instead of keep going to point blank range. They also try to get to person within 6 tiles, not point blank.
Hostile mobs also check if their target is in the view or not.
Fixes#4468Fixes#2867Fixes#2721Fixes#2678
Character input limit in Security/Medecal records was increased from 1024 to 3027 for all fields, to keep it consistent with character setup records. Fixes#5766
Fixes Energy net turret sprites. Updates spawned ionrifle turret to allow for two modes, adds lethal turret sprite for ionrifle.
SMES now show how much of input they receive
SMES and APC estimates how much time it will take to deplete it.
Runtime map now uses its SMES, and it is wired to TEG's
Added Stack and Queue data structures for use
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.
This PR removes brain surgery's ability to instantly cure all traumas. Now traumas have been roughly divided into four categories of treatment:
1: Chakra therapy cures traumas that directly affect physical behavior, such as tourettes or paralysis. It is accomplished via the crystal therapy pod available to the psychiatrist.
2: Hypnotic therapy cures traumas that directly affect mental behavior, such as phobias or confusions. It is accomplished via the mesmetron pocketwatch available to the psychiatrist.
3: Isolation therapy cures traumas that cause hallucinations. It is accomplished via the metronome and facilitated by the isolation room available to the psychiatrist.
4: Surgical therapy cures traumas that do not fit into the above categories. It is accomplished via brain surgery.
Using the crystal therapy pod's neural scan function will provide the psychiatrist the brain damage the patient suffers from in numerical form. It falls upon the psychiatrist to determine how much of this brain damage is being caused by mental traumas the crystal therapy pod is equipped to deal with. Excessive cycles will cause increasing amounts of radiation damage.
The mesmetron pocketwatch requires the patient to believe in hypnosis. It then puts the patient into a slumber, where the psychiatrist can hypnotically suggest new behavior, provided the patient continues to believe in hypnosis. Each suggestion cures a single hypnotic trauma.
The isolation room is equipped with a metronome. When active, the metronome will have a chance every ticktock of the metronome to cure an isolation trauma, provided the patient is totally alone.
The psychiatry office has been expanded into a complete mental health ward. The only thing it is lacking is beds, as I believe recovering mental health patients still belong in the recovery ward.
The chaplain can also cure isolation and chakra traumas by dispelling the demons within with his null rod. Staring at the supermatter unprotected has been known to hypnotize. Electricity applied by any source directly to the head is also known to sometimes cure electroshock trauma.
This PR implements a system for manipulating a client's color safely and also ports a prioritization system for sorting client color from /tg/. Currently this PR also implements client coloration in the form of color blindness, namely:
Monochromacy
Deuteranopia
Tritanopia
Protanopia
DTP are mild brain traumas, whereas monocrhomacy is a severe brain trauma.
Furthermore, this PR removes the Needs Glasses prompt in character creation, and replaces it with a disability selector, allowing people to more closely refine their special little snowflakes.
Current disabilities available:
Nervousness
Nearsightedness
Deuteranopia
Tritanopia
Protanopia
Deafness
Muteness
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.
Complete remap of the Medical main level. Expect bugs and missing
equipment.
Added a new isolation wing to Medical.
Changed the nuke's position, to a much safer, new location.
Added an alternative exit to the Bunker.
Added a new store that only the HoP can grant access into.
-Detective and CSI's offices have been moved to a level above Security.
New Security training area, for cadets and other uses you may find to
it.
New transfer/escape shuttle. Not the final version, probably. Test of
acceptance from the community in progress. Not entirely convince by the
design.
New Research-coloured folders (Sprite recolouring by Fire and Glory).
Slightly remapped Kitchen. Tighter on space, big on table surface
area.
New Research Office by Xenobiology, after a lot of requests.
Vault entrance has been redesigned to fit a bit more with its purpose.
A lot of bugfixes, missing stuff, and minor suggestions.
Fixes#4311.
Fixes#4225.
Projectile hitscan effects moved to /effects/projectiles folder.
Most of projectile firing code and some of impact code refactored, and projectile hitscan effects refactored with ported TGcode (which is mostly TGcode I wrote anyways 😎)
Projectiles can now be fired at any angle, instead of just at the center of turfs!
Projectiles are now [in theory] 100% accurate down to 0.001 of a pixel.
This PR rips out the old Bump() and Bumped() procs and replaces them with Collide() and CollidedWith() respectively. Behavior should be the same, but Bump() should no longer be double-called, and no longer relies on spawns.
Other changes:
LAssailant is now a weakref.
Some direct loc setting are now forceMove().
* Repaths eyes, observers, dview, and new_players to /mob/abstract subtypes.
* Adds /mob/abstract, a base type for 'abstract' mobs that aren't meant to be directly affected by the game world.
changes:
Light tubes now make a noise when turning on.
If a light loses power, it will switch to "emergency mode": the light will glow a dim red, drawing power from a small integrated cell that should last approximately 10 minutes. If the light has power, it will charge its cell.
Light flickers now play the flicker sound for each blink instead of once.
Split lighting.dm into three files: fixtures.dm, construction.dm, and bulbs.dm.
Light fixtures now use stat to represent on-state (as they can be off for multiple reasons): the on var has thus been removed.
Lightswitches now glow in the dark and make sounds when toggled.
Some code/idea for emergency lighting from TG, light sound from Interbay, lightswitch sounds from Bay.
Depends on #3948.
changes:
Light fixture overlays are now cached.
BlendRGB is now cached (used by light fixture overlays)
Nightmode now only tints the bulb instead of both the bulb and the fixture itself.
Fixes#3790Fixes#3792Fixes#3788
Also hopefully fixes the tcomms foyer turret control, since it turned out to be in the same area as turrets.
Also swaps two doors in research sublevel anomaly lab.
EDIT:
Shifted burning chamber gas injector in sublevel toxins one pixel down to make it look better.
Also made light bulbs the right colour. Sorry for that.
EDIT 2:
Fixes#3806
by moving a no smoking sign and putting air alarm on it's place.
Fixes#3690
Changed blast door orientation on many blast doors across the station, and one few in CC as well, provided picture is only example. Changed blast doors are in areas: Bridge, Cap office, Research, Security, Engine, CC departures. That should be it, I think.
Fixes#3716Fixes#3708Fixes#3706Fixes#3704Fixes#2937
Also reversed APC sprites on sideways directions.
Fixes#3725Fixes#3723Fixes#3457Fixes#3159Fixes#3140
changes:
Maps are no longer compiled in, instead loaded directly from the DMMs at runtime.
Z level defines have been moved from the config to map datums.
Unit tests now use typecaches.
DMMS now actually works.
DMMS has been updated slightly.
DMMS is now capable of loading simple lists of non-text types.
DMMS is now faster when loading many types without mapped in attributes and when loading area instances.
Asteroid generation is now defined on the map datum instead of being hard-coded in SSasteroid.
Holodeck presets are now defined on the map datum.
Atmos machinery now uses Initialize().
Makes all light tubes & bulbs have colour according to the light they emit. There are 6 preset colours: RGB CMY. Any other color is possible by simply changing the already present brightness_color variable. This PR makes it so it actually changes the color of the item and wall object too.
Added two new colour defines used only along with preset coloured lights.
Coloured lights are only obtainable by random maintenace loot, cargo spawn or trader.
Added box of randomly mixed light colours and box for every preset light colour.
Removed two sets of redundant defines.
Converted light item New() to Initialize() (hopefully correctly).
Made couple tiny tweaks to the lights code.
EDIT, 7. Oct 2017:
When you hit light machinery or item with paint, it will change it's brightness_color var, instead of the color var.
Paint buckets can now paint items and people again.
You can now wash paint off by spraying yourself with fire extinguisher or otherwise covering yourself in water.
EDIT, 8. Oct 2017:
Removed one apparently unused global list.
Converted pain bucket New to Initialize and changed it's pathing style.
Shower can now wash paint too.
Fixed paint bucket sprites to be bit more dynamic and fixed the in hand sprite. Also added bucket lid.