Breaker boxes would not always place down all the cables necessary to connect power grids on server start.
Moving initialization from the New() to the initialize() appears to have resolved this.
First pass on major conversion of xenomorphs to a human subspecies. Additional condensing of various redundant mob verbs.
Converted larva and diona to their own class, collapsed the rest of xenomorphs into a human species, other stuff.
Completely removed attack_alien(). Still have to reimplement some of the lost behavior for human/alien.
Reapplies lost attack_alien() functionality other than tackling/caressing.
Further alien/humanoid cleanup and xenospawn fix-ups. Also uncommented caste verbs.
Removed half-finished abilities system since species.dm handles it.
All xenomorphs functionality should be working now, other than the HUD, tackling and the xenomorph balance issues.
Added icons for xenomorph castes, moved broadcast languages into datums, removed alien_talk and robot_talk vars.
Merged with organ removal code.
Reapplied verbs to simple_animals/slimes. Updated species definitions to have appropriate organs.
Readded tackle as a human verb.
Borer changes regarding brain removal.
Working on moving the human HUD to the species datum a bit. Mixed results.
Moved Cortical Link to a language, added borer husks.
Tidied up the HUD stuff. Still need to make it rebuild properly when species is changed, but this will do for no
Compile fix, forgot the DME.
Fixed up ventcrawl, added new organ mechanics for dionaea.
Fixed up some overlooked sections causing mobs without brains to die immediately.
Fixed up plasma generation for queens, bugs with organs, force_organ issues with set_species().
- This solves various issues with cyborg charging
- Cyborg chargers have 15k charge capacity themselves. They charge at 2.5kW when no cyborg is inside and 25kW when cyborg is inside.
- Instead of draining power directly to cyborg's cell, they simply transfer power (capped at 250 charge/tick) from charger to cyborg.
- All is checked, which means no excess power is wasted. This means AFK cyborgs parked in rechargers are no longer power sinks
Balance
- Increased cyborg actuator power usage a bit.
Makes APCs with different cells specific types.
Replaces arrival's APC with a higher-capacity cell variant to avoid people being unable to leave due to power failure at 12:15.
The engine core now begins without oxygen but still requires cooling and everything else.
- Cleanup of SMES attackby() code
- Buildable SMESs now have option to override safety circuit by using multitool while the hatch is open.
- Disabling safeties lets you disassemble SMES even if it's charged above 1%.
- If charge is above 5% stored energy may discharge violently. This is percentage based (more energy = higher chance of this occuring + more severe consequences)
- Larger discharges affect whole powernet, burning out some lights and even completely destroying APCs!
- Substation PSUs act as surge protection. Thus, if set up properly damage is limited to few areas which are directly on the main grid (= maintenance mostly)
- STILL NEEDS TESTING. Pushing so other people can review the code and give further suggestions. And because i need to access it on second computer.
- Removes source of runtime errors. From my examination of code, it seems these errors happen when breaker box is turned off for the first time. It should work then.
- Mostly temporary fix, i intend to rework the powernet code over time. I would welcome cooperation with @mwerezak as he is currently doing lots of related things.
- Buildable SMES is now subtype of regular SMES.
- Buildable SMES related stuff moved to separate file (smes_construction.dm)
Please note that this commit is one of two commits which have to be applied together. Otherwise, compilation error occurs. (Code + Map. This one is Code)
- Mapped in engineering substations
- Completely reworked station wiring (Z level 1)
- Wire colours: Yellow - Local Power (engine, solars), Red - Main Grid, Green - Sub Grid (department grid)
- Adds breaker box variant that starts enabled
- Substation PSUs are now not set to charge themselves by default (as this caused quite large loads)
- Fractal energy reactor is infinite power source
- It is NOT mapped in. It is intended for map testing purposes when large amount of power is needed
- It is NOT buildable. Only way to obtain it is by spawning it.
- Outputted power can be varedited to your liking. Defaults to 2MW (should be enough for ... well, everything?)
- Added suggestions by mwerezak and comma
- Directions list is now in variable
- Type changed to /obj/machinery/power/breakerbox
- Instead of using loop visible_message() is used now.
- Adds Superconducting Magnetic Coils - SMES specific construction item.
- Each SMES can have up to 5 additional coils added , similar to PSUs with cells.
- It is possible to create multi coil SMESs by changing "cur_coils" variable while mapping them in.
- SMES can be deconstructed, salvaging their board and coil(s)
- It is currently not possible to obtain these by any other way than deconstructing existing SMESs. This will be added in another commit.
- Basically, reworked powerswitch. Powerswitch was commented out and this commit removes it completely, as Breaker Box is partially using it's code.
- Breaker box is device designed for advanced grid control. Allows you to connect/disconnect wires WITHOUT having to cut them manually.
- This update mostly improves interaction, and adds AI support (as i already saw many AIs which are actually good in balancing things. This will help them a bit. Engineers can do it manually too.)
A more thorough fix should probably involve providing a way for players
to control the flow rate.
Also tweaks emitters and allows collectors to be read using a multitool.