Replaced some ifs with a switch statement.
Replaced an uneeded loop through a list (list.Remove() does this anyway)
Signed-off-by: carnie <elly1989@rocketmail.com>
This should also swap under the carpet (kinda ugh because the problem is still there and it might affect some other things) the problems with the roundstart problems with player's icons on high populated servers.
This should be the first step to reduce the amount of calls on the different icon update procs, but for the moment I'm focusing on more CPU expensive procs.
All usage of it on silicons is replaced by is_special_character()
is_special_character moved from admin.dm to mob_helpers.dm
Also fixed a runtime having to do with objectives.
-Dualsabers now come in the alternate colors, sprites courtesy of mjrseph.
-Adds the Vealrender, a harmless and goofy version of the veilrender, courtesy of supersayu. You can possibly find it in mining asteroid surprise rooms.
-*flap and *aflap are gender sensitive now, whoa!
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5834 316c924e-a436-60f5-8080-3fe189b3f50e
Removed the administration shuttle and the stupid alien dinghy.
Removed the beach (hey, it's an away mission now).
Removed syndicate deathsquads on account of them being stupid and redundant.
Temporarily removed regular deathsquads- search for "DEATH SQUADS" to find the locations to uncomment. Additional code is in unused/specops.dm and unused/specops_shuttle.dm.
Added a single tile fake window for unsim windows.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5831 316c924e-a436-60f5-8080-3fe189b3f50e
Slightly updated how zone sel picks icons to enable this. First bit of OOP in hud code, I think.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5828 316c924e-a436-60f5-8080-3fe189b3f50e
The main goal was to remove all the pointless shit in the UI style dmis, but this commit actually goes a bit deeper than that.
Formally renames the "hurt" intent to "harm", in line with everything else in the world.
Removes the old screen1_... .dmis. They've been replaced with screen_... .dmis. They function much the same.
screen_gen.dmi is used for things which apply to multiple UI styles, such as storage slot sprites, or the intent selector. (These can still be overridden in HUD code, though.)
Item action buttons have been changed to use a template from the UI style, and the icon_state of the item.
var/icon_action_button has been removed- varvar/action_button_name must be used instead to add action buttons for items.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5826 316c924e-a436-60f5-8080-3fe189b3f50e
The new global list is called mechas_list, it contains all the mechs (sadly the 8 mechs of centcomm are added to this list, just to avoid problems with other servers with different maps)
Clowns, goats and spiders still use the old way to track targets (the view() proc).
The goal of this commit is to reduce lag, it will be really noticeable on the carp migration event, they should be 70% less laggy.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5820 316c924e-a436-60f5-8080-3fe189b3f50e
Removed targeting hands and feet. Those areas now go to arms and legs instead.
Updated the zone_sel.dmi icon_states for this.
MouseDown() is now completely unused. From the Byond ref:
"Don't define this unless you need it, because it generates extra communication that is otherwise avoided."
Fixes issue 1378. Carbon jetpacks are used as internals
Back tanks are now checked last when searching for internals.
Moved var/foldable from /obj/item/weapon/storage to ..storage/box.
Changed verb/quick_equip() to be on humans instead of all mobs (it was only usable by humans anyway.)
Updated locker resist code a little bit, mainly removing a spawn(0).
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5819 316c924e-a436-60f5-8080-3fe189b3f50e
- Restructured viruses in the reagent container to be more maintainable. Should also fix some issues with vaccines.
- Restructured some code in the PANDEMIC.
- You can now mix vaccines together, it will combine the list of viruses it will vaccine against.
- Fixed Carp stunning Cyborgs.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5817 316c924e-a436-60f5-8080-3fe189b3f50e
forcesay() takes what's currently typed in the player's chatbar, and if that is 'Say "'... it will remove any radio information, and automatically say it. It also ignores emotes.
Updated some more text styles.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5816 316c924e-a436-60f5-8080-3fe189b3f50e
Adds a new 'userdanger' class, which is bold and red. 'danger' is now just red. Adjusts all dangerous messages I could think of to use the appropriate class.
Trash items can now be washed away in sinks.
Removes the robodropper, on account of it being awful. Borgs get a normal dropper instead.
Changes the probability of blood spatter from attacking someone from 33 to item.force * 2
Path changes:
/obj/item/weapon/reagent_containers/ld50_syringe > /obj/item/weapon/reagent_containers/syringe/lethal
/obj/item/weapon/reagent_containers/ld50_syringe/choral > /obj/item/weapon/reagent_containers/syringe/lethal/choral
possibly some others? i think this is it.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5815 316c924e-a436-60f5-8080-3fe189b3f50e
A lot of different calls for update_inv_[slot] now won't call for update_icons.dm(). Such as dropping, throwing, picking up objects, moving objects around your gear, using your active hand, firing guns, stripping, etc.
All the different calls for UpdateDamageIcon() now they won't call for update_icons()
The different sprites of humans/monkeys will now have their own layer, humans starting with MUTANTRACE_LAYER in layer -1 to R_HAND_LAYER in layer -20, so the sprites don't get messy overlapping eachother if update_icons() is not called. To help this change, all layers numbers were changed, R_HAND_LAYER used to be 1, now it's 20. (This can be changed back if it ends up being confusing or ugly to read)
TL;RL I removed 90% of the calls for update_icons() modifying the different update procs of update_icons.dm of monkeys/humans. The goal is to reduce lag.
JUST IN CASE, lying down will call for update_icons(), so players have an easy way to update their icons if something goes horribly wrong. Which won't. I hope.
Fixes issue 842. Handcuffs sprites appearing on the player's UI if this one was handcuffed. Because I liked this we'll call it feature and add some awesome sprites made by Cheridan, you'll now have a new sprite on your UI telling you "you're handcuffed buddy!". (Also he named the sprites so don't blame me)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5809 316c924e-a436-60f5-8080-3fe189b3f50e
- Added a missing "changed = 0" to update the chunk's status. Thanks Uristqwerty for pointing it out. Should help optimize freelooking even more.
- Moved a camera so it had better vision of the hallway.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5808 316c924e-a436-60f5-8080-3fe189b3f50e
- Committed carn's fix to events happening every 5 minutes, on the dot.
- Changed some more turf which play sound so they do not play to everyone in the area.
- Made the join screen a little bigger for the "view player polls" option.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5801 316c924e-a436-60f5-8080-3fe189b3f50e
- Greatly decreased the goat attack damage. Fixes Issue 1310.
- Changed how the suffixes are assigned for mulebots. Fixes Issue 1204.
- Added some checks for occupants in sleepers/cryo/cloner pod, stops an exploit of being able to have a friend teleport you to the sleeper when you're in danger.
- Re-added advance proc call for debug flag.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5796 316c924e-a436-60f5-8080-3fe189b3f50e
-Moves the Add Note/Notes verbs from OOC tab to IC tab, since Notes holds your IC information such as traitor objectives.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5789 316c924e-a436-60f5-8080-3fe189b3f50e
Admin rejuvinate now clears the mob's reagent's list meaning that mobs who died due to toxins in their bloodstream wont just fall over dead after being revived again. Fixes issue 1338.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5785 316c924e-a436-60f5-8080-3fe189b3f50e
Added alien brains and surgery for getting them out of aliens. It differs from the human brain removal surgery.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5784 316c924e-a436-60f5-8080-3fe189b3f50e
Because of this, borgs will no longer save all the images on their client, avoiding the display of thousands of HUD images on a single mob, lagging or crashing the player's client.
If I'm right, this will reduce 90% of the del() lag. Cross your fingers!
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5773 316c924e-a436-60f5-8080-3fe189b3f50e
-Replaced some notice spans with a more appropriate danger span
-Reduced resistance of visionloss symptom and added a check to stop spamming you with "You are blinded!" notices
-Added a check to the reagent symptoms so you don't get ridiculously high volumes in your body if you wait long enough
-Added more coins around the station
-Moved message monitor decryption key to CE's office since the RD can't even access it any more (and is not relevent to his duties)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5766 316c924e-a436-60f5-8080-3fe189b3f50e
Adds two new variables to surgery steps- accept_hand, and accept_any_item. They are compatible and you can use both at once.
Removes the always_advance variable on surgery steps, in favour of the success() and failure() procs returning 1 or 0 to advance or not.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5765 316c924e-a436-60f5-8080-3fe189b3f50e
- Facehuggers will now let you open the bag even if you're wearing facehugger proof gear.
- Added some sanitizing to signal().
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5756 316c924e-a436-60f5-8080-3fe189b3f50e
- Added a new area proc, mob_activate, which is called by a living mob's Life(). You can use it to have mobs react differently to different areas.dm
- Used the above change to make transit areas push mobs backwards.
- Fixed the server room air alarm from freaking out.
- Reverted my change to singularities, they will now pull correctly.
- Made the wire interface screen bigger to accommodate for different fonts.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5749 316c924e-a436-60f5-8080-3fe189b3f50e
Fixes issue 1316. Operating Computer broken
Updated the surgical drill sprite.
Removed code/game/objects/items/weapons/surgery_tools.dm, as the tools have now been moved to the surgery module.
Removed the music folder, as it has been empty and unused since the beginning of time.
Path changes:
/obj/machinery/optable > /obj/structure/optable
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5748 316c924e-a436-60f5-8080-3fe189b3f50e
Adds lipoplasty, plastic surgery and gender reassignment surgery.
Adds a var/target_must_be_fat to the surgery datum, for surgeries exclusive to fatties.
Adds a var/always_advance to the surgery step datum, for when it should advance to the next step even on failure.
Adds /proc/get_location_accessible(), which is used by surgery to make sure you have access to the area you're operating on.
It's a fairly horrible, but it's not called that often, so it should be fine. Correct me if I'm wrong.
Updated the changelog.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5727 316c924e-a436-60f5-8080-3fe189b3f50e
Being killed as an adult slime now puts the player in one of the babies.
Fixed the mutation chance for the player controlled slime splitting to be the same as the automated one.
Added a check to AI construction for the AI_ALLOWED config option.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5724 316c924e-a436-60f5-8080-3fe189b3f50e
var/obj/item/weapon/back
var/obj/item/clothing/mask/wear_mask
var/obj/item/weapon/tank/internal
from /mob to /mob/living/carbon.
/mob/proc/abiotic() no longer does any extra checks even if full_body == 1.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5722 316c924e-a436-60f5-8080-3fe189b3f50e
http://forums.nanotrasen.com/viewtopic.php?f=16&t=12245#p189186
Ported all the random events to Pete/Gia's event system:
>Event system now supports weighting. default is 10. a weight of 5 is half as likely as default, 20 twice as likely....etc.
>Increased the frequency of events (dust happens over 60% of the time though)
>tidied up some ninja code: ninjas now get ~5 objectives. So they are hardmode.
>made the gravity toggle into a random event
>event system now supports round-start events
>event system now supports holiday events
>event system now supports events which can only happen after the round has lasted a certain number of ticks
>event system now supports max_occurrences for events. Setting any event's max_occurrences to 0 will stop it randomly occurring
>events now support being fed associative lists inside new(). This allows you to override their variables easily.
>wormhole events no longer cause loads of lag. They are extremely deadly. wormholes should be avoided
Other:
>replaced the procs for fetching candidates for ninjas and aliums with /proc/get_candidates(be_special_flag), it returns a list of active clients with that be_special preference enabled.
>minor fixes to minds
>your memories are displayed to you at Login()
>removed aliens_allowed
>removed ninjas_allowed
>pick_n_take() is now more efficient (uses Cut() rather than Remove()
Things I added:
- Made the pandemic call ..() instead of doing the checks itself.
- Made the staff of animation use more charge.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5720 316c924e-a436-60f5-8080-3fe189b3f50e
- Added some garbage collecting procs for NTSL.
- APCs now have its missing status text, for the wire interface.
- Clicking on a hand HUD slot, while the hand is actively selected, will make the item being held call attack_self().
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5715 316c924e-a436-60f5-8080-3fe189b3f50e
Changed four vars which hold what slimes can evolve into, into a list.
Removed a pointless 'else' from cloning
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5708 316c924e-a436-60f5-8080-3fe189b3f50e
- Made a proc for grabbing which updates the grab status, as it is usually done in the grab's process, then made tables update the grab and check if the grab still exists. Fixes Issue 1285.
- Made the blind check remove the blind screen if they're not blind but the layer is set to a non-zero layer. Fixes Issue 1286.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5704 316c924e-a436-60f5-8080-3fe189b3f50e
Basically, surgeries are now initiated by bedsheets or surgical drapes, and consist of separate steps.
Appendicitis is sort of hacky, but it should work for now. I'll update it when I add processing organs.
Added getbrain() and getappendix() procs, which can be used instead of checking the old (now missing) x_op_stage variables.
Added a surgical apron, using old sprites by matty.
Updated the map:
Removed the note with spell descriptions from the wizard's den for Kor.
Updated the operating room.
Updated xenobio to have appropriate tools for slime surgery.
Path changes:
/obj/item/brain > /obj/item/organ/brain
/obj/item/weapon/reagent_containers/food/snacks/appendix > /obj/item/organ/appendix
/obj/item/weapon/reagent_containers/food/snacks/appendix/inflamed > /obj/item/organ/appendix
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5703 316c924e-a436-60f5-8080-3fe189b3f50e