Commit Graph

89 Commits

Author SHA1 Message Date
Krausus
159a12bc64 Fixes mech and pod fabricators
I have no idea how this code ever worked in the past.
2015-05-12 03:37:37 -04:00
ZomgPonies
91e8b909c0 Squish Squash 2015-04-04 14:27:53 -04:00
Markolie
672305e034 Adds a "params" parameter to attackby(), so it keeps track of pixel_x and pixel_y among other things 2015-02-22 22:12:11 +01:00
Markolie
0b937d5ace Emag refactor 2015-02-13 16:59:20 +01:00
Markolie
fb7fc04f51 Shuttle fixes 2015-01-17 02:33:19 +01:00
Markolie
92b57b5189 Bug fixes, R&D design files, map fixes 2015-01-05 21:03:48 +01:00
Markolie
c864a732df Missing cyborg repair designs 2014-12-24 00:52:37 +01:00
Markolie
1f87145c0b Empty RPED in disposals 2014-12-22 17:50:46 +01:00
Markolie
266b4cb113 R&D UI rework 2014-12-22 17:38:22 +01:00
Markolie
2c2c7fc517 Constructable Phazon, constructable display case 2014-11-22 05:15:44 +01:00
Markolie
876a5067a0 Adds constructable and upgradeable machinery, fixes the RPED, other minor fixes 2014-11-17 08:32:39 +01:00
Regen
cb45350027 More brits 2014-06-20 13:46:49 +02:00
Chinsky
5113c03c76 ixes #5075
Mech fabricator redefined check access for no reason, let base proc handle it.
Adds span classes for messages guestpass console gives.
2014-06-18 00:01:00 -04:00
GhostAA12
81c000f0cf Fixes the Rapid Parts Exchange device
Previously did nothing because of missing proc on machinery
2014-06-14 11:41:18 -07:00
Walter0o
79f281e9d9 fixes exploits with the mech fabricator (ParaCode)
this exploit is in all public builds i could look at.

using the mech fabricator, and you were able to duplicate any obj in the server.

as a nice bonus you could also abuse the part-description-function to identify any atom in the server
memory for even easier access to other yet unknown exploits of this kind.

and also range check was missing to make sure you are not on some other z level massproducing guns.

i will not go into details, as it is exactly the same kind of exploit over and over, 
so if you are interested on how and why these exploits work, see some of my other exploit commits :
https://github.com/Baystation12/Baystation12/pull/5068
https://github.com/ZomgPonies/Paradise/pull/179

i advise any coder team to be supercautious when changing/writing new Topic procs to prevent these,
and to always doublecheck other coder's works.
2014-05-28 22:13:19 +02:00
d3athrow
386618f66b exploit fixes
Conflicts:
	code/game/machinery/Sleeper.dm
	code/game/machinery/cryo.dm
	code/game/mecha/mech_fabricator.dm
2014-05-27 14:30:03 -04:00
Rob Nelson
e7d4c1db14 OH GOD YOU CAN BUILD PODS NOW OH GOD
Conflicts:
	code/datums/helper_datums/construction_datum.dm
	code/game/machinery/constructable_frame.dm
	code/game/mecha/mech_fabricator.dm
	code/game/mecha/mecha_construction_paths.dm
	code/game/mecha/mecha_parts.dm
	html/changelog.html
	maps/tgstation.2.1.0.0.1.dmm
2014-05-17 19:05:08 -04:00
ZomgPonies
1ab8df4b13 Garbage collection fixes 2014-02-19 20:24:31 -05:00
Rob Nelson
0e32d72fc2 Fixes #3, hopefully. 2014-01-20 01:43:27 -05:00
Fox-McCloud
649df8ac91 Rebalance Update
Rebalanced Traitors, HoP, and Reagents; added new traitor item.
2013-10-27 12:11:48 -04:00
ZomgPonies
de5e664abd Adding last HONK mech things so peopel can build it 2013-09-18 14:39:40 -04:00
ZomgPonies
cd03ca8ef6 Fixes for clown planet + HONK mech construction 2013-09-11 00:04:22 -04:00
Segrain
85f82219ba Fix for #3345. 2013-07-25 03:03:14 +03:00
Ispil
8c6c03c9d6 Removes the ability to create anything HONK-related in the mech fabricator. Also removes the ability to add bananium, due to it thus being pointless to add due to the one thing it can build being removed. Note that everything is commented out, not deleted. 2013-07-04 00:28:40 -07:00
cib
b58326c8fa Implemented robot components(organs)
Features:
- You now have to open up a cyborg after constructing it and insert all the components
- Cyborgs have per-component damage rather than total damage.
- Too much damage can fry a component, making it non-functional
- Components consume power
- You can disable a component to save power
- Actuator component allows you to move
- Camera component allows you to see
- Comms component allows you to use :b
- Radio component allows you to use radio
- The same placeholder icon for all components
2013-06-22 07:11:02 +02:00
NicholasDV
adde619a06 Fixes an issue in grammar!
Specifically, the way that it was coded made it so that the word
the would appear twice. There... really wasn't a way to fix that
in a way that would effect a lot more things, that I could find.
As a result, I simply reworded it so that it can work with or without
the word, 'the'.

closes #2771
2013-06-09 03:40:27 -04:00
Aranclanos
69e1cce5d3 Removed the commented out code from the auto update options of exosuit fabricators.
For this reason, the exosuit fabricators will be removed from the process() list at roundstart.
(cherry picked from commit 8e191ebac99dc1f93b1b03a89784212f31f4b985)
2013-06-04 14:03:32 +04:00
Aranclanos
82181e72fe Removed the auto-update from exosuit fabricates. They were huge lag generators, loops inside of other loops each process() tick.
This will help to reduce lag.
2013-06-04 14:02:38 +04:00
Zuhayr
2381aa2dca Rename of cyborgs to robots (in strings), addition of robot spawn name-choosing proc, addition of method for removing robot brain. 2013-02-25 19:48:00 -08:00
sieve32@gmail.com
6e1e708110 -Fixed a typo in slimes.dmi that caused baby blue slimes to have an invalid icon when their core was removed. Thanks SuperSayu
-Fixed a runtime with mechfabs where they would loop a 'return process_queue()' forever, that was an oversight on my part

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5463 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-04 02:42:17 +00:00
aranclanos@hotmail.com
0258d5be22 -Changed all minerals path from /obj/item/stack/sheet to /obj/item/stack/sheet/mineral. (This change excludes glass, Rglass, metal and plasteel)
-Reduced the chunks of code about minerals in door_assembly.dm

Preeeetty much this commit is just to update all the files to the new path of the minerals. From here, if I can, I'll start changing one by one to remove the huge chunks of code.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5087 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-16 15:00:09 +00:00
petethegoat@gmail.com
ed5dd1eeb5 Added a cyborg rename module, and amended the names of all the cyborg modules to be lowercase, and reference "cyborgs" instead of "borgs".
Removed an outdated robot.dm comment.

Fixed the assume direct control logging.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5063 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-14 18:06:33 +00:00
giacomand@gmail.com
6a2d78bc94 -Killed the updateDialog lag. I added a check to see if there were any mobs to update, if not it will stop checking until a user uses the machine again. I had to replace all the machine = src and machine = null with procs to help make it manageable. I believe this is one of the culprits causing the server to lag as the round goes on, as more players will interact with machines.
-Atmos delay is now based on active players, to help fight lag for massive player rounds.

-Changed some for(blah in world) loops to use the correct lists.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4958 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-25 19:15:51 +00:00
quartz235@gmail.com
a6e7c085ef Revert's cib's BS12 merge by XSI's orders
- Tested with various damtypes/locations/mobs but if i'm a dumbass and overlooked a problem feel free to punch me and revert this

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4762 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-27 02:14:21 +00:00
CIB123
4b98c9bcf5 Merge branch 'cib' of github.com:CIB/tgstation13 into cib
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4724 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-18 23:09:26 +00:00
sieve32@gmail.com
28903c85b9 -Fixed a typo pointed out in #coderbus by Otterfluff, and 2 icon changes that I have kept forgetting about
-Updated Xeno's 'stalking' stance, courtesy of WJohnston
-Small change to the security console animation, so instead of being 44 individual frames, it's just 7 with appropriate delays
-Extra sanity check for mech fabs, hopefully that would clear up runtimes from parts disappearing while building

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4600 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-02 04:08:31 +00:00
sieve32@gmail.com
f1bfcfb2cf -Worked on mech fabs a bit more, replaced the has_var() proc with just the BYOND proc, since that's all it did anyways. Tweaked another part that wasn't silently discarding junk correctly. This is probably due to the lack of type-casting now, but even when I crammed areas and null refs into the fabs, they didn't runtime, and operated as intended.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4502 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-20 05:59:46 +00:00
elly1989@rocketmail.com
4073ac9b00 Replaced all 'file.extension' references with 'relativepath/file.extension' using a script by thvortex of ss13-daedalus.
All credits to the author for this handy little script.
I Committed the modified python script to tool directory. Although it needs to be in the root folder of your repo to work.

To notice the improved compile times, in dreammaker go to Build > Preferences > and untick "automatically set file_dir for subfolders"

If this commit inteferes with any large projects just revert it, do your thing, then rerun the script. Easy-peasy.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4488 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-18 16:33:40 +00:00
sieve32@gmail.com
c62bdf0a6e -Cleaned up sacrificing again so it didn't rely on hasvar()
-Made a variation of hasvar(), creatively named has_var(), intended for objects versus datums, and the var name is case sensitive
-Clean up mech fabricator code considerably, the terrible switches are all gone, and I was able to make it more robust at the same time. Now, if a junk item is added to the mech fab then it will remove it in 1 of 2 places, either when you call for the queue to be displayed (Will throw it out then rebuild the queue) or when it is processing the queue (Will throw it out then reprocess the building), so now you won't even see the shit that finds its way in there.
-Made the add_part_to_set() useful, now instead of dumping everything in the "Exosuit Equipment" category, it checks if the design's category matches one of the part sets, then adds it to said set if it does (All others get dumped into "Misc"). Right now there isn't much through, mostly just moving MMIs, cells, etc... to the "Misc" set, but this would be easy to use with any other system that handles designs
-Little bit of OCD here, but I noticed that the cells on the map were all 'crap' cells, even though they had 1.5x the charge of a high-capacity cell, so I changed them all to high-capacity cells with the added capacity

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4395 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-13 18:53:28 +00:00
sieve32@gmail.com
2252db76f6 -Borgs can now have 1 key installed into their radio, and can handle channels just like any other headset
-As a result, they also have a button that toggles their headset between station-bounced and subspace transmission. While they are transmitting over subspace, they will be using TComms and have access to department channels. While transmitting over the station-bounced system, they cannot access department channels. Simple
-Changed binary chat for silicon mobs to be ':b' for both consistency and to make the security channel useable for borgs.
-To insert/remove keys, you need to have the cover open and the cell in place, use a key to insert and use a screwdriver to remove keys (Having the cell out will expose the wires when a screwdriver is used)
-Cleaned up mech_fabricator.dm a bit


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4277 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-02 03:02:43 +00:00
sieve32@gmail.com
7a1a22f8fa -Gets rid of a global list proc that shouldn't be there
-Removes the typecasting from mech fabs so they stop spitting out runtimes, at the cost of making them look even uglier.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4237 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-30 17:32:26 +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
48088b79d9 ugh...this was horrible. I'm really sorry if I fucked anything up, I was literally going braindead towards the end.
Replaced every l_hand = and r_hand = and all that if(hand) crap to use standardised procs. This means we can use procs like Dropped() reliably as they will always be called when things are dropped.

Thorough documentation to come. But generally, if you want a mob's icons to update after deleting something in the inventory...use drop_from_inventory(the_thing_you_wanna_drop) just before deleting it. If you wanna put something in a mob's hands use put_in_hands() (or one of the variants). It'll try putting it in active hand first, then inactive, then the floor. They handle layers, overlays, screenlocs calling various procs such as dropped() etc for you. Easy

mob.equipped() is now mob.get_active_hand() because there was another totally unrelated proc named equipped() and stuff was confusing.

Weakening was made instantaneous.

Minor optimisations for human/handle_regular_status_updates(). I'll port these changes over to the other mobs next. Basically it should stop it constantly incrementing every status effect even after death.

umm... bunch of overlays related fixes... I think that's everything. :/

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3900 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-23 21:24:45 +00:00
johnsonmt88@gmail.com
ec52b9c032 Moved cyborg upgrade items out of mob code and into item code.
- Item declarations have no place in mob code. MMI and pAI code being the exception.

Removed a cyborg upgrade that made them immune to flashes
- An item that removes one of the very few weaknesses a borg has? No thanks.

Removed mob\living\silicon\robot\robot_defense.dm
- It was an empty file.

Removed uplink.dm and uplink_kits.dm from WorkInProgress
- Duplicate files: they're already in the main chunk of the code.
- They are no longer a work in progress.

Here's hoping I dont break anything with this commit...

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3890 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-23 00:12:27 +00:00
petethegoat@gmail.com
72c72c47d3 Sieve stuff, this is a stupidly big commit, I'm sorry, I really am.
Full details in this thread:
http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=8898
And a summary of the most important bits:
-Door animations no longer desync and do the open-close-open thing. That's been around so long most people don't even notice
-Welding tools no longer get their icons desynced
-Fixed unpowered mineral door runtimes
-Chemistry machines now require power to run
-Fixed the proc to apply radiation based on armor, which means that you can actually not die of radiation as quickly if you wear armor that protects against radiation
--By fixing this, it also fixed the singularity, so you might want to be careful next time you run by it naked
--Also means that radiation events take armor into account. How great
-Hopefully have a bugfix to prevent borgs from using lag to enter the game without an AI or laws, but I cannot test it myself other than that it didn't break anything
-Disposal sound can only play once every couple of ticks, so no more ear-rape by disposals!
-Lasertag guns can no longer be used to make lasergun turrets
-Cleaned up stray pixels on several doors and the lasertag guns

-Reworked how falsewalls work, now whenever you attack them with certain tools (drills, welders, etc...) it instantly turns them into a wall and pushes the attackby(), meaning you might not even notice that you just drilled down a falsewall, and at the very least they are much more fitting
-Omni-directional PA console! Never have to worry about rotating that fucking computer again, because now it does it itself!
-The Marisa robe that spawns in the theater no longer protects like armor
-Tweaked coefficient list for fake insulated gloves (misplaced punctuation messed up the list a tad)
-Moved falsewalls out of 'transfer_valve.dm' and into 'structures.dm'
-Tweaked smoothwalls so it only connects walls with like minerals (only seen effect is on the new walls)
--Also added appropriate signs to areas
-Reworked portable turrets to be a lot less laggy, now they determine the projectile type once, then save it so they don't have to go through else if chains every time they fire
-Added many sprites from WJohnston, but many are not fully implemented (Mostly floor ones)
-Added a vending machine for engineering, the Engivend. Apparently it was needed because of the lack of availability of the Autolathe or whatever.
-Added WJohnston's Dark Gygax sprites, then made a Death Squad Gygax out of them. A bit tougher than the standard Gygax, improved battery, and is pre-fit with gear, ideally for 'hit and run' tactics
-New Odysseus construction sprites, also removed the Odysseus Carapace in favor of plasteel like the Ripley, meaning they in terms of construction, a Ripley is equivalent to an Odysseus 
-Added an 'is_hot()' proc, when called it returns the temperature of the item in K, while taking into account things like whether or not the item is active or whatever
-Rewrote the Experimental Welding Tool, now instead of having a super-sized tank, it uses super-concentrated plasma that is turned into gas inside of it as its fuel source. Meaning, it will never have to be refilled, but it takes time for it to fill itself
-Added WJ's firelight sprites and code. Wanted to use them, but haven't had a chance to really implement them, but still, they're there

-Turrets made with lasertag guns now fire their respective team's bolt
-The turrets also automatically target anyone on the opposing team (But will continue to shoot at anyone, for shits n' giggles)
-Turrets get corresponding sprites based on team
-Shooting a turret with a different team's laser will disable it for 10 seconds
-You can also make ED-209's for your lasertag games/pissing off sec
-These are constructed just like a regular ED, but instead of a security vest and taser, it requires a lasertag vest and gun (same colors)
-When geared for lasertag, They will not arrest anyone nor melee them, only patrol (if set) and shoot
-They have their color schemes as well, and can be disabled just like turrets
-For both turrets and EDs, when geared for lasertag, they will not shoot anyone on the ground, this was due to very quickly learning how fucking OP that was for 1 turret to stunlock 3 people for eternity
-And when they are geared for lasertag, both the turrets and EDs have their access changed to maint, clown, and mime (This will not stop any of them from being shot, however)
-As a side note, you can also make lasertag stationary turrets for any map-related things

-Now walls are based on a plating system, meaning all walls have a girder with a mineral plating on top of it.
-As of right now, usable minerals are Silver, Gold, Diamond, Uranium, Plasma, and Sandstone (Lacking sprites for wood, *cough*)
-This also carries over to falsewalls, so you can make falsewalls out of any of those minerals
-Also, this carries over to powered doors, meaning you can construct useful doors out of minerals, so you could have actual diamond forts with doors requiring access to get in or whatever
-All of these are standardized, and for the most part work just like regular walls, meaning if you start slicing a wall, it will drop the mineral, or if you drill it, or whatever
-What was mentioned with the smoothwall tweak above, only walls of the same mineral will connect, so it all looks very nice
-Doors and walls made of uranium emit radiation when interacted with, with walls causing a 'ripple' effect, so the more walls nearby, the more radiation you get hit with
-Doors and walls made of plasma burn. It's a short, quick burn, but can easily be compounded in large structures
--As a note on plasma walls, I cannot get atmos and plasma walls to play nice (Since they are airless turfs), so I can't actually get them to ignite based on air temperature, but when they do ignite, they will auto-magically ignite nearby plasma walls, with a reduced temperature, meaning that if you want a massive chain reaction over a huge area, you better use something a bit hotter than a lighter
--Also, when plasma walls burn, they simply leave behind a girder, while doors leave assemblies
-Lastly, for nearly any kind of destructive action, Diamond walls are much more resilient, meaning they will take twice as long to be destroyed, and are immune to the effects of thermite
(Also, sprites for plasma walls and uranium walls are shite right now, waiting for replacements)
Update:
-Added cult walls as a 'mineral wall', meaning they will work on the same system and 'ReplaceWithMineralWall("cult")' will change any turf into a cult wall, hopefully for some cult-related activities soon

R&D stuff:
-Now instead of 1 sheet or ALL OF THE SHEETS, you enter a number as to how many sheets you want (it's sanitized to hell as well)
-Minerals no longer multiply when inside RnD machines. (Who fucked that one up? Goddamn)
-Mech fabricators are both deconstructable, and putting higher level parts actually improve it, each 'Tier' up is equivalent to +1 tech levels for that, so a High Powered Micro Laser would give the same bonus as +1 Material Research, a Pico Manipulator would give the same bonus as +2 Engineering, etc
-Complete with a shitty opened Mech Fab sprite!
-And not shitty overlays so autolathe's animate the material that is put in them, rather than give everything that's not glass the metal animation

LOL THE JOKES ON YOU I JUST COPY PASTED HIS TOPIC

added a few svn ignores, for thumbs.db and maps/backup

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3751 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-06 19:45:03 +00:00
petethegoat@gmail.com
21387370c9 Tonnes of stuff, please check the changelog.
In short: massive updates to security, the library, hydroponics, the kitchen and the bar, by Flazeo and Ikarrus
Massive updates to the PA, with Invisty's new sprites, done by Sieve
New sprites for field gens too, also by Invisty
Borg and battery updates by Sieve
Fake gloves by Sieve
I messed around with some pressure_resistance stuff on Dumpdavidson's suggestion (only in paperwork)

PROBABLY A BUNCH OF OTHER SHIT

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3505 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-25 19:28:40 +00:00
VivianFoxfoot@gmail.com
71852119a5 Fixes the tasercooler borg upgrade, enables it. It's now usable as a template for other module-specific upgrades.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3499 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-23 22:47:43 +00:00
VivianFoxfoot@gmail.com
3dae4beda4 Adds an adminverb to quickly take control of a mob, mostly for testing
Mech fabricator can no longer sync while it has a queue
Fixes resisting out of cuffbuckling.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3449 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-13 16:02:27 +00:00
VivianFoxfoot@gmail.com
018fc28b84 Adds a borg upgrade that increases their speed. Requires gold.
Decreases the number of secret rooms to 3, changes secret room artifacts to be based off weight, adds more potential secrets.
Adds a new type of facehugger that is more aggressive.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3438 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-12 02:17:13 +00:00
VivianFoxfoot@gmail.com
97ee64f5e9 Fixes a missing " in a file
Adds a borg reset upgrade that can revive a dead borg, valued at roughly half the cost of a new borg body.
The world restart when everyone dies will no longer fire if someone else is revived during the 30 seconds.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3420 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-09 16:21:47 +00:00