- Proc to count how many active players with a given role(also counts
cyborgs with department module)
- Rewrote event main proc to select event based on whether and how many
active players who can fix it. This will also lead to more events
happening with many people in a department.
* Makes grass auto-stack when harvested
* Allows seeds to be extracted from grass
* Allows the smart-fridge and plant bags to accept seeds.
* Lays the groundwork for a seeds-only version of the smart fridge, to eventually replace the existing seed vender (not yet hackable, though)
-Fixed window doors not opening when you click on them.
-Added a reset button for the job selection screen.
-Fixed a bug with the traitor panel which leaves ex-changelings with the evolution menu.
-I re-added the variables for the intercept report but commented them out.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5276 316c924e-a436-60f5-8080-3fe189b3f50e
-Added reagent scanning to the detective's scanner. Can be used for scanning dead bodies for leftover poison or scanning drinks to see if they were spiked.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5275 316c924e-a436-60f5-8080-3fe189b3f50e
-Forgot to add the staff of animation to the list of available spells. Fixes a runtime.
-Gave the clown the under-used water flower which squirts a unit of water.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5261 316c924e-a436-60f5-8080-3fe189b3f50e
It now lasts 20 minutes instead of 5, and accordingly each blob
advancements happens every 30 seconds instead of every 7 seconds. This
means more time to respond to the blob, but overally the blob can still
be just as harmful if nothing is done about it.
The next type of mimic is for the staff of animation! They will copy the icon of the object they're copying and will set themselves stats based on the object too. They will not attack the bearer of the staff which made them animated.
Added the option to get the staff on the wizard's spell book.
Added a "friends" var to hostile mobs. It will make the simple animal ignore friends when choosing targets.
Changed the statues from /obj/effect/showcase to /obj/structure/showcase.
Added a new variable to projectiles, "shot_from" is the gun that shot the projectile. It's used to determine what staff animated the mob and it will then add that staff, so it can ignore it when choosing targets.
Added a wander var for simple animals, turning it to 0 will stop the simple animal from moving when idle.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5246 316c924e-a436-60f5-8080-3fe189b3f50e
More gimmicky xmas content[SPOILERS]
..
..
random event: xmas trees become hostile carp-like mobs that run around eating everybody. Only occurs on Christmas Eve/Christmas day.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5227 316c924e-a436-60f5-8080-3fe189b3f50e
Added Xmas and Xmas Eve holiday-features:
>If ALLOW_HOLIDAYS is in config.txt, random (harmless) wrapped presents will be placed under all xmas trees on z-level 1. :3
>Ian will start wearing a santahat
Added content for the end of the Mayan Calander.
Fixed the spelling of -invisible- pens
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5226 316c924e-a436-60f5-8080-3fe189b3f50e
- Traitor grenades: 10 heavy range and 20 light range is now 4 heavy range and 10 light range
- Chem grenades: Chemists can no longer make EMP grenades as powerful as traitor grenades unless they use two large beakers. They used to be able to make EMP grenades as powerful as traitor grenades, or twice as powerful with two large beakers. Now they make slightly weaker versions unless two large beakers are used.
- Updated the list of uplink items to show that EMP grenade boxes hold 7 grenades since someone forgot to change it.
- EMP grenade boxes cost 4 crystals instead of 3.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5222 316c924e-a436-60f5-8080-3fe189b3f50e
Fixed a bug with pda messages being garbled.
Managed to change most things from using usr to use src instead.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5217 316c924e-a436-60f5-8080-3fe189b3f50e
Removed all critter code/replaced it with their simple animal paths where applicable.
Replaced the critters on the maps with simple_animal versions.
If I missed any vars/icons/etc when I ported them over, let me know.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5210 316c924e-a436-60f5-8080-3fe189b3f50e
Gave the high level symptoms their own preset diseases and added them to the virus crate, along with a bottle of mutagen.
Several disease fixes, such as disease stages going below 0. Diseases which spread by blood will longer spread when you touch someone (i.e: click on someone)
I also did some cleaning up with comments.
Made handheld radios broadcast if their messages aren't sent on the same level as they're on, meaning that turning off the relay to the station will not make it impossible to communicate with others with radios.
Made some events only effect people on the station Z level.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5192 316c924e-a436-60f5-8080-3fe189b3f50e
Moved some mob vars to carbon:
mob/var/handcuffed -> mob/living/carbon/var/handcuffed
mob/var/legcuffed -> mob/living/carbon/var/legcuffed
As a result, I've turned some procs into pure virtual procs and moved their code into carbon.dm.
mob/proc/restrained() -> mob/living/carbon/restrained()
mob/proc/can_use_hands() -> mob/living/carbon/can_use_hands()
The hand and legcuff portion of mob/proc/u_equip() was moved into mob/living/carbon/u_equip().
The handcuffed portion of mob/proc/show_inv() was moved into mob/living/carbon/show_inv().
Fixes issue 1114.
Made parrots immune to bear traps since parrots should be flying over them anyway.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5184 316c924e-a436-60f5-8080-3fe189b3f50e
Removed var/constant/Pi It's already defined in setup.dm
Moved a bunch of global_lists to global_lists.dm
Fixed hair randomisation. (still bits to do)
Moved a lot of preferences_setup.dm stuff into __HELPERS/mobs.dm They'll be FAR more helpful as generic procs, rather than something tied to preferences.
Merged mob/var/nopush into status_flags with the CANPUSH flag
Merged mob/var/nodamage into status_flags with the GODMODE flag
Removed mob/var/be_syndicate and mob/var/be_random_name as they are not used.
Added /proc/ui_style2icon(ui_style) proc. It converts a string like "Midnight" into its corresponding dmi file. The code fore creating a new hud uses it.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5164 316c924e-a436-60f5-8080-3fe189b3f50e
Updated some area names for nicer formatting on the shuttle console.
Improved pinpointers.
Updated the map; moved some syndie shuttle areas around to be further away from the edge of the map, and removed my birthday cake (thanks carn!)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5154 316c924e-a436-60f5-8080-3fe189b3f50e
Toggling these preferences in-game will update your savefile. Meaning that your preferences will persist between rounds.
Added some savefile_version updating stuff. It's pretty crude. If you're changing any of the savefile stuff just ask and I can change it/help.
Removed some unused client vars
Ghosts no longer hear ambience. Simplified ambience code.
Simplified lobby music code. It will no longer cause a massive queue of events (which would eventually balloon in memory use)
Moved ooccolor and sound_adminhelp back to prefs. It's easier and allowed me to remove the setupclient() stuff completely.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5143 316c924e-a436-60f5-8080-3fe189b3f50e
The nuke shuttle now has no restrictions (except a cooldown) on movement, and can be piloted to any location. It also travels through hyperspace.
Nuke lockers and such now start on the shuttle, rather than spawning on landmarks. (with the exception of the bomb, and the uplink locker)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5141 316c924e-a436-60f5-8080-3fe189b3f50e
They include such procs as sanitize_integer(num, min, max, default) which will check num is a number, round num to make it an integer, then check if it is between min and max (inclusive). If it fails the bound-checks it will return default. There are others, have a look.
PERSISTENT PREFERENCES: Every ckey which connects to the game gets its own persistent /datum/preferences datum.
It is archived in var/list/preferences_datums = list("ckey" = datum)
At connect it is automatically associated with the client defines.dm (or a new one is created if it can't find an archived prefs datum). This means clients will ALWAYS have a var/datum/preferences/prefs which references this datum. So you can use it without checking if(client.prefs)
This has simplified only a few bits of code. It will however, allow us to make preferences like see_deadchat ghost_ears etc, persistent. So they will not reset when you DC.
SAVEFILES: Changed the player savefile code a lot. Hopefully I've not fucked it up too much. Every single variable loaded from saves is now sanity checked using the new sanity procs. This should help prevent savefiles becomming obsolete by sanitizing input to meet current requirements, without deleting all the ok variables and making you start from scratch >_> NOTE: I still need to sort out the savefile version stuff. I'll probably figure it out before the server updates anyway. It sees to be fine without it.
You can no longer choose your blood type. It is randomised (with each bloodtype having a realistic probability of occuring). This is to make blood analysis (detective/medical) less pointless. It is chosen as soon as you connect. It remains persistent throughout each round so you won't be able to change it by logging in/out over and over.
Replaces some copypasta code with is_afk() (still a fair bit to do)
There are new hyperlink shortcut things. _src_=vars will direct your hyperlink to viewvars. _src_=prefs to your preferences datum. (These are the only way to access those bits of code via links). This means that the overall amount of operations in almost every Topic has pretty much halved and is much prettier.
Replaced and removed adminplayervars from datum/admins/Topic. It was superfluous. They now all point directly to the viewvars code using _src_=vars
Removed the changelog popup at round start. Instead a button on your game-window will glow white if there are new updates. To peruse at your convenience. This will speed up connect times.
Removed the AFK_THRESHOLD define. It is integrated into is_afk() now.
TODO: remove the prefs stuff from mobs and clients and update code to use client.prefs to access that info.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5121 316c924e-a436-60f5-8080-3fe189b3f50e
Moved the modified wish granter and meat grinder from Brotemis' away mission map (wildwest) into wildwest.dm in the random z-level folder. This way if we get to rotating through different maps, we wont have leftover unused code laying around.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5118 316c924e-a436-60f5-8080-3fe189b3f50e
Removed /obj/item/weapon/camera while I was at it (unused).
New cameras are in modules/paperwork/photography.dm.
Standardised folder and paper naming a leetle bit.
Added a new gamekit sprite, also from BS12.
Path changes!
/obj/item/weapon/camera_test > /obj/item/device/camera
Updated all maps with the path changes, excepting oldstation.dmm.
Updated the changelog.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5116 316c924e-a436-60f5-8080-3fe189b3f50e
Before, when making a link to an admin tool, you done this:
<a href='?src=\ref[C.holder];parameter=1;>link</a>
Now, we do not need to use a reference to direct it to places like usr or usr.client.holder (or client, but you never needed src for that anyway)
usr: <a href='?_src_=usr;parameter=1;>link</a>
holder: <a href='?_src_=holder;parameter=1;>link</a>
This basically allows us to move a LOT of code outside of loops as we no longer have to create a \ref for every recipient of the message. They can all be sent identical links. A simple example of this would be in pray.dm Although it's most noticeable in the adminhelp code which is vastly simplified.
Adminhelp name spotting code thingy...whatever... looks for ckey matches first, then surnames, then forenames. This is to stop it possibly weirding out if there is a station full of "Ed"s of "Sarah"s
Prayer code no longer loads a new icon into memory every time a prayer is sent. Use image() not icon()!
key_name() no longer needs a reference for it's admin_link argument.
message_admin() pretty much doesn't need those extra arguments for finding and replacing %holder_ref%. I've got to go through all the code to check before I remove it though.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5105 316c924e-a436-60f5-8080-3fe189b3f50e
-Fixed a bug where blood/vomit decals would be creating new viruses.
-Medical computer won't recognize advance diseases... for now.
-Used english_list when displaying symptoms.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5100 316c924e-a436-60f5-8080-3fe189b3f50e