* Adds preference setting for wether hotkeys should default to enabled or disabled.
* Fixes bug for CTRL+NUMPAD8 using old verb name for toggling head.
It bothered me that there was no hotkey for emote that wasn't on the
function row. Y is now me. Activate-held-item is now only Z instead of Z
and Y.
The hotkeys-help verb in OOC tab is changed to include the changes
above, and the previously unmentioned function row hotkeys that are
pertinent to players. (Admin verbs are unmentioned)
Now indicator will disappear if for 30 seconds contents of chatbar didn't change.
Moved all relevant vars to the typing_indicator.dm
Added 'typing' var, as 'if(!(typing_indicator in overlays))' didn't work and overlays kept being added forever.
Fixed preference toggle feedback being backwards.
Fixed wrong verb called in hotkeys mode.
It's toggleable as client preference.
Displays dots(codersprite) near the mob when he starts typing a message.
Detects chatline me and say via checking contents.
Detects shortcut input me an say via hacky wrapper that's called now instead of direct say/me verbs.
-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
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
- Renamed the obj/hud show_otherinventory var to inventory_shown
- Added the F12 hotkey which hides most of the UI except for the intent switcher, hands, health indicator, damage indicators and the other pop-in indicators on the right. The proc is called /mob/verb/button_pressed_F12(), the verb abbreviation is "F12" and it's hidden, so it won't show in the info panel. This currently only works for human mobs.
Screenshot:
http://www.kamletos.si/minimal%20UI.png
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3926 316c924e-a436-60f5-8080-3fe189b3f50e
Rules verb moved to the interface to make it more visible (so new players may actually -read- it occasionally).
Minor changes to investigate singulo based on feedback. Entries are now timestamped and the "time \ref[src] (location)" bit is in a smaller font. Collectors note how much fuel they are loaded with.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3687 316c924e-a436-60f5-8080-3fe189b3f50e
- New hotkeys: Delete is the 'stop dragging' button and insert cycles through intents.
- Added some user feedback messages to the drop, throw, stop-dragging and cycle-intents hotkeys.
- Added the hotkeys thing to the changelog.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3631 316c924e-a436-60f5-8080-3fe189b3f50e