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.
Your dreams of big part storage and fast machine part exchange came true
14 slot R&D part-only autoseeker/picker/dropper/exchager is in
Added different sprites for better capacitors and scanning modules
Changed the power cell type to be compatible with all this machine
changing faggotry
All sprites here are codersprites so ask nien/WJ for better ones if you
want
Works pretty well. If it can't GC something, it'll just del() it and be done.
Speed is amazing, holy shit.
New procs you should be aware of:
qdel(atom/movable) - sets up an object for garbage collection. Call this rather than del(atom/movable).
atom/movable/Destroy() - called right before the object is GC'd, so it still has a loc. Also called if the object is del()'d.
new controller - garbage.dm has all the details on this. Basically it nulls all references on GC'd objects and force del() them if necessary.
Generally speaking, objects should use Destroy() for behavior prior to deletion rather than Del(). You should also always call the parent so the object gets the right gc_destroyed var set.
ISSUES:
Tries to GC mobs atm. This actually works for new players, not so much for humans/monkies/simple_animals/anything. I'm guessing it needs to clear out their mind and HUD and maybe other things.
Gibbing is really bugged. It works, but the overlays just sit there for awhile and ugh. I'm very tempted just to del() mob/living and mob/camera and call it a day.
qdel() equipment doesn't unequip the item.
Pipes don't generally GC correctly. Debugging suggests they get referenced in many pipenets and that isn't cleared properly. However some do work fine. Need assistance here.
Bots don't GC, probably in the radio controller.
Lots of other shit doesn't GC but it's hard to find them because of the pipe spam.
I think I'm calling Destroy() twice by accident.
-fixed space ninjas not being able to charge directly from power cells - fixes#2139
-'fixed' Distro/Waste Monitors not displaying pressure read out when sensor was reading zero pressure - fixes #
227
-removed the canmove check on camera consoles - fixes#490
-Fixed stealmin's real ckeys showing in the admin-pm reply dialog's title - partially fixes#2163
-Fixed people buckled to chairs not dropping their items when appropriate (like when dead) - fixes#2172
-Fixed people being able to use uplink functions whilst stunned/dead/etc - fixes#2144
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
Integrates gloves into click code. Gloves now have a proc/Touch(atom, proximity) which is called before humans do an attack_hand(). It can also occur when you click on something at range, so be sure to check the proximity flag.
Adds code to make ninja gloves work properly with this and pulls it out of the various attack_hand() procs.
Other suggested uses: secret society rings, magic/cult gloves, weaponized gloves (chemical, electric, needles, etc), powered exosuit hands (for picking up crates), I dunno, there are options
Added a Jump to Node power.
Cleaned up the code.
Changed some more values.
Added a blob_act() to camera.
Removed most "if(gamemode == "blob") checks to stop people from using it to metagame.
Removed cells exploding when being blob_act()'d
Fixes issue 676.
Fixes issue 700.
Fixes issue 753.
Fixes issue 754.
Fixes issue 755.
Additionally I slightly cleaned up grenade code and stunglove code, and removed mustardbomb.dm (because it was fucking awful).
THIS BUGFIX TRAIN AIN'T STOPPIN'
Thanks QualityVan for the issue 521 fix, and thanks Nodrak & Tobba for pointing out my dumbness for issues 753 & 754 respectively.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4382 316c924e-a436-60f5-8080-3fe189b3f50e
-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
- You can no longer whisper when stung by a changeling or had another thing make your 'silent' var get set.
- Added a single empty toolbelt to robotics, added a wrench and screwdriver to toxins.
- Power cells now always spawn full. The double use of the 'charge' variable was not good, as when creating the map it had a value of 0 - 100 to represent the percentage of the cell's power, while it was used as a numeric representation of the amper-hours that were still left in the cell. The problem this caused was that cells created mid-round (cells which spawned in closets or were spawned by admins) always started empty. They all start fully charged now. Additional obj/item/weapon/cell/X/empty types were added if we want empty cells.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3763 316c924e-a436-60f5-8080-3fe189b3f50e
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
Stun gloves are now made by wiring a pair of gloves, and then attaching a battery- this shows up on the object sprite, but not on your character.
Stungloves use 2500 charge per stun! This means that some low capacity batteries will make useless stungloves.
To get your old inconspicous gloves back, simply cut away the wire and battery.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2439 316c924e-a436-60f5-8080-3fe189b3f50e
Moved into their own folder and got split into three files.
Damage zones have been regrouped slightly to make it easier to deal with them. Currently the organ groups are head, l/r leg, l/r arm, and head.
Attacking:
Armor is properly checked.
Currently aiming for the chest gives a higher chance to stun whereas the head will stun for longer.
Stungloves/Disarm now show up in the attack log.
Stungloves ignore intent.
Silicon:
AI units can now move between cams that are not on the ss13 network.
Cyborg's alert screen should not longer pop up every time they get an alert if they have opened it once during the round.
Robot vision now uses the standard amount of energy.
Gamemodes:
Added Deuryn's unrev message.
Runes can only be examined if you are close to them.
Moved the Loyalty implants to the HoS' locker at the request of HerpA.
Nuke agents now come with explosive implants that will activate upon death.
Projectiles:
Once again went though the gun code and cleaned things up, it is much better now.
Bullet_act fixed up and most mobs now use the one in living, just overload it if they need to do something diff.
Freeze /caplaser/xbow no longer have an infinite loop.
Shotguns have to be pumped manually.
Went though the latest runtime log.
Power cells now use return on their give/use procs
Assemblies have been reworked and are nearly finished, just need to finish up the special assembly code, redo the signalers, and add one or two new assembly items.
Laying down will now only take 3 ticks to get up, from 5.
You can no longer punch people on the spawn screen.
This is a big one and was cleared by two heads, TK will only allow you to pick up items. If you have an item in your hand it will act normal.
This revision got much larger than originally intended my tests show everything is working fine, but you never know. Ill likely do more mob teaks in the next few days.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2333 316c924e-a436-60f5-8080-3fe189b3f50e
/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
BoH is no longer an instakill on a singularity, the chance the singularity will die from bombs now 25% from 10%.
Finished removing Metabslow from the game because delaying Interface rebuilds is a bad idea.
Sadly THE SUN is gone due to lighting lag issues, the current mob max luminosity is set to 7.
Damage and stun from doors shocking people has been lowered.
process() is now an obj level proc as it was already used by several procs and they can now jump onto the ticker if needed.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2199 316c924e-a436-60f5-8080-3fe189b3f50e
Admin changes:
Admin attack logs now have a timestamps. Basically, before each log entry there is something that displays [hour:minute:second]. I plan on expanding this functionality to all kinds of logs, as well as creating a global attack log, but this will do for now.
Gloves:
You can still electrify any gloves with a power cell, however you have to use wires on non-insulated (yellow) gloves to create a "ghetto-insulation" system. I might make these gloves' stun effects more watered-down than normal insulated gloves, but that will probably be for later on.
Bugfixes:
Fixed some miscellaneous runtime errors, and more importantly, the shotgun. You can dry-pump it by clicking on it, which will eject any used shots or just make that badass "chuck-chick" sound to let everyone know you mean business. Combat shotguns can now shoot twice without the need to pump.
I also possibly fixed the issue with metroids' AI process locking up. Someone's going to have to PM me on the forums to tell me if this worked or not, because I have not been able to reproduce the bug (although I do know where it's happening in the code).
Chemistry:
Alright, so this is where the meat of this update is. In a previous revision (r1905) I mentioned the addition of a new "color" variable. This variable now has a use. When you use a spray cleaner, or a chem sprayer which now is significantly more powerful, the color combination of all the reagents inside the sprayer will be displayed instead of the plain old blue-white color. This will allow for people to easily distinguish reagents and colors, for instance, if you see some chemist running around spraying orange or purple stuff chances are that's acid he's spraying, so you should probably subdue him!
In addition, you will now be able to see beakers (large ones too) fill up visually. The color of the reagents inside the beaker is overlayed on top of the beaker. The colors may be subject to change to make them brighter or more easily identifiable by "category". Currently, most pharmaceuticals have a light pinkish color. Polytrinic acid has a distinct purple color, etc. However, with due time I can picture chemists mixing other, benign-ish reagents with harmful reagents so passerbys think that a chemist is spraying someone with something harmless, but in reality is spraying them with a bunch of PAcid. There are some consequences, for instance, concentrated acid is more powerful than watered-down acid.
Have fun with that.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1922 316c924e-a436-60f5-8080-3fe189b3f50e
#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
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
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
#Private lockers can now be sliced open with the ninja sword.
#Added a SpiderOS verb to the ninja suit when initialized. It acts as a lite PDA with some unique features. If I had more time, I would revise the existing PDA system to follow the format of SpiderOS which would make the former run a lot faster.
#Added an adrenaline boost ability for the ninja suit. It will near instantly remove paralysis/stun/etc but has only three uses.
#Added ninja stars ability. Ranged projectiles, the user randomly picks a target from nearby living enemies. Projectile itself is wip.
#Maximum charge for the suit is 30000, or 300%.
#More names for ninja name gen.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1451 316c924e-a436-60f5-8080-3fe189b3f50e
#As an added bonus, voice-changers will protect from flash. Can be easily removed if needed.
#Added more recharge locations for ninjas: cells, smes, and cyborgs.
#Recharge changed so that it takes less time but recharges for less.
#Adamantine sprites per request.
#Updated Ripley sprites per request(?).
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1444 316c924e-a436-60f5-8080-3fe189b3f50e
- Thermite'd walls and mined minerals no longer fuck over the lighting code.
- Power cells now have a different examine-text entry when they fail due to low reliability.
- Some R&D console tweaks.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1100 316c924e-a436-60f5-8080-3fe189b3f50e
- New "empulse" proc. Works similarly to "explode" proc. It triggers the "emp_act" proc on everything within range. emp_act are effects similar or identical to the effects of the emp grenade. Any major changes to emp effects listed below. Note: EMPs now affect items in your backpack.
- New admin right-click command: EM Pulse. You can create an empulse at the desired location with a size you choose. Similar to Explosion command.
- disable device spell, emp grenade, and disable tech rune all use empulse now.
- New "disable device" spell datum added.
- EMP'ed gas canisters no longer drain the station of power.
- When a borg is EMP'ed, all objects in their module get their emp_act proc triggered.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1018 316c924e-a436-60f5-8080-3fe189b3f50e
- R&D Console interface re-done a bit. Unlinked machines don't show up at all on the main menu but you can see what machines are linked and what aren't in the settings menu.
- Object path for robo-crate power cell changed.
- Basic and "super" power cells can now be deconstructed (in a deconstructive analyzer) for tech.
- New power cell: "SUPER" power cells. Can be built through R&D research (Req. Power Storage Tech 5) and holds twice as much as the power cell you get from robotics crates. Unfortunately, like a lot of prototype technology, it is unreliable. They'll randomly not recharge and eventually will stop recharging at all.
- Items with reliability < 90 and haven't critically failed cannot be destroyed in a destructive analyzer.
- Imprinter and Protolathe now drop their results on themselves rather then a linked destructive analyzer. Derp.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@998 316c924e-a436-60f5-8080-3fe189b3f50e
Girder now have ex_act(), so it will not be indestructible anymore.
Max amount of steel floor tiles in one stack was set to 60 (was 10). If you made too much of tiles you can put undue ones into autolathe.
Fixed uncompilable line left by bizarre.babel in r939. Other her derp she should fix herself because I am mad >:[
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@940 316c924e-a436-60f5-8080-3fe189b3f50e
Cola and similar drinks now won't prevent freezing to death in space.
Also fixed typo in glove charging code.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@920 316c924e-a436-60f5-8080-3fe189b3f50e
- shocking by autolathe, vendomats and airlocks works if powernet has power OR if APC has charged battery;
- autolathe able to shock without cable underneath;
- improvements from Barhandar and Errorage are included;
- making stungloves may electrocute you;
- handmade stungloves partially loses insulating;
Eliminated 4-seconds lag caused by all apcs changing state to "fully charged" after first few minutes of game.
Fixed message "The airlock's motors resist your efforts to pry it open."
Latest innovations in nanotechnologies! Matchbox now fits in pocket!
Fixed burn_skin(), so containment field now hurt people properly.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@919 316c924e-a436-60f5-8080-3fe189b3f50e
-fixed cyborgs/AI problems with emitters;
-collector controller now without delay display state of singularity, beware red circle;
APC repairing:
-emagged APCs can be easily fixed;
-blowed up and malfhacked APCs can be fixed with lot of work;
--Note: malf timer will NOT slowdown due to gameplay reasons;
-APC now actually use power for charging its cells;
Power cells:
-explosions strength now depends on charge;
-in general explosions were nerfed;
-power cells can lose quality in several circumstances;
Food processor
-now messages appears in right moments;
-code rewritten, adding recipes now easy;
-recipes still same;
-new recipe: non-player monkey -> bucket of blood;
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@709 316c924e-a436-60f5-8080-3fe189b3f50e
-engine won't get unlimited floor tiles from reinforced floor and thus won't grow constantly;
-collectors can receive energy from several sings;
-various graphic glitches fixed;
-released singularity can now be catched. In theory.
-singularity cannot be killed by small/far explosion;
-containment field cannot be exploded at all;
-fields and singularity now are immune to blob;
-messages improved;
-machinery fingerprints handling fixed;
-engines 3*3 sings must work now;
-emitters (and some other machines) now really uses power;
-collector arrays and controllers now requires engine access;
-powerful singularity now deal more radiation damage, but you can hide behind walls;
-improved generator's sprites
Miscellaneous:
-cell chargers now actually consumes power;
-fixed examine verb for tanks;
-fixed airlocks won't opens automatically in rare cases;
-beer now don't instakill plants;
-vents and scrubbers now requires and uses power;
-more user-friendly canisters interface;
Optimizations:
-brig doors now causes lesser cpu load;
-small optimizations and code cleanup for some atmos machinery;
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@691 316c924e-a436-60f5-8080-3fe189b3f50e