diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm
index 04295f64206..bf513de3027 100644
--- a/code/__DEFINES/combat.dm
+++ b/code/__DEFINES/combat.dm
@@ -107,10 +107,6 @@
#define BODY_ZONE_PRECISE_EYES "eyes"
#define BODY_ZONE_PRECISE_MOUTH "mouth"
#define BODY_ZONE_PRECISE_GROIN "groin"
-#define BODY_ZONE_PRECISE_L_HAND "l_hand"
-#define BODY_ZONE_PRECISE_R_HAND "r_hand"
-#define BODY_ZONE_PRECISE_L_FOOT "l_foot"
-#define BODY_ZONE_PRECISE_R_FOOT "r_foot"
//Gun Stuff
#define SAWN_INTACT 0
diff --git a/code/modules/keybindings/bindings_client.dm b/code/modules/keybindings/bindings_client.dm
index 28283a7b844..005b6df1596 100644
--- a/code/modules/keybindings/bindings_client.dm
+++ b/code/modules/keybindings/bindings_client.dm
@@ -3,7 +3,6 @@
/client/verb/keyDown(_key as text)
set instant = TRUE
set hidden = TRUE
- to_chat(src,"You pressed:" + _key)
keys_held[_key] = world.time
var/movement = SSinput.movement_keys[_key]
if(!(next_move_dir_sub & movement) && !keys_held["Ctrl"])
@@ -34,7 +33,6 @@
/client/verb/keyUp(_key as text)
set instant = TRUE
set hidden = TRUE
- to_chat(src, "You released:" + _key)
keys_held -= _key
var/movement = SSinput.movement_keys[_key]
if(!(next_move_dir_add & movement))
diff --git a/code/modules/keybindings/bindings_human.dm b/code/modules/keybindings/bindings_human.dm
index f4d69d873d1..be9c3696b91 100644
--- a/code/modules/keybindings/bindings_human.dm
+++ b/code/modules/keybindings/bindings_human.dm
@@ -2,43 +2,44 @@
if(client.keys_held["Shift"])
switch(_key)
if("E") // Put held thing in belt or take out most recent thing from belt
- var/obj/item/thing = get_active_hand()
- var/obj/item/equipped_belt = get_item_by_slot(SLOT_BELT)
- if(!equipped_belt) // We also let you equip a belt like this
- if(!thing)
- to_chat(user, "You have no belt to take something out of.")
- return
- if(equip_to_slot_if_possible(thing, SLOT_BELT))
- update_inv_r_hand()
- update_inv_l_hand()
- return
- if(!SEND_SIGNAL(equipped_belt, COMSIG_CONTAINS_STORAGE)) // not a storage item
- if(!thing)
- equipped_belt.attack_hand(src)
- else
- to_chat(user, "You can't fit anything in.")
- return
- if(thing) // put thing in belt
- if(!SEND_SIGNAL(equipped_belt, COMSIG_TRY_STORAGE_INSERT, thing, user.mob))
- to_chat(user, "You can't fit anything in.")
- return
- if(!equipped_belt.contents.len) // nothing to take out
- to_chat(user, "There's nothing in your belt to take out.")
- return
- var/obj/item/stored = equipped_belt.contents[equipped_belt.contents.len]
- if(!stored || stored.on_found(src))
- return
- stored.attack_hand(src) // take out thing from belt
- return
+ quick_equip() // Implementing the storage component is going to take way too long
+ // var/obj/item/thing = get_active_hand()
+ // var/obj/item/equipped_belt = get_item_by_slot(slot_belt)
+ // if(!equipped_belt) // We also let you equip a belt like this
+ // if(!thing)
+ // to_chat(user, "You have no belt to take something out of.")
+ // return
+ // if(equip_to_slot_if_possible(thing, slot_belt))
+ // update_inv_r_hand()
+ // update_inv_l_hand()
+ // return
+ // if(!SEND_SIGNAL(equipped_belt, COMSIG_CONTAINS_STORAGE)) // not a storage item
+ // if(!thing)
+ // equipped_belt.attack_hand(src)
+ // else
+ // to_chat(user, "You can't fit anything in.")
+ // return
+ // if(thing) // put thing in belt
+ // if(!SEND_SIGNAL(equipped_belt, COMSIG_TRY_STORAGE_INSERT, thing, user.mob))
+ // to_chat(user, "You can't fit anything in.")
+ // return
+ // if(!equipped_belt.contents.len) // nothing to take out
+ // to_chat(user, "There's nothing in your belt to take out.")
+ // return
+ // var/obj/item/stored = equipped_belt.contents[equipped_belt.contents.len]
+ // if(!stored || stored.on_found(src))
+ // return
+ // stored.attack_hand(src) // take out thing from belt
+ // return
- if("B") // Put held thing in backpack or take out most recent thing from backpack
+ /* if("B") // Put held thing in backpack or take out most recent thing from backpack
var/obj/item/thing = get_active_hand()
- var/obj/item/equipped_back = get_item_by_slot(SLOT_BACK)
+ var/obj/item/equipped_back = get_item_by_slot(slot_back)
if(!equipped_back) // We also let you equip a backpack like this
if(!thing)
to_chat(user, "You have no backpack to take something out of.")
return
- if(equip_to_slot_if_possible(thing, SLOT_BACK))
+ if(equip_to_slot_if_possible(thing, slot_back))
update_inv_r_hand()
update_inv_l_hand()
return
@@ -59,5 +60,5 @@
if(!stored || stored.on_found(src))
return
stored.attack_hand(src) // take out thing from backpack
- return
+ return */
return ..()
\ No newline at end of file
diff --git a/code/modules/keybindings/setup.dm b/code/modules/keybindings/setup.dm
index b363d2534e8..5d38f6ed430 100644
--- a/code/modules/keybindings/setup.dm
+++ b/code/modules/keybindings/setup.dm
@@ -8,10 +8,8 @@
// Set a client's focus to an object and override these procs on that object to let it handle keypresses
/datum/proc/key_down(key, client/user) // Called when a key is pressed down initially
- to_chat(src,"key pressed:" + key)
return
/datum/proc/key_up(key, client/user) // Called when a key is released
- to_chat(src,"key released:" + key)
return
/datum/proc/keyLoop(client/user) // Called once every frame
set waitfor = FALSE
@@ -33,7 +31,7 @@
/client/proc/set_macros()
set waitfor = FALSE
- erase_all_macros()
+ //erase_all_macros()
var/list/macro_sets = SSinput.macro_sets
for(var/i in 1 to macro_sets.len)
diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm
index 3b1bddb0246..c81f4efd111 100644
--- a/code/modules/mob/mob_movement.dm
+++ b/code/modules/mob/mob_movement.dm
@@ -235,7 +235,7 @@
if(M.pulling == mob)
if(!M.incapacitated() && mob.Adjacent(M))
to_chat(src, "You're restrained! You can't move!")
- move_delay = world.time + 10
+ move_delay += 10
return 0
else
M.stop_pulling()
@@ -342,14 +342,14 @@
qdel(G)
if(GRAB_AGGRESSIVE)
- move_delay = world.time + 10
+ move_delay += 10
if(!prob(25))
return 1
mob.visible_message("[mob] has broken free of [G.assailant]'s grip!")
qdel(G)
if(GRAB_NECK)
- move_delay = world.time + 10
+ move_delay += 10
if(!prob(5))
return 1
mob.visible_message("[mob] has broken free of [G.assailant]'s headlock!")
@@ -550,7 +550,7 @@
else
next_in_line = BODY_ZONE_L_ARM
- var/obj/screen/zone_sel/selector = mob.hud_used.zone_select
+ var/obj/screen/zone_sel/selector = mob.zone_sel
selector.set_selected_zone(next_in_line, mob)
/client/verb/body_r_leg()
diff --git a/interface/interface.dm b/interface/interface.dm
index 0bec55ef51c..3aad659de49 100644
--- a/interface/interface.dm
+++ b/interface/interface.dm
@@ -124,11 +124,12 @@
var/adminhotkeys = {"
Admin:
-\tF5 = Asay
-\tF6 = Admin Ghost
-\tF7 = Player Panel
-\tF8 = Admin PM
-\tF9 = Invisimin
+\tF3 = asay
+\tF5 = Aghost (admin-ghost)
+\tF6 = player-panel
+\tF7 = Buildmode
+\tF8 = Invisimin
+\tCtrl+F8 = Stealthmin
Admin ghost:
\tCtrl+Click = Player Panel
@@ -144,56 +145,62 @@ Admin ghost:
/mob/proc/hotkey_help()
var/hotkey_mode = {"
Hotkey-Mode: (hotkey-mode must be on)
-\tTAB = Toggle Hotkey Mode
-\ta = Move Left
-\ts = Move Down
-\td = Move Right
-\tw = Move Up
-\tq = Drop Item
-\te = Equip Item
-\tr = Throw Item
-\tm = Me
-\tt = Say
+\tTAB = toggle hotkey-mode
+\ta = left
+\ts = down
+\td = right
+\tw = up
+\tq = drop
+\te = equip
+\tr = throw
+\tm = me
+\tt = say
\to = OOC
-\tb = Resist
-\tx = Swap Hands
-\tz = Activate Held Object (or y)
-\tf = Cycle Intents Left
-\tg = Cycle Intents Right
-\t1 = Help Intent
-\t2 = Disarm Intent
-\t3 = Grab Intent
-\t4 = Harm Intent
+\tb = resist
+\th = stop pulling
+\tx = swap-hand
+\tz = activate held object (or y)
+\tShift+e = Put held item into belt(or belt slot) or take out most recent item added.
+\tShift+b = Put held item into backpack(or back slot) or take out most recent item added.
+\tf = cycle-intents-left
+\tg = cycle-intents-right
+\t1 = help-intent
+\t2 = disarm-intent
+\t3 = grab-intent
+\t4 = harm-intent
+\tNumpad = Body target selection (Press 8 repeatedly for Head->Eyes->Mouth)
+\tAlt(HOLD) = Alter movement intent
"}
var/other = {"
Any-Mode: (hotkey doesn't need to be on)
-\tCtrl+a = Move Left
-\tCtrl+s = Move Down
-\tCtrl+d = Move Right
-\tCtrl+w = Move Up
-\tCtrl+q = Drop Item
-\tCtrl+e = Equip Item
-\tCtrl+r = Throw Item
-\tCtrl+b = Resist
+\tCtrl+a = left
+\tCtrl+s = down
+\tCtrl+d = right
+\tCtrl+w = up
+\tCtrl+q = drop
+\tCtrl+e = equip
+\tCtrl+r = throw
+\tCtrl+b = resist
+\tCtrl+h = stop pulling
\tCtrl+o = OOC
-\tCtrl+x = Swap Hands
-\tCtrl+z = Activate Held Object (or Ctrl+y)
-\tCtrl+f = Cycle Intents Left
-\tCtrl+g = Cycle Intents Right
-\tCtrl+1 = Help Intent
-\tCtrl+2 = Disarm Intent
-\tCtrl+3 = Grab Intent
-\tCtrl+4 = Harm Intent
-\tDEL = Pull
-\tINS = Cycle Intents Right
-\tHOME = Drop Item
-\tPGUP = Swap Hands
-\tPGDN = Activate Held Object
-\tEND = Throw Item
-\tF2 = OOC
-\tF3 = Say
-\tF4 = Me
+\tCtrl+x = swap-hand
+\tCtrl+z = activate held object (or Ctrl+y)
+\tCtrl+f = cycle-intents-left
+\tCtrl+g = cycle-intents-right
+\tCtrl+1 = help-intent
+\tCtrl+2 = disarm-intent
+\tCtrl+3 = grab-intent
+\tCtrl+4 = harm-intent
+\tCtrl+'+/-' OR
+\tShift+Mousewheel = Ghost zoom in/out
+\tDEL = stop pulling
+\tINS = cycle-intents-right
+\tHOME = drop
+\tPGUP = swap-hand
+\tPGDN = activate held object
+\tEND = throw
+\tCtrl+Numpad = Body target selection (Press 8 repeatedly for Head->Eyes->Mouth)
"}
to_chat(src, hotkey_mode)
diff --git a/interface/skin.dmf b/interface/skin.dmf
index 88e2fa46041..5b08c10a2af 100644
--- a/interface/skin.dmf
+++ b/interface/skin.dmf
@@ -1,6 +1,5 @@
macro "default"
-
menu "menu"
elem
name = "&File"
@@ -138,13 +137,12 @@ window "mainwindow"
size = 640x440
anchor1 = none
anchor2 = none
- background-color = none
is-default = true
saved-params = "pos;size;is-minimized;is-maximized"
title = "Paradise Station 13"
is-maximized = true
icon = 'icons\\paradise.png'
- macro = "macro"
+ macro = "default"
menu = "menu"
elem "asset_cache_browser"
type = BROWSER
@@ -152,7 +150,6 @@ window "mainwindow"
size = 200x200
anchor1 = none
anchor2 = none
- background-color = none
is-visible = false
saved-params = ""
elem "hotkey_toggle"
@@ -161,10 +158,9 @@ window "mainwindow"
size = 80x20
anchor1 = 100,100
anchor2 = none
- background-color = none
saved-params = ""
text = "Hotkey Toggle"
- command = ".winset \"mainwindow.macro != macro ? mainwindow.macro=macro hotkey_toggle.is-checked=false input.focus=true input.background-color=#d3b5b5 : mainwindow.macro=hotkeymode hotkey_toggle.is-checked=true mapwindow.map.focus=true input.background-color=#f0f0f0\""
+ command = ".winset \"input.focus=true?map.focus=true input.background-color=[COLOR_INPUT_DISABLED]:input.focus=true input.background-color=[COLOR_INPUT_ENABLED]"
button-type = pushbox
elem "mainvsplit"
type = CHILD
@@ -172,7 +168,6 @@ window "mainwindow"
size = 634x416
anchor1 = 0,0
anchor2 = 100,100
- background-color = none
saved-params = "splitter"
left = "mapwindow"
right = "rpane"
@@ -193,7 +188,6 @@ window "mainwindow"
size = 40x20
anchor1 = 100,100
anchor2 = none
- background-color = none
saved-params = "is-checked"
text = "Chat"
command = ".winset \"saybutton.is-checked=true?input.command=\"!say \\\"\" macrobutton.is-checked=false:input.command=\"\"saybutton.is-checked=true?mebutton.is-checked=false\""
@@ -204,7 +198,6 @@ window "mainwindow"
size = 40x20
anchor1 = 100,100
anchor2 = none
- background-color = none
saved-params = "is-checked"
text = "Me"
command = ".winset \"mebutton.is-checked=true?input.command=\"!me \\\"\" macrobutton.is-checked=false:input.command=\"\"mebutton.is-checked=true?saybutton.is-checked=false\""
@@ -215,7 +208,6 @@ window "mainwindow"
size = 999x999
anchor1 = none
anchor2 = none
- background-color = none
is-visible = false
saved-params = ""