Also removed some mob vars like sdisabilities and merged the usability
with disabilities
Removed need for mutations var, they are not handled in dna
Removed blinded var, now its handled by eye_blind being bigger than zero
Ands lots, lots of other shit in files that used mutations
Just in time for the feature freeze, a big change that will introduce bugs! Yay!
Mob verb is called verb/examinate(target), which just calls target.examine(user) and face_atom(target)
For explanation why, see http://www.byond.com/forum/?post=1326139&page=2#comment8198716
Long story short, mob verbs are much faster than object verbs. The goal is to make right-click menus populate faster.
Also changes a bunch of examine() procs to always, ALWAYS call the parent. Except mobs, but you have 1 guess why I'm not touching them. Mostly this affects obj/item/examine().
And also remove a whole shitload of pointless set src in view(2) kind of crap. Also span classes.
*TABLEPASS was already totally obsolete.
FPRINT was used, but it was on virtually everything anyway.
Removes those flags from every instance where they were used. Also assigned and removed other flags where it made sense.
If it is desired, I can revive the flag as NOFPRINT, which would retain the original functionality, though inverted. That way it would be be used only where it was intentional (holodeck items could use this for example).
Added superclass invoke for the arcane tome
Added superclass invoke to light switches, removed it's (unused) description.
FLightswitch description repetition derp
examine superclass invoke for gas flow meter, space heater, fire extinguishers, grenades/IEDs, fancy boxes and welder. Changed description for welder and fire extinguisher to show their content in a similar style.
Fixed tank, linen bins and janicart description, and added welder of previous commit (forgot to commit it)
REMOVED icon in mop_bucket description (now provided by item class).
REMOVED unused examine() override in clothing/gloves
REMOVED custom examine() for glass/rag
CHANGED using examine superclass on paperwork/paperbin, removed redundant description code
CHANGED examine superclass for power/apc
ADDED universal maxcharge readout for all the powercell types.
CHANGED using examine superclass on machinery/light, removed redundant description code
FIXED weapon/virusdish use a description field.
TWEAK lowercased some of the portable generators.
Fixed improperness of pacman names
The minibomb is based on grenade code with a blast radius of 1,2,4 and is found in syndieminibomb.dm. This is the same power as the default tank transfer bombs spawned on the syndicate shuttle.
It features new sprites by teh_wolf and existing inhands (the default grenade) and is a tiny item.
As a result of introducing an explosive grenade, grenade priming are now logged.
Its crystal cost has tentatively been set at 3.
---
The Syndicate Bomb is all new code contained in explosives.dm with additional wires code at syndicatebomb.dm. It does not make use of any tank transfer valve or grenade code.
The bomb has a blast radius of 2,5,11. This is the same power as the tank transfer bombs in the syndicate shuttle if they are boosted with oxygen.
It features new sprites by teh_wolf and existing inhands (currently using “electronic”) and is a bulky item.
The bomb is set by touching it in your hand or touching it on the ground if it has been wrenched down, allowing first to set a timer (min 10 seconds) and then giving an option to start the countdown. When the bomb is activated it states so to everyone within sight of it, giving a time to detonation in the process.
The bomb can optionally be wrenched to solid ground to foil would be spacers. When the bomb is set to countdown the bolts lock in, and cannot be removed by wrench alone.
The bomb includes a robust wires system for pulse pounding defusal attempts. Once a bomb starts ticking using the wires is the only way to stop it (it is not immune to del of course, but is unacidable).
The wires are as follows:
*Boom: Will detonate the bomb if cut/pulsed while the bomb is live, but will defuse the bomb on cut when it's not timing. Mending this wire is the only way to make a defused bomb potent again.
*Unbolt: If the bomb has been locked to the floor cutting this will free it. Pulsing will hint at its function
*Delay: Adds time (+10) to the timer when pulsed (it does not matter if the bomb is live or not). No function on cut.
*Proceed: Lowers the time when pulsed. If the timer is above 60 it will set it to 60, if it’s between 60 and 21 it will reduce the timer by 10, if it’s between 20 and 11 it will set the timer to 10. This will detonate the bomb when cut if it's timing. Note that this makes randomly cutting more dangerous than pulsing as there’s twice the number of wires that will explode.
*Activate: This will activate the timer if pulsed when the bomb is not timing, or will stop and defuse the bomb if it's cut while it IS timing. Pulsing it on an active bomb will hint at its function and add a little time (+5).
All syndicate bomb primings are logged.
Its crystal cost has tentatively been set at 5.
---
Misc
The “screwed” traitor uplink kit has had its tank transfer bombs replaced with one of each of these two bombs.
-Turns out there was already a Gaussian PRNG proc already, used by mechs and turrets. I've replaced it with my one as mine has almost half the cost. (currently broken! still waiting for fixes to be pulled!)
-replaced between(min, val, max) with Clamp(val, min, max)
-get_turf(thing) now uses var/list/locs to locate its turf, rather than iterating up through loc of its loc of its loc...etc
-sign(num) moved to maths.dm
-InRange(val, min, max) replaced with IsInRange(val, min, max) (they were identical)
-Removed ismultitool() iswrench() iscoil() iswire() iswelder() iscrowbar() etc
-removed modulus(num) as abs() performs the same task! *roll-eyes*
-removed get_mob_with_client_list() as it is no longer needed (we have var/list/player_list now)
-removed get_turf_or_move() as it simply called get_turf
-removed get_turf_loc() as it was identical to get_turf()
*Additions:*
-The "Declare Ready" link in the lobby will automatically become "Join Game" if the round starts before you declare ready, so you don't have to click it twice
- The folders themselves are now finished
- Next I'll go through each file and organize them
- Lastly I'll start pulling the object definitions out of /code/defines/ and put them into their respective files.
**Note to committers**
Make sure the .dme file updates when you update to this revision. If necessary delete the .dme and svn-update.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4546 316c924e-a436-60f5-8080-3fe189b3f50e