Commit Graph

77 Commits

Author SHA1 Message Date
Kelenius
10de826ca3 Removes FPRINT and TABLEPASS flags 2015-01-23 22:27:32 +03: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
Loganbacca
2ff0a2bf5d Revert updateicon changes
- Fixes cable T-Ray rendering caused by /tg/ powernet code port
2014-12-13 00:10:30 +13:00
Atlantiscze
e2196fe6ec Robotic Cable Coils
- Cyborgs and Drones can now use change-colour verb to change colour of their integrated cable coil.
2014-12-01 02:02:11 +01:00
Zuhayr
c8e8e663f9 Merge resolution. 2014-11-22 07:31:44 +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
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
Zuhayr
b4ea25d064 Merge conflict resolution. 2014-11-10 13:00:06 +10:30
PsiOmega
bc438e21ad All the relevant examine changes. 2014-11-05 12:44:23 +01:00
Atlantiscze
6db4b04dc0 Colored Cable Fix
- Cables are now properly colored when placing them with colored cable coil (instead of always making red cable)
- Removed duplicate definition of color (color and item_color), only var color is now used. That probably caused this issue in first place.
2014-11-05 11:12:39 +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
9bcbdc6dc5 Fixes bad tabbing, only evident when placing Z-crossing cables. 2014-10-14 14:14:46 +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
PsiOmega
36c9f65bb1 Ports /tg's cable and powernet code to our code base. 2014-10-10 14:59:44 +02:00
Atlantiscze
7bb01ca020 Breaker Box update
- 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.
2014-08-30 20:54:41 +02:00
Atlantiscze
e1b38f9d38 Adds Breaker Box
- 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.)
2014-08-29 20:21:46 +02:00
Kelenius
a1348faa8c Cables are now stacks 2014-08-25 18:54:35 +04:00
Atlantiscze
386b1e6ce4 Bugfix - cable coil now shows correct transferred amount. 2014-07-16 22:59:14 +02:00
Loganbacca
d1a729f5db Fixes incorrect cable coil colours 2014-06-23 21:44:51 +12: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
a7c3c67da8 Fixes #5098 2014-06-01 21:09:30 +09:30
Mloc-Argent
c9a2a4fad0 power: cables show up right on map again
Cables are red/whatever color on map again instead of white.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2014-05-09 18:53:44 +01:00
Zuhayr
5b32150858 Fixes for previous commit, sigh. 2014-05-03 21:21:19 +09:30
Zuhayr
25c85d6e2a Adding some repair procs to cables and welders for IPC use. 2014-05-03 21:10:26 +09:30
Mike
fa1fd3cb24 Made single cable pieces have w_class = 1
Single cable pieces have w_class = 1 and can be tucked behind the ear.
2014-04-05 01:21:30 -04:00
Loganbacca
d1b37a5392 Fixed cable colors
- Fixed a couple of lines of code in power.dmi so that cables correctly update their color
- Fixed the contrast of the cable icons
2014-02-13 17:05:07 +13:00
Chinsky
ada2ba9a2f Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into color
Conflicts:
	code/modules/power/cable.dm
	icons/obj/power_cond_red.dmi
2014-01-27 02:27:27 +04:00
Zuhayr
e870d614c2 Mass correction of controler to controller. 2014-01-25 03:15:13 +10:30
Chinsky
6175ef8012 Moved cable definition to cable.dm because what the fuck. 2014-01-19 03:05:48 +04:00
Chinsky
669ae9a1ae Made cables use color var instead of separate icons for each color.
It allows for wires of ANY color (just set cable_coil var)
and most importantly
40 837 958 b - before
39 506 651 b - after
2014-01-19 03:02:58 +04:00
LBraindead
cfcb3e65cd Update cable.dm
cable construction
2014-01-18 00:19:08 +01: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
Mloc-Argent
e9bf414820 Refactors code to work with BYOND 500.
500 adds a "color" var to /atom, which conflicts with /obj/item/color, /obj/atmospherics/color and various simple_animals.
  /obj/item/color is now item_color
  /obj/atmospherics/color is now pipe_color
  simple_animals color is now body_color
Removes transformer.dm since it conflicted with transform() and was never used.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-09-22 12:39:48 +01:00
Chinsky
4d7aa320cb Due to git tree being fucked up for some reason, manually reapplied many man many fixes.
Just got to tip of real tree and got zipball, then unpacked it here.
2013-02-07 07:13:27 +04:00
johnsonmt88@gmail.com
1f07f31b64 Grammar fixes for item-suicides.
I got about half-way through changing these when SuperSayu came up and said he fixed this a while ago but never posted the fix. So technically half of these were fixed by me and half by him. Credit to both of us!

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5564 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-17 02:52:57 +00:00
johnsonmt88@gmail.com
2c3ae32f04 You can now commit suicide using certain items! There will be more items to come, this really just lays the groundwork.
Credit goes to CodenameB and Spike68 for the original proposed commit. Althought it ended up changing, this commit still uses all of their suicide messages. Thanks to carn for pseudo-coding the base of the system that I ended up using to implement this.

The suicide verb checks the item in your active hand and calls that item's suicide_act(). (/obj/item/proc/suicide_act(mob/user)) The proc displays the suicide message to any viewers and returns a damage type. The suicide verb then applies 175 damage to the mob divided by the number of damage types. If the proc returns null (meaning that the item does not have a suicide_act() defined) the regular suicide occurs.

To any coder wanting to add items to this: 
- You MUST return one or more damage types. "return (BRUTELOSS|FIRELOSS)" for example.
- Please do not manually type in the item's name; use [src] to refrence an it instead. It'll save time down the road if an item gets renamed. It also helps handle any child of that item without copy/pasting the proc to each child.
- Please do not use 'usr' for anything.

Parrots can now see which item they are holding onto in the stat panel.

The toy crossbow should once again work properly. Fixes Issue 1227.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5468 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-05 03:56:24 +00:00
johnsonmt88@gmail.com
e7ebfae317 Another whack at the defines folder:
Removed defines/obj/toy.dm and moved the defines down to objects/items/toys.dm

Moved a big chunk of defines out of defines/obj/weapon.dm and into their respective .dm files.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5441 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-01 01:25:02 +00:00
giacomand@gmail.com
a04eb3f275 -Changed emitters.
Emitters will now need to be wired.
Emitter type has changed to /obj/machinery/power/emitter
Fixed cables not correctly disconnecting power machinery from the powernet after being removed.

-Fixed a typo with smashing tables/racks.
-Fixed maps having incorrect types.
-Fixed singularity EMPing when at stage 1.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5423 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-30 10:47:25 +00:00
giacomand@gmail.com
7af60a7fb5 -Changed the powernet nodes list to be a dictionary list (associative list, hashtable, etc..)
-Added a solars_list. The sun will use this list instead of the machines list. I made a proc which decided on whether to use this list or the powernet nodes list depending on what is smallest. I replaced some loops to use this proc.
-The sun will reference this list for debugging purposes. The sun will also remove solar equipment in the list which are not connected to a powernet.
-Cut down on some duplicated code.
-Fixed an issue with solar panels not updating their direction correctly.
-Changed the proc updateicon()'s name to update_icon()

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5418 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-29 07:24:42 +00:00
baloh.matevz
952954446b - Added ground code for logic elements. Currently supports sensors, indicators, negators, two input and gates, or gates, xor gates, xnor (equivalence) gates and a relay, with one control input that works by logic laws and another input and output that work by powernet laws.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4849 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-12 22:46:24 +00:00
elly1989@rocketmail.com
c81c70bd86 Replaced var/netnum for cables and powered machines with a direct reference to their powernet. The bug which was causing cutting and merging powernets to fail was due to my attempts to fix the powernets slowly becoming filled with null entries. Removing those null entries messed up the indexes and essentially jumbled up the powernets. :( sorry
Fixed the failsafe misreporting how long the MC has been dead.

Lighting initialization no longer 'interrupts' the master_controller setup().

Added updated powernet debugging tools. They're in my WIP folder. They are sexy c: It draws the powernet onto the map so you can see what's going on during debugging.

Added tachyon-doppler arrays. They're gonna be something for scientists to measure their bombs with rather than praying for the figures. Nothing spectacular.

Commented out switches, they aren't used and I've been fixing/testing powernets all day. Sorry. If you need them back  just PM me and I'll fix them.

Known issues: the merging procs behave silly at intersections. I really tried to fix it but I think I'll make more progress just working on some powernet improvements.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4623 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-05 16:14:24 +00:00
sieve32@gmail.com
7bf6788082 -OPTIMIZATION TIME
-Almost every instance of 'for(mob in world)' has been killed. Because GODDAMN was it being run a bunch. Instead, a series of global lists have been made, and they are all handled auto-magically through New()'s, Del()'s, Login()'s, death()'s, etc...

Lists are as follows:
-mob_list : Contains all atom/mobs by ref
-player_list : Like mob_list, but only contains mobs with clients attached
-admin_list : Like player_list, but holds all mobs with clients attached and admin status
-living_mob_list : Contains all mobs that ARE alive, regardless of client status
-dead_mob_list : Contains all mobs that are dead, which comes down to corpses and ghosts
-cable_list : A list containing every obj/structure/cable in existence
Note: There is an object (/obj/item/debuglist) that you can use to check the contents of each of the lists except for cables (Since getting a message saying "a cable," x9001 isn't very helpful)

These lists have been tested as much as I could on my own, and have been mostly implemented. There are still places where they could be used, but for now it's important that the core is working. If this all checks out I would really like to implement it into the MC as well, simply so it doesn't check call Life() on every mob by checking for all the ones in world every damn tick.

Just testing locally I was able to notice improvements with certain aspects, like admin verbs being MUCH more responsive (They checked for every mob in the world every time they were clicked), many sources of needless lag were cut out (Like Adminwho and Who checking every single mob when clicked), and due to the cable_list powernet rebuilding is MUCH more efficient, because instead of checking for every cable in the world every time a powernet was broken (read: A cable was deleted), it runs though the pre-made list, and even with a singulo tearing all the way across the station, the powernet load was VERY small compared to pretty much everything else.

If you want to know how any of this works, check global_lists.dm, there I have it rigorously commented, and it should provide an understanding of what's going on.

Mob related in worlds before this commit: 1262
After: 4
I'm helping


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4179 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-26 03:04:05 +00:00
sieve32@gmail.com
459c558898 -Make holodeck eswords a child of obj/item/weapon/holo instead of regular eswords, clumsy check removed as a result, and you can no longer do things like cutting through walls or doors or what have you. (Fixes Issue 665)
-Redid icons to be more optimized at compile by setting icon = 'icons/folder/icon.dmi' instead of just icon = 'icon.dmi', meaning that Dream Maker doesn't have to search through every single file for every single .dmi. This shouldn't lead to any errors because of how I went about it, plus the fact that Dream Maker would have freaked out if I screwed something up. Also moved around 2 icons that weren't sorted well.

r4146 compile time: 1 minute, 40 seconds
r4147 compile time: 45 seconds

[VGTG]

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4147 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-23 00:48:51 +00:00
elly1989@rocketmail.com
5d3c6a9259 Please stop committing all the #define FILE_DIR stuff every commit. Dreammaker updates it automatically anyway. Just remove that section prior to commit.
Added some WIP master controller alternatives. Located in code/WorkInProgress/carn They should stop the MC doubling up and smooth the lagspikes over a little bit (depending on how they are set up). They need a bit of work still, but are functional. Just untick code/game/master_controller.dm and tick the version you want to try out.

Committing Giacom's pai remote-signaller code.

Minor map fix for Travis (extra grille NE corner of atmos)

Added a debug tool that prints powernets into a text-based map.

Fixed a runtime that occurred everytime somebody cut a laid cable. It was updating the power networks twice each time >_>

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3920 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-26 01:47:40 +00:00
mport2004@gmail.com
88c867ea25 Fixed a supply shuttle runtime due to the stamping missing a null check.
Added a null check to cleanbots and new player preferences.
Did a bit of blob and antimatter work.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3919 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-26 01:20:19 +00:00
mport2004@gmail.com
14a0337b37 The machinery powered proc once again uses the argument.
power_change() now defaults to using the machines power_channel
Moved the remaining machinery power defines into the proper files 

Added code for a basic Antimatter Engine.
It is currently made up of a control unit and several shield objects.
The shield objects must have a patch through other shield objects or be directly touching the control unit.  If they are unable to find one they will be del’d.
The control unit needs to be given an antimatter containment jar for fuel before it will properly startup.
A core is created when a shield object detects it has shields/control unit surrounding it.
You can safely inject double the number of cores worth of fuel.
Getting blown up, getting hit by the blob, getting hit with high force items, getting shot, being fed too much fuel will all end up lowering the stability of the reactor parts and once the stability gets to 0 it will either break or, if currently processing some fuel, explode.
I’ve tested the parts several times and nothing seemed to go wrong, the sprites suck but that is to be expected. 


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3881 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-20 23:50:30 +00:00
baloh.matevz
b2e51d55ef - Fixed the problem with cable handcuffs where you could not make a pair from a cable coil with exactly 15 lengths of wire.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3791 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-11 13:58:41 +00:00
baloh.matevz
e47f25ee09 - Ported cable restraints from Bay12. You make them by using a verb on cable coils. Takes 15 lengths to make, applied the same way as handcuffs, they have the same effects as handcuffs, but only take 30s to remove if you resist. They can also be removed by using wirecutters on a handcuffed mob.
- Added 4 new cable colors. Pink (ported from Bay12), orange, cyan and white.
- Engineer tool belts can now also spawn with orange wire, in addition to yellow and red.
- Tool closets and electrical toolboxes can now spawn with cables in any of the 8 colors.
- Added cablecuff.ogg from bay12, played when you apply cable cuffs on someone
- Added this stuff to the changelog

So yeah, some stuff is credited to bay12, tho some of it was nearly enough completely recoded.

Screenshots: 
http://www.kamletos.si/wire%20colors.png
http://www.kamletos.si/cuff%20restraints.png


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3770 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-09 07:29:12 +00:00
baloh.matevz
c12a1b4206 Added the caution code, sprited by magicbones, not present anywhere on the map
http://nanotrasen.com/phpBB3/viewtopic.php?f=10&t=4548&start=50#p37266

Added a power switch (/obj/structure/powerswitch), which is used to split or connect two cables.

The way it works is simple. It connects the powernets by adding cable on the floor it's on and removing it when it's turned off.

In-file description:
//This is a power switch. When turned on it looks at the cables around the tile that it's on and notes which cables are trying to connect to it.
//After it knows this it creates the number of cables from the center to each of the cables attempting to conenct. These cables cannot be removed
//with wirecutters. When the switch is turned off it removes all the cables on the tile it's on.
//The switch uses a 5s delay to prevent powernet change spamming.

Screenshot:
http://www.kamletos.si/power%20switch.PNG

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3072 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-09 21:11:20 +00:00
mport2004@gmail.com
188dfb526e Fixed a few runtimes.
Moved the all player mobs death check into the parent death proc.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2940 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-10 22:13:06 +00:00