Drop Item will now deselect, and Toggle Throw will now unequip and cycle
to the next module; previously, these hotkeys did nothing for cyborgs.
Also, unequipping a module while the module list is open will now update
it like it should.
1. Adds in a Laptop Recharger that can only recharge laptops. Could
potentially be placed near the latop vendor, and the detectives office.
2. The changelog button now links to Github instead of the outdated
forum changelog
Adds a more advanced hotkey mode system, using verbs instead of .dmf
defined .winset commands, allowing for multiple hotkey presets(QWERTY,
AZERTY, DVORAK, you name it)
Adds an AZERTY set of hotkeys, using this code
You can use it by typing 'wiki [query]' in the command box, for example 'wiki cult' brings up the cult guide, or clicking the wiki button at the top-right and typing what you want to look for.
It uses wikiurl, so other servers should be compilable, if they change their wikiurl.
Conflicts:
interface/interface.dm
-Changed the broadcast function using a precreated human. The human would still be existing and a new one was created for every use of the broadcast. Garbage collecting it was almost impossible and deleting it everytime a broadcast is made would be laggy so I modified the broadcast code to not need a mob reference.
-Added some checks in the events.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5477 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 some of the static overlays such as the dither effects, druggy effect and blurry-eyes into datum/global_hud. Meaning that only one object is instanced per server rather than per mob. It reduces on code.
Commented out a green and red overlay which aren't used, which were being instanced for every mob.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4767 316c924e-a436-60f5-8080-3fe189b3f50e
Replaced usr references with mob
This means it can be called as a proc for any mob to use that code. Updated the click-procs to use this as they were using slightly different code.
Fixed an issue with AIs using the intent hotkeys
Added more sanity checks to it.
Insert key uses the same code as other hotkeys.
Commented out some unused hud-code from when we had separate intent buttons.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4766 316c924e-a436-60f5-8080-3fe189b3f50e
Added a activate held item hotkey
Added intent hotkeys to 1 2 3 and 4 keys.
hotkeys-help for details.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4759 316c924e-a436-60f5-8080-3fe189b3f50e
Hotkey-Mode: (hotkey-mode must be on)
TAB = toggle hotkey-mode
a = left
s = down
d = east
w = up
q = drop
e = equip
r = throw
t = say
x = swap-hand
f = cycle-intents-left
g = cycle-intents-right
Normal-Mode: (hotkey doesn't need to be on)
Ctrl+a = left
Ctrl+s = down
Ctrl+d = east
Ctrl+w = up
Ctrl+q = drop
Ctrl+e = equip
Ctrl+r = throw
Ctrl+x = swap-hand
Ctrl+f = cycle-intents-left
Ctrl+g = cycle-intents-right
Admin:
F5 = toggle-admin-observe (WIP)
F6 = player-panel-new
F7 = admin-pm
F8 = (WIP)
Regular controls aren't affected.
There's an additional option to press the TAB key to switch into a hotkey-mode. It's a toggle, so it stays on until you press it again. It switches focus between the map and input-bar for you. This mode defaults to off so you won't even notice it unless you decide to toggle it on with the TAB key. Whilst using this hotkey mode you get additional options like pressing "T" to say something.
The mode switching (TAB key) is completely client-sided.
http://nanotrasen.com/phpBB3/viewtopic.php?f=15&t=10024
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4686 316c924e-a436-60f5-8080-3fe189b3f50e