diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm
index b18492d8e6d..b2e4ed54f2c 100644
--- a/code/game/machinery/computer/camera.dm
+++ b/code/game/machinery/computer/camera.dm
@@ -96,7 +96,7 @@
if(!isAI(user))
user.set_machine(src)
- usr.reset_view(current)
+ user.reset_view(current_camera)
ui_interact(user)
proc/switch_to_camera(var/mob/user, var/obj/machinery/camera/C)
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index 7f724044674..ecd9caa8fd3 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -479,10 +479,7 @@
user << "You stop [L == user ? "climbing into the cryo pod." : "putting [L] into the cryo pod."]"
return
- if(orient_right)
- icon_state = "[occupied_icon_state]-r"
- else
- icon_state = occupied_icon_state
+ icon_state = occupied_icon_state
L << "\blue You feel cool air surround you. You go numb as your senses turn inward."
L << "\blue If you ghost, log out or close your client now, your character will shortly be permanently removed from the round."
diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm
index 0e1373ea858..ee8c237a235 100644
--- a/code/game/objects/items/devices/PDA/PDA.dm
+++ b/code/game/objects/items/devices/PDA/PDA.dm
@@ -956,7 +956,6 @@ var/global/list/obj/item/device/pda/PDAs = list()
/obj/item/device/pda/proc/create_message(var/mob/living/U = usr, var/obj/item/device/pda/P, var/tap = 1)
if(tap)
U.visible_message("\The [U] taps on \his PDA's screen.")
- U.last_target_click = world.time
var/t = input(U, "Please enter message", P.name, null) as text|null
t = sanitize(t)
//t = readd_quotes(t)
diff --git a/code/game/objects/items/devices/uplink.dm b/code/game/objects/items/devices/uplink.dm
index a1897883518..8f704b2af8d 100644
--- a/code/game/objects/items/devices/uplink.dm
+++ b/code/game/objects/items/devices/uplink.dm
@@ -258,8 +258,24 @@ A list of items and costs is stored under the datum of every game mode, alongsid
establish_db_connection(dbcon)
if (dbcon.IsConnected())
+ nanoui_data["contracts"] = list()
+
+ if (!nanoui_data["contracts_current_page"])
+ nanoui_data["contracts_current_page"] = 1
+
+ if (!nanoui_data["contracts_view"])
+ nanoui_data["contracts_view"] = 1
+
var/query_details[0]
- query_details[":contract_id"] = text2num(id)
+
+ switch (nanoui_data["contracts_view"])
+ if (1)
+ query_details[":status"] = "open"
+ if (2)
+ query_details[":status"] = "closed"
+ else
+ nanoui_data["contracts_view"] = 1
+ query_details[":status"] = "open"
var/DBQuery/select_query = dbcon.NewQuery("SELECT contract_id, contractee_name, status, title, description, reward_other FROM ss13_syndie_contracts WHERE contract_id = :contract_id")
select_query.Execute(query_details)
diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm
index e8f46ce52c0..f6eda831da3 100644
--- a/code/modules/clothing/chameleon.dm
+++ b/code/modules/clothing/chameleon.dm
@@ -5,23 +5,25 @@
/obj/item/proc/disguise(var/newtype)
//this is necessary, unfortunately, as initial() does not play well with list vars
var/obj/item/copy = new newtype(null) //so that it is GCed once we exit
-
+
desc = copy.desc
name = copy.name
icon_state = copy.icon_state
item_state = copy.item_state
body_parts_covered = copy.body_parts_covered
-
- item_icons = copy.item_icons.Copy()
- item_state_slots = copy.item_state_slots.Copy()
- sprite_sheets = copy.sprite_sheets.Copy()
+ flags_inv = copy.flags_inv
+
+ if(copy.item_icons)
+ item_icons = copy.item_icons.Copy()
+ if(copy.sprite_sheets)
+ sprite_sheets = copy.sprite_sheets.Copy()
//copying sprite_sheets_obj should be unnecessary as chameleon items are not refittable.
-
+
return copy //for inheritance
/proc/generate_chameleon_choices(var/basetype, var/blacklist=list())
. = list()
-
+
var/i = 1 //in case there is a collision with both name AND icon_state
for(var/typepath in typesof(basetype) - blacklist)
var/obj/O = typepath
@@ -100,7 +102,7 @@
if(!ispath(clothing_choices[picked]))
return
-
+
disguise(clothing_choices[picked])
update_clothing_icon() //so our overlays update.
@@ -333,19 +335,19 @@
w_class = 3
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_ILLEGAL = 8)
matter = list()
-
+
fire_sound = 'sound/weapons/Gunshot.ogg'
projectile_type = /obj/item/projectile/chameleon
charge_meter = 0
charge_cost = 20 //uses next to no power, since it's just holograms
max_shots = 50
-
+
var/obj/item/projectile/copy_projectile
var/global/list/gun_choices
/obj/item/weapon/gun/energy/chameleon/New()
..()
-
+
if(!gun_choices)
gun_choices = list()
for(var/gun_type in typesof(/obj/item/weapon/gun/) - src.type)
diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm
index f5c5268a796..c3f29de601d 100644
--- a/code/modules/clothing/head/misc_special.dm
+++ b/code/modules/clothing/head/misc_special.dm
@@ -156,8 +156,6 @@
var/icon/earbit = new/icon("icon" = 'icons/mob/head.dmi', "icon_state" = "kittyinner")
ears.Blend(earbit, ICON_OVERLAY)
- item_icons[icon_head] = ears
-
/obj/item/clothing/head/richard
name = "chicken mask"
desc = "You can hear the distant sounds of rhythmic electronica."
diff --git a/code/modules/mob/living/silicon/robot/robot_items.dm b/code/modules/mob/living/silicon/robot/robot_items.dm
index bb67b3fb3ab..6e9df95a11a 100644
--- a/code/modules/mob/living/silicon/robot/robot_items.dm
+++ b/code/modules/mob/living/silicon/robot/robot_items.dm
@@ -28,13 +28,10 @@
user << "You activate the analyzer's microlaser, analyzing \the [loaded_item] and breaking it down."
flick("portable_analyzer_scan", src)
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- if(loaded_item.reliability >= min_reliability)
- var/list/temp_tech = ConvertReqString2List(loaded_item.origin_tech)
- for(var/T in temp_tech)
- files.UpdateTech(T, temp_tech[T])
- user << "\The [loaded_item] had level [temp_tech[T]] in [T]."
- else
- user << "\The [loaded_item] was not reliable enough to advance research."
+ var/list/temp_tech = ConvertReqString2List(loaded_item.origin_tech)
+ for(var/T in temp_tech)
+ files.UpdateTech(T, temp_tech[T])
+ user << "\The [loaded_item] had level [temp_tech[T]] in [T]."
loaded_item = null
for(var/obj/I in contents)
for(var/mob/M in I.contents)
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index 20807e8cbeb..f8883fc302a 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -374,7 +374,6 @@ mob/living/simple_animal/bullet_act(var/obj/item/projectile/Proj)
/mob/living/simple_animal/attackby(var/obj/item/O, var/mob/user)
if(istype(O, /obj/item/stack/medical))
- user.changeNext_move(4)
if(stat != DEAD)
var/obj/item/stack/medical/MED = O
if(health < maxHealth)
@@ -399,7 +398,6 @@ mob/living/simple_animal/bullet_act(var/obj/item/projectile/Proj)
//TODO: refactor mob attackby(), attacked_by(), and friends.
/mob/living/simple_animal/proc/attacked_with_item(var/obj/item/O, var/mob/user)
- user.changeNext_move(8)
if(!O.force)
visible_message("[user] gently taps [src] with \the [O].")
return
diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm
index 69c891b4fef..b7a1e6927a3 100644
--- a/code/modules/mob/mob_movement.dm
+++ b/code/modules/mob/mob_movement.dm
@@ -266,11 +266,7 @@
src << "\blue You're pinned to a wall by [mob.pinned[1]]!"
return 0
-
-
- move_delay = world.time//set move delay
- mob.last_move_intent = world.time + 10
-
+ move_delay = world.time //set move delay
if (mob.buckled || mob.pulledby)
if(istype(mob.buckled, /obj/vehicle))