pAI gets a better PDA that can actually receive messages from people. They can also instantly reply like everybody else now.
Got rid of old pAI messaging code.
pAI can toggle their receiver/signaller and their ringer.
AI Stuff
You can show the AI the notes on your PDA by holding it up to a camera.
When you show up a paper/pda to the camera the AI can now click on your name to go to you, if you're near a camera.
The AI's "track with camera" list was adjusted so that it is sorted by humans and then by other mobs. In short, the huge list of monkeys will be below the human master race.
Made the AI's PDA name look nicer.
When showing a piece of paper/your pda to a camera... people who are Unknown will not have a link; which would allow the AI to track them.
Radio/Telecomms Stuff
Made the" common server" and the "preset right receiver" listen for frequencies 144.1 to 148.9. This will allow people to use different frequencies to talk to eachother without bothering the common channel. It will also allow Revs and Cultists to work with each other; everything is still logged though so it still has risks.
Increased the maximum frequency limit for handheld radios and intercoms. It will give you the option to just use station bounced radios on a higher frequency so that anyone with a headset can't simply tune in.
All-In-One Grinder
Created an All-In-One Grinder that is suppose to replace the blender, juicer and reagent grinder altogether. Meaning any department that has a juicer, blender and grinder will instead get this. It will help people be more independent from Chemistry by recycling food and plants.
The All-In-One grinder can grind and juice. Grinding food that isn't part of a recipe will transfer the reagents of the food into the beaker. Juicing only works with certain foods.
I've updated the UI a bit, it will now tell you what's in the beaker and I made it look nicer.
Map
I removed all blenders and juicers on the station and replaced them with the All-In-One grinder!
Misc.
Added myself to the admin.txt list.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4053 316c924e-a436-60f5-8080-3fe189b3f50e
Rather than calling a function on every single radio object which expensively collects hearers(in closets etc.), the proc will now instead build a list of radios. This list is then passed to another proc, which iterates through all clients in the world, and checks if the client's mob can hear the message.
Note that I did shallow testing, but deeper issues may still be present with stuff like pAIs which I wasn't able to test on my single player server. If any other problems are found, please notify me.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4019 316c924e-a436-60f5-8080-3fe189b3f50e
Changed 'traitor' headsets to 'syndicate' headsets to have it make a bit more sense. Syndicate encryption is tied to the keys, so anything with a Syndicate Key can hear the Syndicate Channel.
Also, added 2 intercoms to the Nuke OP shuttle that are on the Syndicate frequency and have the needed encryption.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3991 316c924e-a436-60f5-8080-3fe189b3f50e
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
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