Commit Graph

101 Commits

Author SHA1 Message Date
giacomand@gmail.com
0fbfa48217 -Added more info for admin messages in these areas:
Chem smoke will say what reagents are in the chem_smoke.
Added a more_info ? to the last fingerprint that touched the grenade.
Added a more_info ? to bomb's last fingerprint and the attacher.
Admins get a warning message when someone summons guns.
Added a jump link to bomb's activation location.
Added a jump link to chem smoke's activation location, it will also show you the area's name.

-NarSie won't follow mobs in another Z level.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4719 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-18 09:49:51 +00:00
johnsonmt88@gmail.com
be04c81a27 Captains no longer spawns with a cigar in their mouth, instead it spawns on the desk where the captain spawns.
CEs no longer spawns with a cigarette in their mouth. I did not add a cigarette to their desk because there is already a cigarette pack that spawns there.

Moved some stuff in singularity/New() into its own proc that singularity/New() calls. This is so that I can override it and prevent runtimes with an away mission.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4717 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-18 01:36:40 +00:00
giacomand@gmail.com
2bc3ec67f1 -Improved the singularity. It was using 3 for(in range) loops when it could be easily be brought down to a single loop.
-Changed grabbing's constructor to allow parameters for the grabber and the grabbee. (I made a simple little tweak and look at all the files I had to change :( )

-Easter Egg: Clowns have a chance of reducing or increasing the singularities energy. Upper and lower limit is 300 and -300.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4681 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-12 11:17:49 +00:00
elly1989@rocketmail.com
aeaf790882 Removed a spawn() from rad_collector/New()
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4643 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-07 09:48:57 +00:00
giacomand@gmail.com
ecd2bcec56 -Holograms are range based again.
-Instead of the singularity using range to look for rad_collectors around it, it will now look through the list and check the distance between every rad_collector, if it's less than 15 tiles in range then it'll give it power.
-Fixed naming your revolver.
-

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4638 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-06 21:24:33 +00:00
elly1989@rocketmail.com
73e5c38a56 Preparations for reducing the number of processing machines at round-start. There are currently 8000 or so at round start, this was already pruned to 2800ish by doohl's stuff.
machine.process() now uses a return value to remove itself from the processing machines list. This is more efficient and will help reduce costs especially at round start where some 5000+ machines were removed from the list using first-find. Now there is no searching involved. Instead of machines.Remove(src) just do .=PROCESS_KILL that will return the flag to the proc which called it (the MC) and trigger its removal from the list. If you're deleting something don't even bother removing it from the machines list, there is no need to.

Simplified the last_processed stuff for the MC. It's now a single variable rather than 3. It is simply a typepath rather than a reference to an object (this is so it works even if said object is deleted)

MC stats in admin status_panels now show the length of the processing lists (indicated by #). I've just realised I forgot to mention what the abbreviations are:
The less obvious ones are: Dis=diseases; Net=pipes; Pnet=powernets; Mch=Machines; Tick=the game-mode ticker.

Beach-water now uses an overlay image rather than a separate object.

Fixed a typo in the shuttle console.

Hydroponics trays no longer use first-find within their process() for checking the plant is in the tray (why is that even there anyway? talk about lazy)

Removed some junk/placeholder procs like organ/proc/process() return

Removed newscasters from the processing machines lists.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4603 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-02 20:32:01 +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
johnsonmt88@gmail.com
4b2326388c In-hand items should now properly update when equipping items.
The singularity can no longer stunlock dead or unconscious people.

tgstation.dme updated since one of the files were removed

Changelog updated to put the 'have a bug to report?' bit to a spot just above where coders put their changes.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4521 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-23 04:13:37 +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
johnsonmt88@gmail.com
26ce5db5b0 Meteors and Space dust (now that they work again) will no longer have an effect on singularity containment. Field generators and Emitters are protected.
I added a check to meteor and space dust Bump() directly because changing ex_act() on the machines themselves would make the machines immune to bombs and C4.
Hopefully fixes issue 716.

light/process() was added back in causing lights to use power as they were meant to. Recently lights have been made brighter causing more power to be drained. As a result the engineering APC would not last very long. The station using a lot of power is a good thing since the singularity produces an incredible amount of power, so to keep this higher power demand but still give engineers a fighting chance to set up the singularity, I've bumped up the engineering APC's starting battery power.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4401 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-14 16:39:01 +00:00
sieve32@gmail.com
4b72ada290 -Cleaned up the code to sacrifice borgs, AIs, and brains. (Also made it possible to sacrifice AIs on intelliCards)
-Gave brains a proper gib() so they are actually gone
-Added a proc to the 'Secrets' panel, a variation of power the station that instead is MUCH faster and just powers all SMES, turns on output, and sets it to max (helpful for testing and it doesn't leave the server frozen for 60 seconds to process)
-Added maxHealth to mice, killer tomatos, and walking mushrooms (They started with 5 health but could be 'healed' up to 20)
-Made the updatehealth() actually usable outside of humans by making it use maxHealth instead of just '100'
-Fix for shield generator sprites not updating properly, caused by not all generators actually updating on powerloss, and adding an update_icon() where needed
Fixes Issue 751

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4393 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-13 15:30:36 +00:00
elly1989@rocketmail.com
ae45d10423 Pulse emitters (singulo engine) are no longer susceptible to EMPs. Resolves Issue 761
The Field generators are now offset from each-other to allow the engine to be restarted should containment fail.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4380 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-12 13:55:19 +00:00
johnsonmt88@gmail.com
9cd4950d56 Nar-Sie is now named 'Nar-Sie' instead of 'Tear in the Fabric of Reality' to fit the new sprite.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4291 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-02 19:43:25 +00:00
baloh.matevz
a3d9123edd - Added a sprite "7" to the sd lighting file as it was used, even if it didn't exist.
- Piped 3.0.0 a bit.
- Standardized code/modules/power. 

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4242 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-31 05:24:37 +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
cf86c755d6 Made Save Slots much more robust
-Made a 'default' save slot (D), and whenever you connect it automatically selects the default slot to load from, but manually selecting a different slot will allow you to play on that one before it returns to default.
-Added the ability to name your save slots with the '*'. Names can be up to 16 characters and contain letters, numbers, and basic symbols
-The preview icon on the preference screen now takes into account any job you have set on high, and dresses up the icon accordingly. If assistant is set to 'yes', or AI/Cyborg are on high it will put the icon in a grey suit (So you can still customize).
Solves Issue 667 as well

I tested a good bit with other people's saves, so I'm pretty confident it won't bork savefiles. And before anyone asks, the icon blending didn't make any noticeable lag, since icon procs are client-side.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4159 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-24 04:32:07 +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
sieve32@gmail.com
71ca4efcbc -Cleaned up and improved PA icons
-Fixed an unlisted issue involving RD consoles. Now you can use a screwdriver to change the access protocols on the board itself, to be either a core console or robotics one
-Fixed Issue 546, the part of the AIize() that cleared the music was a part of human code, but at round-start it is 'new_player' that is AIized. Moved that part to mob/AIize()

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4014 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-08 06:40:33 +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
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
mport2004@gmail.com
8d4102e43f Fixed a runtime error due to throwing mobs resulting from a recent throwing change, it could be done better but I am not going to put the time in to make it proper if someone else wants to feel free.
Fixed accelerated_particles hitting people with rads throwing runtimes due to an s at the end of the apply_effect proc.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3874 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-19 20:35:04 +00:00
johnsonmt88@gmail.com
883b290064 Server crashing and exploit fixes
Added a cooldown to the containment field shocking players
- If a containment field was set up in a small room, it was possible to crash the server by jumping into the field with no way to escape it. This was likely due to the hundreds of spark effects being generated every second, on top of all the other calls it had to make.

Used the existing parent proc to check for proximity, canmove and death on:
- Atmos pumps
- Atmos mixers
- Canisters. (This should finish off issue 397.)
- Crew monitering computer (This one probably didn't need it but it shouldn't change the way it works.)

Added admin checks to:
- datum/mind
- tensioner
If either of these fail an admin check an admin log will be entered into the server logs and a message will be displayed to admins.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3818 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-14 19:31:15 +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
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
elly1989@rocketmail.com
7f52605277 Fixes a derp I made with the PA in a recent commit.
Rules verb moved to the interface to make it more visible (so new players may actually -read- it occasionally).

Minor changes to investigate singulo based on feedback. Entries are now timestamped and the "time \ref[src] (location)" bit is in a smaller font. Collectors note how much fuel they are loaded with. 

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3687 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-28 17:10:54 +00:00
johnsonmt88@gmail.com
329c71c306 Disposal/Pipe Dispenser can no longer be used 'remotely' or while stunned or while they are unwrenched. Fixes issue 517.
Can no longer eject the nuke disk from the nuke while stunned. Fixes issue 497.

PA can now be powered down again.

Cyborg 'skull' masks now have east and west facing sprites. Fixes issue 468.
- I encourage anyone with actual spriting skills to redo them though, I just spent 5 second in photoshop whipping these up. (icons/mob/mask.dmi the icon labeled 'Death')

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3681 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-27 04:14:56 +00:00
elly1989@rocketmail.com
bf3fe07b27 :S messed up some indentation with a last minute change. My bad, sorry.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3680 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-27 01:50:32 +00:00
elly1989@rocketmail.com
d7c9e72a29 Added a new logging system that can be used for various things in the game (such as the singularity engine, AI interactions, anything-else that may be suggested to me :P).
At the moment it only logs some singularity things. Please let me know if there are any important methods of singulo-grief which I may have missed.

The "Investigate" verb is available to everyone of rank "Admin observer" and upwards. Just type "Investigate" and select the subject you'd like to see logs for. Typing "Investigate singulo" will also work as a shortcut.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3679 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-27 01:31:57 +00:00
baloh.matevz@gmail.com
c2c7a3bcda - Variable declaration standardization. Big commit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3671 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-25 19:26:36 +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
8fe80454fd Tensioner revheads no longer get an uplink
Singlostarter verb now properly starts containment fields.  It also sets up the SMESes and Rad Collectors 
Moves show tension report down to trialmin

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3331 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-20 15:52:05 +00:00
kortgstation@gmail.com
1be29f6468 Fixed the objectives not being assigned properly when the Summon Guns spell is used.
Removed the wizard's Nar-Sie grav pull entirely to reduce lag/it is strong enough as is.

Fixed the gyrojet projectile name

Removed the ion rifle from the armoury

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3272 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-11 21:35:41 +00:00
kortgstation@gmail.com
3a96667003 Desert Eagles now use magazines, .50AE ammo, and only have 7 shots. They're basically revolvers that use magazines.
Nuke ops lost that horribly nerfed piece of shit c20r and now get Desert Eagles and Riot Shields.

The detectives .38 ammo now does the same damage as regular revolver bullets. If he wants to keep acting as a glorified sec officer, he can go grab a taser.

The Veil Render now summons a subtype of Nar-Sie which doesn't pull anchored objects. This should reduce the power of the item/reduce lag while I get sprites and finalize details with Urist for reworking it as the Sphere of Annihilation (as in, this is temporary)

Updated the changelog

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3132 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-16 07:20:32 +00:00
elly1989@rocketmail.com
0a80f91f2c Added Spacevines to the random events. Added a spawn space-vines option to the secrets panel.
Fixes issue 250 (borg door bug)
Fixed silicon interactions with engineering equipment.
Fixed access lists for radiation collectors, so locking them actually serves a purpose. Fixed using crowbars on them.
Borgs can name themselves upon module selection (unless a roboticist has named them previously by using a pen)
To avoid Borgs griefing and then changing their name by selecting a module, borgs are now unable to move independently until they choose a module.
New sprites for spacevines are on the way. So you'll have to tolerate my crappy stand-ins for a bit until he is finished with them.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3128 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-14 20:29:58 +00:00
trubblebass@gmail.com
13d729577d - Changed /trunk/code/game/objects/closets/fireax.dm to fireaxe.dm
- Fixed issue 308
Singularity engine parts are now unanchored by default. However those on the map have been edited to all be anchored.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2937 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-10 17:20:46 +00:00
mport2004@gmail.com
2ea375091e Renamed the prisoner computer's file to prisoner and added a sanity check.
The singularity is now able to eat things like signs and chameleon projectors' projections.
A few other misc runtime fixes.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2916 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-05 05:26:13 +00:00
mport2004@gmail.com
f12301d51a Fixed some runtimes.
Virus2 has been effectively removed from the code as it was not actually used and was causing some runtimes.
The PA is now properly affected by meteors/blobs/bombs.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2903 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-02 22:12:36 +00:00
mport2004@gmail.com
8c1c914259 Added Invisty's Emitter sprites.
Cleaned up part of the door code and moved some defines to their proper files.
Firelocks can now be welded open and now shows the welded overlay properly.
Borgs can now properly mess with door wiring.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2895 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-01 23:43:56 +00:00
rockdtben
938fc1e0f0 toxloss is now only referenced via procs.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2875 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-30 17:59:19 +00:00
mport2004@gmail.com
4ad793af53 Emitters can be emag'd.
You need to swipe and ID to lock an emitter,
PDAs will no longer have a popup when you attempt to put an ID into them.
PDAs have an Update Info button just below the ID slot when an ID is in it.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2867 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-30 15:42:17 +00:00
mport2004@gmail.com
32e1640df3 Emitters emp_act now uses severity properly.
The PA can no longer be remotely controlled by humans and cyborgs can only control it if they are nearby.
The spawn PA can now be taken apart.
FireAx/Extinguisher closets got their own files.
Food closets are now with their defines.
Freezer closet/crates override return_air() to cooldown the contents.
The var isinfreezer has been eliminated.
The old player panel has been readded as an alt for the new one, it may be found under the Player Panel verb.
The new player panel may be accessed by the Player Panel-New verb.
Crates.dm moved from the storage folder as it is not a storage object.
Fixed Issue 227 about the PA shooting when it should not be.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2851 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-29 07:14:02 +00:00
baloh.matevz
19fb811e20 Patched up the three major security risks in engineering: the north CE window facing the hallway, the north engineering window facing the hallway, the regular wall in the smes room.
Fixed a problem where all the engine parts that the QM ordered would start in stage 4 of construction and anchored...

Added a few fire alarms to engineering

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2840 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-28 18:38:08 +00:00
petethegoat@gmail.com
b9c3f9ce65 Added Scottzar's emitter projectile sprite. Thanks!
Fixed some issues with paper.
Slightly adjusted the atmospheric door sprites.
Added some SMES assembly sprites.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2829 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-27 04:19:18 +00:00
baloh.matevz
fa5a5772c8 Engineering remapped
Screenshot: http://www.kamletos.si/new%20engineering2.png

Added glass doors to the table facing the hallway after that screenshot was made

- Added an emp-proof camera for singularity viewing
- Particle accelerator now starts set up

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2820 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-26 17:11:12 +00:00
uporotiy
3f5b76aff0 Added stun, weaken and paralysis-related procs in place of directly editing the vars. Hulk is 5% chance now due to being completely immune to any sort of stunning (will nerf more later). Think that's all but not entirely sure.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2683 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-14 16:38:46 +00:00
petethegoat@gmail.com
85cb13fe95 Reverted the janitor closet to the old trashbag. (It does work, I fixed it up in r2557.)
A bunch of fixes for various stuff that's been broken about the bag of holding. It should work as intended, now.
Made wet floor signs fit in boxes.
Cleaned up the janitor's closet a bit.
Optimised the vault wiring a bit.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2580 316c924e-a436-60f5-8080-3fe189b3f50e
2011-11-30 15:02:01 +00:00
rockdtben
38d90773cc Implemented getToxLoss()
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2528 316c924e-a436-60f5-8080-3fe189b3f50e
2011-11-17 23:42:09 +00:00
uporotiy
6df81a10ed Maximum frown mode, Mport.
East/west PAs fixed.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2356 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-14 15:26:50 +00:00
mport2004@gmail.com
897a89308f Had an extra arg going into the job selection proc.
Turned off the new del test on the singularity for now.
Bit of work on the signalers.	
Jetpacks edited to use less fuel.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2341 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-11 10:00:05 +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