diff --git a/code/WorkInProgress/Chemistry-Tools.dm b/code/WorkInProgress/Chemistry-Tools.dm
index 648e61f1ab2..4aa0e51bdca 100644
--- a/code/WorkInProgress/Chemistry-Tools.dm
+++ b/code/WorkInProgress/Chemistry-Tools.dm
@@ -1044,6 +1044,23 @@
del(D)
del(src)
+/obj/item/weapon/reagent_containers/glass/cantister
+ desc = "It's a canister. Mainly used for transporting fuel."
+ name = "canister"
+ icon = 'tank.dmi'
+ icon_state = "canister"
+ item_state = "canister"
+ m_amt = 300
+ g_amt = 0
+ w_class = 5.0
+
+ amount_per_transfer_from_this = 20
+ flags = FPRINT
+ New()
+ var/datum/reagents/R = new/datum/reagents(120)
+ reagents = R
+ R.my_atom = src
+
/obj/item/weapon/reagent_containers/glass/dispenser
name = "reagent glass"
desc = "A reagent glass."
@@ -2538,7 +2555,6 @@
icon_state ="glass_brown"
name = "Glass of ..what?"
desc = "You can't really tell what this is."
-
else
icon_state = "glass_empty"
name = "Drinking glass"
diff --git a/code/WorkInProgress/recycling/disposal.dm b/code/WorkInProgress/recycling/disposal.dm
index 4548fefdeae..7563f1d3bdf 100644
--- a/code/WorkInProgress/recycling/disposal.dm
+++ b/code/WorkInProgress/recycling/disposal.dm
@@ -822,7 +822,6 @@
if(O)
linked = O
-
update()
return
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index 0e872037529..74e6560508a 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -33,4 +33,450 @@ datum/mind
output += "Objective #[obj_count]: [objective.explanation_text]"
obj_count++
- recipient << browse(output,"window=memory")
\ No newline at end of file
+ recipient << browse(output,"window=memory")
+
+ proc/edit_memory()
+ var/out = "[current.real_name]
"
+ out += "Assigned role: [assigned_role]. Edit
"
+ out += "Special role: "
+
+
+ var/srole
+ var/cantoggle = 1
+
+ var/datum/game_mode/current_mode = ticker.mode
+ switch (current_mode.config_tag)
+ if ("revolution")
+ if (src in current_mode:head_revolutionaries)
+ srole = "Head Revolutionary"
+ out += "Head Revolutionary "
+ cantoggle = 0
+ else if(src in current_mode:revolutionaries)
+ srole = "Revolutionary"
+ out += "Head Revolutionary Revolutionary "
+ else
+ out += "Head Revolutionary Revolutionary "
+
+ if ("cult")
+ if (src in current_mode:cult)
+ srole = "Cultist"
+ out += "Cultist"
+ cantoggle = 0
+
+ if ("wizard")
+ if (current_mode:wizard && src == current_mode:wizard)
+ srole = "Wizard"
+ out += "Wizard"
+ cantoggle = 0
+ else
+ out = "Wizard "
+
+ if ("changeling")
+ if (src in current_mode:changelings)
+ srole = "Changeling"
+ out += "Changeling"
+ cantoggle = 0
+ else
+ out = "Changeling "
+
+ if ("malfunction")
+ if (src in current_mode:malf_ai)
+ srole = "Malfunction"
+ out += "Malfunction"
+ cantoggle = 0
+
+ if ("nuclear")
+ if(src in current_mode:syndicates)
+ srole = "Syndicate"
+ out = "Syndicate"
+ cantoggle = current_mode:syndicates.len > 1
+ else
+ out += "Syndicate "
+
+ if (cantoggle)
+ if(src in current_mode.traitors)
+ if (special_role == "fake wizard")
+ out += "Traitor "
+ out += "Fake wizard "
+ srole = "Fake wizard"
+ else
+ out += "Traitor "
+ out += "Fake wizard "
+ srole = "Traitor"
+ else
+ out += "Traitor "
+ out += "Fake wizard "
+
+ if (srole)
+ out += "Civilian "
+ else
+ out += "Civilian "
+
+ out += "
"
+
+ out += "Memory:
"
+ out += memory
+ out += "
Edit memory
"
+ out += "Objectives:
"
+ if (objectives.len == 0)
+ out += "EMPTY
"
+ else
+ var/obj_count = 1
+ for(var/datum/objective/objective in objectives)
+ out += "[obj_count]: [objective.explanation_text] Edit Delete
"
+ obj_count++
+ out += "Add objective
"
+
+ out += "Announce objectives
"
+
+ usr << browse(out, "window=edit_memory[src]")
+
+ Topic(href, href_list)
+
+ if (href_list["role_edit"])
+ var/new_role = input("Select new role", "Assigned role", assigned_role) as null|anything in get_all_jobs()
+ if (!new_role) return
+ assigned_role = new_role
+
+ else if (href_list["memory_edit"])
+ var/new_memo = input("Write new memory", "Memory", memory) as message
+ if (!new_memo) return
+ memory = new_memo
+
+ else if (href_list["obj_edit"] || href_list["obj_add"])
+ var/datum/objective/objective = null
+ var/objective_pos = null
+ var/def_value = null
+
+ if (href_list["obj_edit"])
+ objective = locate(href_list["obj_edit"])
+ if (!objective) return
+ objective_pos = objectives.Find(objective)
+
+ if (istype(objective, /datum/objective/assassinate))
+ def_value = "assassinate"
+ else if (istype(objective, /datum/objective/hijack))
+ def_value = "hijack"
+ else if (istype(objective, /datum/objective/escape))
+ def_value = "escape"
+ else if (istype(objective, /datum/objective/survive))
+ def_value = "survive"
+ else if (istype(objective, /datum/objective/steal))
+ def_value = "steal"
+ else if (istype(objective, /datum/objective/nuclear))
+ def_value = "nuclear"
+ else if (istype(objective, /datum/objective/absorb))
+ def_value = "absorb"
+ else if (istype(objective, /datum/objective))
+ def_value = "custom"
+ // TODO: cult objectives
+ //else if (istype(objective, /datum/objective/eldergod))
+ // def_value = "eldergod"
+ //else if (istype(objective, /datum/objective/survivecult))
+ // def_value = "survivecult"
+ //else if (istype(objective, /datum/objective/sacrifice))
+ // def_value = "sacrifice"
+
+ var/new_obj_type = input("Select objective type:", "Objective type", def_value) as null|anything in list("assassinate", "hijack", "escape", "survive", "steal", "nuclear", "absorb", "custom")
+ if (!new_obj_type) return
+
+ var/datum/objective/new_objective = null
+
+ switch (new_obj_type)
+ if ("assassinate")
+ var/list/possible_targets = list("Free objective")
+ for(var/datum/mind/possible_target in ticker.minds)
+ if ((possible_target != src) && istype(possible_target.current, /mob/living/carbon/human))
+ possible_targets += possible_target.current
+
+ var/mob/def_target = null
+ if (istype(objective, /datum/objective/assassinate) && objective:target)
+ def_target = objective:target.current
+
+ var/new_target = input("Select target:", "Objective target", def_target) as null|anything in possible_targets
+ if (!new_target) return
+
+ if (new_target == "Free objective")
+ new_objective = new /datum/objective/assassinate
+ new_objective.owner = src
+ new_objective:target = null
+ new_objective.explanation_text = "Free objective"
+ else
+ new_objective = new /datum/objective/assassinate
+ new_objective.owner = src
+ new_objective:target = new_target:mind
+ new_objective.explanation_text = "Assassinate [new_target:real_name], the [new_target:mind.assigned_role]."
+
+ if ("hijack")
+ new_objective = new /datum/objective/hijack
+ new_objective.owner = src
+
+ if ("escape")
+ new_objective = new /datum/objective/escape
+ new_objective.owner = src
+
+ if ("survive")
+ new_objective = new /datum/objective/survive
+ new_objective.owner = src
+
+ if ("steal")
+ var/list/items = list("custom", "captain's antique laser gun", "hand teleporter", "RCD", "jetpack", "captains jumpsuit", "functional ai", "magnetic boots")
+
+ var/def_target = null
+ if (istype(objective, /datum/objective/steal))
+ def_target = objective:target_name
+
+ var/new_target = input("Select target:", "Objective target", def_target) as null|anything in items
+ if (!new_target) return
+
+ if (new_target == "custom")
+ var/steal_target = input("Select type:","Type") as null|anything in typesof(/obj/item)
+ if (!steal_target) return
+ var/tmp_obj = new steal_target
+ new_target = tmp_obj:name
+ del(tmp_obj)
+ new_target = input("Enter target name:", "Objective target", new_target) as text|null
+ if (!new_target) return
+
+ new_objective = new /datum/objective/steal
+ new_objective.owner = src
+ new_objective:steal_target = steal_target
+
+ else
+ new_objective = new /datum/objective/steal
+ new_objective.owner = src
+ switch(new_target)
+ if ("captain's antique laser gun")
+ new_objective:steal_target = /obj/item/weapon/gun/energy/laser_gun/captain
+ if ("hand teleporter")
+ new_objective:steal_target = /obj/item/weapon/hand_tele
+ if ("RCD")
+ new_objective:steal_target = /obj/item/weapon/rcd
+ if ("jetpack")
+ new_objective:steal_target = /obj/item/weapon/tank/jetpack
+ if ("captains jumpsuit")
+ new_objective:steal_target = /obj/item/clothing/under/rank/captain
+ if ("functional ai")
+ new_objective:steal_target = /obj/item/device/aicard
+ if ("magnetic boots")
+ new_objective:steal_target = /obj/item/clothing/shoes/magboots
+ new_objective:target_name = new_target
+ new_objective.explanation_text = "Steal a [new_target]."
+
+ if ("nuclear")
+ new_objective = new /datum/objective/nuclear
+ new_objective.owner = src
+
+ if ("absorb")
+ var/def_num = null
+ if (istype(objective, /datum/objective/absorb))
+ def_num = objective:num_to_eat
+
+ var/num_to_eat = input("Number to eat:", "Objective", def_num) as text
+ new_objective = new /datum/objective/absorb
+ new_objective.owner = src
+ new_objective:num_to_eat = num_to_eat
+ new_objective.explanation_text = "Absorb [num_to_eat] compatible genomes."
+
+ if ("custom")
+ var/expl = input("Custom objective:", "Objective", objective ? objective.explanation_text : "") as text|null
+ if (!expl) return
+ new_objective = new /datum/objective
+ new_objective.owner = src
+ new_objective.explanation_text = expl
+
+ if (!new_objective) return
+
+ if (objective)
+ objectives -= objective
+ objectives.Insert(objective_pos, new_objective)
+ else
+ objectives += new_objective
+
+ else if (href_list["obj_delete"])
+ var/datum/objective/objective = locate(href_list["obj_delete"])
+ if (!objective) return
+
+ objectives -= objective
+
+ else if (href_list["traitorize"])
+ // clear old memory
+ clear_memory(href_list["traitorize"] == "civilian" ? 0 : 1)
+
+ var/datum/game_mode/current_mode = ticker.mode
+ switch (href_list["traitorize"])
+ if ("headrev")
+ current_mode:equip_revolutionary(current)
+ //find first headrev
+ for(var/datum/mind/rev_mind in current_mode:head_revolutionaries)
+ // copy objectives
+ for (var/datum/objective/assassinate/obj in rev_mind.objectives)
+ var/datum/objective/assassinate/rev_obj = new
+ rev_obj = src
+ rev_obj.target = obj.target
+ rev_obj.explanation_text = obj.explanation_text
+ objectives += rev_obj
+ break
+ current_mode:update_rev_icons_added(src)
+ current_mode:head_revolutionaries += src
+
+ var/obj_count = 1
+ current << "\blue You are a member of the revolutionaries' leadership!"
+ for(var/datum/objective/objective in objectives)
+ current << "Objective #[obj_count]: [objective.explanation_text]"
+ obj_count++
+
+ if ("rev")
+ current_mode:add_revolutionary(src)
+
+ if ("wizard")
+ if (alert("Old wizard would be unwizarded. Are you sure?", , "Yes", "No") != "Yes") return
+ if (current_mode:wizard)
+ current_mode:wizard.clear_memory(0)
+ current_mode:wizard = src
+ current_mode:equip_wizard(current)
+ current << "\red You are the Space Wizard!"
+ current.loc = pick(wizardstart)
+
+ if ("fakewizard")
+ current_mode.traitors += src
+ current_mode.equip_wizard(current)
+ current << "\red You are the Space Wizard!"
+ current.loc = pick(wizardstart)
+ special_role = "fake wizard"
+
+ if ("changeling")
+ if (alert("Old changeling would lost his memory. Are you sure?", , "Yes", "No") != "Yes") return
+ if (changeling)
+ changeling.clear_memory()
+ current_mode:changelings -= changeling
+ current_mode:grant_changeling_powers(current)
+ changeling = src
+ current_mode:changelings += src
+
+ changeling.current << "\red You are a changeling!"
+
+ if ("syndicate")
+ var/obj/landmark/synd_spawn = locate("landmark*Syndicate-Spawn")
+ current.loc = get_turf(synd_spawn)
+ current_mode:equip_syndicate(current)
+ current_mode:syndicates += src
+
+ if ("traitor")
+ current_mode.equip_traitor(current)
+ current_mode.traitors += src
+ current << "You are the traitor."
+ special_role = "traitor"
+
+ else if (href_list["obj_announce"])
+ var/obj_count = 1
+ current << "\blue Your current objectives:"
+ for(var/datum/objective/objective in objectives)
+ current << "Objective #[obj_count]: [objective.explanation_text]"
+ obj_count++
+
+ edit_memory()
+
+ proc/clear_memory(var/silent = 1)
+ var/datum/game_mode/current_mode = ticker.mode
+
+ // remove traitor uplinks
+ var/list/L = current.get_contents()
+ for (var/t in L)
+ if (istype(t, /obj/item/device/pda))
+ if (t:uplink) del(t:uplink)
+ t:uplink = null
+ else if (istype(t, /obj/item/device/radio))
+ if (t:traitorradio) del(t:traitorradio)
+ t:traitorradio = null
+ t:traitor_frequency = 0.0
+ else if (istype(t, /obj/item/weapon/SWF_uplink) || istype(t, /obj/item/weapon/syndicate_uplink))
+ if (t:origradio)
+ var/obj/item/device/radio/R = t:origradio
+ R.loc = current.loc
+ R.traitorradio = null
+ R.traitor_frequency = 0.0
+ del(t)
+
+ // remove wizards spells
+ current.verbs -= /client/proc/jaunt
+ current.verbs -= /client/proc/magicmissile
+ current.verbs -= /client/proc/fireball
+ current.verbs -= /mob/proc/kill
+ current.verbs -= /mob/proc/tech
+ current.verbs -= /client/proc/smokecloud
+ current.verbs -= /client/proc/blind
+ current.verbs -= /client/proc/forcewall
+ current.verbs -= /mob/proc/teleport
+ current.verbs -= /client/proc/mutate
+ current.verbs -= /client/proc/knock
+
+ // clear memory
+ memory = ""
+ special_role = null
+
+ // remove from traitors list
+ if (src in current_mode.traitors)
+ current_mode.traitors -= src
+ if (!silent)
+ if (special_role == "fake wizard")
+ src.current << "\red You have been brainwashed! You are no longer a wizard!"
+ else
+ src.current << "\red You have been brainwashed! You are no longer a traitor!"
+
+ // clear gamemode specific values
+ switch (current_mode.config_tag)
+ if ("revolution")
+ if (src in current_mode:head_revolutionaries)
+ current_mode:head_revolutionaries -= src
+ if (!silent)
+ src.current << "\red You have been brainwashed! You are no longer a head revolutionary!"
+ current_mode:update_rev_icons_removed(src)
+
+ else if(src in current_mode:revolutionaries)
+ if (silent)
+ current_mode:revolutionaries -= src
+ current_mode:update_rev_icons_removed(src)
+ else
+ current_mode:remove_revolutionary(src)
+
+
+ if ("cult")
+ if (src in current_mode:cult)
+ current_mode:cult -= src
+ if (!silent)
+ src.current << "\red You have been brainwashed! You are no longer a cultist!"
+
+ if ("wizard")
+ if (src == current_mode:wizard)
+ current_mode:wizard = null
+ //current_mode.wizards -= src
+
+ if (!silent)
+ src.current << "\red You have been brainwashed! You are no longer a wizard!"
+
+ if ("changeling")
+ if (src in current_mode:changelings)
+ current_mode:changelings -= src
+ //remove verbs
+ current.remove_changeling_powers()
+ //remove changeling info
+ current.changeling_level = 0
+ current.absorbed_dna = null
+
+ if (!silent)
+ src.current << "\red You have been brainwashed! You are no longer a changeling!"
+
+ if ("malfunction")
+ if (src in current_mode:malf_ai)
+ current_mode:malf_ai -= src
+ if (!silent)
+ src.current << "\red You have been brainwashed! You are no longer a malfunction!"
+
+ if ("nuclear")
+ if (src in current_mode:syndicates)
+ current_mode:syndicates -= src
+ if (!silent)
+ src.current << "\red You have been brainwashed! You are no longer a syndicate!"
+
+
diff --git a/code/defines/obj/clothing.dm b/code/defines/obj/clothing.dm
index 2a736518307..50e31732a17 100644
--- a/code/defines/obj/clothing.dm
+++ b/code/defines/obj/clothing.dm
@@ -596,6 +596,7 @@
item_state = "armor"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
+ allowed = null
/obj/item/clothing/suit/armor/hos
name = "armored coat"
diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm
index afc1a7480b0..38a7d22ee7a 100644
--- a/code/game/gamemodes/wizard/wizard.dm
+++ b/code/game/gamemodes/wizard/wizard.dm
@@ -149,7 +149,7 @@
return candidates
-/datum/game_mode/wizard/proc/equip_wizard(mob/living/carbon/human/wizard_mob)
+/datum/game_mode/proc/equip_wizard(mob/living/carbon/human/wizard_mob)
if (!istype(wizard_mob))
return
wizard_mob.verbs += /client/proc/jaunt
diff --git a/code/game/objects/devices/PDA.dm b/code/game/objects/devices/PDA.dm
index b380fa960ff..0f3b2721ddc 100644
--- a/code/game/objects/devices/PDA.dm
+++ b/code/game/objects/devices/PDA.dm
@@ -176,7 +176,7 @@
for(var/d in signal.data)
world << "- [d] = [signal.data[d]]"
*/
- if(signal.data["type"] == "secbot")
+ if (signal.data["type"] == "secbot")
if(!botlist)
botlist = new()
@@ -187,7 +187,7 @@
var/list/b = signal.data
botstatus = b.Copy()
- if(istype(P)) P.updateSelfDialog()
+ if (istype(P)) P.updateSelfDialog()
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 8c71cb0c8cf..e2aeed40d80 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -219,7 +219,7 @@ var/showadminmessages = 1
message_admins("\blue[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.")
del(M.client)
- //del(M) // See not reason why to delete mob. Important stuff can be lost. And ban can be lifted before round ends.
+ //del(M) // See no reason why to delete mob. Important stuff can be lost. And ban can be lifted before round ends.
if("No")
var/reason = input(usr,"Reason?","reason","Griefer") as text
if(!reason)
@@ -670,6 +670,11 @@ var/showadminmessages = 1
return
var/mob/M = locate(href_list["traitor"])
var/datum/game_mode/current_mode = ticker.mode
+
+ if (istype(M, /mob/living/carbon/human) && M:mind)
+ M:mind.edit_memory()
+ return
+
switch(current_mode.config_tag)
if("revolution")
if(M.mind in current_mode:head_revolutionaries)
@@ -2170,6 +2175,16 @@ var/showadminmessages = 1
alert("You cannot perform this action. You must be of a higher administrative rank!", null, null, null, null, null)
return
+
+/obj/admins/proc/edit_memory(var/mob/M in world)
+ set category = "Special Verbs"
+ set desc = "Edit traitor's objectives"
+ set name = "Traitor Objectives"
+
+ if (!M.mind)
+ usr << "Sorry, this mob have no mind!"
+ M.mind.edit_memory()
+
//
//
//ALL DONE
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 81ce4a34ea6..de7de232a04 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -116,6 +116,7 @@
src.verbs += /proc/release
src.verbs += /proc/togglebuildmode
src.verbs += /proc/toggle_adminmsg
+ src.verbs += /obj/admins/proc/edit_memory
// src.verbs += /client/proc/grillify
// src.verbs += /client/proc/cmd_admin_list_admins
@@ -214,6 +215,7 @@
src.verbs += /proc/release
src.verbs += /proc/togglebuildmode
src.verbs += /proc/toggle_adminmsg
+ src.verbs += /obj/admins/proc/edit_memory
// src.verbs += /obj/admins/proc/togglegoonsay
// src.verbs += /client/proc/grillify
@@ -367,6 +369,7 @@
src.verbs += /client/proc/cmd_admin_create_centcom_report
src.verbs += /client/proc/cmd_admin_subtle_message
src.verbs += /client/proc/warn
+ src.verbs += /obj/admins/proc/edit_memory
if ("Administrator")
@@ -416,6 +419,7 @@
src.verbs += /client/proc/admin_call_shuttle // -- Skie
src.verbs += /client/proc/admin_cancel_shuttle // -- Skie
+ src.verbs += /obj/admins/proc/edit_memory
if ("Secondary Administrator")
src.holder.level = 1
@@ -452,6 +456,7 @@
src.verbs += /client/proc/cmd_admin_create_centcom_report
src.verbs += /client/proc/cmd_admin_subtle_message
src.verbs += /client/proc/warn
+ src.verbs += /obj/admins/proc/edit_memory
if ("Moderator")
src.holder.level = 0
@@ -588,6 +593,7 @@
src.verbs -= /client/proc/toggle_view_range
src.verbs -= /obj/admins/proc/toggle_aliens
+ src.verbs -= /obj/admins/proc/edit_memory
if(src.holder)
src.holder.level = 0
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 8c98f68e00d..98cd26d1f46 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -5,7 +5,7 @@
src.nutrition -= HUNGER_FACTOR/2
if(src.m_intent == "run")
src.nutrition -= HUNGER_FACTOR/2
- if(src.mutations & 32 && src.m_intent == "run")
+ if(src.mutations & 32 && src.m_intent == "run" && src.bodytemperature <= 360)
src.bodytemperature += 2
/mob/living/carbon/relaymove(var/mob/user, direction)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index bcf68283189..9459cf02872 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -1197,7 +1197,6 @@
if (src.r_store)
src.r_store.screen_loc = ui_storage2
-
if (src.back)
var/t1 = src.back.icon_state
src.overlays += image("icon" = 'back.dmi', "icon_state" = text("[][]", t1, (!( src.lying ) ? null : "2")), "layer" = MOB_LAYER)
diff --git a/icons/mob/fullness.dmi b/icons/mob/fullness.dmi
deleted file mode 100644
index 7093184b301..00000000000
Binary files a/icons/mob/fullness.dmi and /dev/null differ
diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi
index a4e15288b87..9ec0deb78cf 100644
Binary files a/icons/mob/items_lefthand.dmi and b/icons/mob/items_lefthand.dmi differ
diff --git a/icons/mob/items_righthand.dmi b/icons/mob/items_righthand.dmi
index 696520b4ca9..01b7de0cf14 100644
Binary files a/icons/mob/items_righthand.dmi and b/icons/mob/items_righthand.dmi differ
diff --git a/icons/obj/tank.dmi b/icons/obj/tank.dmi
index 880bfc0dd27..883888dc8db 100644
Binary files a/icons/obj/tank.dmi and b/icons/obj/tank.dmi differ