diff --git a/code/game/gamemodes/events/holidays/Christmas.dm b/code/game/gamemodes/events/holidays/Christmas.dm
index 2ee79e7c65b..72d42318e60 100644
--- a/code/game/gamemodes/events/holidays/Christmas.dm
+++ b/code/game/gamemodes/events/holidays/Christmas.dm
@@ -4,8 +4,8 @@
for(var/turf/simulated/floor/T in orange(1,xmas))
for(var/i=1,i<=rand(1,5),i++)
new /obj/item/weapon/a_gift(T)
- for(var/mob/living/simple_animal/corgi/Ian/Ian in mob_list)
- Ian.place_on_head(new /obj/item/clothing/head/helmet/space/santahat(Ian))
+ //for(var/mob/living/simple_animal/corgi/Ian/Ian in mob_list)
+ // Ian.place_on_head(new /obj/item/clothing/head/helmet/space/santahat(Ian))
/proc/ChristmasEvent()
for(var/obj/structure/flora/tree/pine/xmas in world)
diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm
index 24a3df847a5..a58e8b553ff 100644
--- a/code/game/gamemodes/nuclear/nuclearbomb.dm
+++ b/code/game/gamemodes/nuclear/nuclearbomb.dm
@@ -82,6 +82,10 @@ var/bomb_set
flick("nuclearbombc", src)
return
+ if (istype(O, /obj/item/weapon/wirecutters) || istype(O, /obj/item/device/multitool))
+ if (src.opened == 1)
+ nukehack_win(user)
+ return
if (src.extended)
if (istype(O, /obj/item/weapon/disk/nuclear))
diff --git a/code/game/objects/effects/decals/Cleanable/misc.dm b/code/game/objects/effects/decals/Cleanable/misc.dm
index 67c82a8f440..0b257a3e111 100644
--- a/code/game/objects/effects/decals/Cleanable/misc.dm
+++ b/code/game/objects/effects/decals/Cleanable/misc.dm
@@ -16,6 +16,13 @@
icon_state = "ash"
anchored = 1
+/obj/effect/decal/cleanable/ash/attack_hand(mob/user as mob)
+ user << "[src] sifts through your fingers."
+ var/turf/simulated/floor/F = get_turf(src)
+ if (istype(F))
+ F.dirt += 4
+ del(src)
+
/obj/effect/decal/cleanable/greenglow
New()
diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm
index 1b55ca6b039..87ed4787058 100644
--- a/code/modules/admin/player_panel.dm
+++ b/code/modules/admin/player_panel.dm
@@ -479,7 +479,6 @@
dat += "
Show Objective | "
dat += ""
- /*
if(ticker.mode.ninjas.len > 0)
dat += "
| Ninjas | | |
"
for(var/datum/mind/ninja in ticker.mode.ninjas)
@@ -491,7 +490,6 @@
else
dat += "| Ninja not found! |
"
dat += "
"
- */
if(ticker.mode.cult.len)
dat += "
| Cultists | |
"
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 153451431c7..304e96b0fad 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -1122,6 +1122,8 @@ datum/preferences
UI_style = "Orange"
if("Orange")
UI_style = "old"
+ if("old")
+ UI_style = "White"
else
UI_style = "Midnight"
diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm
index 0141d9c5c1a..8c98daaa872 100644
--- a/code/modules/mob/living/simple_animal/friendly/corgi.dm
+++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm
@@ -22,6 +22,7 @@
var/obj/item/inventory_back
var/facehugger
+/*
/mob/living/simple_animal/corgi/Life()
..()
regenerate_icons()
@@ -253,6 +254,7 @@
if(/obj/item/clothing/head/soft)
name = "Corgi Tech [real_name]"
desc = "The reason your yellow gloves have chew-marks."
+*/
//IAN! SQUEEEEEEEEE~
diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm
index 6fd7db5d10e..b375755f546 100644
--- a/code/modules/mob/living/simple_animal/hostile/bear.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bear.dm
@@ -79,7 +79,7 @@
if(stance_step in list(1,4,7)) //every 3 ticks
var/action = pick( list( "growls at [target_mob]", "stares angrily at [target_mob]", "prepares to attack [target_mob]", "closely watches [target_mob]" ) )
if(action)
- emote(action)
+ custom_emote(1,action)
if(!found_mob)
stance_step--
@@ -90,7 +90,7 @@
if(HOSTILE_STANCE_ATTACKING)
if(stance_step >= 20) //attacks for 20 ticks, then it gets tired and needs to rest
- emote( "is worn out and needs to rest" )
+ custom_emote(1, "is worn out and needs to rest" )
stance = HOSTILE_STANCE_TIRED
stance_step = 0
walk(src, 0) //This stops the bear's walking
@@ -118,14 +118,16 @@
/mob/living/simple_animal/hostile/bear/FindTarget()
. = ..()
if(.)
- emote("stares alertly at [.]")
+ custom_emote(1,"stares alertly at [.]")
stance = HOSTILE_STANCE_ALERT
/mob/living/simple_animal/hostile/bear/LoseTarget()
..(5)
/mob/living/simple_animal/hostile/bear/AttackingTarget()
- emote( pick( list("slashes at [target_mob]", "bites [target_mob]") ) )
+ if(!Adjacent(target_mob))
+ return
+ custom_emote(1, pick( list("slashes at [target_mob]", "bites [target_mob]") ) )
var/damage = rand(20,30)
diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm
index 353ca6156f3..f1a5c15c4b9 100644
--- a/code/modules/mob/living/simple_animal/hostile/carp.dm
+++ b/code/modules/mob/living/simple_animal/hostile/carp.dm
@@ -44,7 +44,7 @@
/mob/living/simple_animal/hostile/carp/FindTarget()
. = ..()
if(.)
- emote("nashes at [.]")
+ custom_emote(1,"nashes at [.]")
/mob/living/simple_animal/hostile/carp/AttackingTarget()
. =..()
diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm
index 403c31b17f2..2dcbe0d949f 100644
--- a/code/modules/mob/living/simple_animal/hostile/hostile.dm
+++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm
@@ -87,6 +87,8 @@
return 1
/mob/living/simple_animal/hostile/proc/AttackingTarget()
+ if(!Adjacent(target_mob))
+ return
if(isliving(target_mob))
var/mob/living/L = target_mob
L.attack_animal(src)
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index bb3bbcdb3dc..560590cbad0 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -218,6 +218,7 @@
if (istype(user, /mob/living/silicon) && get_dist(src,user)>1)
return src.attack_hand(user)
+ src.add_fingerprint(user)
if (istype(W, /obj/item/weapon/crowbar) && opened)
if (has_electronics==1)
if (terminal)
diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm
index 685122e05c5..18be233b9b9 100644
--- a/code/modules/projectiles/guns/projectile.dm
+++ b/code/modules/projectiles/guns/projectile.dm
@@ -51,6 +51,9 @@
if(istype(A, /obj/item/ammo_magazine))
if((load_method == MAGAZINE) && loaded.len) return
var/obj/item/ammo_magazine/AM = A
+ if(AM.stored_ammo.len <= 0)
+ user << "The magazine is empty!"
+ return
for(var/obj/item/ammo_casing/AC in AM.stored_ammo)
if(loaded.len >= max_shells)
break
@@ -93,6 +96,7 @@
AM.loc = get_turf(src)
empty_mag = null
update_icon()
+ AM.update_icon()
user << "\blue You unload magazine from \the [src]!"
else
user << "\red Nothing loaded in \the [src]!"
diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm
index 0b3145cb9a5..07bf9bd0f6c 100644
--- a/code/modules/projectiles/guns/projectile/revolver.dm
+++ b/code/modules/projectiles/guns/projectile/revolver.dm
@@ -89,6 +89,7 @@
if(!loaded.len && empty_mag)
empty_mag.loc = get_turf(src.loc)
empty_mag = null
+ user << "The Magazine falls out and clatters on the floor!"
return
diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi
index 84aa670c5a1..a230140edca 100644
Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ