Commit Graph

185 Commits

Author SHA1 Message Date
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
Ccomp5950
6af132b834 APC bugfix after someone messed with mah areas!
This was probably bound to happen either way the previous version was based upon a faulty understanding of how the areas worked this is much more robust and only messes with the master areas
and master areas needing power updates call power updates for the each of it's child areas.  Also added where messing with SMESes called for an update on all areas power consumption, probably
not required but doing so either way.

We also rebuild the active_areas list every 5 minutes, if you get a engineer that wants to build a new area off of the station with APC's set rebuild_all_areas in the master controller and it will
update instantly, otherwise wait 5 minutes.  The only downside to this 5 minutes is you might get free energy until that area becomes active.
2014-04-01 03:06:58 -05:00
Ccomp5950
d6a9448535 Bugfix for new APC code, gridchecks won't just turn off equipment.
Was a problem with me switching the order of the checks.
2014-03-24 17:42:27 -05:00
Ccomp5950
98fba3b6b0 Merge branch 'master' of github.com:Baystation12/Baystation12 into dev
Conflicts:
	code/modules/mining/machine_processing.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/silicon/ai/ai.dm
	code/modules/virus2/helpers.dm
2014-03-18 19:44:19 -05:00
DJSnapshot
044766ef11 quick fix for APCs related to IPC charging. 2014-03-10 15:52:01 -07:00
Chinsky
13b9747504 Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into dev 2014-03-10 18:48:12 +04:00
Ccomp5950
541c3ece76 Bugfix: All APC's will have maxcharge of 5,000
and not be at the whim of lag / how quickly it generates it's cell.
2014-03-08 05:45:22 -06:00
Ccomp5950
fb04a88774 Removed my debug lines. 2014-03-08 03:55:22 -06:00
Ccomp5950
bb9a66cc3a Effeciency Project: APC / Machinery power usage.
We no longer run auto_use_power() on every machine every tick.
We now have a global list of areas, and areas that have an APC in them (all_areas and active_areas) no more looping through world bullshit.
A bunch of snowflakey as fuck machines won't use_power() in their process, you get two options, active and idle, use them!
This means a lot of machines won't double dip on power as well so power usage for the station has dropped about 20%

Because everything is snowflakey as fuck we're going to have some machines that don't force an update on their power usage.  Fuck them.
We should catch them with the root obj/machine/proc's forcing updates.
2014-03-08 03:42:44 -06:00
Ccomp5950
e0e1bd9cfb APC Area update initial commit. 2014-03-07 23:42:28 -06:00
Ccomp5950
74a8fa152c APC overlay bugfix.
Before: If you turned off the breaker and fiddled with on/off states and turned on the breaker it wouldn't update the overlay because the check_updates wasn't doing an if(operating) check and would think it didn't need to update the overlays once you turned on the breaker.

After: Check_update() is doing a check for the breaker being on or off and taking that into account with the update_overlay flags and will update the overlays properly.

Thanks Razharas from /tg/ #coderbus for bringing this to my attention.
2014-03-04 20:57:40 -06:00
Ccomp5950
63a0f1185e Merge branch 'master' of github.com:Baystation12/Baystation12 into dev-freeze
Conflicts:
	code/ATMOSPHERICS/pipes.dm
	code/game/dna/genes/powers.dm
	code/game/objects/items/devices/PDA/PDA.dm
2014-02-20 19:16:23 -06:00
Ccomp5950
9c5f96cc58 Code effeciency project: apc update_icons
Before:  It updated the icons quite a bit at the start of the game.

After:  It updates more often and quicker, but now it isn't as expensive
2014-02-16 10:59:19 -06:00