Commit Graph

273 Commits

Author SHA1 Message Date
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
Ravensdale
677e8a29c8 Tweak APC self-naming so they read better when examined or interacted
with. Thanks Sky for the suggestion and Mloc for the why.
2014-02-08 06:04:33 -08:00
Ravensdale
9d1e160a60 Self-naming APC's! Now even mapped in APC's will rename themselves
depending on what zone they're in. Makes more mapping sanity.
2014-02-07 21:48:37 -08:00
Zuhayr
f3d0efea87 IPC feeding from APCs, IPC lack of reagent processing. 2014-01-29 15:37:08 +10:30
Mark Aherne (Faerdan)
87c246ff06 APC NanoUI
* Created new APC UI
* Tweaked Chem Master UI width.
2014-01-12 23:11:49 +00:00
Miniature
3d6f8ee4b2 Added leaving prints on APCs when using item on them
(fix issue #4109)
2013-12-25 22:11:13 +10:30
Michael Johnson
65d62026b0 Fixes #2355 2013-12-03 13:53:52 -05:00
Chinsky
fd928d4b5f Cleaned the fuck out of smoke. 2013-11-05 02:57:23 +04:00
Mloc-Argent
a1f55a50b1 Massive click code rework by SuperSayu, ported from TG.
Full details at https://github.com/tgstation/-tg-station/pull/1206
Fixes #3648

Hopefully done right this time.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-10-08 20:27:39 +01:00
Zuhayr
7e0d26dab1 Commented out APC switching from Malf AI. 2013-08-25 02:35:05 -07:00
cib
aa6bfc33c7 Airlock and APC changes.
- Added a debugger device that can figure out when an object has been hacked/emagged
- Hacked APCs no longer display blue screen
- You can now disassemble emagged airlocks, they will yield a fried airlock electronic.
2013-05-23 16:43:29 +02:00
rockdtben@gmail.com
169c96db1b Too remove potential excessive garbage collection per tick. We will be reusing lists for overlays instead of deleting and creating them.
the .Cut() proc on a list will empty a list by default. This also will set the len to 0.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5465 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-04 15:11:06 +00:00
giacomand@gmail.com
ab4789fec6 -Added a queue update icon system for APCs to use during process(). This will limit how often they can update their icon and will help when the power is being unstable.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5431 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-31 04:35:07 +00:00