The main problem is: if a mind is transferred to a ghost, objectives that have that mind as a target will treat the ghost as the target mob. Which is clearly a problem. This should fix exploits where people could force people to win/lose objectives via ghosting, gibbing, etc.
It should also eliminate any other weird bugs like the one Nodrak fixed a while ago where pais would keep their mind....meaning they were like, a cultist pai or something and could rat antags out to its owner using the HUD.
Removed some conditions from objectives (like those pertaining to the thunderdome) as they were bait for meta. >ghost >teleport to thunderdome >antag fails the objective she completed
Resolves issue 662
Fixes a few instances of original_name becomming null (there's still loads)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4214 316c924e-a436-60f5-8080-3fe189b3f50e
Fixed putting ammo in RCDs, resolves issue 696. Removed a little spam-text from RCDs too.
Removed some dyslexia from spesscash.
added an undef for LEGCUFF_LAYER
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4209 316c924e-a436-60f5-8080-3fe189b3f50e
Lockers and crates now holy a maximum of 20 objects.
This is to prevent players from dragging a locker into a populated area and opening it; resulting in clients with a weaker connection to lock up and crash. I realize this is an inconvenience for botanists but players being able to intentionally crash other players takes priority.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4195 316c924e-a436-60f5-8080-3fe189b3f50e
Screenshot: (Upper left)
http://www.kamletos.si/object%20ui%20action%20buttons.png
There can be a maximum of 5 of these buttons shown at any one time.
Currently the following items have a UI button associated with them:
- Flashlights
- Hardhat
- RIG suits
- Welding masks
- Jetpacks
To add more buttons, add a button icon_state to icons/mob/screen1_action.dmi, then set the variable icon_action_button to the icon state of the icon you just added. This is all you need to do if you want the default action to be taken when the button is clicked, which is attack_self(). If you don't want the default, you can redefine the ui_action_click() proc. A call of ..() will call attack_self(), so mind when you use that.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4193 316c924e-a436-60f5-8080-3fe189b3f50e
The admin 'Spawn Xeno' verb will not longer state that an admin spawned a xeno when they cancel out of the operation. Fixes Issue 688.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4185 316c924e-a436-60f5-8080-3fe189b3f50e
Instead of 'x has been attacked with y by z' it now reads 'x has been 'y.attack_verb-ed' with y by z'!
Example:
Monkeyman has been bashed in the head with a riot shield by Nodrak!
or
Monkeyman has been stabbed in the chest with an energy sword by Nodrak!
- Every obj now has a list named "attack_verbs"
- When declaring an object, just use attack_verb = list("verb1", "verb2") and so on to initialize the list for that specific item.
- I've added a bunch of these to a ton of items already, feel free to modify or add more. Just try to stay away from gimmicky verbs (clown stuff being the exception.)
clothing.dm and spawner.dm only had a single definition in each of them, so their definitins have been moved to obj.dm and their original dm files deleted. I'm not sure about spawner but clothing had all of its other definitions removed recently.
radio.dm was a completely blank file, so it was removed.
Changelog updated
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4182 316c924e-a436-60f5-8080-3fe189b3f50e
-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
-The Light Replacer will drop the replaced lights once again.
-Fixed a runtime with the Plantbag and the All-In-One grinder.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4175 316c924e-a436-60f5-8080-3fe189b3f50e
-Gave all the new hardsuits actual inhands, instead of all of them using the rig one.
-Changed a good bit of Brain/MMI damage processing, now an MMI will never go unconscious, and it will not be deafened/blinded by explosions or whatever (Since the MMI acts as senses). However, it does mean they are vulnerable to emps, with all kinds of fun effects (impaired vision, hearing, the ability to speak, the ability to speak PROPERLY)
Fixes Issue 655
-Also gave MMIs some emotes, things like blinking lights, alarms, beeping and booping, etc...
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4168 316c924e-a436-60f5-8080-3fe189b3f50e
- Split the items in the engivend vending machine into the engivend machine, which retained the circuitboards, belts and got power cells; and the YouTool vending machine, which has tools and gloves and such.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4157 316c924e-a436-60f5-8080-3fe189b3f50e
- Replaced all the .pulling = object instances with start_pulling() and stop_pulling(). Use these from now on.
- Ian and Runtime will now no longer move when being pulled
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4155 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
-Added light flickering
-Ghosts can now make lights flicker a little bit with a minute cooldown. (People voted for it http://www.kamletos.si/tgdb/ingamepolls.php)
-PDAs are sorted correctly on the Message Monitor
-Added some light flickering to the following events: High levels of radiation, Grey Tide virus.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4143 316c924e-a436-60f5-8080-3fe189b3f50e
-Fixed a bug where if an Alien manages to pickup an item that they shouldn't and put it in their pocket then it won't be stuck remain stuck, being unable to pickup the item you placed in your pocket. It will now instead just drop it if it detects the item in your contents.
-APC will auto-turn on equipment if there is enough power for a certain duration. I want to tweak this some more until I get the perfect balance.
-Updated the changelog
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4141 316c924e-a436-60f5-8080-3fe189b3f50e
It's an explosion proc that uses locate to locate only turfs and then ex_acts them. As opposed to grabing every atom in a square around the epicenter and then selecting which ones to ex_act
this version also supports sticking a sleep() in there to help stop the server getting too backlogged.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4134 316c924e-a436-60f5-8080-3fe189b3f50e
-Added issue 672 's enhancement request. Disposal systems should leave fingerprints and transfer prints when building/deconstructing.
-You can put the Light Replacer on your belt.
-Gave the Light Replacer FPRINT and CONDUCT flags.
-Gave the Light Replacer origin tech.
-The Science department can now research the Light Replacer and build it. You need a required tech of "magnets = 3" and "materials = 4" with a material construction cost of 1500 metal, 150 silver and 3000 glass.
-Fixed a bug where you cannot place more than one object into a turned-off disposal unit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4127 316c924e-a436-60f5-8080-3fe189b3f50e
-Leather products made a bit cheaper to produce
-Floor tiles made easier to produce by increasing the buildable stack size
-Fixed kitchen shutter button using the wrong req_access
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4125 316c924e-a436-60f5-8080-3fe189b3f50e
-Changed the class type of donuts. donut/normal is now the regular donut. All other donuts have been made this way. (I.E: donut/chaos)
-Hopefully the merged records proc will now not spit out runtimes.
-You cannot enter a name without any character now. This way you can also click on the link.
-Added some coloured caps to their respected coloured wardrobes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4123 316c924e-a436-60f5-8080-3fe189b3f50e
"The Emergency Shuttle has left the station. Estimate 2.98662 minutes until the shuttle docks at Central Command." should no longer happen.
Removed some while(1) loops from object process()s.
Removed some unused object process()s.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4116 316c924e-a436-60f5-8080-3fe189b3f50e
-Increased the amount of lights you get from adding glass to the Light Replacer.
-Emagging the light replacer is one way.
-You can add lights to the light replacer to add uses.
-You can unload the trash bag by clicking on it.
-Vodka now heals toxin damage.
-Made light tubes the same price as light bulbs.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4114 316c924e-a436-60f5-8080-3fe189b3f50e
ABOUT THE DEVICE
This is a device supposedly to be used by Janitors and Janitor Cyborgs which will
allow them to easily replace lights. This was mostly designed for Janitor Cyborgs since
they don't have hands or a way to replace lightbulbs.
HOW IT WORKS
You attack a light fixture with it, if the light fixture is broken it will replace the
light fixture with a working light; the broken light is then placed on the floor for the
user to then pickup with a trash bag. If it's empty then it will just place a light in the fixture.
HOW TO REFILL THE DEVICE
It will need to be manually refilled with glass.
If it's part of a robot module, it will charge when the Robot is inside a Recharge Station.
EMAGGED FEATURES
NOTICE: The Cyborg cannot use the emagged Light Replacer and the light's explosion was nerfed. It cannot create holes in the station anymore.
I'm not sure everyone will react the emag's features so please say what your opinions are of it.
When emagged it will rig every light it replaces, which will explode when the light is on.
This is VERY noticable, even the device's name changes when you emag it so if anyone
examines you when you're holding it in your hand, you will be discovered.
It will also be very obvious who is setting all these lights off, since only Janitor Borgs and Janitors have easy
access to them, and only one of them can emag their device.
The explosion cannot insta-kill anyone with 30% or more health.
-Changed the broken bottle item icon to "broken_beer"
-Made the flavour text, for hitting yourself on the haad with a bottle, better.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4108 316c924e-a436-60f5-8080-3fe189b3f50e
-Changed the flash message for silicon players. This also fixed the flash giving a "did not blind" message for Cyborgs, even though they still get weakened.
-You can hit yourself with bottles now.
-Removed step_x and step_y from the map.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4105 316c924e-a436-60f5-8080-3fe189b3f50e
Projectiles now last 50 ticks then dissipate.
- This is to prevent people from firing these into space causing large amounts of projectiles to be processed needlessly.
Re-coded the cremator's cremate(), it should not lock up any more.
Removed a duplicate attackby() in pill bottles. They should now be able to pick up all pills on a tile properly.
- Fixes Issue 490
- Thanks to Zelacks for pointing this out.
Handcuffed mobs who are being dragged by another player can now move when the puller is stunned or paralysed.
Ashes are now decal/cleanable and can be mopped up by janitors
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4103 316c924e-a436-60f5-8080-3fe189b3f50e
-Improved the Message Monitor UI to make it easier to use.
-Added a Message Monitor in Tech Storage, hopefully so it will be used more. You will still need the key to use it.
-You need the key to turn servers on/off remotely via the Message Monitor.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4099 316c924e-a436-60f5-8080-3fe189b3f50e
You cannot reuse bullets with Russian Revolvers now.
Sinks can now fill any reagent containers, you can set the amount to fill by setting the reagent container's transfer amount. Was added so Chefs can be more precise when using water in their ingredients.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4098 316c924e-a436-60f5-8080-3fe189b3f50e
-Fixed Issue 415
-Tweaked creating new cameras. When you create a camera from a camera assembly, it will now auto detect the direction it should be in. I also added a confirmation message which allows you to re choose the direction with up to 5 chances; to avoid infinite loops.
-Made the New Player Options window a little bit slimmer.
-Forgot to add a changelog for my last commit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4096 316c924e-a436-60f5-8080-3fe189b3f50e
-A few minor improvements to my own sprites
-Map changes to the Kitchen so the chef is more visible to his patrons
-Arrivals airlocks are no longer airless when shuttles dock
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4094 316c924e-a436-60f5-8080-3fe189b3f50e
-Added new Create Classified Report button for admins. It's a more discreet way for Centcom to communicate with the heads of staff without announcing it to the entire crew.
-Uncommented admin notices for cyborg lockdowns/releases
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4091 316c924e-a436-60f5-8080-3fe189b3f50e
-Added a new wire to Cyborgs. The Camera wire allows you to disable the Cyborg's camera. It will show on Security Consoles as "Cyborg-155 (deactivated)". Pulsing it provides you and the Cyborg with a message of the Cyborg's camera focusing loudly. It will also kick anyone who is watching the Cyborg's camera out.
-Traitor Cyborgs, when scrambling their codes, now have a completely disabled camera. It will not show up on Security Consoles at all, even as deactivated.
-Added a new small guide for new Cyborgs. It is similar to the AI's with some more useful information specific to Cyborgs.
-Commented out the old message, it was copy+pasted everywhere.
-Changed RandomBorgWires to not rely on lucking out and landing on a previously unused index.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4089 316c924e-a436-60f5-8080-3fe189b3f50e
It condenses hundreds of identical runtimes into one, providing a much more user-friendly list to work off of. It may be poorly coded but it is fully functional. Just copy/paste runtimes into input.txt, run the exe and the condensed runtimes will be in output.txt.
Bugfix:
Fixed a very-poorly coded proc that could cause infinite loops.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4081 316c924e-a436-60f5-8080-3fe189b3f50e
Tripled the chance for random events to happen.
- Old: 1% every 5 minutes.
- New: 3% every 5 minutes.
Door bolt clicks are now only heard by people near the door. Fixes Issue 563.
Fixed being able to bypass a windoor construction step.
Chaplains are no longer forced into christianity and can choose their own religion. Fixes Issue 658
Plant-B-Gone:
- It now lists the regents inside when examined. Fixes Issue 656.
- Fixed a typo in the description.
Antagonists are now logged at round end.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4080 316c924e-a436-60f5-8080-3fe189b3f50e
-Any instance where dept backpacks would spawn would have a 50% chance of spawning a dept satchel instead
-brown satchels have been replaced with grey ones, although the classic brown ones are still available in the luxury dorms
-Satchels have in-hands now, so you can't run around with backpacks full of bombs unnoticed anymore
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4079 316c924e-a436-60f5-8080-3fe189b3f50e
- This adds a list of emoticon choices for pAIs on the pAI OS
- These choices add small overlays on top of the screen
- Credit to Willox for the code and Messycake for the sprites.
Nodrak:
pAI's with null names now get a pick(ninja_names) name instead.
- If someone wants to make it pick from a different list feel free, but having null name causes problems down the line.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4075 316c924e-a436-60f5-8080-3fe189b3f50e