Commit Graph

147 Commits

Author SHA1 Message Date
Atlantiscze
35b42c47c5 APC UI Modification
This modifies the APC NanoUI to show power usage during charging. This is done in form of Total Load: 1234W (+2500W Charging). Charging panel only shows when it's really charging.
APCs now track how much power is actually used for charging. This prevents APC charging from showing up as "Other Load" in power monitoring console.
2015-01-01 05:58:07 +01:00
Atlantiscze
90a83c19cf Hardsuit powersink module now uses CELLRATE properly
- Adds CELLRATE (and SMESRATE for SMESs) into drain_power proc.
- Adds "amount" parameter to drain power proc, sets the powersink module to 40kW draw (80 cell charge/s), which should correspond with normal cell recharger.
- Removes drain_power from all machinery, and adds drain_power to machinery/power. This means you can only drain from machines that have something to do with wiring or electricity.
2014-12-29 20:40:57 +01:00
mwerezak
6d3ab9ea46 Fixes #7354 2014-12-11 00:41:44 -05:00
PsiOmegaDelta
4582c0038b Merge pull request #7205 from Mloc/bs12-setdir
refactor 'dir = ' into 'set_dir()'
2014-12-02 14:38:31 +01:00
Mloc-Argent
117ca6a135 refactor 'dir = ' into 'set_dir()'
This should have little/no gameplay effect right now, just paving the
 way for directional lights.
Replaced handle_rotation() on buckly things with this.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2014-12-01 13:44:02 +00:00
Atlantiscze
772e42fd75 APCs now use percent-based channel values.
- Equipment now once again shuts down when APC reaches 30%
- Lighting shuts down at 15%

This is now correctly based on APCs power cell, instead of being hardcoded. This means atmospherics and similar areas won't just suddenly go from all lit working room to darkness.
2014-12-01 02:54:15 +01:00
Zuhayr
c8e8e663f9 Merge resolution. 2014-11-22 07:31:44 +10:30
PsiOmega
ffbbf2b858 Merge remote-tracking branch 'upstream/dev' into APC
Conflicts:
	code/ATMOSPHERICS/components/unary/heat_source.dm
2014-11-16 10:38:01 +01:00
Zuhayr
4d64a11acd Manual merge of head.dmi. 2014-11-14 23:02:16 +10:30
Zuhayr
ebbb9b36b5 Moved everything to a module-based hardsuit system.
Generalized all ninja power and gear code to work with new rig system.
Added shurikens, weapon mount, more work on deployable items.
Readded energy nets and energy blades.
Grenade launcher/charge stuff, interface stuff.
Renamed previously existing rigs to voidsuits, restructured rig and voidsuit files.
Refactored the energy net and teleportation proc.
Totally rewrote AI core/intellicard transfer procs.
Added rig sprites by Mordeth221, added step by steap suit sealing/inability to interfere with suit sealing process.
Updated map paths to use voidsuits.
Added chemical dispenser functionality, added power sink, added atom/drain_power() proc for later use.
Added rigsuit verbs, added voice changer.
Renamed MASKINTERNALS to AIRTIGHT, added internals checks for airtight helmets.
Added drain_power() procs to vulnerable machinery.
Reimplemented data theft.
Added suit maluses for losing your cell while wearing one.
Transitioned the rig suits to a back-mounted item that also controls a chestpiece.
Converted rig module to a storage item, convert ERT voidsuits to hardsuits.
2014-11-14 22:57:26 +10:30
Zuhayr
4090f04839 Readded monkey dexterity checks in each attack_hand as appropriate. 2014-11-13 17:46:37 +10:30
PsiOmega
0468f12e91 Merge remote-tracking branch 'upstream/dev' into APC
Conflicts:
	code/game/gamemodes/events/power_failure.dm
	code/modules/power/smes.dm
2014-11-11 14:13:02 +01:00
PsiOmega
04661c0240 AI and Topic fixes.
Adjusts the AI integrity status, no longer should it report being alive until -100%
Moves the Topic() nowindow check down to the very bottom of /obj/.
2014-11-07 11:10:32 +01:00
PsiOmega
f412eb8e1d Merge remote-tracking branch 'upstream/dev' into StateLaws 2014-11-07 09:42:53 +01:00
Chinsky
42e2409408 Merge pull request #6942 from PsiOmegaDelta/Hacking
Wiring Upgrade
2014-11-07 03:49:38 +03:00
PsiOmega
f2dcf1acaa AI fixes
Telecommunication interruption no longer permanently disables the ability for synths to state laws if they attempt it during the downtime.
If a synth attempts to state laws during telecommunication interruption it now receives a clear feedback message about its impossibility.
Fixes runtime errors when AIs uses shortcut keys to operate APCs/turret controls when the corresponding window isn't open.
Adds missing AI-restriction check for turret controls.
Airlocks no longer lie about dropping bolts when they cannot be dropped.
2014-11-06 15:36:02 +01:00
Chinsky
8078ffe079 Merge pull request #6939 from PsiOmegaDelta/VerbOptimization
Verb optimization
2014-11-05 23:23:56 +03:00
PsiOmega
bc438e21ad All the relevant examine changes. 2014-11-05 12:44:23 +01:00
PsiOmega
a9ef2b61c0 Wiring Upgrade
Continues the wiring upgrade. Now cameras, airlocks, robots, and air alarms also use the new wire datum system.
Global wiring code is now removed but there are sneaky objects which didn't rely on them such as mulebots and autolathes.

Fixes a few issues from the previous upgrade.
2014-11-04 14:27:46 +01:00
PsiOmega
fc67087d7a More Z-level compatibility
Previously missed Z-level checks in the form "z  != X".  Utilized this regex which hopefully has cought most of them [zZ](\s?)(!?)=(\s?)(\d+).
Adds more Z-level configuration, admin levels.
2014-11-03 09:57:56 +01:00
PsiOmega
bf1e6af508 Z-Level Compatibility
Now possible to configure 3 different kind of Z-levels.
Station levels: Which Z-levels the station exists on.
Contact levels: Which Z-levels are typically affected by, for example, Code Red which alters the visual state of fire alarms.
Player levels: Which Z-levels a character can typically reach.
2014-10-30 14:29:56 +01:00
PsiOmega
a1c19b78be Ports more of /tg/'s powernet code.
Among other things this fixes a a bug where SMES would draw excess power from the powergrid they were outputting to, rather than drawing from.
2014-10-29 14:01:35 +01:00
PsiOmega
5dc3e40b34 Restores APC load balancing and the autoflag system. 2014-10-25 15:18:42 +02:00
PsiOmega
3a7066c6c1 Replaces add_load with draw_power. Issue about silly battery handling remains. Fixes the build-error. 2014-10-20 19:18:27 +02:00
PsiOmega
1cabbbf5a6 Master controller no longer annihilate powernets, powernets annihilate themselves.
Some misc. changes.
2014-10-15 09:44:15 +02:00
PsiOmega
9bc9698998 Sets turn-off limits based on a standard cell's max charge 2014-10-15 08:14:10 +02:00
PsiOmega
a1ee4e766b Basically ripped over /tg/'s powernet and cable code into our own codebase.
Keeps Z-level code as it was.
Modifies/restores powernet procs as necessary to match our own implementation changes.
2014-10-13 17:13:04 +02:00
Zuhayr
223bd86f18 Merge branch 'organremoval' of https://github.com/Zuhayr/Baystation12 into dev
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().
2014-09-29 06:19:26 +09:30
Zuhayr
0c83a95b90 Large merge resultion. Used remote for map conflicts. 2014-09-23 21:41:54 +09:30
PsiOmega
56ee7e00b0 Map changes
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.
2014-09-15 15:30:27 +02:00
Atlantiscze
c5e5856e82 Merge branch 'dev' into substation-multifix 2014-09-12 20:11:42 +02:00
mwerezak
716c6ab3ef APC cell_type is now an actual power cell type 2014-09-10 22:12:43 -04:00
mwerezak
709d87d933 Fixes APCs switching between autoflag 1 and 0 when cell.charge > 10 but not enough charge for one tick
Old APC bug.
2014-09-10 18:51:36 -04:00
mwerezak
e045c84f97 Fixes APC load totals periodically doubling
Also fixes areas updating excessively when update_use_power() was
called.
2014-09-06 11:35:58 -04:00
Atlantiscze
03f2be3091 PARTIAL IMPLEMENTATION - Charged SMES deconstruction & SMES code cleanup
- 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.
2014-09-05 01:52:15 +02:00
Kelenius
505f857eb8 Stack update 2014-09-02 09:59:32 +04:00
Kelenius
a1348faa8c Cables are now stacks 2014-08-25 18:54:35 +04:00
mwerezak
f2b234fe81 Fixes APCs drawing more power than they can to use to charge 2014-08-21 01:18:26 -04:00
mwerezak
10f95933dd Fixes power draw not being processed if no power was available
Should address some of the issues raised in Pull Request #6080
2014-08-20 21:54:27 -04:00
mwerezak
1cfc3b8d5f Fixes APCs eating up all the power even when fully charged 2014-08-19 01:14:18 -04:00
mwerezak
4b070a2de6 Fixes #5935
Also improves apc/process() (doesnt add and then remove charge from
cells when it doesn't have to).
2014-08-10 03:44:56 -04:00
Zuhayr
f795712a95 Merge branch 'dev-freeze' of https://github.com/Baystation12/Baystation12 into dev 2014-07-16 19:30:41 +09:30
Mark Aherne
7e7e6cd8ac Continued work in progress on a major revision of the NanoUI templating system. 2014-07-11 10:48:42 +01:00
Walter0o
0ff5d021de fixes #5449
missing variable updating lead to APCs stuck in green status during powersinks.
2014-07-10 18:21:00 +02:00
Chinsky
6d432d8e9d Merge pull request #5219 from Zuhayr/autolathe
Autolathe rewrite.
2014-06-12 20:28:44 +04:00
mwerezak
a8816823a5 Replaces get_turf_loc() with get_turf()
The former does exactly the same thing as get_turf(), except it runtimes
if one of the atoms has a null loc.
2014-06-10 13:43:11 -04:00
Zuhayr
9e7fe6d700 Rewrote autolathe, changed all m_amt and g_amt to a list called 'matter'. Updated RCD vars in view of this. 2014-06-11 01:14:38 +09:30
Zuhayr
590f980ea9 Allowed magnetic grippers to remove APC cells. 2014-05-12 14:51:55 +09:30
iamgoofball
238451dbc9 die monkey emergency DIE 2014-04-06 12:05:41 -07:00
Mike
353941db7c APCs that are undersupplied now call cell.give()
APCs that are undersupplied now call cell.give() instead of manipulating
cell.charge directly, for better encapsulation.
2014-04-02 23:46:54 -04:00