diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm
index ddcb9862d61..b795507e08d 100644
--- a/_maps/map_files/cyberiad/cyberiad.dmm
+++ b/_maps/map_files/cyberiad/cyberiad.dmm
@@ -89664,10 +89664,7 @@
req_access_txt = "13"
},
/turf/space,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk0";
- icon_state = "catwalk0"
- },
+/obj/structure/lattice/catwalk,
/area/space)
"ddY" = (
/obj/structure/shuttle/engine/propulsion/burst{
@@ -95257,10 +95254,7 @@
/area/crew_quarters/captain)
"doE" = (
/turf/space,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk0";
- icon_state = "catwalk0"
- },
+/obj/structure/lattice/catwalk,
/area/space)
"doF" = (
/turf/simulated/floor/plating,
diff --git a/_maps/map_files/cyberiad/z4.dmm b/_maps/map_files/cyberiad/z4.dmm
index b7896298f0b..bb119553356 100644
--- a/_maps/map_files/cyberiad/z4.dmm
+++ b/_maps/map_files/cyberiad/z4.dmm
@@ -846,38 +846,23 @@
/area/constructionsite/hallway/center)
"cl" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk6";
- icon_state = "catwalk6"
- },
+/obj/structure/lattice/catwalk,
/area/space)
"cm" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk12";
- icon_state = "catwalk12"
- },
+/obj/structure/lattice/catwalk,
/area/space)
"cn" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk14";
- icon_state = "catwalk14"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"co" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk12";
- icon_state = "catwalk12"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"cp" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk10";
- icon_state = "catwalk10"
- },
+/obj/structure/lattice/catwalk,
/area/space)
"cq" = (
/obj/structure/inflatable/door,
@@ -885,17 +870,11 @@
/area/constructionsite/hallway/center)
"cr" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk3";
- icon_state = "catwalk3"
- },
+/obj/structure/lattice/catwalk,
/area/space)
"cs" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk3";
- icon_state = "catwalk3"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"ct" = (
/obj/machinery/power/solar,
@@ -914,10 +893,7 @@
icon_state = "2-8"
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk3";
- icon_state = "catwalk3"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"cv" = (
/obj/machinery/power/tracker,
@@ -941,10 +917,7 @@
icon_state = "2-4"
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk3";
- icon_state = "catwalk3"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"cx" = (
/obj/machinery/power/solar,
@@ -983,10 +956,7 @@
icon_state = "2-8"
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk3";
- icon_state = "catwalk3"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"cB" = (
/obj/structure/cable{
@@ -1005,10 +975,7 @@
icon_state = "2-4"
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk3";
- icon_state = "catwalk3"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"cC" = (
/turf/simulated/wall/r_wall,
@@ -1080,17 +1047,11 @@
/area/constructionsite/ai)
"cL" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk6";
- icon_state = "catwalk6"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"cM" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk9";
- icon_state = "catwalk9"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"cN" = (
/obj/structure/cable{
@@ -1104,10 +1065,7 @@
icon_state = "2-8"
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk1";
- icon_state = "catwalk1"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"cO" = (
/obj/structure/cable{
@@ -1126,24 +1084,15 @@
icon_state = "2-4"
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk1";
- icon_state = "catwalk1"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"cP" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk5";
- icon_state = "catwalk5"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"cQ" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk10";
- icon_state = "catwalk10"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"cR" = (
/obj/machinery/light_switch{
@@ -1160,10 +1109,7 @@
/area/engiestation)
"cT" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk1";
- icon_state = "catwalk1"
- },
+/obj/structure/lattice/catwalk,
/area/space)
"cU" = (
/obj/structure/lattice,
@@ -1326,10 +1272,7 @@
/area/constructionsite/ai)
"do" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk7";
- icon_state = "catwalk7"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"dp" = (
/obj/structure/cable{
@@ -1343,10 +1286,7 @@
icon_state = "1-4"
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk12";
- icon_state = "catwalk12"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"dq" = (
/obj/structure/cable{
@@ -1366,10 +1306,7 @@
icon_state = "1-4"
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk12";
- icon_state = "catwalk12"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"dr" = (
/obj/structure/cable{
@@ -1389,10 +1326,7 @@
icon_state = "1-4"
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk8";
- icon_state = "catwalk8"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"ds" = (
/obj/effect/spawner/window/reinforced,
@@ -1504,10 +1438,7 @@
pixel_x = 0
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk4";
- icon_state = "catwalk4"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"dz" = (
/obj/structure/cable{
@@ -1527,10 +1458,7 @@
pixel_x = 0
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk12";
- icon_state = "catwalk12"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"dA" = (
/obj/structure/cable{
@@ -1544,17 +1472,11 @@
icon_state = "2-8"
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk12";
- icon_state = "catwalk12"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"dB" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk11";
- icon_state = "catwalk11"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"dC" = (
/obj/machinery/recharge_station,
@@ -1708,10 +1630,7 @@
icon_state = "2-4"
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk12";
- icon_state = "catwalk12"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"dT" = (
/obj/structure/cable{
@@ -1726,10 +1645,7 @@
icon_state = "2-4"
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk12";
- icon_state = "catwalk12"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"dU" = (
/obj/structure/cable{
@@ -1744,10 +1660,7 @@
icon_state = "2-4"
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk8";
- icon_state = "catwalk8"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"dV" = (
/obj/structure/cable{
@@ -1804,10 +1717,7 @@
pixel_x = 0
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk4";
- icon_state = "catwalk4"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"eb" = (
/obj/structure/cable{
@@ -1822,10 +1732,7 @@
pixel_x = 0
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk12";
- icon_state = "catwalk12"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"ec" = (
/obj/structure/cable{
@@ -1834,10 +1741,7 @@
icon_state = "2-8"
},
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk12";
- icon_state = "catwalk12"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"ed" = (
/obj/item/stack/sheet/metal{
@@ -1978,10 +1882,7 @@
/area/engiestation)
"em" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk1";
- icon_state = "catwalk1"
- },
+/obj/structure/lattice/catwalk,
/area/engiestation/solars)
"en" = (
/obj/machinery/vending/tool,
@@ -2020,10 +1921,7 @@
/area/constructionsite/ai)
"es" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk9";
- icon_state = "catwalk9"
- },
+/obj/structure/lattice/catwalk,
/area/space)
"et" = (
/obj/machinery/door/airlock/maintenance{
@@ -2332,10 +2230,7 @@
/area/engiestation)
"fi" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk2";
- icon_state = "catwalk2"
- },
+/obj/structure/lattice/catwalk,
/area/space)
"fj" = (
/obj/machinery/vending/cola,
@@ -2636,18 +2531,12 @@
/area/engiestation)
"fQ" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk5";
- icon_state = "catwalk5"
- },
+/obj/structure/lattice/catwalk,
/area/space)
"fR" = (
/obj/item/lighter/zippo,
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk8";
- icon_state = "catwalk8"
- },
+/obj/structure/lattice/catwalk,
/area/space)
"fS" = (
/obj/machinery/shower{
@@ -2742,10 +2631,7 @@
/area/engiestation)
"gc" = (
/turf/simulated/floor/plating/airless,
-/obj/structure/lattice/catwalk{
- tag = "icon-catwalk4";
- icon_state = "catwalk4"
- },
+/obj/structure/lattice/catwalk,
/area/space)
"gd" = (
/obj/structure/lattice,
diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index ec43330a8eb..85312e9c65e 100644
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -1102,7 +1102,8 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
name = "Cat Crate"
cost = 50 //Cats are worth as much as corgis.
containertype = /obj/structure/closet/critter/cat
- contains = list(/obj/item/clothing/accessory/petcollar)
+ contains = list(/obj/item/clothing/accessory/petcollar,
+ /obj/item/toy/cattoy)
containername = "cat crate"
/datum/supply_packs/organic/pug
@@ -1205,7 +1206,8 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
/obj/item/honey_frame,
/obj/item/queen_bee/bought,
/obj/item/clothing/head/beekeeper_head,
- /obj/item/clothing/suit/beekeeper_suit)
+ /obj/item/clothing/suit/beekeeper_suit,
+ /obj/item/melee/flyswatter)
cost = 15
containername = "beekeeping starter kit"
diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
index 39a19a89866..8689c6fb1d9 100644
--- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
+++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
@@ -29,7 +29,7 @@
3. Biological resources will be harvested at a later date; do not harm them.
"}
-/obj/effect/mob_spawn/swarmer/Initialize()
+/obj/effect/mob_spawn/swarmer/Initialize(mapload)
. = ..()
var/area/A = get_area(src)
if(A)
@@ -49,7 +49,7 @@
new /obj/item/deactivated_swarmer(get_turf(src))
qdel(src)
else
- ..()
+ return ..()
////The Mob itself////
diff --git a/code/game/jobs/job/support.dm b/code/game/jobs/job/support.dm
index fb305927dcb..ab7b49062fb 100644
--- a/code/game/jobs/job/support.dm
+++ b/code/game/jobs/job/support.dm
@@ -184,12 +184,12 @@
r_pocket = /obj/item/flashlight/seclite
pda = /obj/item/pda/shaftminer
backpack_contents = list(
- /obj/item/mining_voucher = 1,
- /obj/item/storage/bag/ore = 1,
- /obj/item/survivalcapsule = 1,
- /obj/item/stack/marker_beacon/ten = 1
+ /obj/item/storage/bag/ore=1,\
+ /obj/item/kitchen/knife/combat/survival=1,\
+ /obj/item/mining_voucher=1,\
+ /obj/item/stack/marker_beacon/ten=1
)
-
+
backpack = /obj/item/storage/backpack/explorer
satchel = /obj/item/storage/backpack/explorer
diff --git a/code/game/objects/effects/decals/Cleanable/misc.dm b/code/game/objects/effects/decals/Cleanable/misc.dm
index 01ce637328b..d1ba3204bd0 100644
--- a/code/game/objects/effects/decals/Cleanable/misc.dm
+++ b/code/game/objects/effects/decals/Cleanable/misc.dm
@@ -193,4 +193,4 @@
icon = 'icons/effects/blood.dmi'
icon_state = "xfloor1"
random_icon_states = list("xfloor1", "xfloor2", "xfloor3", "xfloor4", "xfloor5", "xfloor6", "xfloor7")
- anchored = 1
\ No newline at end of file
+ anchored = TRUE
\ No newline at end of file
diff --git a/code/game/objects/effects/mapping_helpers.dm b/code/game/objects/effects/mapping_helpers.dm
index 0f1f5216ecf..d30905a58f6 100644
--- a/code/game/objects/effects/mapping_helpers.dm
+++ b/code/game/objects/effects/mapping_helpers.dm
@@ -61,12 +61,16 @@
/obj/effect/mapping_helpers/Initialize(mapload)
..()
+
return late ? INITIALIZE_HINT_LATELOAD : qdel(src) // INITIALIZE_HINT_QDEL <-- Doesn't work
+//needs to do its thing before spawn_rivers() is called
+INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava)
+
/obj/effect/mapping_helpers/no_lava
icon_state = "no_lava"
-/obj/effect/mapping_helpers/no_lava/New()
+/obj/effect/mapping_helpers/no_lava/Initialize(mapload)
. = ..()
var/turf/T = get_turf(src)
T.flags |= NO_LAVA_GEN
\ No newline at end of file
diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm
index dda9d18c77f..8fd1c061c32 100644
--- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm
+++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm
@@ -247,9 +247,9 @@
transform = size_matrix //scale the bleed overlay's size based on the target's icon size
var/matrix/M = transform
if(shrink)
- M = size_matrix*0.1
+ M = size_matrix * 0.1
else
- M = size_matrix*2
+ M = size_matrix * 2
animate(src, alpha = 20, transform = M, time = duration, flags = ANIMATION_PARALLEL)
/obj/effect/temp_visual/bleed/explode
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index 24c8cbcd3b7..68c26ae520f 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -292,10 +292,10 @@
color = null
/obj/item/flashlight/flare/glowstick/random/Initialize()
- ..()
+ . = ..()
var/T = pick(typesof(/obj/item/flashlight/flare/glowstick) - /obj/item/flashlight/flare/glowstick/random - /obj/item/flashlight/flare/glowstick/emergency)
new T(loc)
- return INITIALIZE_HINT_QDEL
+ qdel(src) // return INITIALIZE_HINT_QDEL <-- Doesn't work
/obj/item/flashlight/flare/extinguish_light()
visible_message("[src] dims slightly before scattering the shadows around it.")
diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm
index e2f9285881c..50cab97ee48 100644
--- a/code/game/objects/items/stacks/sheets/leather.dm
+++ b/code/game/objects/items/stacks/sheets/leather.dm
@@ -125,10 +125,23 @@ var/global/list/datum/stack_recipe/sinew_recipes = list ( \
flags = NOBLUDGEON
w_class = WEIGHT_CLASS_NORMAL
layer = MOB_LAYER
+ var/static/list/can_strengthen_clothing
+
+/obj/item/stack/sheet/animalhide/goliath_hide/Initialize(mapload)
+ . = ..()
+ if(!can_strengthen_clothing)
+ can_strengthen_clothing = typecacheof(list(
+ /obj/item/clothing/suit/space/hardsuit/mining,
+ /obj/item/clothing/head/helmet/space/hardsuit/mining,
+ /obj/item/clothing/suit/space/eva/plasmaman/miner,
+ /obj/item/clothing/head/helmet/space/eva/plasmaman/miner,
+ /obj/item/clothing/suit/hooded/explorer,
+ /obj/item/clothing/head/hooded/explorer
+ ))
/obj/item/stack/sheet/animalhide/goliath_hide/afterattack(atom/target, mob/user, proximity_flag)
if(proximity_flag)
- if(istype(target, /obj/item/clothing/suit/space/hardsuit/mining) || istype(target, /obj/item/clothing/head/helmet/space/hardsuit/mining) || istype(target, /obj/item/clothing/suit/space/eva/plasmaman/miner) || istype(target, /obj/item/clothing/head/helmet/space/eva/plasmaman/miner) || istype(target, /obj/item/clothing/suit/hooded/explorer) || istype(target, /obj/item/clothing/head/hooded/explorer))
+ if(is_type_in_typecache(target, can_strengthen_clothing))
var/obj/item/clothing/C = target
var/current_armor = C.armor
if(current_armor["melee"] < 60)
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 2a3934e251c..19a9b8c5018 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -1480,6 +1480,7 @@ obj/item/toy/cards/deck/syndicate/black
icon_state = "toy_mouse"
w_class = WEIGHT_CLASS_SMALL
resistance_flags = FLAMMABLE
+ var/cooldown = 0
/*
* Action Figures
diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm
index dc225a157e5..4f94a6b8a1b 100644
--- a/code/game/objects/items/weapons/kitchen.dm
+++ b/code/game/objects/items/weapons/kitchen.dm
@@ -179,6 +179,7 @@
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
desc = "A sharpened bone. The bare minimum in survival."
+ materials = list()
/obj/item/kitchen/knife/combat/cyborg
name = "cyborg knife"
diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm
index 12d4f95d964..5e8d170f50b 100644
--- a/code/game/objects/items/weapons/melee/energy.dm
+++ b/code/game/objects/items/weapons/melee/energy.dm
@@ -263,7 +263,7 @@
attack_verb_on = list("cleaved", "swiped", "slashed", "chopped")
hitsound = 'sound/weapons/bladeslice.ogg'
w_class = WEIGHT_CLASS_BULKY
- sharp = 1
+ sharp = TRUE
faction_bonus_force = 30
nemesis_factions = list("mining", "boss")
var/transform_cooldown
@@ -337,6 +337,8 @@
/obj/item/melee/energy/cleaving_saw/suicide_act(mob/user)
user.visible_message("[user] is [active ? "closing [src] on [user.p_their()] neck" : "opening [src] into [user.p_their()] chest"]! It looks like [user.p_theyre()] trying to commit suicide!")
+ transform_cooldown = 0
+ transform_weapon(user, TRUE)
return BRUTELOSS
/obj/item/melee/energy/cleaving_saw/melee_attack_chain(mob/user, atom/target, params)
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index 54b48082bf0..10a5ce0408f 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -388,7 +388,8 @@
/obj/item/flashlight,
/obj/item/reagent_containers/spray,
/obj/item/soap,
- /obj/item/holosign_creator
+ /obj/item/holosign_creator,
+ /obj/item/melee/flyswatter,
)
/obj/item/storage/belt/janitor/full/New()
@@ -399,6 +400,7 @@
new /obj/item/soap(src)
new /obj/item/grenade/chem_grenade/cleaner(src)
new /obj/item/grenade/chem_grenade/cleaner(src)
+ new /obj/item/melee/flyswatter(src)
update_icon()
/obj/item/storage/belt/lazarus
diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
index 9ae35b7d4f1..f1053ec917b 100644
--- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
@@ -76,6 +76,7 @@
new /obj/item/radio/headset/headset_service(src)
new /obj/item/cartridge/janitor(src)
new /obj/item/flashlight(src)
+ new /obj/item/melee/flyswatter(src)
new /obj/item/clothing/shoes/galoshes(src)
new /obj/item/soap(src)
new /obj/item/caution(src)
diff --git a/code/modules/hydroponics/beekeeping/beekeeper_suit.dm b/code/modules/hydroponics/beekeeping/beekeeper_suit.dm
index 2c492986f17..7f6bb3ebb10 100644
--- a/code/modules/hydroponics/beekeeping/beekeeper_suit.dm
+++ b/code/modules/hydroponics/beekeeping/beekeeper_suit.dm
@@ -13,5 +13,5 @@
icon_state = "beekeeper"
item_state = "beekeeper"
flags = THICKMATERIAL
- allowed = list (/obj/item/reagent_containers/spray,/obj/item/plant_analyzer,/obj/item/seeds,/obj/item/reagent_containers/glass/bottle,/obj/item/cultivator)
+ allowed = list(/obj/item/melee/flyswatter, /obj/item/reagent_containers/spray, /obj/item/plant_analyzer, /obj/item/seeds, /obj/item/reagent_containers/glass/bottle, /obj/item/cultivator)
diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm
index 9532daabab8..10f113e9188 100644
--- a/code/modules/mob/living/simple_animal/friendly/cat.dm
+++ b/code/modules/mob/living/simple_animal/friendly/cat.dm
@@ -117,13 +117,17 @@
//MICE!
if(eats_mice && isturf(loc) && !incapacitated())
- for(var/mob/living/simple_animal/mouse/M in view(1,src))
+ for(var/mob/living/simple_animal/mouse/M in view(1, src))
if(!M.stat && Adjacent(M))
custom_emote(1, "splats \the [M]!")
M.splat()
movement_target = null
stop_automated_movement = 0
break
+ for(var/obj/item/toy/cattoy/T in view(1, src))
+ if(T.cooldown < (world.time - 400))
+ custom_emote(1, "bats \the [T] around with its paw!")
+ T.cooldown = world.time
make_babies()
/mob/living/simple_animal/pet/cat/handle_automated_movement()
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm
index 20b2b7d358f..fa2479bb658 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm
@@ -103,7 +103,7 @@ GLOBAL_LIST_INIT(AISwarmerCapsByType, list(/mob/living/simple_animal/hostile/swa
weather_immunities = list("ash") //wouldn't be fun otherwise
AIStatus = AI_ON
-/mob/living/simple_animal/hostile/swarmer/ai/Initialize()
+/mob/living/simple_animal/hostile/swarmer/ai/Initialize(mapload)
. = ..()
ToggleLight() //so you can see them eating you out of house and home/shooting you/stunlocking you for eternity
LAZYINITLIST(GLOB.AISwarmersByType[type])