Notify me if any issues with them, or any simple_animal arise.
Fixed a few issues with space bears.
Slightly improved teleporter code, and did a few misc runtime fixes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4258 316c924e-a436-60f5-8080-3fe189b3f50e
-Sorted the dispensable chemicals list alphabetically.
-Made the chemical dispenser use process() instead of calling itself in a spawn()
-Made the receiver and broadcaster easier to build (less parts)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4256 316c924e-a436-60f5-8080-3fe189b3f50e
-AI Upload Foyer is now Secure Tech Access, and the outer door only requires Bridge access
-Attached to it are two new rooms: The messaging server room and the communications relay.
-The comms relay room runs off its own SMES unit like the AI, so it won't be affected by powersinks
-Reduced the number of recievers/broadcasters. Only presets now. Giacom will finish them. He also needs to fix the password paper not generating.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4246 316c924e-a436-60f5-8080-3fe189b3f50e
-Added in the proper list stuff for changeling stasis
-Added a verb to the debug list (Game Admin+) to check the mob lists instead of requiring the item (Works the same way)
Fixes Issue 708
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4240 316c924e-a436-60f5-8080-3fe189b3f50e
- Hopefully addressed the concerns about the ultra-darkness. Night vision, mesons, thermals and material scanners now make you see through darkness. (Lighting code does not affect you)
- Ghosts get a "toggle darkness" verb, which changes their see_invisibility. When the toggle is enabled, ghosts cannot see other ghosts. This is due to invisibility.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4235 316c924e-a436-60f5-8080-3fe189b3f50e
- Added pajama closets which contain 2 red and 2 blue pj's with 4 pairs of white shoes - for use in medbay and crew quarters. (pj sprites by baystation 12)
- Added the cart, plasma research, engineering and robotics vending machines from baystation 12 - Mostly for the sprites.
- Added science airlocks (sprites by baystation 12), made them work with our door construction / deconstruction mechanic. (those sprites are by me~)
- Added hazard doors, sprites by baystation 12. They're reskinned firedoors.
- Added two more styles of filing cabinets, all sprites from baystation 12.
- Changed the space law book's sprite to the one baystation 12 uses.
- Added a few floor sprites from baystation 12
- Added critter crates, sprites from baystation 12
- Added some surgery sprites from baystation 12
- Added plant sprites from baystation 12
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4229 316c924e-a436-60f5-8080-3fe189b3f50e
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
Fix for a runtime due to an attack_verb being a string instead of a list. (You can once again robust people with toolboxes!)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4210 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
Alright, added in list stuff to the alien's New() to handle it, and while I was at it I reworked add_to_mob_list() to actually be useful and used that in some places instead (It just takes into account everything for the lists, so that should be a bit more robust.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4203 316c924e-a436-60f5-8080-3fe189b3f50e
Trash is now the path for the trash-item prototype (the thing it will spawn when you finish eating). This removes the need for a switch. Only obj/item/ paths may be trash.
You can also set var/trash to any obj/item to dump that item as trash. This is now used by the fortune-cookie rather than giving it its own proc for no reason.
This resolves issue 687
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4201 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
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
-Made a 'default' save slot (D), and whenever you connect it automatically selects the default slot to load from, but manually selecting a different slot will allow you to play on that one before it returns to default.
-Added the ability to name your save slots with the '*'. Names can be up to 16 characters and contain letters, numbers, and basic symbols
-The preview icon on the preference screen now takes into account any job you have set on high, and dresses up the icon accordingly. If assistant is set to 'yes', or AI/Cyborg are on high it will put the icon in a grey suit (So you can still customize).
Solves Issue 667 as well
I tested a good bit with other people's saves, so I'm pretty confident it won't bork savefiles. And before anyone asks, the icon blending didn't make any noticeable lag, since icon procs are client-side.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4159 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
-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
- Hopefully fixed the bug which allowed players to get a million toys from one arcade game.
- Removed poly's master controller failsafe due to it doubling up the master controller for no reason whatsoever.
- You can now redeem a full collection of mech toys at the quartermaster's for an actual mech!
- Added this stuff to the changelog.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4138 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
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
-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 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
-Minor changes to the emergency shuttle, including making the plating inherit the properties of shuttle turf (invulnerable, unbuildable)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4082 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
Replaced the obj variable var/see_face. It was used to determine whether something (namely masks/hats) hid your identity. Replaced with the HIDEFACE bitflag for var/flags_inv variable. Moved the var/flags_inv variable from atom/ to obj/item/ as only /obj/item/ can be in your inventory in the first place.
Fixed get_visible_name() so it takes into account any item on the var/head when deciding if your face is obscured. (While I'm at it, just dump a comment here if there's anything that should hide your face which doesn't and I'll add the flag.)
Removed the var/alien_egg_flag variable from mob/living/carbon/ and replaced it with the XENO_HOST bitflag for var/status_flags variable. You can now suicide whilst impregnated with a xeno (since you will chestburst even after death, that restriction is no longer necessary).
Any mob/living descendent can ghost even when not dead. However, ghosting whilst not dead results in the ghost eing unable to return to it's body for the remainder of the round. (It has a warning popup)
The suicide verb can only be used by humans when they can move and are not cuffed. These verbs will be totally replaced very soon with the 'fun' IC suicides I'm working on. Suicide is largely redundant given that anybody can ghost now, just didn't want to jump the gun in removing it.
Known Issues:
We've got var/flags_inv, var/slot_flags which could possibly be merged as they both deal with obj/items, although I'm not sure if we can fit oth into the 16-bit limit. Just something to look into.
There are bitflags GLASSESCOVERSEYES, MASKCOVERSEYES, HEADCOVERSEYES, MASKCOVERSMOUTH, HEADCOVERSMOUTH in the var/flags variable which should really be merged with or moved alongside the very similar flags in var/flags_inv. Comments next to the defines suggest as much.
You can borg dead/clientless brains but can't remove the brain fromt he borg once you realise it's a dud. >.<
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4072 316c924e-a436-60f5-8080-3fe189b3f50e