Commit Graph

76 Commits

Author SHA1 Message Date
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
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
giacomand@gmail.com
e9fd2037d2 -Committed lpeters's patch which Fixes Issue 1189. http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=11549
-Made the shower not require power.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5391 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-24 01:38:36 +00:00
giacomand@gmail.com
cdc4332769 -Should fix machines not depowering correctly. Let me know if you find a machine which should be powered off but isn't.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5388 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-24 00:12:12 +00:00
giacomand@gmail.com
6d05ae60de Balance change: Malf AIs can't shunt from APC to APC and must first return to their core. They can also start a takeover from their APC now. This is a test run with it and if people don't like it I'll remove it.
General work to advance diseases.
-Changed the possible cures to a list which is ordered from easiest to cure to -hardest to cure.
-Some tweak valuables to symptoms.

-Air alarms will update their window when you cut/pulse wires.
-Re-added analysers to mechanical (blue) toolboxes.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5125 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-19 18:30:05 +00:00
giacomand@gmail.com
b00c0c2a9f -New sprites APC sprites by TankNut!
-New wraith sprites by TankNut!
-Decreased flare duration, again(!)
-Made a based interact proc and changed the updateDialog to call that instead of attack_hand. This caused issues with the APC and getting the power cell out of it. I then changed all machines that had their own defined proc (that was everywhere)


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5001 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-03 14:45:29 +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
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
elly1989@rocketmail.com
6e274cd395 New lighting, it's essentially just the old DAL system with a queue.
Comments for lighting:
	Like sd_DAL (what we used to use), it changes the shading overlays of areas by splitting each type of area into sub-areas
	by using the var/tag variable and moving turfs into the contents list of the correct sub-area.

	Unlike sd_DAL however it uses a queueing system. Everytime we  call a change to opacity or luminosity
	(through SetOpacity() or SetLuminosity()) we are  simply updating variables and scheduling certain lights/turfs for an
	update. Actual updates are handled periodically by the lighting_controller. This carries additional overheads, however it
	means that each thing is changed only once per lighting_controller.processing_interval ticks. Allowing for greater control
	over how much priority we'd like lighting updates to have. It also makes it possible for us to simply delay updates by
	setting lighting_controller.processing = 0 at say, the start of a large explosion, waiting for it to finish, and then
	turning it back on with lighting_controller.processing = 1.

	Unlike our old system there is a hardcoded maximum luminosity. This is to discourage coders using large luminosity values
	for dynamic lighting, as the cost of lighting grows rapidly at large luminosity levels (especially when changing opacity
	at runtime)

	Also, in order for the queueing system to work, each light remembers the effect it casts on each turf. This is going to
	have larger memory requirements than our previous system but hopefully it's worth the hassle for the greater control we
	gain. Besides, there are far far worse uses of needless lists in the game, it'd be worth pruning some of them to offset
	costs.

	Known Issues/TODO:
		admin-spawned turfs will have broken lumcounts. Not willing to fix it at this moment
		mob luminosity will be lower than expected when one of multiple light sources is dropped after exceeding the maximum luminosity
		Shuttles still do not have support for dynamic lighting (I hope to fix this at some point)
		No directional lighting support. Fairly easy to add this and the code is ready.
		When opening airlocks etc, lighting does not always update to account for the change in opacity.

Explosions now cause lighting to cease processing temporarily.

Moved controller datums to the code/controllers directory. I plan on standardising them.
"Master","Ticker","Lighting","Air","Jobs","Sun","Radio","Supply Shuttle","Emergency Shuttle","Configuration","pAI" controller datums can be accessed via the debug controller verb (used to be the debug master controller verb)
Supply shuttle now uses a controller datum. Shuttles tend to arrive up to 30 seconds late, this is not a bug.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4537 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-25 16:06:57 +00:00
giacomand@gmail.com
683662f3b6 -Ported/continued AI Freelook. AIs can now look around like a ghost with the exception that they cannot see what cameras cannot see. Meaning if you're in maintenance, and there's no cameras near you, the AI will not know what you are doing. This also means there's no X-Ray vision cameras anymore. I've added documentation to freelook.dm which explains how the system works, if anyone is interested in adding anything. More information here: http://nanotrasen.com/phpBB3/viewtopic.php?f=7&t=9675
-I've added some cameras to rooms that should have cameras but were previously depending on other camera's using their X-Ray vision in order to see into a room.

-AIs have a multitool in their contents that they can use to interact with the telecommunication machines.

-Added "Follow" for observers. Works the same as AI tracking without checking if they can track.

-Added a range to how far Cyborgs can interact with machines. This is to stop Cyborgs from interacting with machines through cameras, which could be used to easily disable the AI.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4531 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-25 05:34:33 +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
baloh.matevz
7b572e4ca7 - Fixes issue 760 The AI's machine variable did not get reset properly upon failure. The machine variable's interact() proc is normally called once per tick. In the case of an APC it printed the fail message, but did not reset the variable to null, meaning the same machine's interact() proc would get called the next tick, giving the same error.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4463 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-17 05:48:16 +00:00
elly1989@rocketmail.com
b047f9565a Tidied up sd_DAL a bit to remove the last of the light-spilling and outside lighting since we have never used it.
Removed some unused variables from APCs (and cleaned up the map so they could be removed)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4282 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-02 14:25:06 +00:00
johnsonmt88@gmail.com
1efec9ad21 Cyborgs can now repair APC's with the AI wire cut. Fixes Issue 679.
- This is a very hackish way to do it.. I don't like it, but it'll work for now. apc's could do with some recoding.

Someone seemed to mix up some indentations in cult rune examines. Fixes Issue 680.
- Cultists examining a rune will be able to read the words.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4167 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-25 00:51:17 +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
giacomand@gmail.com
4f5f726edb -You can make newlines with PDA notes.
-Fixed a bug where if an Alien manages to pickup an item that they shouldn't and put it in their pocket then it won't be stuck remain stuck, being unable to pickup the item you placed in your pocket. It will now instead just drop it if it detects the item in your contents.
-APC will auto-turn on equipment if there is enough power for a certain duration. I want to tweak this some more until I get the perfect balance.
-Updated the changelog

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4141 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-22 15:45:42 +00:00
giacomand@gmail.com
fcdbc4190c Fixed the APC causing runtimes when wires are being cut/mended/pulsed. I mistakenly missed a variable and did not rename it.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4136 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-21 22:10:38 +00:00
giacomand@gmail.com
1bab38a25d All "Crawl through vent" lists are sorted.
Aliens can now attack the APC to short it out.
Aliens and Metroids can now attack Windoors.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4128 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-20 20:19:48 +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
fa65c484cd Welding tool: Mostly code-related, the players won't notice much.
- Welding tool code how has proper comments! Maybe not "proper" but at least I don't lie and say a proc is/does something that it doesn't actually do.
- Welders now start full of fuel instead of some random amount between 10-20
- Someone decided it would be a good idea to set the welding tool's 'on/off' var in a ton of attackby() procs. These objects and turfs shouldnt even touch this variable. This is why people have been noticing their welding being on without the sprite or damagetype and amount reflecting that.
- - I've removed a bunch of these instances but there are so many objects and turfs spread out through the code, there's no way to know if I've got them all (This is the majority of the files)
- - I've created a new proc in welding tools that checks to see if they are turned on or not. "isOn()"
- - Since I'm not sure if I've gotten every instance of this force-var-on, I've set the welding tool to update it's icon every process(). I hate adding checks like this to processes but it's necessary for now.
- Added a setWelding() proc. If you HAVE to turn the welding tool on or off, use this, don't just change the var. In fact, dont even touch the 'welding' var anymore
- Fixes issue 435

While changing the hundreds(literally) of cases of welding tool uses I've
- Changed some :'s (object:varorproc) I've come across into .'s (object.varorproc)
- Added checks to make sure the welding tool is actually on before using it (some attackby()'s didnt have this. Heck, some checked how much fuel you had, but didn't actually USE the fuel)
- Added sanity checks after some do_after()s that were missing them

Added traitor uplink items back to erro's stat tracker
- Added 'random' with the tag "RN"
- Added thermal meson glasses with the tag "TM"
- Reorganized uplinks.dm a little by moving the 'random' item generation to its own proc
- NOTE: I have absolutely no way to test this on my own, but it should work!

I've tested a bunch of construction/deconstructions with the welding tool, but again I've probably missed a few things. If there are any problems, please let me know and I'll fix them asap.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3741 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-04 22:56:11 +00:00
VivianFoxfoot@gmail.com
73837b0c4f AI can now ctrl-click APCs to turn them off.
Purge module no longer gives robocop laws.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3524 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-28 02:29:28 +00:00
quartz235@gmail.com
1f2e67f9ff Runtime fixes
Moved delete to trial admins because they can already mass delete and that's not particularly as helpful as regular delete (but a lot more destructive)
Trialmins can now toggle adminhelp sounds without observing

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3397 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-03 00:09:44 +00:00
quartz235@gmail.com
023aeeb749 Forgot to uncomment something in my last commit
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3364 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-27 01:31:40 +00:00
quartz235@gmail.com
739176b13b Fixes Issue 432
- No more recursive photos to infinity
- APC COPY APC COPY APC COPY APC COPY has been removed

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3363 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-27 00:22:46 +00:00
elly1989@rocketmail.com
2d77383ad0 Widespread grammar fixes! Still loads I've yet to fix. It'll take forever.
Resolved Issue 333: The plastic flaps on the mining station now actually block air-flow. http://code.google.com/p/tgstation13/issues/detail?id=333
Fix for runtime in issue 332 until getrev is fixed. https://code.google.com/p/tgstation13/issues/detail?id=332
Resolved Issue 331 https://code.google.com/p/tgstation13/issues/detail?id=331
Resolved Issue 304 https://code.google.com/p/tgstation13/issues/detail?id=304
Removed a lever I found randomly placed within the asteroid rock.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3021 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-31 10:03:55 +00:00
quartz235@gmail.com
b3f7865754 moving all the git stuff over to this so people who don't want to spend 8 years figuring out the bass ackward git system can actually run our server code
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2983 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-25 05:05:55 +00:00
rockdtben
5b691f8727 brainloss is now only referenced via procs.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2874 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-30 17:47:35 +00:00
panurgomatic
32b2be1b5a - Simple event dispatch system.
- atom.forceMove() proc. Ignores density and other Move() restrictions, but calls Exited() and Entered()
- var/emagged moved to /obj/machinery class
- anyprob() helper proc.
- Mecha internal damage vars encapsulated.
- Mech Fabricators now require robotics ID to operate. Emag removes this restriction.
- Added Odysseus Medical Exosuit and it's parts. Has integrated Medical Hud and ability to mount medical modules.
- Added Sleeper Medical module for medical exosuits. Similar to common sleepers, but no ability to inject reagents.
- Added Cable Layer module for exosuits. Load with cable (attack cable with it), activate, walk over dismantled floor.
- Added another exosuit internal damage type - short circuit. Short-circuited exosuits will drain powercell charge and power relay won't work.
- You should be able to send messages to exosuit operators using Exosuit Control Console
- Gygax armour and module capacity nerfed.
- Exosuit weapon recharge time raised.
- Bugfix: EMP actually drains exosuit cell and damages it

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2780 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-23 10:54:23 +00:00
quartz235@gmail.com
26abf951e2 Fixes:
Issue 241
Issue 237
and
Issue 240

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2708 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-17 00:14:11 +00:00
trubblebass@gmail.com
ebb1905879 Fix for Pete's fix.
It should work properly now.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2703 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-16 17:07:23 +00:00
petethegoat@gmail.com
ceaffa789f Malf AIs can no longer occupy non-station z-levels.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2702 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-16 16:31:09 +00:00
n3ophyt3
73c7391c32 AIs now actually use power from APCs, rather than simply require that equipment power is active.
Malf overhaul, take two!
Waaaay back in the old days, I made it so malf AIs had to hack APCs to win, instead of just sit AFK for 45 minutes. Now I'm taking some more drastic action, to see what happens.

THE MALF AI NO LONGER SPAWNS ON THE AI SAT.
Instead of sitting in the AI sat hoping nobody notices your blatantly obvious hacking, at which point the 3 people lucky enough to have looted EVA get to have all the fun, you can now shunt your core processes into an APC you have hacked, and hacked APCs are only moderately obvious.

While shunted into an APC, the AI draws power from that APC instead of the one in their main core. If the APC loses power, the AI loses power as normal. If the APC they are in is damaged or destroyed, they are forced back into their main core. If the main core is inoperative at that time, they die. The AI is also capable of willingly going back to their main core. As long as the AI's main core is intact, the AI speaks out of its core, regardless of its current location.

I have tested as much of this as I could to make sure it is functional, but thanks to the game mode overhaul, I have been unable to run actual malf rounds on my test server, so I have had to cheat and set things to work in any mode for testing. As for actual round balance, there's no real way to predict how that shit'll change.

This is just the base overhaul, more changes will be forthcoming as malf rounds provide data on how the change performs.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2668 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-12 04:45:08 +00:00
petethegoat@gmail.com
c6d94edb84 Fixed up some of the APC construction/deconstruction messages.
Changed the popcorn sprite to one that doesn't suck, by Cheridan.
Updated dat changelog.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2596 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-03 17:26:16 +00:00
mport2004@gmail.com
46a7143e3a Energy projectiles work again.
Rewrote the job selection system to use bitflags and the jobs are now objects.
Fixed a path conflict with effect which caused a few things to be unable to be clicked on.
Commented out the job.txt, Urist if you still want it to load from the .txt give me a yell and I can update it to work with the job objects.
Fixed up the bits that were missing the slightly updated mob organ attack code.
Moved the traps file into unused.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2340 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-11 07:52:30 +00:00
mport2004@gmail.com
17ed3899c4 Fixed the map/code issues that the body bags caused.
/obj/effects is now /obj/effect.
/obj/station_objects is now /obj/structure.
Did a bit of minor blob work. 
The Bay 12 body bags were replaced with closets because having two sets of code that do almost the same thing is silly.
Changed back a few of the last jobproc edits as the remove from list before assign was a check to see if the mob was fucked up and if it was remove it so we did not check it again as it would still be fucked up.
The medbay/tox monkeys names are random once more.  More random name monkeys will help with changeling and clean up the observe/mob menus.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2324 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-03 10:28:57 +00:00
baloh.matevz
e8c6b08419 - Object tree grouped a bit more.
Two new categories were made: station_objects and effects. station_objects, which I'm sure someone will want renamed to 'structures' contains the objects which don't need process() or power code.

Effects contains objects which are either landmarks, triggers, spawners or decal.

Screenshot:
http://www.kamletos.si/new%20object%20tree.PNG

I didn't notice any bugs, but with a revision editing 276 files of byond code, you never know.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2323 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-03 06:54:28 +00:00
rastaf.zero@gmail.com
f639ece55d Update for game masters:
-Right click commands "Make robot/alien/ai/monkey" moved to "edit player" screen.
-Right click commands "Make traitor/cultist/changeling/etc" moved to "edit mind" screen.
-- note: currently the only way to humanize monkey is to use "edit mind" screen.
-Added right click commands showing "edit player" and "edit memory" screens.
In light of an incoming tournament on ss13.ru I have added "Select equipment" right click command. It allows to instantly dress mob as you wish. Coders, feel free to add more dress packs, like "centcom inspector", "space pirate" and so on.
A strange command "list_occ" now called "List free slots" and shows unoccupied jobs.
Added golden cup, sprite belongs to Farart.

You can now take a power cell from charger even if there is no power.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1724 316c924e-a436-60f5-8080-3fe189b3f50e
2011-06-25 11:30:05 +00:00
rastaf.zero@gmail.com
7c400a7492 Fixes for APC:
- fixed issue 88: monkeys now can play with APC.
- Silicon liveforms cannot use malfhacked APCs if they arent an AT who hacked APC or his slaved borgs.
Fixed issue 121.
Latejoiners got their backpacks back.
Fixed attack log.
Fixed ammo icons not showing in dreammaker map editor.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1720 316c924e-a436-60f5-8080-3fe189b3f50e
2011-06-24 17:52:49 +00:00
rastaf.zero@gmail.com
d985841a76 Minor fixes:
- after losing and restoring power air alarms had wrong icon.
- same for air vents.
- Latejoiners now get filled DNA entry in medical computer.
- Fixed rare bug with APC.
- Electrocuting while laying wires was made more consistent. Do not forget your gloves.
Borgs now can restock wires, glass and metal in recharging station.
Added logging of bagbombing.
Internal buffer in ChemMaster have volume 100 units.
Metalcrafting window improved.
Added Soviet soda vending machine to the derelict.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1705 316c924e-a436-60f5-8080-3fe189b3f50e
2011-06-22 15:46:53 +00:00
rastaf.zero@gmail.com
d6e0f1cf22 Freaking big GAMEMODES UPDATE.
I have done lots of work to make selecting players for special roles be fair.
- New options preferences: "be traitor", "be changeling" and so on for all special roles.
- Now you can have job of AI/cyborg in preferences and do not lower your chances to become wizard/changeling/etc. And vice-versa: you do not have to select AI in your preferences to have non zero chance to play malf.
- Jobban from syndicate bans player from any special role (including malf AI, cult, etc).
- Fixed bug with changeling round not ending sometimes.
- All special roles were tuned to work better as admin-driven event.
-- All adminmade special characters will be listed at the end of round of any type.
-- All adminmade special characters are fully functional with following exceptions:
--- The ending conditions are determined at round start, i.e. you cannot end revolution by killing wizards and malf AIs (however, with nuke you can end anything).
--- The cultists cannot get their special objectives.
--- The malf AI can hack the APCs but without any profit.
--- The syndicate operatives must obtain the nuke/working code from admins.
--- As before, nuclear explosion ends round. Even if nuke was used in wrong place.
- Fixed thingy like "Not enough players for revolution game mode. Restarting world in 5 seconds."
- Changeling wont get objective "absorb X genomes" when there are less that X players in game.
- proc/equip_if_possible now has return value, procs like equip_revolutionary (giving a flash) should be more reliable.
- There are no fake wizards anymore. The research staff have to kill ALL wizards on order to win, even adminspawned ones. ("give spell" verb works as before, not making a spellcaster to actually be wizard).
- The semi-new game mode: traitor+changeling. Just like regular traitor mode plus one changeling. Round ends when the shuttle reaches centcom. Option for config.txt: "PROBABILITY TRAITORCHAN".
- Successful malf AI now have 60 seconds to choose to explode the station or not (some players still have to rejoin game to have their new verbs shown in Malfunction tab).
- Monkeys mode fixed, monkeys wouldn't randomly cure anymore.

For admins:
- New powerful mind editor oriented to mixed rounds.
-- Setting someone as special character (like wizard) does not equip him/her automatically. You have to do it it next step. Note, that in case of wizards and nuke operatives their old dress will be deleted! If you do not want it you shall use "undress" link.
-- Only operatives, head revs and cultists have their objectives set immediately.
-- You can unemad borgs!
-- You cannot unemag borgs because calling mind editor for nonhumans is blocked atm.
-- many other useful features.
-- you can fix burned out flashes from mind editor.
-- first assign the new malf AI/wizard then demalf/dewizard old one or round will immediately end.
- if delete the nuke bomb during its downcounting round will stuck. Using "edit ticker variables" set ticker.mode.explosion_in_progress = 0.

For coders:
- /datum/game_mode/malfunction/AI_Module renamed to /datum/AI_Module. Reason: What. The. Fuck.

Unrelated fixes:
- Blueprints can create areas up to 300 tiles (was 100).
- Cyborgs wont leave backpacks at spawn point anymore.
- Fixed bug in preferences causing preferences files to be huge.
- Diseases can infect again.
- The option "SQL_ENABLED 0" now works in config.txt.
- fixed critical bug on assassinate objective.

Bugs:
- We have a bug with job distribution for people who haven't any available jobs in their preferences. Players tends to group by jobs.
- For example, if we have 3 players they with hight chances will got same jobs. And probability of having one engineer and one medic _exactly_ equals _zero_.
- I am not sure if my changes made that bug worse. Anyway I MUST do this commit. Bug will be fixed eventually. Maybe.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1703 316c924e-a436-60f5-8080-3fe189b3f50e
2011-06-21 21:22:23 +00:00
noisomehollow@lycos.com
e68ce8721f #Finished the respawn_character proc. Use it to quickly bring a player back into the game with their previous character if they were gibbed/deleted. If you want them to make a new character, kick them out and let them rejoin. Can also be used to quickly enter the game by admins and the like. It's fairly robust so you can read the code to find out what it does (and does not).
#Added a locked list to datacore in order to track character spawn, particularly for respawn_character(). May be useful in the future.
#Added a proc to randomize appearance for any human mob, randomize_appearance_for(mob). It will not take into account gender as you will have to provide it. Names and so on are also randomized but that can be overwritten in the code following.
#Added AI holopads around the station. To use as the AI: click on the pad to center view on it. Click again to activate the hologram. Move it with the directional keys. You can still interact with objects normally. To remove it, either move it too far out or click the pad again. Use robot talk to directly speak through the holopad (and only the holopad, unlike regular robot speak). Could be added on to (like different images for different AIs) but it's basically finished.
#Fixed a bugged message on changeling transformation sting. It will no longer give away your identity.
#Made law datum a silicon define. var/datum/ai_laws/laws.
#A few more ninja adjustments. Added a new view mode for the ninja mask, allowing to see special roles and a few other things.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1608 316c924e-a436-60f5-8080-3fe189b3f50e
2011-05-22 23:48:29 +00:00
noisomehollow@lycos.com
bbc04ef26b Fixed PDA messaging.
Fixed PDA flashlight.
To clarify, you can still use the PDA when you are stunned/weakened. This was always the case, apparently. You cannot use the PDA when knocked out or dead.
You can now stick an ID card into a PDA without clicking 400 times (click on PDA with card in hand).

Changed how the ninja suit functions in relation to energy. It will now hold a power cell as APCs/Borgs/etc.
Ninjas can now replace their starting power cell (reduced to high capacity/10000) with larger capacities. Drain the cell as normal to do it. On that note, hyper-capacity (30k) cells added to research.
Can now drain energy from a recharger. Much like draining from wire.
Added cooldown to certain ninja abilities. It is a global cooldown; meaning, most abilities will be unusable until it finishes. Usually a second.
Some icon changes for ninjas.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1540 316c924e-a436-60f5-8080-3fe189b3f50e
2011-05-06 23:34:56 +00:00
noisomehollow@lycos.com
40b78e2438 Cleaned up ninja code so it's not all-over the place.
Reworked energy charging to where it's probably bug free and much easier to edit.
Reworked PDA code so it's much faster and easier to use. Might have some bugs left over.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1532 316c924e-a436-60f5-8080-3fe189b3f50e
2011-05-05 01:33:50 +00:00
only.lurking@gmail.com
1a40240947 Correcting a bug with Space Ninjas getting stuck trying to drain SMES and APCs. Credit to herpA for basically doing everything but making the commit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1523 316c924e-a436-60f5-8080-3fe189b3f50e
2011-05-03 22:34:14 +00:00
noisomehollow@lycos.com
52093c8a0d I guess I wasn't as gone as I thought I was. Go figure.
Code cleanup on some ninja+misc stuff.
Slightly faster energy recharge rate for ninjas.
Likely fixed the wizard/nuke operatives/MODE appearing in the Cent Com report.
Added a trio of hidden functions to ninja suit. Use with care!

I'm also removing myself as a committer.
Happy Easter! Peace!

PS: I'll miss you too Microwave :)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1498 316c924e-a436-60f5-8080-3fe189b3f50e
2011-04-25 03:09:18 +00:00
baloh.matevz
7753a031dd Added HoS (58), HoP (57) and CE (56) access levels. The HoP level applied to the HoP's locker, the CE access level applied to CE's locker and office door, the HoS' access level applied to HoS office door and locker. Each of these heads spawns with only their own access level:
Consequences:
- They cannot enter eachother's office (Except for HoP's office, which retains heads/bridge access)
- They cannot steal eachother's stuff so easily
- The borg blowing console is safe from the HoP's ugly fingers
- The hypospray is also safe from the HoP's fingers. (Both only until he grants himself full access, obviously)

- Commit includes commented out ion storm code and not-commented-out ion_act procs.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1485 316c924e-a436-60f5-8080-3fe189b3f50e
2011-04-22 10:25:47 +00:00
rastaf.zero@gmail.com
ef23794506 Fixed runtime error with changeling gibbed by alium larva.
Added sanitize() to naming the buffers in DNA machine and to alien whispering.
Added 0.5 sec timeout for BANG BANG.
Added drinking glasses to the Dinnerware vending machine.
Update from Nikie:
Verb Reload Admins rereads admins.txt
Parameter sql_enabled in config. Prevents spam when sql is not installed.
NOTE FOR HOSTERS: it is currently ON in code (i.e. behavior is unchanged yet), you have to add SQL_ENABLED to your config.txt during next week. Thanks for your attention.
Fixed "Delay" command.
Messages for help intent are gender-aware now.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1463 316c924e-a436-60f5-8080-3fe189b3f50e
2011-04-17 18:09:30 +00:00
noisomehollow@lycos.com
bd54d92eb3 Fixed SpiderOS chemical injections to work a lot better. Thanks to Muskets and Darem.
Added a new reagent proc (trans_id_to) to transfer a specific reagent from a list to the target.
Finished SpiderOS. If anyone plans to revise PDA code, or maybe do something similar, I highly recommend looking at the SpiderOS verb first.
Ninjas may now drain energy from exposed wires, ala a powersink. It takes longer than APCs to begin charging and drains slower.
Misc bug fixes and improvements.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1460 316c924e-a436-60f5-8080-3fe189b3f50e
2011-04-17 03:32:19 +00:00