update_clothing() has been broken up into it's key parts. A full explanation can be found in code/modules/mob/living/carbon/human/update_icons.dm
the tl;dr of it is that overlay updates are no longer called by the gameticker. Instead they are called by procs such as u_equip db_cick etc. This means faster updates (although admittedly, more of them can be called per tick). This however is offset by the fact that specific overlays can be updated now, vastly improving its efficiency. This will especially help when there are large numbers of dead mobs.
Fixed the throw code for TKgrab so it can be toggled.
Cloaking for aliens/humans/ninjas was changed. It's very crude at the moment and for that I apologise. But it works and is very efficient.It also stops cloaked individuals becomming invincible due to people being unable to hit them (even when they know exactly where they are)
Fixed a bunch of bugs with damage-overlays. They were updating FAR FAR to frequently. They were also horribly inefficient. They should now be virtually seamless when updating and only use cached icons, so they aren't affected by lag as badly. This may help with explosions lag a little.
There's still a tonne of stuff I need to refine with this. I'll be refining it down into some helper procs to reduce on code duplication and such
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3811 316c924e-a436-60f5-8080-3fe189b3f50e
- Replaced them with a whole range of inventory slot flags. These now govern whether an item can or can't be placed in a certain inventory slot. See setup.dm for information on the flags. These flags only affect humans tho, as humans are the only beings with an inventory to talk of.
- Standardized some gun code and some other pieces of code as I came accross them. I hate indented variable definitions!
This commit should not bring any change whatsoever to the game from a player's perspective.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3659 316c924e-a436-60f5-8080-3fe189b3f50e
-Added two new syndicate bundles
-Reduced cost of thermals to 3 telecrystals (formerly 4)
-Singularity Beacons are now spawned from a smaller, portable device.
-CMO and QM jumpsuits made more unique.
-Updated Cargo Tech jumpsuit and sprite
-Edited Warden's jumpsuit striping to match his jacket
-Added WJohnston's CMO bio hood
-Bug fixes for Nodrak's Random button
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3599 316c924e-a436-60f5-8080-3fe189b3f50e
This 'fixes' a runtime that occurs when intercomms are tuned to frequencies they probably shouldn't be able to. I'm guessing there's no connection datum defined for those frequencies. Although, I'm clueless at telecomms stuff and I don't want to break anything.
runtime error: Cannot read null.frequency
proc name: Broadcast Message (/proc/Broadcast_Message)
usr: null
src: null
call stack:
Broadcast Message(null, S.I.G.M.A. (/mob/living/silicon/ai), 0, null, General Listening Channel (/obj/item/device/radio/intercom), "J.R. Bob Dobbs has signed up a...", "S.I.G.M.A.", "AI", "S.I.G.M.A.", "synthesized voice", 1, 0)
General Listening Channel (/obj/item/device/radio/intercom): talk into(S.I.G.M.A. (/mob/living/silicon/ai), "J.R. Bob Dobbs has signed up a...", null)
General Listening Channel (/obj/item/device/radio/intercom): hear talk(S.I.G.M.A. (/mob/living/silicon/ai), "J.R. Bob Dobbs has signed up a...")
General Listening Channel (/obj/item/device/radio/intercom): hear talk(S.I.G.M.A. (/mob/living/silicon/ai), "J.R. Bob Dobbs has signed up a...")
S.I.G.M.A. (/mob/living/silicon/ai): say("J.R. Bob Dobbs has signed up a...")
I reproduced the problem on the centre private-intercomm in the AI upload by tuning it down to about 121.7 or something.
P.S. Sorry for the nag but Agouri would down-vote all the things if I hadn't tagged your name up there. :3
Also, removed some misplaced areas from the centcomm z-level (Quartermaster's storage and a teleport one)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3474 316c924e-a436-60f5-8080-3fe189b3f50e
Tratior borgs who hack themselves cannot be blown by their AI.
The AI can now open doors with shift+click, bolt them with ctrl+click, and shock them with alt+click
Adds a new wire to doors that controls the time delay before they close. If pulsed, they close like a sliding glass door. If cut, they do not close by themselves.
Borgs who have died, ghosts, and are then blown up will now have their ghosts properly transfered to their dropped MMIs.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3269 316c924e-a436-60f5-8080-3fe189b3f50e
Added some stylesheet classes. Approved by Urist. If you're adding game text, please use the class that best describes the text. This way all the text formatting can be edited from the stylesheet rather than traipsing through the code like I am.
Cyborg names reflect their module choice.
Cyborgs can no longer drop their module-items on conveyor belts.
Please remember to add the line: gender = PLURAL to any new item defines if the item is plural, ie metal rods and such.
Much more to come. ;-; Just need to check them and merge... why did I start climbing this mountain?
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3232 316c924e-a436-60f5-8080-3fe189b3f50e
This means items now spawn in your hand if possible, items are sorted into categories, and only items you have enough telecrystals to purchase will be displayed. Also, the same basic code is now used for PDA, headset and nuke-round uplinks, and it should be easier to add new items.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3216 316c924e-a436-60f5-8080-3fe189b3f50e
Changes the encryption key path from /obj/item/device/radio/headset/encryptionkey/ to /obj/item/device/encryptionkey/
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3207 316c924e-a436-60f5-8080-3fe189b3f50e
Changed the way radio range works. Headsets have a range of 1, intercoms 3. If a person is in this range, they get to hear incoming messages.
Fixed the disposal bug; items were dropping on the floor when placed in disposals...
Changed the way NTSL::TCS broadcast() generates a dummy radio.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3206 316c924e-a436-60f5-8080-3fe189b3f50e
Disposals no longer indiscriminately let items land inside it - the items have to have been thrown by someone.
The ongoing attempt to fix the thousands of runtimes plaguing the game.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3195 316c924e-a436-60f5-8080-3fe189b3f50e
▫ Signals can now be rejected by Subspace broadcasters through a specific data[] parameter.
▫ Improved the log browser.
▫ Log browsers and telecommunication monitors no longer require access to use. You do need access to delete logs, however.
▫ Intercoms need power to work. They don't drain power, they just need a constant flow of equipment power. As such, that offline intercom sprite's now finally being put to use.
Scripting language:
▫ Sorry about all the files; they're all necessary! It's important to notice that the basic structure of the scripting language code is not mine; I cannibalized the base structure from some obscure BYOND project. It's pretty well documented, and I'd say easier to browse through than atmos. Here's the basic deal:
A compiler datum manages the relationships between the three main subsystems of a scripting language: the Scanner, the Parser, and the Interpreter. The Scanner splits raw text into token datums that the Parser can read. The Parser transforms the otherwise random bits and strings into ordered AST Trees and nodes for the Interpreter to read. The interpreter actually executes the code and handles scope/functions/code blocks.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3193 316c924e-a436-60f5-8080-3fe189b3f50e
Some ambient code work.
Made a distinction between binary translator radios and syndicate/traitor radios. Nuke Ops start with traitor radios, traitor uplinks spawn binary translator radios.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2998 316c924e-a436-60f5-8080-3fe189b3f50e
▫ AI satellite replaced with Communications Satellite.
▫ Some turret tweaks. Gave "AI" turrets a variable that controls what type of lethal shots they shoot.
▫ New job access level, Telecommunications Satellite. The CE, RD, and Captain get this access level.
▫ Some icon tweaks and stuff.
▫ Faster chem machine energy regeneration rate.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2959 316c924e-a436-60f5-8080-3fe189b3f50e
Spess Networking Technology:
▪ The machines are located in Centcom near the cargo shuttle.
▪ A new admin debug verb "Change Radio Type". Using this will toggle between old (current) radio code and the new radio code. ADMINS: I recommend only doing this if Doohl (me) is around to take note of anything that happens.
▪ The whole thing works, in theory, but hasn't been stress-tested with the usual 60+ players. I will write up a Tgstation Wiki article and/or explain what some of the stuff does in IRC or ingame.
One last thing to point out: this is a PROTOTYPE. I have tested it myself and optimized the code very well. In theory, this new radio system is significantly less laggy AND has many more features. However, because of it's a prototype, it can at any time destroy the server. The reason I am committing this and not updating the changelog is because it's not an actual feature YET. I want to stress test this on the servers to see how it fairs, then add some more stuff to it like the ability to link machines and repair networks.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2807 316c924e-a436-60f5-8080-3fe189b3f50e
moved cloning-related computers to a new dm in game/machinery/computer/
switched dna modifiers from machinery/ to machinery/computer
fixed issue 243
fixed a bug that using a screwdriver on a teleporter beacon would move the beacon in your hand and make the screwdriver unusable/undroppable
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2734 316c924e-a436-60f5-8080-3fe189b3f50e
◦ Metroids can now be observed by ghosts.
◦ Saved User Interface preferences ("Old UI" & "New UI") now correctly get transferred to clones.
◦ Captain announcements now require the player to be next to the console. (Issue 220)
◦ Radio headsets no longer sometimes fail to deliver the messages (Issue 221)
◦ Some other insignificant back-end shenanigans.
◦ The pregame lobby now has title music. The gameticker chooses between two .ogg files on game start and plays that for everyone who joins. The music stops when create_character() gets called though.
◦ Gave some critters, namely "creature" and "blob" some attack sounds.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2655 316c924e-a436-60f5-8080-3fe189b3f50e
Communications.dm works once again.
Updated a few admin commands that I missed to work with the job datums.
Fixed a type path issue in the cult talismans.
Assembly remote signalers now iterate though their for loop properly.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2347 316c924e-a436-60f5-8080-3fe189b3f50e
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
/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
Added Security Belts, 4 slot belt that can carry basic sec gear.
The security shuttle control can now be emag'd.
Removed the old take off and stabilize verbs for the pshuttle.
Cleaned up some computer defines.
The detective's cabinet is now a secure cabinet.
Most of the secure closets cleaned up a bit.
The captain no longer spawns with an ID box in his backpack.
RD's locker got its flash back.
Added the blob node sprites.
Removed the 2% laser resist that normal jumpsuits gave. Normal clothing should not be blocking lasers. Left the 10% special block on each department.
Riot suit slowdown lowered to 1 from 2.5
Repiped the right side of sec and tidied up the powerlines.
Loyalty Implanter moved into the outer rec room checkpoint.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2277 316c924e-a436-60f5-8080-3fe189b3f50e
- Two new admin verbs. "toggle hear radio" and "toggle hear deadcast". These don't care if you're a ghost or what you had for breakfast, they work because they're tied to your client, not your mob. To non-admins it might seem silly that this is needed but when dealing with multiple adminhelps you don't want text to move at lightning speed, so anything that you can disable is good.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2259 316c924e-a436-60f5-8080-3fe189b3f50e
-Switching around some items that need to be hacked in order to get from the autolathe
-Fixing electropack bug
-You can now make radio signalers, headsets, and station bounced radios from the autolathe
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2139 316c924e-a436-60f5-8080-3fe189b3f50e
Flamethrower construction code cleaned up.
Signalers on doors should work fine now.
Changelog Updated.
Weapons:
Xbow radiation has been lowered from 100 to 20 and it has a 5% chance to do no rad damage
Admin:
Attempted to clean up the code a bit
Commands Removed/CommentedOut:
air_status, radio_report, toggletintedweldhelmets, modifytemperature, givetestverbs, restartcontroller, fix_next_move, Cell
Renamed:
edit_memory - show_traitor_panel
un\stealthadmin - show/hide_verbs
Cargo:
Engineering crates cost 10 and contain: 1 mechanical toolbox, 1 electrical toolbox, 1 glove, 1 toolbelt, 1 vest, and 1 hard hat.
PowerCell crates cost 10 and contain: 1 electrical toolbox, 2 wire coils, 2 power cells, and 1 high power cell.
Water/Fuel tank crates cost 15 and contain: 1 water tank and 1 fuel tank.
Cyborg:
Fixed the open cover icons
To override a cyborg's laws you must emag it when the cover is open
Emags can now unlock the cover
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1995 316c924e-a436-60f5-8080-3fe189b3f50e
Old style bombs and suicide vests temporarily removed.
Players can now be job banned from being a pAI.
Added null checks to explosion() due to runtime errors.
Changelog updated
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1980 316c924e-a436-60f5-8080-3fe189b3f50e
Logs of my testing:
Gustavo King says, "test"
Gustavo King [145.9] says, "test"
Gustavo King says, "test"
Gustavo King [Command] says, "test"
Gustavo King says, "test"
Gustavo King [Security] says, "test"
Gustavo King says, "test"
Gustavo King [Command] says, "test"
Gustavo King says, "test"
Gustavo King [Medical] says, "test"
Gustavo King says, "test"
Gustavo King [Mining] says, "test"
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1610 316c924e-a436-60f5-8080-3fe189b3f50e
#Added a Halogen Counter function for engineering PDAs. Measures radiation of a mob.
#Brain/MMI code overhaul. Brains/MMIs should no longer screw up when the brain is deleted. MMIs should now properly eject from cyborgs if they are blown up, among other changes. Brains no longer die when transferred between containers but won't be able to speak without a container.
#Added a research MMI that comes with a radio built in. The brain can toggle the radio functions on or off via verb panel (MMI).
#Traitor code words will now use the crew roster for name generation 70% of the time.
#Ghostize() is now a lot more robust. If you need to throw someone into a ghost if they are killed/whatever, use it.
#Deleting a mob will now spawn a ghost for it through ghostize(), if it has a key, so you don't need to worry about that. You can null key people if you want to kick them out of the game.
#Ghost verbs are now in their own panel (Ghost). ghost() is the proc/verb that mobs get to turn into ghosts. ghostize() is now a proc only used through other procs.
#Changed how ninjas get their verbs. Long story short, wizards are now able to mind swap with ninjas. Stay hidden Snake! Also, more code improvements and additions to ninjas, including more fun for the AI.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1607 316c924e-a436-60f5-8080-3fe189b3f50e
- Tele Bacon: Requires one piece of meat and a remote signaler. It is delicious and may allow
people to teleport to your location.
- Banana Phone: Requires a banana, a radio, and 5 units of psilocybin. Basically an edible radio. Eat at your own risk (MAY CAUSE HOMICIDAL URGES, NOT LIKE THAT IS ANYTHING UNUSUAL).
On a totally unrelated note:
- Banana Phone (full version of the song, not the short loop version) can now be played via the "Banana Phone" fun admin command. It only runs once.
- Fixed a potential runtime error in the juicer code.
DRINKS!
- Potato juice added, produced from putting a potato in a juicer.
- 10 Potato Juice + 2 Enzyme = Vodka
- 5 coffee + 5 sugar + 2 enzyme = Kahlua
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1484 316c924e-a436-60f5-8080-3fe189b3f50e
Players now cannot rejoin the game if their mobs were gibbed/burned while they were disconnected.
Cremating/gibbing for meat now counts as death with triggering log records, gamemode checks, sql reports, etc.
Fixed some bugs with enabling verb ghostize().
Fixed bug with DNA Machine popping out from the protolathe.
Fixed bug with tuning RSD.
Added juicer:
berry -> berry juice
banana -> banana juice
tomato -> tomato juice
carrot -> carrot juice
Bug your botanists for getting better potence for more juice.
Juicer can be pulled, chef can give it to barmen or botanists.
Blender changed a bit:
tomato -> ketchup
corn -> corn oil
soy beans -> soy milk
any food -> nutriments and contained reagents.
Sound for the juicer found at http://www.freesound.org/samplesViewSingle.php?id=98053, edited by Nikie.
You can eject ingredients from the microwave. However, you cannot get back your reagents, they will be lost and can make microwave dirty.
Essence of Banana was renamed to Banana Juice.
Added Carrot Juice. Heals eyes much slower than imidazoline.
Carrots now contain imidazoline (however, carrot cake contains more imidazoline).
Potency for peppers, tomatoes, carrots and druggy mushrooms should work now.
New cocktail "Bahama mama": 2 rum, 2 orangejuice, limejuice, ice.
Changed recipe for soy sauce: 4 soy milk + 1 acid.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1477 316c924e-a436-60f5-8080-3fe189b3f50e