Removed overriding of event values via feeding in an associative list into datum/round_event/New(). Instead you can do basic initializations (i.e. feed it constants) by doing new /datum/round_event{variablename=5;}(). This method is handled well by the compiler (it's the same method the maps use), so it will detect unrecognized variablenames etc.
More complex initializations for post setup() stuff can be done by accessing variables directly Event.variablename = whatever;
round_events now have a processing variable, which effectively pauses them.
- Parrots will now reset to wander after being stuck for long enough.
- Attacking a parrot will no longer give the attacker a "you have nothing to drop" message, that was a typical 'usr' error, woops.
- Fixed some typos in the comments.. What? That's totally commit log material!
Since tag replaces the output of the \ref[] macro, this means that menus which use hrefs with \ref[mob] will no longer be able to accidentally link to the wrong mob.
The tags are of the form "mob_475" etc
Admin_pms now use ckey instead of client-reference. This means that PMs will no longer accidentally get sent to the wrong people.
There is no risk of players using hrefs to send adminhelps to known admin ckeys to see if they are online (as I'd already changed the PM system to not tell non-admin users whom received their message).
key_name() now accepts text input (key or ckey) - it is slightly more efficient to feed it a client or mob however!
This functionality is provided to allow certain admintools to become more robust when we want to talk about e.g. a griefer whom has just DCed whom no-longer has a corpse (no client/mob...just a ckey reference).
key_name() now reports DCed players properly.
Also removes the smallDelivery loop in /mob/proc/get_contents(). It's amazing that proc worked at all, it really does do what it's described as doing. I'm leaving it for now, as the game seems to have gotten on well enough so far, and it'll probably just increase processing for no gain if I fix it.
People may select any underwear (regardless of gender) at a dresser, but not in preferences.
random_underwear(gender) will return a random pair of underwear suitable for your gender.
Removed an unused variable in sprite_accessory
The new_player preferences screen now randomizes character slots for which there is no data (so no more bald, fat, white guys in diapers greeting new players)
datum/preferences character settings are randomised at New().
replaced /datum/preferences/proc/randomize_appearance_for(human/H) with /datum/preferences/proc/random_character(), it does the same stuff without the copying to a mob. Basically, now when you want to make a random character you just do var/datum/preferences/A = new(); A.copy_to(human_mob), randomisation of appearance and name will already be done. Easy.
Reworked the savefile updating/versioning code to make it easier to work with. I've used it to update underwear preferences to the new system as an example.
Signed-off-by: carnie <elly1989@rocketmail.com>
Adjusts a couple hardcoded lines to make adding more undies in the future easier.
Adds dressers! Similar to mirrors, they let you change your underpants.
afak, surgeries can't be handled on the afterattack() of the different surgery tools because of cavity implants, so this is a semi-decent fix that can be used for future features too. But I do not like touching this code. I appreciate any feedback about this.
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
- 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
- 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