diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_alien_nest.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_alien_nest.dmm index 862c745f81..a361fd59c0 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_alien_nest.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_alien_nest.dmm @@ -188,13 +188,13 @@ /area/ruin/unpowered/xenonest) "aT" = ( /obj/structure/alien/weeds, -/obj/item/twohanded/required/chainsaw, +/obj/item/chainsaw, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/xenonest) "aU" = ( /obj/structure/alien/weeds, /obj/structure/bed/nest, -/obj/item/twohanded/fireaxe/boneaxe, +/obj/item/fireaxe/boneaxe, /obj/item/clothing/head/helmet/gladiator, /obj/item/clothing/mask/facehugger/impregnated, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm index 60ae409ea2..527a328563 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm @@ -517,7 +517,7 @@ /turf/open/floor/plasteel, /area/ruin/powered/animal_hospital) "bt" = ( -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /turf/open/floor/plasteel, /area/ruin/powered/animal_hospital) "bu" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm index b4abf9b535..f6812106ef 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm @@ -724,7 +724,7 @@ /area/lavaland/surface/outdoors) "bP" = ( /obj/structure/stone_tile/block, -/obj/item/twohanded/spear, +/obj/item/spear, /obj/effect/mapping_helpers/no_lava, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) @@ -896,7 +896,7 @@ /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) "ck" = ( -/obj/item/twohanded/spear, +/obj/item/spear, /obj/structure/stone_tile{ dir = 4 }, @@ -910,7 +910,7 @@ /obj/structure/stone_tile/cracked{ dir = 8 }, -/obj/item/twohanded/spear, +/obj/item/spear, /obj/effect/mapping_helpers/no_lava, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) @@ -1014,7 +1014,7 @@ /obj/structure/stone_tile/cracked{ dir = 1 }, -/obj/item/twohanded/spear, +/obj/item/spear, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) "cA" = ( @@ -1058,7 +1058,7 @@ dir = 1 }, /obj/structure/table/wood, -/obj/item/twohanded/spear, +/obj/item/spear, /obj/item/storage/belt, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) @@ -1100,7 +1100,7 @@ dir = 4 }, /obj/structure/table/wood, -/obj/item/twohanded/spear, +/obj/item/spear, /obj/item/scythe, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) @@ -1128,7 +1128,7 @@ dir = 4 }, /obj/structure/table/wood, -/obj/item/twohanded/spear, +/obj/item/spear, /obj/item/clothing/head/helmet/roman/legionnaire, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm index f48801c199..24c9762362 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm @@ -367,7 +367,7 @@ /turf/open/floor/pod/dark, /area/ruin/powered/snow_biodome) "KS" = ( -/obj/item/twohanded/required/chainsaw, +/obj/item/chainsaw, /obj/structure/closet, /obj/machinery/light/small{ dir = 4 diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm index dab9d0316b..e310f8a6da 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm @@ -5181,7 +5181,7 @@ /turf/open/floor/plating, /area/ruin/unpowered/syndicate_lava_base/arrivals) "mu" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/decal/cleanable/dirt, diff --git a/_maps/RandomRuins/SpaceRuins/arcade.dmm b/_maps/RandomRuins/SpaceRuins/arcade.dmm index 771c33c55b..74bdc9a7b8 100644 --- a/_maps/RandomRuins/SpaceRuins/arcade.dmm +++ b/_maps/RandomRuins/SpaceRuins/arcade.dmm @@ -151,7 +151,7 @@ /turf/open/floor/engine, /area/ruin/powered) "J" = ( -/obj/item/twohanded/dualsaber/toy, +/obj/item/dualsaber/toy, /turf/open/floor/light/colour_cycle/dancefloor_b, /area/ruin/powered) "K" = ( diff --git a/_maps/RandomRuins/SpaceRuins/hilbertshoteltestingsite.dmm b/_maps/RandomRuins/SpaceRuins/hilbertshoteltestingsite.dmm index a89d1422d2..d8677f11d8 100644 --- a/_maps/RandomRuins/SpaceRuins/hilbertshoteltestingsite.dmm +++ b/_maps/RandomRuins/SpaceRuins/hilbertshoteltestingsite.dmm @@ -165,7 +165,7 @@ /turf/open/floor/plasteel/grimy, /area/ruin/space/has_grav/hilbertresearchfacility) "D" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel/grimy, /area/ruin/space/has_grav/hilbertresearchfacility) "E" = ( diff --git a/_maps/RandomRuins/SpaceRuins/mrow_thats_right.dmm b/_maps/RandomRuins/SpaceRuins/mrow_thats_right.dmm index 0baac3252a..9ac2fed86f 100644 --- a/_maps/RandomRuins/SpaceRuins/mrow_thats_right.dmm +++ b/_maps/RandomRuins/SpaceRuins/mrow_thats_right.dmm @@ -185,7 +185,7 @@ /turf/open/floor/plating, /area/ruin/space/has_grav/powered/cat_man) "aF" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -294,7 +294,7 @@ /area/ruin/space/has_grav/powered/cat_man) "aV" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -552,7 +552,7 @@ /area/ruin/space/has_grav/powered/cat_man) "bF" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ dir = 8 diff --git a/_maps/RandomRuins/SpaceRuins/oldstation.dmm b/_maps/RandomRuins/SpaceRuins/oldstation.dmm index 89e2c553b9..4a72b1afd4 100644 --- a/_maps/RandomRuins/SpaceRuins/oldstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/oldstation.dmm @@ -597,7 +597,7 @@ icon_state = "2-4" }, /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-25" }, /obj/effect/decal/cleanable/dirt, @@ -639,7 +639,7 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation) "bW" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-25" }, /obj/effect/decal/cleanable/dirt, @@ -858,7 +858,7 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) "cz" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-25" }, /obj/structure/cable{ @@ -918,7 +918,7 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) "cH" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-25" }, /obj/effect/decal/cleanable/dirt, @@ -1127,7 +1127,7 @@ /area/ruin/space/has_grav/ancientstation) "dn" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-25" }, /obj/machinery/light/small{ @@ -1179,7 +1179,7 @@ /area/ruin/space/has_grav/ancientstation/hydroponics) "ds" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-25" }, /obj/machinery/light/small{ @@ -3980,7 +3980,7 @@ icon_state = "1-4" }, /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-25" }, /obj/effect/decal/cleanable/dirt, @@ -4015,7 +4015,7 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation) "jJ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-25" }, /obj/structure/cable{ @@ -5010,7 +5010,7 @@ /turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation) "PV" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-25" }, /obj/effect/decal/cleanable/dirt, diff --git a/_maps/RandomRuins/SpaceRuins/spacehermit.dmm b/_maps/RandomRuins/SpaceRuins/spacehermit.dmm index dd7e700146..791aac277d 100644 --- a/_maps/RandomRuins/SpaceRuins/spacehermit.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacehermit.dmm @@ -112,7 +112,7 @@ /turf/open/floor/plating/asteroid, /area/ruin/powered) "ax" = ( -/obj/item/twohanded/spear, +/obj/item/spear, /turf/open/floor/plating/asteroid, /area/ruin/powered) "ay" = ( diff --git a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm index 209feb82e3..5da534a08e 100644 --- a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm @@ -148,7 +148,7 @@ /turf/open/floor/wood, /area/ruin/space/has_grav/hotel/guestroom/room_3) "aD" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-02" }, /turf/open/floor/wood, @@ -189,7 +189,7 @@ /turf/open/floor/wood, /area/ruin/space/has_grav/hotel/guestroom/room_4) "aL" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /turf/open/floor/wood, @@ -230,7 +230,7 @@ /turf/open/floor/wood, /area/ruin/space/has_grav/hotel/guestroom/room_5) "aT" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /turf/open/floor/wood, @@ -271,7 +271,7 @@ /turf/open/floor/wood, /area/ruin/space/has_grav/hotel/guestroom/room_6) "bb" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-18" }, /turf/open/floor/wood, @@ -1113,7 +1113,7 @@ /turf/open/floor/wood, /area/ruin/space/has_grav/hotel/guestroom/room_2) "dq" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/wood, @@ -1177,7 +1177,7 @@ /turf/open/floor/wood, /area/ruin/space/has_grav/hotel/guestroom/room_1) "dy" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-14" }, /turf/open/floor/wood, @@ -1855,7 +1855,7 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/hotel/bar) "fI" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-02" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ @@ -2035,7 +2035,7 @@ }, /area/ruin/space/has_grav/hotel/dock) "gh" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/wood, @@ -2435,7 +2435,7 @@ /turf/open/floor/carpet, /area/ruin/space/has_grav/hotel) "hq" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-18" }, /turf/open/floor/plasteel/dark, @@ -3013,7 +3013,7 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/hotel/power) "iM" = ( -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /turf/open/floor/wood, /area/ruin/space/has_grav/hotel) "iN" = ( @@ -4817,7 +4817,7 @@ /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/hotel/pool) "mD" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-25" }, /obj/effect/turf_decal/tile/neutral{ diff --git a/_maps/RandomRuins/SpaceRuinsStation/roid6.dmm b/_maps/RandomRuins/SpaceRuinsStation/roid6.dmm index 794300cdb5..56967b0c37 100644 --- a/_maps/RandomRuins/SpaceRuinsStation/roid6.dmm +++ b/_maps/RandomRuins/SpaceRuinsStation/roid6.dmm @@ -44,7 +44,7 @@ /area/ruin/space/has_grav) "C" = ( /obj/effect/decal/remains/human, -/obj/item/twohanded/spear, +/obj/item/spear, /turf/open/floor/mineral/titanium/blue, /area/ruin/space/has_grav) "F" = ( diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/engine_teg.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/engine_teg.dmm index a9c5eab318..f8d701debe 100644 --- a/_maps/RandomRuins/StationRuins/Box/Engine/engine_teg.dmm +++ b/_maps/RandomRuins/StationRuins/Box/Engine/engine_teg.dmm @@ -948,7 +948,7 @@ /turf/open/floor/plasteel, /area/engine/engineering) "BT" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/engine/engineering) "BY" = ( diff --git a/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm b/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm index 1bfb337d99..5bc10b30f0 100644 --- a/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm +++ b/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm @@ -399,7 +399,7 @@ /turf/open/floor/plating, /area/mine/laborcamp/security) "hf" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/mine/living_quarters) "hm" = ( @@ -1565,7 +1565,7 @@ /turf/open/floor/plating, /area/mine/laborcamp) "zy" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/brown{ dir = 1 }, diff --git a/_maps/RandomZLevels/VR/syndicate_trainer.dmm b/_maps/RandomZLevels/VR/syndicate_trainer.dmm index 0a44006802..5b010e74d9 100644 --- a/_maps/RandomZLevels/VR/syndicate_trainer.dmm +++ b/_maps/RandomZLevels/VR/syndicate_trainer.dmm @@ -1370,7 +1370,7 @@ /turf/open/indestructible, /area/awaymission/centcomAway/general) "hW" = ( -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /turf/open/indestructible, /area/awaymission/centcomAway/general) "hX" = ( @@ -1951,7 +1951,7 @@ "lv" = ( /obj/structure/rack, /obj/item/restraints/legcuffs/beartrap, -/obj/item/twohanded/fireaxe, +/obj/item/fireaxe, /turf/open/indestructible, /area/awaymission/centcomAway/thunderdome) "lw" = ( diff --git a/_maps/RandomZLevels/away_mission/Cabin.dmm b/_maps/RandomZLevels/away_mission/Cabin.dmm index a0862213a2..0ccd13a03c 100644 --- a/_maps/RandomZLevels/away_mission/Cabin.dmm +++ b/_maps/RandomZLevels/away_mission/Cabin.dmm @@ -54,7 +54,7 @@ /area/awaymission/snowforest/lumbermill) "am" = ( /obj/structure/table/wood, -/obj/item/twohanded/required/chainsaw, +/obj/item/chainsaw, /turf/open/floor/wood/cold, /area/awaymission/snowforest/lumbermill) "an" = ( diff --git a/_maps/RandomZLevels/away_mission/caves.dmm b/_maps/RandomZLevels/away_mission/caves.dmm index c84acf0131..4c9aa8478b 100644 --- a/_maps/RandomZLevels/away_mission/caves.dmm +++ b/_maps/RandomZLevels/away_mission/caves.dmm @@ -516,7 +516,7 @@ }, /area/awaymission/caves/BMP_asteroid/level_three) "by" = ( -/obj/item/twohanded/mjollnir, +/obj/item/mjollnir, /mob/living/simple_animal/hostile/poison/giant_spider/nurse, /turf/open/floor/plating/asteroid/basalt{ initial_gas_mix = "n2=23;o2=14" diff --git a/_maps/RandomZLevels/away_mission/moonoutpost19.dmm b/_maps/RandomZLevels/away_mission/moonoutpost19.dmm index d85c8b12d6..3f9b76b01b 100644 --- a/_maps/RandomZLevels/away_mission/moonoutpost19.dmm +++ b/_maps/RandomZLevels/away_mission/moonoutpost19.dmm @@ -4911,7 +4911,7 @@ }, /area/awaymission/moonoutpost19/research) "jq" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ desc = "A plastic potted plant."; pixel_y = 3 }, @@ -7144,7 +7144,7 @@ }, /area/awaymission/moonoutpost19/arrivals) "ob" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ desc = "A plastic potted plant."; pixel_y = 3 }, diff --git a/_maps/RandomZLevels/away_mission/research.dmm b/_maps/RandomZLevels/away_mission/research.dmm index c07499fb57..2cab711b00 100644 --- a/_maps/RandomZLevels/away_mission/research.dmm +++ b/_maps/RandomZLevels/away_mission/research.dmm @@ -117,7 +117,7 @@ /turf/open/floor/plasteel/white, /area/awaymission/research/interior/engineering) "ax" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-20"; pixel_y = 3 }, @@ -1800,7 +1800,7 @@ /turf/open/floor/plasteel/dark, /area/awaymission/research/interior/secure) "dN" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /obj/effect/turf_decal/tile/purple{ @@ -4173,7 +4173,7 @@ /turf/open/floor/plasteel, /area/awaymission/research/interior/genetics) "hV" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /obj/effect/turf_decal/tile/purple{ @@ -4268,7 +4268,7 @@ /turf/open/floor/plasteel, /area/awaymission/research/interior/security) "ii" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ desc = "A potted plant, it doesn't look very healthy..."; name = "dead potted plant" }, @@ -4746,7 +4746,7 @@ /turf/open/floor/wood, /area/awaymission/research/interior/dorm) "jm" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-14" }, /turf/open/floor/plasteel/yellowsiding{ @@ -5350,7 +5350,7 @@ /turf/open/floor/plating, /area/awaymission/research/interior/medbay) "kC" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel/yellowsiding{ @@ -5707,7 +5707,7 @@ /turf/open/floor/plasteel/white, /area/awaymission/research/interior/medbay) "ly" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /turf/open/floor/plasteel/yellowsiding{ @@ -6185,7 +6185,7 @@ /turf/open/floor/plasteel/white, /area/awaymission/research/interior/escapepods) "mJ" = ( -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /obj/effect/turf_decal/tile/green{ dir = 1 }, @@ -6222,7 +6222,7 @@ /turf/open/floor/grass, /area/awaymission/research/interior/escapepods) "mN" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "applebush" }, /obj/effect/turf_decal/tile/green, diff --git a/_maps/RandomZLevels/away_mission/undergroundoutpost45.dmm b/_maps/RandomZLevels/away_mission/undergroundoutpost45.dmm index 33fdb7a28d..8beea114c7 100644 --- a/_maps/RandomZLevels/away_mission/undergroundoutpost45.dmm +++ b/_maps/RandomZLevels/away_mission/undergroundoutpost45.dmm @@ -1444,7 +1444,7 @@ }, /area/awaymission/undergroundoutpost45/central) "do" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ layer = 5 }, /obj/effect/decal/cleanable/dirt, @@ -2972,7 +2972,7 @@ }, /area/awaymission/undergroundoutpost45/central) "fT" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ layer = 5 }, /obj/effect/decal/cleanable/dirt, @@ -5207,7 +5207,7 @@ }, /area/awaymission/undergroundoutpost45/gateway) "kh" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ layer = 5 }, /obj/effect/decal/cleanable/dirt, @@ -6867,7 +6867,7 @@ /area/awaymission/undergroundoutpost45/research) "mQ" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ layer = 5 }, /turf/open/floor/plasteel/cafeteria{ @@ -8471,7 +8471,7 @@ }, /area/awaymission/undergroundoutpost45/research) "pl" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ layer = 5 }, /obj/effect/decal/cleanable/dirt, @@ -9544,7 +9544,7 @@ }, /area/awaymission/undergroundoutpost45/engineering) "rk" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ layer = 5 }, /obj/effect/turf_decal/tile/yellow{ @@ -12486,7 +12486,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ layer = 5 }, /obj/effect/decal/cleanable/dirt, diff --git a/_maps/RandomZLevels/away_mission/wildwest.dmm b/_maps/RandomZLevels/away_mission/wildwest.dmm index 064be0907a..a0677fbf41 100644 --- a/_maps/RandomZLevels/away_mission/wildwest.dmm +++ b/_maps/RandomZLevels/away_mission/wildwest.dmm @@ -755,7 +755,7 @@ /area/awaymission/wildwest/mines) "cL" = ( /obj/structure/table/wood, -/obj/item/twohanded/dualsaber, +/obj/item/dualsaber, /turf/open/floor/wood, /area/awaymission/wildwest/gov) "cM" = ( diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 2d8de7679b..b26fa5ee7a 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -17791,7 +17791,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-20" }, /turf/open/floor/plasteel, @@ -21146,7 +21146,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /turf/open/floor/plasteel, @@ -21707,7 +21707,7 @@ dir = 1; pixel_y = -24 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-08" }, /turf/open/floor/wood, @@ -24277,7 +24277,7 @@ /obj/effect/turf_decal/tile/purple{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-13" }, /turf/open/floor/plasteel, @@ -24326,7 +24326,7 @@ /obj/effect/turf_decal/tile/purple{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /turf/open/floor/plasteel, @@ -29889,7 +29889,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /turf/open/floor/plasteel/white, @@ -33978,7 +33978,7 @@ /obj/machinery/light_switch{ pixel_y = -23 }, -/obj/item/twohanded/required/kirbyplants/dead, +/obj/item/kirbyplants/dead, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/heads/hor) "bCg" = ( @@ -39123,7 +39123,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /turf/open/floor/plasteel/white/side{ dir = 1 }, @@ -48394,8 +48394,8 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/item/twohanded/rcl/pre_loaded, -/obj/item/twohanded/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, /turf/open/floor/plasteel, /area/engine/engineering) "cnB" = ( @@ -52134,7 +52134,7 @@ /obj/structure/table/reinforced, /obj/machinery/cell_charger, /obj/item/stock_parts/cell/high/plus, -/obj/item/twohanded/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, /turf/open/floor/plasteel, /area/crew_quarters/heads/chief) "cBN" = ( @@ -53845,7 +53845,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-04" }, /turf/open/floor/plasteel/white, @@ -53986,7 +53986,7 @@ /turf/open/floor/plating, /area/crew_quarters/fitness) "exP" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-14" }, /turf/open/floor/plasteel, @@ -54327,7 +54327,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-06" }, /turf/open/floor/plasteel/white/corner{ @@ -54525,7 +54525,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 10 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-18" }, /turf/open/floor/plasteel, @@ -56509,7 +56509,7 @@ /turf/open/floor/plasteel, /area/security/processing) "lPr" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "applebush" }, /turf/open/floor/plasteel, @@ -58083,7 +58083,7 @@ /turf/open/floor/carpet, /area/crew_quarters/theatre) "qTV" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel/white, diff --git a/_maps/map_files/CogStation/CogStation.dmm b/_maps/map_files/CogStation/CogStation.dmm index b3aad634c5..f90edc9178 100644 --- a/_maps/map_files/CogStation/CogStation.dmm +++ b/_maps/map_files/CogStation/CogStation.dmm @@ -1181,7 +1181,7 @@ /obj/effect/turf_decal/tile/yellow{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /turf/open/floor/plasteel/checker, @@ -1383,7 +1383,7 @@ /obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /turf/open/floor/plasteel/dark/corner{ @@ -3602,7 +3602,7 @@ /turf/open/floor/wood, /area/crew_quarters/fitness) "aiS" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-06" }, /turf/open/floor/wood, @@ -9522,7 +9522,7 @@ /obj/effect/turf_decal/tile/green{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "applebush" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, @@ -12132,7 +12132,7 @@ /obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /obj/machinery/camera{ @@ -13718,7 +13718,7 @@ /turf/open/floor/carpet, /area/chapel/main) "aEJ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-08" }, /turf/open/floor/wood, @@ -13756,7 +13756,7 @@ /turf/open/floor/wood, /area/crew_quarters/barbershop) "aEP" = ( -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /turf/open/floor/wood, /area/crew_quarters/barbershop) "aEQ" = ( @@ -17200,7 +17200,7 @@ /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-06" }, /turf/open/floor/plasteel, @@ -18608,7 +18608,7 @@ /obj/structure/sign/warning/securearea{ pixel_x = -32 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_y = 3 }, @@ -18624,7 +18624,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /turf/open/floor/plasteel/dark/side{ dir = 1 }, @@ -19727,7 +19727,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-02" }, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ @@ -20283,7 +20283,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /obj/machinery/atmospherics/pipe/simple/orange/hidden{ @@ -21141,7 +21141,7 @@ name = "Station Intercom (Common)"; pixel_x = -26 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-14" }, /turf/open/floor/plasteel, @@ -21684,7 +21684,7 @@ dir = 1 }, /obj/effect/turf_decal/tile/red, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "applebush" }, /obj/machinery/airalarm{ @@ -22810,7 +22810,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-08" }, /turf/open/floor/plasteel/dark/side, @@ -23281,7 +23281,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/atmospherics/pipe/simple/orange/hidden, @@ -24993,7 +24993,7 @@ /turf/closed/wall/r_wall, /area/space/nearstation) "bcd" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-14" }, /turf/open/floor/plasteel/white, @@ -27463,7 +27463,7 @@ dir = 1 }, /obj/structure/disposalpipe/segment, -/obj/item/twohanded/required/kirbyplants/dead, +/obj/item/kirbyplants/dead, /turf/open/floor/plasteel, /area/security/main) "bhO" = ( @@ -27498,7 +27498,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_y = 3 }, @@ -27918,7 +27918,7 @@ dir = 4; light_color = "#c1caff" }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-20"; pixel_y = 3 }, @@ -28857,7 +28857,7 @@ dir = 4; light_color = "#c1caff" }, -/obj/item/twohanded/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, /obj/item/stock_parts/cell/high/plus, /obj/item/clothing/glasses/meson, /obj/item/cartridge/atmos, @@ -32521,7 +32521,7 @@ /turf/open/floor/plasteel, /area/maintenance/disposal) "brZ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-02" }, /turf/open/floor/wood, @@ -32845,7 +32845,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-03" }, /turf/open/floor/plasteel/white, @@ -33824,7 +33824,7 @@ /turf/open/floor/plating, /area/construction) "bvf" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /turf/open/floor/carpet{ @@ -38755,7 +38755,7 @@ /turf/open/floor/wood, /area/crew_quarters/fitness) "bFR" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-08" }, /turf/open/floor/wood, @@ -39221,7 +39221,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-20"; pixel_y = 3 }, @@ -39566,7 +39566,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-14" }, /turf/open/floor/plasteel, @@ -41791,7 +41791,7 @@ /turf/open/floor/plasteel/cafeteria, /area/medical/medbay/central) "bLX" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-02" }, /obj/machinery/atmospherics/pipe/simple/orange/hidden{ @@ -45502,7 +45502,7 @@ /turf/open/floor/plating, /area/quartermaster/warehouse) "bTy" = ( -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 9 }, @@ -47414,7 +47414,7 @@ pixel_x = 24; pixel_y = 6 }, -/obj/item/twohanded/required/kirbyplants/photosynthetic, +/obj/item/kirbyplants/photosynthetic, /turf/open/floor/plasteel, /area/crew_quarters/heads/chief) "bXg" = ( @@ -47616,7 +47616,7 @@ }, /obj/effect/turf_decal/tile/purple, /obj/machinery/light, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /turf/open/floor/plasteel, @@ -49227,7 +49227,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-06" }, /obj/machinery/airalarm{ @@ -53466,7 +53466,7 @@ /obj/effect/turf_decal/tile/yellow{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants/photosynthetic, +/obj/item/kirbyplants/photosynthetic, /turf/open/floor/plasteel, /area/hallway/primary/aft) "cjA" = ( @@ -53478,7 +53478,7 @@ dir = 4; pixel_x = -28 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/quartermaster/office) "cjB" = ( @@ -54028,8 +54028,8 @@ /obj/machinery/light_switch{ pixel_x = -24 }, -/obj/item/twohanded/rcl/pre_loaded, -/obj/item/twohanded/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, /obj/item/stack/cable_coil/red, /obj/item/stack/cable_coil/red, /obj/item/stock_parts/cell/high/plus, @@ -59179,7 +59179,7 @@ /obj/effect/turf_decal/tile/yellow{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants/photosynthetic, +/obj/item/kirbyplants/photosynthetic, /obj/effect/turf_decal/tile/red{ dir = 1 }, @@ -64181,7 +64181,7 @@ /obj/structure/sign/warning/securearea{ pixel_x = -32 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "applebush" }, /obj/machinery/airalarm{ @@ -67337,7 +67337,7 @@ /obj/effect/turf_decal/tile/yellow{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants/photosynthetic, +/obj/item/kirbyplants/photosynthetic, /obj/machinery/airalarm{ pixel_y = 24 }, @@ -71518,7 +71518,7 @@ /turf/open/floor/plating, /area/bridge) "cQV" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-02" }, /obj/structure/cable{ diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 0217ff21b9..a4f0e17229 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -357,7 +357,7 @@ /turf/open/floor/plasteel/cafeteria, /area/maintenance/port/fore) "aaJ" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/red, /obj/effect/turf_decal/tile/red{ dir = 8 @@ -645,7 +645,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 5 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, @@ -691,7 +691,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "acp" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/yellow{ dir = 1 }, @@ -1318,7 +1318,7 @@ name = "Construction RC"; pixel_y = 32 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/yellow{ dir = 1 }, @@ -1381,7 +1381,7 @@ dir = 1 }, /obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel, @@ -1391,7 +1391,7 @@ dir = 1 }, /obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel, @@ -1408,7 +1408,7 @@ dir = 1 }, /obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, @@ -1672,14 +1672,14 @@ /area/hallway/secondary/entry) "agk" = ( /obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "agl" = ( /obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel, @@ -1985,7 +1985,7 @@ dir = 4; pixel_x = -24 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, @@ -2225,7 +2225,7 @@ /area/maintenance/starboard/fore) "aio" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/sign/poster/contraband/random{ pixel_y = 32 }, @@ -2296,7 +2296,7 @@ /area/maintenance/starboard/fore) "ais" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -2950,7 +2950,7 @@ dir = 4 }, /obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, @@ -3010,7 +3010,7 @@ "ajR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, @@ -3423,7 +3423,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "akJ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral, @@ -3447,7 +3447,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "akN" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral{ @@ -3700,7 +3700,7 @@ /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) "alo" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/firealarm{ pixel_y = 24 }, @@ -3781,7 +3781,7 @@ pixel_x = 26; pixel_y = 26 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/blue{ dir = 1 }, @@ -4205,7 +4205,7 @@ /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) "amq" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) "amr" = ( @@ -4473,7 +4473,7 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/electronic_marketing_den) "amN" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -4504,7 +4504,7 @@ /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) "amQ" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) "amR" = ( @@ -4534,7 +4534,7 @@ /obj/machinery/light/small{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) "amV" = ( @@ -4830,7 +4830,7 @@ /turf/open/floor/plating, /area/maintenance/starboard/fore) "anB" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -4860,7 +4860,7 @@ /turf/open/floor/plasteel, /area/maintenance/starboard/fore) "anD" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/red{ dir = 1 @@ -5598,7 +5598,7 @@ /turf/open/floor/plasteel/dark, /area/engine/atmospherics_engine) "aoM" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel/dark, /area/crew_quarters/electronic_marketing_den) "aoN" = ( @@ -5899,7 +5899,7 @@ /turf/open/floor/plasteel, /area/maintenance/starboard/fore) "apt" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plating, /area/maintenance/starboard/fore) "apu" = ( @@ -6293,7 +6293,7 @@ /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) "aqf" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/security/vacantoffice) "aqg" = ( @@ -6386,7 +6386,7 @@ /obj/machinery/newscaster{ pixel_y = -32 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/grimy, @@ -6783,7 +6783,7 @@ /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) "aqT" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/cable/white, /obj/machinery/power/apc{ areastring = "/area/crew_quarters/electronic_marketing_den"; @@ -7245,7 +7245,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "arM" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral{ @@ -7280,7 +7280,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "arQ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral{ @@ -8761,7 +8761,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/neutral{ @@ -8819,7 +8819,7 @@ /area/hallway/secondary/entry) "auq" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/neutral, @@ -10196,7 +10196,7 @@ /turf/open/floor/plating, /area/crew_quarters/toilet/auxiliary) "awM" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/camera{ c_tag = "Auxiliary Restroom"; name = "restroom camera" @@ -10496,7 +10496,7 @@ "axr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/bot, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) "axs" = ( @@ -10620,7 +10620,7 @@ /turf/open/floor/plasteel, /area/engine/atmospherics_engine) "axG" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/sign/warning/nosmoking{ pixel_x = 32 }, @@ -12524,7 +12524,7 @@ name = "Maintenance Garden" }) "aBh" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light/small{ dir = 1 }, @@ -12577,7 +12577,7 @@ name = "Maintenance Garden" }) "aBm" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/status_display/evac{ pixel_y = 32 }, @@ -12599,7 +12599,7 @@ name = "Maintenance Garden" }) "aBo" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light/small{ dir = 1 }, @@ -13913,7 +13913,7 @@ /turf/open/floor/plasteel/grimy, /area/hallway/secondary/service) "aDH" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/sign/nanotrasen{ pixel_x = 32 }, @@ -14825,7 +14825,7 @@ /turf/open/floor/plasteel, /area/engine/atmospherics_engine) "aFu" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -15016,7 +15016,7 @@ /turf/open/floor/plasteel, /area/engine/atmospherics_engine) "aFH" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/stripes/line{ dir = 6 }, @@ -15032,7 +15032,7 @@ /turf/open/floor/plasteel, /area/engine/atmospherics_engine) "aFJ" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, @@ -15949,7 +15949,7 @@ /turf/open/floor/plasteel/dark, /area/maintenance/disposal/incinerator) "aGX" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, @@ -16102,7 +16102,7 @@ /area/engine/atmospherics_engine) "aHj" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/stripes/line{ dir = 6 }, @@ -16169,7 +16169,7 @@ /turf/open/floor/plasteel, /area/maintenance/port/fore) "aHq" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/newscaster{ pixel_x = -32 }, @@ -16259,7 +16259,7 @@ /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar) "aHx" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -18771,7 +18771,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/fore) "aLO" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/brown{ dir = 1 }, @@ -18875,7 +18875,7 @@ /turf/open/floor/plasteel, /area/security/checkpoint/supply) "aLV" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/airalarm{ dir = 8; pixel_x = 24 @@ -19054,7 +19054,7 @@ /obj/structure/cable/white{ icon_state = "4-8" }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, @@ -19318,7 +19318,7 @@ /turf/open/floor/plasteel/grimy, /area/crew_quarters/abandoned_gambling_den/secondary) "aMR" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel/grimy, /area/crew_quarters/abandoned_gambling_den/secondary) "aMS" = ( @@ -19328,7 +19328,7 @@ /turf/open/floor/plasteel/grimy, /area/crew_quarters/abandoned_gambling_den/secondary) "aMT" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm{ pixel_y = 23 @@ -19351,7 +19351,7 @@ }, /area/crew_quarters/abandoned_gambling_den/secondary) "aMV" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/abandoned_gambling_den/secondary) "aMW" = ( @@ -20197,7 +20197,7 @@ /turf/open/floor/plasteel/dark, /area/engine/atmos) "aOo" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -20423,7 +20423,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar/atrium) "aOH" = ( @@ -21184,7 +21184,7 @@ /turf/open/floor/plasteel/checker, /area/engine/atmos) "aPO" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, @@ -21209,7 +21209,7 @@ /turf/open/floor/plasteel, /area/engine/atmos) "aPQ" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -21706,7 +21706,7 @@ /area/quartermaster/sorting) "aQE" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/airalarm{ dir = 8; pixel_x = 24 @@ -21944,7 +21944,7 @@ /area/security/prison) "aRb" = ( /obj/machinery/light/small, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/red{ dir = 8 @@ -21988,7 +21988,7 @@ /turf/open/floor/plasteel, /area/security/prison) "aRg" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small, /turf/open/floor/plating{ @@ -22154,7 +22154,7 @@ /turf/open/floor/plasteel, /area/engine/atmos) "aRu" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -23890,7 +23890,7 @@ /turf/open/floor/plasteel, /area/quartermaster/office) "aTY" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light{ dir = 4 }, @@ -24725,7 +24725,7 @@ /turf/open/floor/engine/air, /area/engine/atmos) "aVc" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den/secondary) @@ -24824,7 +24824,7 @@ /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/camera{ c_tag = "Service Hallway - Aft"; @@ -27285,7 +27285,7 @@ /turf/open/floor/plasteel, /area/quartermaster/office) "aYR" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/firealarm{ dir = 4; pixel_x = -24; @@ -27332,7 +27332,7 @@ /turf/open/floor/plasteel, /area/quartermaster/storage) "aYU" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ @@ -27437,7 +27437,7 @@ /turf/open/floor/plasteel, /area/quartermaster/qm) "aZd" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light, /obj/machinery/newscaster{ pixel_y = -32 @@ -27520,7 +27520,7 @@ /turf/open/floor/plating, /area/quartermaster/qm) "aZk" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/cable/white{ icon_state = "2-8" }, @@ -28222,7 +28222,7 @@ /obj/machinery/newscaster{ pixel_x = -32 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/red{ dir = 1 }, @@ -28327,7 +28327,7 @@ /turf/open/floor/plasteel, /area/quartermaster/office) "baK" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ dir = 8 @@ -28619,7 +28619,7 @@ /turf/open/floor/plasteel, /area/security/prison) "bbn" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/sign/warning/pods{ dir = 8; pixel_y = -32 @@ -30008,7 +30008,7 @@ "bdP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/brown{ @@ -30135,7 +30135,7 @@ /turf/open/floor/plasteel, /area/quartermaster/miningoffice) "beb" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/brown{ dir = 1 }, @@ -30356,7 +30356,7 @@ /area/engine/atmos) "beB" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/firealarm{ dir = 4; pixel_x = -24 @@ -30578,7 +30578,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/service) "beX" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -31497,7 +31497,7 @@ /turf/open/floor/plating, /area/quartermaster/miningoffice) "bgH" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -31551,7 +31551,7 @@ /area/quartermaster/miningoffice) "bgL" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -32591,7 +32591,7 @@ /turf/open/floor/plasteel, /area/security/brig) "biE" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/cable/white{ icon_state = "1-2" }, @@ -32620,7 +32620,7 @@ /turf/open/floor/plasteel, /area/security/brig) "biG" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/red{ dir = 1 }, @@ -32690,7 +32690,7 @@ /obj/machinery/newscaster/security_unit{ pixel_y = 32 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/red{ dir = 1 }, @@ -33434,7 +33434,7 @@ /area/hallway/primary/fore) "bjR" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/brown, @@ -33500,7 +33500,7 @@ /area/quartermaster/miningoffice) "bjW" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/brown{ dir = 1 }, @@ -34505,7 +34505,7 @@ /area/hallway/primary/fore) "blJ" = ( /obj/machinery/light, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/brown, @@ -34879,7 +34879,7 @@ /turf/open/floor/plasteel, /area/security/main) "bmr" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -35028,7 +35028,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -35066,7 +35066,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -35276,7 +35276,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -36193,7 +36193,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral{ @@ -36484,7 +36484,7 @@ /turf/open/floor/plating, /area/security/execution/transfer) "bpd" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/stripes/line{ dir = 9 }, @@ -37265,7 +37265,7 @@ /turf/closed/wall/r_wall, /area/engine/atmos) "bqm" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/yellow{ @@ -40177,7 +40177,7 @@ /turf/open/floor/plasteel/dark, /area/security/main) "buT" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/power/apc{ areastring = "/area/crew_quarters/heads/hos"; name = "Head of Security's Office APC"; @@ -40422,7 +40422,7 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bvk" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light/small, /obj/machinery/light_switch{ pixel_x = 26; @@ -40854,7 +40854,7 @@ /turf/open/floor/plasteel, /area/security/execution/transfer) "bwc" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/firealarm{ dir = 1; pixel_y = -24 @@ -40889,7 +40889,7 @@ /turf/open/floor/plasteel, /area/security/brig) "bwe" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/red{ dir = 1 }, @@ -40984,7 +40984,7 @@ /obj/structure/cable/white{ icon_state = "2-4" }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai) @@ -41013,7 +41013,7 @@ /obj/structure/cable/white{ icon_state = "2-8" }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/sign/warning/nosmoking{ pixel_y = 32 }, @@ -41595,7 +41595,7 @@ /turf/open/floor/plating, /area/security/execution/transfer) "bxo" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/tile/red{ dir = 1 @@ -41999,7 +41999,7 @@ /area/engine/atmos) "bxT" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/yellow{ dir = 4 }, @@ -42431,7 +42431,7 @@ /obj/machinery/gulag_item_reclaimer{ pixel_y = 28 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/cable/white{ icon_state = "4-8" }, @@ -42502,7 +42502,7 @@ /turf/open/floor/plasteel, /area/security/execution/transfer) "byI" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/firealarm{ dir = 8; pixel_x = 24 @@ -42747,7 +42747,7 @@ /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) "bzb" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -43761,7 +43761,7 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai) "bAz" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, @@ -44290,7 +44290,7 @@ /turf/open/floor/plasteel, /area/storage/tech) "bBl" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/storage/tech) @@ -44422,7 +44422,7 @@ name = "WARNING: BLAST DOORS"; pixel_y = 32 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/blue{ @@ -44451,7 +44451,7 @@ /turf/open/floor/plasteel/dark, /area/bridge) "bBz" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/blue{ dir = 1 }, @@ -45366,7 +45366,7 @@ /turf/open/floor/plasteel, /area/engine/break_room) "bCU" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light{ dir = 1 }, @@ -45986,7 +45986,7 @@ /turf/open/floor/plasteel/dark, /area/bridge) "bDD" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/cable/white{ icon_state = "4-8" }, @@ -46428,7 +46428,7 @@ /turf/open/floor/plasteel, /area/security/execution/transfer) "bEb" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/extinguisher_cabinet{ pixel_x = 26 }, @@ -47072,7 +47072,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/port) "bES" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/status_display/evac{ pixel_x = -32 }, @@ -47101,7 +47101,7 @@ /turf/open/floor/plasteel, /area/storage/tech) "bEV" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/status_display/ai{ pixel_x = 32 }, @@ -47459,7 +47459,7 @@ /turf/open/floor/plasteel/dark, /area/bridge) "bFr" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -47518,7 +47518,7 @@ /turf/open/floor/plasteel/grimy, /area/bridge) "bFx" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -48012,7 +48012,7 @@ dir = 4; pixel_x = -24 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/break_room) @@ -48055,7 +48055,7 @@ dir = 1; pixel_y = -22 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/break_room) @@ -48187,7 +48187,7 @@ /turf/open/floor/plasteel, /area/engine/break_room) "bGt" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/firealarm{ dir = 8; pixel_x = 24 @@ -48414,7 +48414,7 @@ /turf/open/floor/plasteel, /area/storage/primary) "bGM" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) @@ -48464,7 +48464,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/blue, @@ -48742,7 +48742,7 @@ pixel_y = -32 }, /obj/machinery/light/small, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/blue, @@ -48770,7 +48770,7 @@ /area/security/detectives_office) "bHt" = ( /obj/structure/disposalpipe/segment, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/red{ @@ -48793,7 +48793,7 @@ /area/hallway/primary/starboard) "bHv" = ( /obj/structure/disposalpipe/segment, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/red{ @@ -49199,7 +49199,7 @@ /turf/closed/wall, /area/engine/break_room) "bHY" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light{ dir = 8 }, @@ -50488,7 +50488,7 @@ /turf/closed/wall/r_wall, /area/engine/transit_tube) "bJQ" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -50531,7 +50531,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/twohanded/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -50594,7 +50594,7 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/chief) "bJV" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/firealarm{ pixel_y = 24 }, @@ -50957,7 +50957,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/bridge/meeting_room/council) "bKB" = ( @@ -51124,7 +51124,7 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/captain) "bKT" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/heads/captain) "bKU" = ( @@ -51696,7 +51696,7 @@ /turf/open/floor/plasteel/dark, /area/engine/transit_tube) "bLK" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/firealarm{ dir = 8; pixel_x = 24 @@ -51721,7 +51721,7 @@ /turf/open/floor/plasteel/dark, /area/engine/transit_tube) "bLL" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light{ dir = 8 }, @@ -52054,7 +52054,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/port) "bMg" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/status_display/ai{ pixel_x = -32 }, @@ -52088,7 +52088,7 @@ /turf/open/floor/plasteel, /area/storage/tech) "bMj" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/status_display/evac{ pixel_x = 32 }, @@ -52272,7 +52272,7 @@ name = "Telecomms Monitoring APC"; pixel_y = 28 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/cable/white{ icon_state = "0-2" }, @@ -52312,7 +52312,7 @@ /obj/machinery/airalarm{ pixel_y = 22 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, @@ -52668,7 +52668,7 @@ /turf/closed/wall, /area/security/brig) "bNk" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/door_timer{ id = "brig1"; name = "Cell 1"; @@ -53378,7 +53378,7 @@ /turf/open/floor/plasteel, /area/engine/break_room) "bOe" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -54370,7 +54370,7 @@ /turf/closed/wall, /area/engine/transit_tube) "bPN" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/airalarm{ dir = 4; pixel_x = -23 @@ -54406,7 +54406,7 @@ /turf/open/floor/plasteel/dark, /area/engine/transit_tube) "bPP" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/light_switch{ pixel_x = 22; @@ -54576,7 +54576,7 @@ /turf/closed/wall, /area/engine/break_room) "bQb" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/break_room) @@ -54687,7 +54687,7 @@ /turf/open/floor/plasteel, /area/storage/tech) "bQm" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/firealarm{ dir = 1; pixel_y = -24 @@ -54697,7 +54697,7 @@ /turf/open/floor/plasteel, /area/storage/tech) "bQn" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light_switch{ pixel_y = -26 }, @@ -54862,7 +54862,7 @@ /turf/open/floor/wood, /area/bridge/meeting_room/council) "bQG" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -55112,7 +55112,7 @@ dir = 1; pixel_y = -26 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -55223,7 +55223,7 @@ /turf/open/floor/plasteel/dark, /area/security/detectives_office) "bRn" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, @@ -55496,7 +55496,7 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) "bRF" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -55746,7 +55746,7 @@ /turf/open/floor/plating, /area/crew_quarters/heads/chief) "bSd" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/newscaster{ pixel_y = 32 }, @@ -55990,7 +55990,7 @@ /area/bridge/meeting_room/council) "bSz" = ( /obj/machinery/light, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/bridge/meeting_room/council) "bSA" = ( @@ -56049,12 +56049,12 @@ /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) "bSG" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) "bSH" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) "bSI" = ( @@ -56657,7 +56657,7 @@ /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/aisat_interior) "bTB" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/turretid{ control_area = "/area/ai_monitored/turret_protected/aisat_interior"; name = "Antechamber Turret Control"; @@ -56889,7 +56889,7 @@ /turf/open/floor/plasteel/dark, /area/engine/transit_tube) "bTO" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -57153,7 +57153,7 @@ /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -57891,7 +57891,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/starboard) "bVk" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/door_timer{ id = "brig2"; name = "Cell 2"; @@ -58624,7 +58624,7 @@ /turf/open/floor/plasteel/dark, /area/engine/transit_tube) "bWe" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light/small{ dir = 4 }, @@ -58725,7 +58725,7 @@ /turf/open/floor/plating, /area/crew_quarters/heads/chief) "bWm" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/firealarm{ dir = 1; pixel_x = -24; @@ -59180,7 +59180,7 @@ /turf/open/floor/wood, /area/crew_quarters/heads/hop) "bWS" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/disposalpipe/segment{ dir = 6 }, @@ -59196,7 +59196,7 @@ /turf/open/floor/wood, /area/crew_quarters/heads/hop) "bWU" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/hop) @@ -60034,7 +60034,7 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) "bXY" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/firealarm{ dir = 8; pixel_x = 24 @@ -60136,7 +60136,7 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) "bYh" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/firealarm{ dir = 4; pixel_x = -24 @@ -60405,7 +60405,7 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/chief) "bYw" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light_switch{ pixel_x = 26; pixel_y = -26 @@ -61430,7 +61430,7 @@ /area/ai_monitored/turret_protected/aisat_interior) "cae" = ( /obj/structure/cable/white, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light, /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -61495,7 +61495,7 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) "cai" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light, /obj/machinery/airalarm{ dir = 1; @@ -61532,7 +61532,7 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) "cak" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light_switch{ pixel_x = -26 }, @@ -61615,7 +61615,7 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) "cao" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/extinguisher_cabinet{ pixel_x = 26 }, @@ -61725,7 +61725,7 @@ /turf/open/floor/plating, /area/security/checkpoint/engineering) "caB" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/yellow{ @@ -62127,7 +62127,7 @@ /obj/structure/disposalpipe/segment{ dir = 5 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/red{ @@ -62482,7 +62482,7 @@ /turf/closed/wall, /area/engine/engineering) "cbW" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/stripes/line{ dir = 9 }, @@ -62523,7 +62523,7 @@ /turf/open/floor/plasteel, /area/engine/engineering) "cca" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/machinery/light_switch{ pixel_y = 26 @@ -63029,7 +63029,7 @@ /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain/private) "ccS" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, @@ -63095,7 +63095,7 @@ /turf/open/floor/plasteel/dark, /area/security/courtroom) "ccX" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -63135,7 +63135,7 @@ /turf/open/floor/plating, /area/security/courtroom) "cda" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -63416,7 +63416,7 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai_upload) "cdw" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light{ dir = 1 }, @@ -64026,7 +64026,7 @@ /obj/structure/cable/white{ icon_state = "4-8" }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -65158,7 +65158,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/sign/plaques/kiddie/library{ pixel_x = -32 }, @@ -65177,7 +65177,7 @@ /turf/open/floor/plasteel/grimy, /area/library) "cfY" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light/small{ dir = 4 }, @@ -65348,7 +65348,7 @@ /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain/private) "cgt" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -65368,7 +65368,7 @@ /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) "cgv" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/firealarm{ dir = 1; pixel_y = -26 @@ -66348,7 +66348,7 @@ /turf/open/floor/plasteel/grimy, /area/library) "chP" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/library) "chQ" = ( @@ -67705,7 +67705,7 @@ /turf/open/floor/wood, /area/lawoffice) "ckg" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/sign/poster/official/report_crimes{ pixel_y = -32 @@ -68973,7 +68973,7 @@ /obj/machinery/status_display/ai{ pixel_x = 32 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/hop) @@ -69571,7 +69571,7 @@ /area/aisat) "cnu" = ( /obj/structure/cable/white, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/power/apc{ @@ -69613,7 +69613,7 @@ icon_state = "1-2" }, /obj/structure/table/reinforced, -/obj/item/twohanded/required/kirbyplants/photosynthetic{ +/obj/item/kirbyplants/photosynthetic{ pixel_y = 10 }, /obj/effect/turf_decal/tile/neutral{ @@ -69646,7 +69646,7 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai_upload) "cny" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light, /obj/machinery/airalarm{ dir = 1; @@ -70119,7 +70119,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "cot" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/item/radio/intercom{ name = "Station Intercom"; pixel_x = -26 @@ -70735,7 +70735,7 @@ /turf/closed/wall, /area/crew_quarters/heads/hop) "cpD" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/heads/hop) "cpE" = ( @@ -70753,7 +70753,7 @@ dir = 1; pixel_y = -26 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/heads/hop) "cpG" = ( @@ -70768,7 +70768,7 @@ /turf/open/floor/wood, /area/crew_quarters/heads/hop) "cpH" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/hop) @@ -70931,7 +70931,7 @@ /turf/open/floor/plasteel/dark, /area/security/courtroom) "cpW" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -70946,7 +70946,7 @@ /turf/open/floor/plasteel/dark, /area/security/courtroom) "cpX" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -71869,7 +71869,7 @@ /turf/open/floor/plating, /area/engine/engineering) "crQ" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/camera{ c_tag = "Engineering - Central"; dir = 4; @@ -72951,7 +72951,7 @@ /turf/open/floor/plasteel, /area/maintenance/port) "ctH" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -72975,7 +72975,7 @@ /area/library) "ctK" = ( /obj/machinery/light, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/camera{ c_tag = "Library - Aft"; dir = 1; @@ -72996,7 +72996,7 @@ /area/library) "ctM" = ( /obj/machinery/light, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light_switch{ pixel_y = -26 }, @@ -73004,7 +73004,7 @@ /turf/open/floor/plasteel/grimy, /area/library) "ctN" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel/grimy, /area/library) "ctO" = ( @@ -73251,7 +73251,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/blue{ @@ -73664,7 +73664,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -73682,7 +73682,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -74563,7 +74563,7 @@ /turf/open/floor/plating, /area/maintenance/port) "cwq" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel/dark, /area/library) "cwr" = ( @@ -74644,7 +74644,7 @@ /turf/open/floor/plasteel/dark, /area/library) "cwy" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -74697,7 +74697,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/stripes/line{ dir = 9 }, @@ -74714,7 +74714,7 @@ /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) "cwE" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -74746,7 +74746,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/stripes/line{ dir = 5 }, @@ -74843,7 +74843,7 @@ /obj/structure/cable/white{ icon_state = "4-8" }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/blue, @@ -74901,7 +74901,7 @@ /turf/open/floor/plasteel, /area/gateway) "cwV" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, @@ -75044,7 +75044,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "cxh" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral{ @@ -75394,7 +75394,7 @@ /turf/open/floor/plasteel, /area/engine/engineering) "cxI" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/warning/electricshock{ pixel_y = 32 @@ -76267,7 +76267,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -76472,8 +76472,8 @@ pixel_x = 26 }, /obj/effect/turf_decal/bot, -/obj/item/twohanded/rcl/pre_loaded, -/obj/item/twohanded/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, /turf/open/floor/plasteel, /area/engine/storage) "czz" = ( @@ -77421,13 +77421,13 @@ /area/maintenance/port) "cAZ" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) "cBa" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/extinguisher_cabinet{ pixel_x = -26 }, @@ -77474,7 +77474,7 @@ /turf/open/floor/plasteel/dark, /area/library) "cBh" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/newscaster{ pixel_x = 32 }, @@ -77851,7 +77851,7 @@ dir = 4; pixel_x = -24 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -77928,7 +77928,7 @@ /turf/open/floor/plating, /area/crew_quarters/toilet/restrooms) "cBR" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -79538,7 +79538,7 @@ /turf/open/floor/plasteel/dark, /area/library) "cEr" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/item/radio/intercom{ name = "Station Intercom"; pixel_y = -26 @@ -80229,7 +80229,7 @@ /turf/open/floor/wood, /area/crew_quarters/dorms) "cFy" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/dorms) "cFz" = ( @@ -80473,7 +80473,7 @@ /area/engine/engineering) "cFT" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/cable/white{ icon_state = "1-8" }, @@ -80629,7 +80629,7 @@ name = "Station Intercom"; pixel_y = -26 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, @@ -80650,7 +80650,7 @@ /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) "cGl" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) @@ -80710,7 +80710,7 @@ dir = 1; pixel_y = -26 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light, /turf/open/floor/plasteel/grimy, /area/bridge/showroom/corporate) @@ -80750,7 +80750,7 @@ pixel_x = 7; pixel_y = -26 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light, /turf/open/floor/plasteel/grimy, /area/bridge/showroom/corporate) @@ -80813,7 +80813,7 @@ dir = 1; pixel_y = -22 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -81067,7 +81067,7 @@ /turf/open/floor/carpet, /area/crew_quarters/dorms) "cGY" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/carpet, /area/crew_quarters/dorms) @@ -81153,7 +81153,7 @@ /turf/open/floor/plasteel, /area/engine/engineering) "cHi" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/stripes/line{ dir = 10 }, @@ -81217,7 +81217,7 @@ /turf/open/floor/plasteel, /area/engine/engineering) "cHp" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -81228,7 +81228,7 @@ /turf/open/floor/plasteel, /area/engine/engineering) "cHq" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/warning/electricshock{ pixel_y = -32 @@ -81307,7 +81307,7 @@ /area/maintenance/port) "cHy" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plating, /area/maintenance/port) "cHz" = ( @@ -83495,7 +83495,7 @@ /turf/open/floor/plating, /area/crew_quarters/dorms) "cKY" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -83628,7 +83628,7 @@ /turf/open/floor/plasteel, /area/crew_quarters/dorms) "cLi" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -84269,7 +84269,7 @@ }, /area/crew_quarters/dorms) "cMs" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -85348,7 +85348,7 @@ /turf/open/floor/plasteel, /area/maintenance/department/electrical) "cOw" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) @@ -85365,7 +85365,7 @@ /obj/machinery/light_switch{ pixel_y = 26 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/bot, @@ -85627,7 +85627,7 @@ /turf/open/floor/plasteel/white, /area/science/research) "cPb" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light{ dir = 1 }, @@ -85766,7 +85766,7 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cPr" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light{ dir = 1 }, @@ -85881,7 +85881,7 @@ name = "medbay camera"; network = list("ss13","medbay") }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -86113,7 +86113,7 @@ /turf/open/floor/carpet, /area/crew_quarters/dorms) "cPT" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/item/radio/intercom{ name = "Station Intercom"; pixel_x = 26; @@ -86251,7 +86251,7 @@ /turf/open/floor/plasteel/dark/corner, /area/maintenance/department/electrical) "cQi" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/department/electrical) @@ -86475,7 +86475,7 @@ /turf/open/floor/plasteel/white, /area/science/research) "cQC" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/purple{ dir = 4 @@ -86691,7 +86691,7 @@ /turf/open/floor/plasteel, /area/science/research) "cQR" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/purple{ @@ -86700,7 +86700,7 @@ /turf/open/floor/plasteel/white, /area/science/research) "cQS" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/blue{ @@ -86777,7 +86777,7 @@ /turf/open/floor/plasteel, /area/medical/medbay/central) "cQY" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/blue{ @@ -86786,7 +86786,7 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cQZ" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/button/door{ desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; @@ -86980,7 +86980,7 @@ /turf/open/floor/plasteel/grimy, /area/crew_quarters/dorms) "cRv" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/sign/nanotrasen{ pixel_x = 32; pixel_y = -32 @@ -87524,7 +87524,7 @@ /turf/open/floor/plasteel, /area/security/checkpoint/science/research) "cSp" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/purple{ @@ -87890,7 +87890,7 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cSR" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/item/storage/pod{ pixel_x = 32; pixel_y = 32 @@ -88151,7 +88151,7 @@ /obj/machinery/status_display/evac{ pixel_x = -32 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) @@ -88323,7 +88323,7 @@ /turf/open/floor/plasteel, /area/science/xenobiology) "cTF" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, @@ -89664,7 +89664,7 @@ /turf/open/floor/plasteel, /area/science/xenobiology) "cVM" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light{ dir = 1 }, @@ -89855,7 +89855,7 @@ /turf/open/floor/plating, /area/security/checkpoint/science/research) "cWb" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/purple{ @@ -89908,7 +89908,7 @@ /turf/open/floor/plasteel, /area/science/research) "cWf" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/purple, @@ -89933,7 +89933,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/blue{ @@ -89974,7 +89974,7 @@ /turf/open/floor/plasteel, /area/medical/medbay/central) "cWl" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/blue, @@ -90295,7 +90295,7 @@ /turf/open/floor/plasteel, /area/maintenance/department/electrical) "cWK" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, @@ -90697,7 +90697,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/camera{ c_tag = "Security Post - Science"; dir = 8; @@ -90744,7 +90744,7 @@ /turf/open/floor/plasteel/white, /area/science/research) "cXu" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/purple{ @@ -90790,7 +90790,7 @@ /turf/open/floor/plasteel/white, /area/science/research) "cXy" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/purple, @@ -90863,7 +90863,7 @@ /area/medical/medbay/central) "cXJ" = ( /obj/structure/disposalpipe/segment, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/blue{ @@ -90906,7 +90906,7 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cXN" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/blue, @@ -91404,7 +91404,7 @@ /obj/machinery/light_switch{ pixel_y = -26 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) @@ -91533,7 +91533,7 @@ /turf/open/floor/plasteel, /area/science/xenobiology) "cYT" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -91953,7 +91953,7 @@ /turf/open/floor/plasteel, /area/security/checkpoint/medical) "cZE" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/airalarm{ dir = 8; pixel_x = 24 @@ -92501,7 +92501,7 @@ /turf/open/floor/plasteel, /area/science/xenobiology) "dau" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, @@ -92769,7 +92769,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/status_display/evac{ pixel_y = 32 }, @@ -94379,7 +94379,7 @@ /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "ddy" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) @@ -94597,7 +94597,7 @@ /turf/open/floor/plasteel, /area/science/xenobiology) "ddT" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) @@ -94886,7 +94886,7 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "dev" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light/small, /obj/effect/turf_decal/tile/blue, /turf/open/floor/plasteel/white, @@ -95064,7 +95064,7 @@ /obj/structure/sign/departments/examroom{ pixel_x = -32 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/blue{ dir = 1 }, @@ -95126,7 +95126,7 @@ /turf/open/floor/plasteel, /area/medical/abandoned) "deS" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/medical/abandoned) @@ -95326,7 +95326,7 @@ /turf/open/floor/plasteel, /area/science/research) "dfl" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/item/storage/pod{ pixel_x = 32 }, @@ -95787,7 +95787,7 @@ /turf/closed/wall, /area/crew_quarters/abandoned_gambling_den) "dfZ" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -95799,7 +95799,7 @@ /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) "dgb" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/dark, /area/crew_quarters/abandoned_gambling_den) @@ -95842,7 +95842,7 @@ /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) "dgf" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) "dgg" = ( @@ -96018,7 +96018,7 @@ /turf/open/floor/plasteel/dark, /area/science/xenobiology) "dgu" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/purple{ dir = 1 }, @@ -96281,7 +96281,7 @@ /turf/open/floor/plasteel, /area/science/lab) "dgP" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/purple, /turf/open/floor/plasteel/white, /area/science/lab) @@ -96889,7 +96889,7 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/abandoned_gambling_den) "dhP" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/contraband/random{ pixel_x = 32 @@ -97842,7 +97842,7 @@ /turf/open/floor/plasteel/white/corner, /area/science/circuit) "djo" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/research/abandoned) @@ -97862,7 +97862,7 @@ /turf/open/floor/plasteel/white/side, /area/science/circuit) "djs" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, @@ -98168,7 +98168,7 @@ /turf/open/floor/plasteel/white, /area/science/research) "djW" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -98287,7 +98287,7 @@ /turf/open/floor/plasteel, /area/science/lab) "dke" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/purple{ @@ -98303,7 +98303,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "dkf" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/yellow{ @@ -98650,7 +98650,7 @@ /area/medical/abandoned) "dkJ" = ( /obj/machinery/light/small, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/medical/abandoned) @@ -99313,7 +99313,7 @@ /turf/closed/wall, /area/hallway/secondary/construction) "dmi" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) @@ -99458,7 +99458,7 @@ /turf/open/floor/plasteel, /area/science/misc_lab) "dmB" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/bot, /obj/machinery/light_switch{ pixel_x = -26 @@ -99846,7 +99846,7 @@ /turf/open/floor/plasteel/white, /area/medical/genetics/cloning) "dno" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/purple{ dir = 1 }, @@ -99925,7 +99925,7 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "dnv" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/blue{ dir = 1 }, @@ -100002,7 +100002,7 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "dnC" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -101519,7 +101519,7 @@ /turf/open/floor/plasteel, /area/science/explab) "dqr" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -102168,7 +102168,7 @@ pixel_x = 1; pixel_y = -24 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel/white/side{ dir = 1 }, @@ -102320,7 +102320,7 @@ /obj/structure/cable/white, /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/bot, -/obj/item/twohanded/required/kirbyplants/dead, +/obj/item/kirbyplants/dead, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) "drY" = ( @@ -102581,7 +102581,7 @@ /turf/open/floor/plasteel/white, /area/medical/genetics/cloning) "dsy" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/blue, /turf/open/floor/plasteel/white, @@ -103523,7 +103523,7 @@ /turf/open/floor/plating, /area/science/research/abandoned) "dun" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) @@ -103929,7 +103929,7 @@ /turf/closed/wall, /area/medical/genetics) "dvd" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/firealarm{ dir = 4; pixel_x = -24 @@ -104022,7 +104022,7 @@ /turf/open/floor/plasteel, /area/medical/genetics) "dvm" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/firealarm{ pixel_x = -26; pixel_y = 26 @@ -104528,7 +104528,7 @@ /turf/open/floor/wood, /area/crew_quarters/abandoned_gambling_den) "dvY" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel/dark, /area/crew_quarters/abandoned_gambling_den) "dvZ" = ( @@ -106013,7 +106013,7 @@ /turf/open/floor/plating, /area/crew_quarters/heads/cmo) "dyy" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -106059,7 +106059,7 @@ /turf/open/floor/plasteel/white, /area/crew_quarters/heads/cmo) "dyC" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -106805,7 +106805,7 @@ /turf/open/floor/plasteel, /area/medical/genetics) "dzR" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/purple, /turf/open/floor/plasteel/white, /area/medical/genetics) @@ -106967,7 +106967,7 @@ /turf/open/floor/plasteel/white, /area/crew_quarters/heads/cmo) "dAf" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/cable/white{ icon_state = "0-8" }, @@ -107460,7 +107460,7 @@ /turf/open/floor/plasteel, /area/medical/genetics) "dAZ" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -107522,7 +107522,7 @@ /obj/structure/sign/poster/official/do_not_question{ pixel_y = -32 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/purple{ dir = 8 }, @@ -109385,7 +109385,7 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "dEe" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/item/radio/intercom{ name = "Station Intercom"; pixel_y = -26 @@ -109776,7 +109776,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/science/robotics/lab) "dEO" = ( @@ -110063,7 +110063,7 @@ /turf/open/floor/wood, /area/crew_quarters/theatre/abandoned) "dFq" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood{ icon_state = "wood-broken5" }, @@ -111023,7 +111023,7 @@ /obj/machinery/newscaster{ pixel_x = -32 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plating, /area/security/detectives_office/private_investigators_office) "dGM" = ( @@ -112562,7 +112562,7 @@ /turf/open/floor/plasteel/white, /area/crew_quarters/heads/cmo) "dJm" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/tile/green{ dir = 8 @@ -112741,7 +112741,7 @@ /obj/machinery/light/small{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/sign/poster/official/do_not_question{ pixel_x = 32 }, @@ -113042,7 +113042,7 @@ /turf/open/floor/circuit/green/telecomms/mainframe, /area/science/server) "dKh" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/purple{ dir = 8 @@ -113446,7 +113446,7 @@ dir = 4 }, /obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, @@ -113694,7 +113694,7 @@ /turf/open/floor/plasteel, /area/maintenance/aft) "dLj" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -113720,7 +113720,7 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "dLl" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, /obj/effect/turf_decal/tile/green{ dir = 4 @@ -113832,7 +113832,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel/grimy, /area/crew_quarters/theatre/abandoned) "dLv" = ( @@ -114155,7 +114155,7 @@ /turf/open/floor/plasteel, /area/science/research) "dMg" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -114736,7 +114736,7 @@ /area/crew_quarters/theatre/abandoned) "dNb" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/theatre/abandoned) "dNc" = ( @@ -114744,7 +114744,7 @@ dir = 1; pixel_y = -22 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood{ icon_state = "wood-broken3" }, @@ -115520,7 +115520,7 @@ /turf/open/floor/plasteel, /area/maintenance/port/aft) "dOz" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/airalarm{ dir = 4; pixel_x = -23 @@ -115600,7 +115600,7 @@ name = "hallway camera" }, /obj/effect/turf_decal/bot, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, @@ -115651,7 +115651,7 @@ /area/hallway/primary/aft) "dOI" = ( /obj/machinery/light/small, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/tile/green{ dir = 8 @@ -116048,7 +116048,7 @@ /area/library/abandoned) "dPw" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -116074,7 +116074,7 @@ /area/library/abandoned) "dPz" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel/dark, /area/library/abandoned) "dPA" = ( @@ -116109,7 +116109,7 @@ /area/library/abandoned) "dPE" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel/grimy, /area/library/abandoned) "dPF" = ( @@ -116488,7 +116488,7 @@ /turf/open/floor/plating, /area/medical/virology) "dQi" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/green{ dir = 1 }, @@ -116498,7 +116498,7 @@ /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/green{ dir = 1 }, @@ -116508,7 +116508,7 @@ /turf/open/floor/plasteel/white, /area/medical/virology) "dQk" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/green{ dir = 4 }, @@ -116565,7 +116565,7 @@ /obj/structure/extinguisher_cabinet{ pixel_x = 26 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/green{ dir = 4 }, @@ -118258,14 +118258,14 @@ /turf/open/floor/plasteel/grimy, /area/library/abandoned) "dTq" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood{ icon_state = "wood-broken7" }, /area/library/abandoned) "dTr" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood{ icon_state = "wood-broken" }, @@ -118332,7 +118332,7 @@ /turf/open/floor/plasteel/dark, /area/chapel/office) "dTz" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -118356,7 +118356,7 @@ "dTC" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, @@ -118420,7 +118420,7 @@ /area/hallway/secondary/exit/departure_lounge) "dTJ" = ( /obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, @@ -118672,7 +118672,7 @@ /turf/open/floor/plasteel/dark, /area/chapel/office) "dUk" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light{ dir = 4 }, @@ -118739,7 +118739,7 @@ /turf/open/floor/plasteel/dark, /area/chapel/main) "dUo" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -118760,7 +118760,7 @@ /turf/open/floor/plasteel/dark, /area/chapel/main) "dUq" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/item/radio/intercom{ name = "Station Intercom"; pixel_y = 26 @@ -118826,7 +118826,7 @@ "dUv" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel, @@ -118892,7 +118892,7 @@ /area/hallway/secondary/exit/departure_lounge) "dUB" = ( /obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel, @@ -119219,7 +119219,7 @@ /obj/machinery/status_display/evac{ pixel_y = 32 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/virology) @@ -119799,11 +119799,11 @@ /area/library/abandoned) "dWE" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plating, /area/library/abandoned) "dWF" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plating, /area/library/abandoned) "dWG" = ( @@ -119874,7 +119874,7 @@ /turf/open/floor/plasteel/dark, /area/chapel/office) "dWM" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/camera{ c_tag = "Chapel - Port"; dir = 4; @@ -119913,7 +119913,7 @@ }, /area/chapel/main) "dWR" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel{ dir = 4; icon_state = "chapel" @@ -120453,7 +120453,7 @@ icon_state = "1-2" }, /obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel, @@ -120669,7 +120669,7 @@ }, /area/library/abandoned) "dYl" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light/small, /turf/open/floor/wood{ icon_state = "wood-broken3" @@ -120693,7 +120693,7 @@ /area/library/abandoned) "dYo" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/library/abandoned) "dYp" = ( @@ -120831,7 +120831,7 @@ icon_state = "1-2" }, /obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, @@ -120930,7 +120930,7 @@ /turf/open/floor/plasteel, /area/medical/virology) "dYS" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/virology) @@ -120939,7 +120939,7 @@ /obj/machinery/status_display/evac{ pixel_y = -32 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/virology) @@ -121213,7 +121213,7 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel, @@ -121645,7 +121645,7 @@ /obj/structure/sign/nanotrasen{ pixel_y = -32 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, @@ -122439,7 +122439,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plating, /area/maintenance/port/aft) "ebP" = ( @@ -122545,7 +122545,7 @@ }, /area/chapel/main) "ebZ" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light{ dir = 4 }, @@ -122833,7 +122833,7 @@ /turf/open/floor/plasteel/dark, /area/chapel/main) "ecE" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light_switch{ pixel_x = 24; pixel_y = -24 @@ -122858,7 +122858,7 @@ name = "departures camera" }, /obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, @@ -123655,7 +123655,7 @@ /turf/open/floor/plasteel/grimy, /area/chapel/office) "edW" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/sign/warning/nosmoking{ pixel_x = 32 }, @@ -123811,7 +123811,7 @@ /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/stripes/line{ dir = 10 }, @@ -123857,7 +123857,7 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/stripes/line{ dir = 6 }, @@ -123923,7 +123923,7 @@ /turf/open/floor/plasteel/grimy, /area/chapel/office) "eey" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/camera{ c_tag = "Chapel Quarters"; name = "chapel camera" @@ -124826,7 +124826,7 @@ /turf/open/floor/plasteel, /area/security/checkpoint/escape) "egi" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/red, /obj/effect/turf_decal/tile/red{ dir = 8 @@ -125307,7 +125307,7 @@ /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/camera{ c_tag = "MiniSat Service Bay"; dir = 8; @@ -127124,7 +127124,7 @@ /turf/open/floor/plasteel/dark, /area/engine/atmos) "wIf" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/security/prison) "xaf" = ( diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index bcd8531349..356eefbd35 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -17954,7 +17954,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-20" }, /turf/open/floor/plasteel, @@ -21310,7 +21310,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /turf/open/floor/plasteel, @@ -21871,7 +21871,7 @@ dir = 1; pixel_y = -24 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-08" }, /turf/open/floor/wood, @@ -24440,7 +24440,7 @@ /obj/effect/turf_decal/tile/purple{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-13" }, /turf/open/floor/plasteel, @@ -24489,7 +24489,7 @@ /obj/effect/turf_decal/tile/purple{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /turf/open/floor/plasteel, @@ -30040,7 +30040,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /turf/open/floor/plasteel/white, @@ -34129,7 +34129,7 @@ /obj/machinery/light_switch{ pixel_y = -23 }, -/obj/item/twohanded/required/kirbyplants/dead, +/obj/item/kirbyplants/dead, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/heads/hor) "bCg" = ( @@ -39291,7 +39291,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /turf/open/floor/plasteel/white/side{ dir = 1 }, @@ -48747,8 +48747,8 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/item/twohanded/rcl/pre_loaded, -/obj/item/twohanded/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, /turf/open/floor/plasteel, /area/engine/engineering) "cnB" = ( @@ -52280,7 +52280,7 @@ /obj/structure/table/reinforced, /obj/machinery/cell_charger, /obj/item/stock_parts/cell/high/plus, -/obj/item/twohanded/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, /turf/open/floor/plasteel, /area/crew_quarters/heads/chief) "cBN" = ( @@ -53998,7 +53998,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-04" }, /turf/open/floor/plasteel/white, @@ -54135,7 +54135,7 @@ /turf/open/floor/plating, /area/crew_quarters/fitness) "exP" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-14" }, /turf/open/floor/plasteel, @@ -54518,7 +54518,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-06" }, /turf/open/floor/plasteel/white/corner{ @@ -54776,7 +54776,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 10 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-18" }, /turf/open/floor/plasteel, @@ -57083,7 +57083,7 @@ /turf/open/floor/plating/snowed/smoothed/icemoon, /area/quartermaster/miningdock) "lPr" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "applebush" }, /turf/open/floor/plasteel, @@ -58881,7 +58881,7 @@ /turf/open/floor/carpet, /area/crew_quarters/theatre) "qTV" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel/white, diff --git a/_maps/map_files/IceBoxStation/IcemoonUnderground_Above.dmm b/_maps/map_files/IceBoxStation/IcemoonUnderground_Above.dmm index c3866d387c..0aef643b5a 100644 --- a/_maps/map_files/IceBoxStation/IcemoonUnderground_Above.dmm +++ b/_maps/map_files/IceBoxStation/IcemoonUnderground_Above.dmm @@ -2321,7 +2321,7 @@ /area/mine/laborcamp) "mL" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/mine/laborcamp) "mS" = ( @@ -2493,7 +2493,7 @@ dir = 4; network = list("labor") }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/mine/laborcamp) "pu" = ( diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 8545545701..84da15075b 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -3429,7 +3429,7 @@ /obj/structure/cable{ icon_state = "0-8" }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /turf/open/floor/plasteel/showroomfloor, @@ -8802,7 +8802,7 @@ /turf/open/floor/plating, /area/medical/virology) "aoR" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ @@ -8959,7 +8959,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /turf/open/floor/plasteel/dark, /area/security/courtroom) "apj" = ( @@ -9122,7 +9122,7 @@ /turf/open/floor/plasteel/dark, /area/teleporter) "apw" = ( -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, @@ -10947,7 +10947,7 @@ /turf/open/floor/engine, /area/space) "asg" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel/dark, @@ -11992,7 +11992,7 @@ /turf/open/floor/circuit/green/telecomms/mainframe, /area/tcommsat/server) "atV" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /obj/effect/turf_decal/tile/neutral, @@ -14194,7 +14194,7 @@ /obj/machinery/cell_charger, /obj/item/stock_parts/cell/hyper, /obj/item/stack/cable_coil, -/obj/item/twohanded/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, @@ -14307,8 +14307,8 @@ /obj/item/stack/cable_coil, /obj/item/electronics/apc, /obj/item/electronics/apc, -/obj/item/twohanded/rcl/pre_loaded, -/obj/item/twohanded/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, /turf/open/floor/plasteel/dark, /area/engine/engineering) "axR" = ( @@ -17393,7 +17393,7 @@ dir = 4 }, /obj/effect/turf_decal/tile/blue, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ @@ -19751,7 +19751,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /turf/open/floor/plasteel, @@ -19770,7 +19770,7 @@ dir = 8 }, /obj/effect/turf_decal/tile/neutral, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ desc = "After his promotion, he was transferred to Kilo Station to serve as the gateway's protector."; icon_state = "plant-21"; name = "rodger" @@ -20601,7 +20601,7 @@ dir = 8 }, /obj/effect/turf_decal/tile/blue, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /turf/open/floor/plasteel/showroomfloor, @@ -20638,7 +20638,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/dark, @@ -21015,7 +21015,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/light{ @@ -22183,7 +22183,7 @@ /area/hallway/primary/aft) "aKO" = ( /obj/effect/decal/cleanable/cobweb, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-03" }, /obj/effect/decal/cleanable/blood/old, @@ -22217,7 +22217,7 @@ /turf/open/floor/plasteel, /area/engine/atmos) "aKR" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /turf/open/floor/wood, @@ -22678,7 +22678,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/airalarm{ @@ -24453,7 +24453,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /turf/open/floor/plasteel/showroomfloor, @@ -24742,7 +24742,7 @@ /obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, @@ -24875,7 +24875,7 @@ dir = 1 }, /obj/effect/turf_decal/tile/purple, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /obj/machinery/button/door{ @@ -28508,7 +28508,7 @@ dir = 1 }, /obj/effect/turf_decal/tile/blue, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-18" }, /obj/machinery/camera{ @@ -28850,7 +28850,7 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /obj/structure/disposalpipe/segment{ @@ -28949,7 +28949,7 @@ dir = 1 }, /obj/effect/decal/cleanable/cobweb, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -30057,7 +30057,7 @@ dir = 1 }, /obj/effect/turf_decal/tile/yellow, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-18" }, /turf/open/floor/plasteel/showroomfloor, @@ -33871,7 +33871,7 @@ }, /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/neutral, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /turf/open/floor/plasteel, @@ -38995,7 +38995,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /turf/open/floor/plasteel, @@ -39329,7 +39329,7 @@ /obj/effect/turf_decal/tile/green{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-14" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -39570,7 +39570,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /obj/structure/cable{ icon_state = "4-8" }, @@ -39609,7 +39609,7 @@ /area/quartermaster/sorting) "blR" = ( /obj/effect/turf_decal/tile/neutral, -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /obj/structure/cable{ icon_state = "4-8" }, @@ -39926,7 +39926,7 @@ /turf/open/floor/plasteel/dark, /area/quartermaster/storage) "bmo" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /obj/machinery/firealarm{ @@ -40112,7 +40112,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/dark, @@ -40963,7 +40963,7 @@ dir = 4 }, /obj/effect/turf_decal/tile/yellow, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /turf/open/floor/plasteel, @@ -40995,7 +40995,7 @@ /turf/open/floor/plasteel/dark, /area/quartermaster/office) "bnZ" = ( -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, @@ -42304,7 +42304,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /obj/machinery/power/apc/highcap/ten_k{ areastring = "/area/bridge"; dir = 8; @@ -42955,7 +42955,7 @@ /obj/effect/turf_decal/tile/yellow{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-03" }, /obj/machinery/light{ @@ -43021,7 +43021,7 @@ dir = 1 }, /obj/effect/turf_decal/tile/neutral, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /turf/open/floor/plasteel/dark, @@ -43219,7 +43219,7 @@ /obj/machinery/light/small{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/structure/spider/stickyweb, @@ -43859,7 +43859,7 @@ /turf/open/floor/plasteel/dark, /area/quartermaster/office) "bsA" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral{ @@ -44010,7 +44010,7 @@ /turf/open/floor/plasteel, /area/hydroponics) "bsM" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/light_switch{ @@ -44139,7 +44139,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /turf/open/floor/plasteel, @@ -44747,7 +44747,7 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/bar) "btZ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/neutral{ @@ -45149,7 +45149,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -45875,7 +45875,7 @@ /turf/open/floor/plasteel/showroomfloor, /area/crew_quarters/toilet/restrooms) "bvP" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-14" }, /turf/open/floor/plasteel/showroomfloor, @@ -45929,7 +45929,7 @@ /turf/open/floor/plasteel/dark, /area/library) "bvV" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -45972,7 +45972,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "applebush" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -46003,7 +46003,7 @@ /obj/structure/noticeboard{ pixel_y = 30 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-17"; pixel_x = -8; pixel_y = 3 @@ -46127,7 +46127,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /obj/structure/extinguisher_cabinet{ pixel_x = 24 }, @@ -46867,7 +46867,7 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/fitness/recreation) "bxF" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral{ @@ -46973,14 +46973,14 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-03" }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "bxO" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /turf/open/floor/plasteel/showroomfloor, @@ -47268,7 +47268,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, @@ -48699,7 +48699,7 @@ dir = 4 }, /obj/effect/turf_decal/tile/blue, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/structure/disposalpipe/segment, @@ -49045,7 +49045,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -49726,7 +49726,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ dir = 6 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel, @@ -51812,7 +51812,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/dark, @@ -51940,7 +51940,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ dir = 9 }, -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /obj/structure/cable{ icon_state = "1-8" }, @@ -52037,7 +52037,7 @@ /obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /obj/machinery/airalarm{ @@ -53284,7 +53284,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ dir = 10 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /turf/open/floor/plasteel, @@ -53308,7 +53308,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ dir = 6 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /turf/open/floor/plasteel/dark/corner{ @@ -54408,7 +54408,7 @@ }, /obj/effect/turf_decal/tile/neutral, /obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/structure/extinguisher_cabinet{ @@ -54431,7 +54431,7 @@ dir = 4 }, /obj/effect/turf_decal/tile/neutral, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /obj/structure/extinguisher_cabinet{ @@ -54783,7 +54783,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/item/radio/intercom{ @@ -55595,7 +55595,7 @@ dir = 8 }, /obj/effect/turf_decal/tile/neutral, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-03" }, /obj/structure/cable{ @@ -55785,7 +55785,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /obj/machinery/firealarm{ @@ -56182,7 +56182,7 @@ /obj/item/radio/intercom{ pixel_x = -28 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-02"; pixel_y = 3 }, @@ -57853,7 +57853,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /obj/machinery/power/apc/highcap/five_k{ @@ -58151,7 +58151,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-02"; pixel_y = 3 }, @@ -58245,7 +58245,7 @@ }, /obj/effect/turf_decal/tile/neutral, /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-11" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -58404,7 +58404,7 @@ /obj/machinery/status_display/ai{ pixel_x = 32 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, @@ -58487,7 +58487,7 @@ /area/hallway/primary/central) "bPT" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-02"; pixel_y = 3 }, @@ -58628,7 +58628,7 @@ dir = 4 }, /obj/effect/turf_decal/tile/red, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -59285,7 +59285,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/decal/cleanable/dirt, @@ -60375,7 +60375,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /turf/open/floor/plasteel, @@ -60730,7 +60730,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /turf/open/floor/plasteel, @@ -60978,7 +60978,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-02"; pixel_y = 3 }, @@ -62455,7 +62455,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/dark, @@ -63056,7 +63056,7 @@ dir = 8 }, /obj/effect/turf_decal/tile/neutral, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-03" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -63297,7 +63297,7 @@ dir = 8 }, /obj/effect/turf_decal/tile/yellow, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /obj/machinery/light, @@ -63578,7 +63578,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-02"; pixel_y = 3 }, @@ -64074,7 +64074,7 @@ dir = 1 }, /obj/effect/turf_decal/tile/red, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /obj/structure/noticeboard{ @@ -64688,7 +64688,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) "bZx" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral, @@ -64971,7 +64971,7 @@ /obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/light_switch{ @@ -65993,7 +65993,7 @@ dir = 8 }, /obj/effect/turf_decal/tile/yellow, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/decal/cleanable/dirt, @@ -66543,7 +66543,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /obj/structure/cable{ @@ -67263,7 +67263,7 @@ dir = 8 }, /obj/effect/turf_decal/tile/neutral, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/showroomfloor, @@ -67361,7 +67361,7 @@ dir = 8 }, /obj/effect/turf_decal/tile/neutral, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-02"; pixel_y = 3 }, @@ -67612,7 +67612,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-03" }, /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ @@ -68131,7 +68131,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/showroomfloor, @@ -68160,7 +68160,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ dir = 9 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-02"; pixel_y = 3 }, @@ -68229,7 +68229,7 @@ dir = 4 }, /obj/effect/turf_decal/tile/neutral, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, @@ -68253,7 +68253,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /obj/effect/turf_decal/tile/neutral{ @@ -71553,7 +71553,7 @@ /turf/open/floor/plasteel, /area/security/processing) "cld" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-02"; pixel_y = 3 }, @@ -72405,7 +72405,7 @@ /obj/structure/noticeboard{ pixel_y = 28 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /turf/open/floor/plasteel, @@ -72425,7 +72425,7 @@ /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-03" }, /turf/open/floor/plasteel, @@ -80546,7 +80546,7 @@ /turf/open/floor/plasteel/dark, /area/maintenance/fore) "cDr" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-02"; pixel_y = 3 }, @@ -80828,7 +80828,7 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/security/armory) "cDT" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /obj/effect/turf_decal/tile/neutral, @@ -84619,7 +84619,7 @@ icon_state = "1-4" }, /obj/machinery/airalarm/directional/west, -/obj/item/twohanded/required/kirbyplants/dead, +/obj/item/kirbyplants/dead, /turf/open/floor/wood, /area/security/vacantoffice) "esR" = ( @@ -85474,7 +85474,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 diff --git a/_maps/map_files/LambdaStation/lambda.dmm b/_maps/map_files/LambdaStation/lambda.dmm index a24d5d666d..45f0721cc0 100644 --- a/_maps/map_files/LambdaStation/lambda.dmm +++ b/_maps/map_files/LambdaStation/lambda.dmm @@ -15609,7 +15609,7 @@ /obj/effect/turf_decal/tile/purple{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/newscaster{ pixel_x = -30 }, @@ -15985,7 +15985,7 @@ /turf/closed/wall/r_wall, /area/crew_quarters/heads/hor/private) "aDh" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/heads/hor/private) "aDi" = ( @@ -16008,7 +16008,7 @@ /obj/effect/turf_decal/tile/purple{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel/white, /area/science/explab) "aDl" = ( @@ -21689,7 +21689,7 @@ /turf/open/floor/plasteel, /area/security/brig) "aNv" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/trimline/neutral/filled/corner, /turf/open/floor/plasteel/dark, /area/security/brig) @@ -21757,7 +21757,7 @@ /turf/open/floor/plasteel/grimy, /area/lawoffice) "aNA" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-08" }, /obj/structure/disposalpipe/segment{ @@ -23806,7 +23806,7 @@ /turf/open/floor/plasteel, /area/security/range) "aRr" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) "aRs" = ( @@ -23836,7 +23836,7 @@ dir = 8; light_color = "#e8eaff" }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/heads/hop/private) "aRw" = ( @@ -25007,7 +25007,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/command) "aTI" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/hallway/secondary/command) "aTJ" = ( @@ -25232,7 +25232,7 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "aUi" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/camera/autoname{ dir = 1 }, @@ -27583,7 +27583,7 @@ /turf/open/floor/plating, /area/crew_quarters/heads/captain) "aYV" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/heads/captain) "aYX" = ( @@ -34832,7 +34832,7 @@ /obj/effect/turf_decal/tile{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) "bmX" = ( @@ -36562,7 +36562,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/crew_quarters/cafeteria) "bqv" = ( @@ -38503,7 +38503,7 @@ dir = 8 }, /obj/effect/turf_decal/tile/red, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) "buh" = ( @@ -42119,7 +42119,7 @@ /turf/open/floor/plasteel/white, /area/medical/cryo) "bBv" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ dir = 1 @@ -45631,7 +45631,7 @@ /turf/open/floor/carpet/blue, /area/crew_quarters/heads/cmo/private) "bHP" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/heads/cmo/private) "bHQ" = ( @@ -48281,7 +48281,7 @@ /obj/structure/cable{ icon_state = "1-4" }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable{ icon_state = "0-4" @@ -50303,7 +50303,7 @@ /turf/open/floor/wood, /area/maintenance/bar) "bPX" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/crew_quarters/cafeteria) "bPY" = ( @@ -50980,7 +50980,7 @@ /turf/open/floor/plasteel/dark, /area/bridge/showroom/corporate) "bRs" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "bRu" = ( @@ -51420,7 +51420,7 @@ /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "bSx" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 }, @@ -52114,7 +52114,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/starboard) "bTR" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/grimy, @@ -55495,7 +55495,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/cable{ icon_state = "1-2" }, @@ -56283,7 +56283,7 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/chief) "cbt" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/light_switch{ pixel_x = 26; pixel_y = -26 @@ -60353,8 +60353,8 @@ }, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, -/obj/item/twohanded/rcl/pre_loaded, -/obj/item/twohanded/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, /turf/open/floor/plasteel, /area/engine/break_room) "ckz" = ( @@ -61193,7 +61193,7 @@ /turf/open/floor/plasteel/dark, /area/storage/tcom) "cml" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/cable{ icon_state = "1-8" }, @@ -63314,7 +63314,7 @@ /area/engine/break_room) "cqz" = ( /obj/machinery/light, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/cable{ icon_state = "1-4" }, @@ -64541,7 +64541,7 @@ /turf/open/floor/plasteel, /area/engine/atmos) "ctc" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile{ dir = 1 }, @@ -64551,7 +64551,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "ctd" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile{ dir = 4 }, @@ -64812,7 +64812,7 @@ /obj/structure/cable{ icon_state = "1-8" }, -/obj/item/twohanded/required/kirbyplants/photosynthetic, +/obj/item/kirbyplants/photosynthetic, /obj/structure/disposalpipe/segment{ dir = 9 }, @@ -66743,7 +66743,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "cyc" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 6 }, @@ -66846,8 +66846,8 @@ }, /obj/item/electronics/airlock, /obj/item/electronics/airlock, -/obj/item/twohanded/rcl/pre_loaded, -/obj/item/twohanded/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, /turf/open/floor/plasteel, /area/engine/storage_shared) "cyq" = ( @@ -67738,7 +67738,7 @@ /turf/open/floor/plasteel/dark, /area/bridge) "cAd" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 4 }, @@ -70418,7 +70418,7 @@ /area/crew_quarters/locker) "cFb" = ( /obj/machinery/light, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-18" }, /obj/item/radio/intercom{ @@ -75054,7 +75054,7 @@ /turf/open/floor/plasteel, /area/engine/atmos) "cNx" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/machinery/camera{ c_tag = "Atmospherics - Control Room"; dir = 4 @@ -78132,7 +78132,7 @@ /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "cUc" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 }, @@ -78142,7 +78142,7 @@ /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "cUd" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/sign/departments/holy{ pixel_x = -32 }, @@ -78409,7 +78409,7 @@ /turf/open/floor/plating, /area/maintenance/starboard/aft) "cUN" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/heads/chief/private) "cUO" = ( @@ -80608,7 +80608,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel/dark, /area/science/circuit) "gIA" = ( @@ -80949,7 +80949,7 @@ /obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) "kNb" = ( diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 4edcce491f..07fba56f90 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -226,7 +226,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-03" }, /turf/open/floor/plasteel, @@ -245,7 +245,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /turf/open/floor/plasteel, /area/security/prison) "aaE" = ( @@ -1224,7 +1224,7 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-13" }, /turf/open/floor/plasteel, @@ -2668,7 +2668,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /obj/structure/sign/warning/securearea{ @@ -2992,7 +2992,7 @@ /turf/open/floor/plating, /area/maintenance/solars/port/fore) "afF" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "applebush" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -13095,7 +13095,7 @@ /turf/open/space, /area/space/nearstation) "aze" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -14390,7 +14390,7 @@ /area/maintenance/starboard/fore) "aBD" = ( /obj/effect/decal/cleanable/cobweb, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-20"; pixel_y = 3 }, @@ -17086,8 +17086,8 @@ /obj/effect/turf_decal/bot{ dir = 1 }, -/obj/item/twohanded/rcl/pre_loaded, -/obj/item/twohanded/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, /turf/open/floor/plasteel{ dir = 1 }, @@ -18151,7 +18151,7 @@ name = "Law Office APC"; pixel_y = 24 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/wood, @@ -19167,7 +19167,7 @@ c_tag = "AI Upload Chamber - Fore"; network = list("aiupload") }, -/obj/item/twohanded/required/kirbyplants/photosynthetic{ +/obj/item/kirbyplants/photosynthetic{ pixel_y = 10 }, /turf/open/floor/plasteel/dark, @@ -21676,7 +21676,7 @@ /obj/structure/extinguisher_cabinet{ pixel_x = -27 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-03" }, /obj/effect/turf_decal/tile/neutral{ @@ -23959,7 +23959,7 @@ /turf/open/floor/plating, /area/hallway/secondary/entry) "aVt" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-13" }, /obj/effect/turf_decal/stripes/line{ @@ -24307,7 +24307,7 @@ /obj/machinery/airalarm{ pixel_y = 23 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "applebush" }, /obj/effect/turf_decal/tile/neutral{ @@ -24418,7 +24418,7 @@ /obj/structure/extinguisher_cabinet{ pixel_x = 27 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /obj/item/radio/intercom{ @@ -25667,7 +25667,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "aYF" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /obj/effect/turf_decal/stripes/line{ @@ -26197,7 +26197,7 @@ charge = 100; maxcharge = 15000 }, -/obj/item/twohanded/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, /obj/effect/turf_decal/tile/neutral{ dir = 8 }, @@ -36993,7 +36993,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "btR" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-18" }, /obj/effect/turf_decal/stripes/line{ @@ -37777,7 +37777,7 @@ /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) "bvB" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-20" }, /obj/effect/turf_decal/stripes/line{ @@ -40423,7 +40423,7 @@ /turf/open/floor/wood, /area/library) "bBx" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/wood, @@ -43959,7 +43959,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/yellow, @@ -44131,7 +44131,7 @@ /turf/open/floor/circuit/telecomms/mainframe, /area/tcommsat/server) "bJh" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/grimy, @@ -44939,7 +44939,7 @@ /turf/open/floor/plasteel/dark, /area/aisat) "bKS" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-06" }, /obj/effect/turf_decal/stripes/line{ @@ -45769,7 +45769,7 @@ icon_state = "map-right-MS"; pixel_y = -32 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-03" }, /obj/effect/turf_decal/tile/blue{ @@ -51025,7 +51025,7 @@ /obj/structure/extinguisher_cabinet{ pixel_x = -27 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "applebush" }, /obj/effect/turf_decal/tile/blue{ @@ -51121,7 +51121,7 @@ dir = 8; pixel_x = 24 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /obj/effect/turf_decal/tile/purple, @@ -54627,7 +54627,7 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "ceI" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-11" }, /obj/effect/turf_decal/tile/yellow, @@ -54722,7 +54722,7 @@ name = "Station Intercom (General)"; pixel_y = -30 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-08" }, /obj/effect/turf_decal/tile/purple, @@ -59534,7 +59534,7 @@ /turf/open/floor/plasteel/white, /area/science/research) "coj" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /obj/effect/turf_decal/tile/purple, @@ -64240,7 +64240,7 @@ /obj/machinery/light_switch{ pixel_x = -23 }, -/obj/item/twohanded/required/kirbyplants/dead, +/obj/item/kirbyplants/dead, /turf/open/floor/plasteel/cafeteria{ dir = 5 }, @@ -68833,7 +68833,7 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/aft) "cFQ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -71165,7 +71165,7 @@ /turf/open/floor/plasteel/white, /area/science/research) "cJQ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /obj/effect/turf_decal/tile/purple{ @@ -72345,7 +72345,7 @@ /obj/structure/extinguisher_cabinet{ pixel_x = 27 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-14" }, /obj/effect/turf_decal/stripes/line{ @@ -74186,7 +74186,7 @@ /obj/structure/extinguisher_cabinet{ pixel_x = -27 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-04" }, /obj/effect/turf_decal/stripes/line{ @@ -74252,7 +74252,7 @@ name = "Station Intercom (General)"; pixel_x = 29 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /obj/effect/turf_decal/stripes/line{ @@ -79803,7 +79803,7 @@ c_tag = "Departure Lounge - Port Fore"; dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-24" }, /obj/effect/turf_decal/stripes/line{ @@ -82837,7 +82837,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /turf/open/floor/plasteel/white, diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index 97984fa656..737028385a 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -192,14 +192,14 @@ /area/ruin/unpowered/ash_walkers) "ft" = ( /obj/structure/stone_tile/block, -/obj/item/twohanded/bonespear, +/obj/item/spear/bonespear, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) "fN" = ( /obj/structure/stone_tile{ dir = 4 }, -/obj/item/twohanded/bonespear, +/obj/item/spear/bonespear, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) "fQ" = ( @@ -529,7 +529,7 @@ }, /obj/structure/table/wood, /obj/item/clothing/head/helmet/roman/legionnaire, -/obj/item/twohanded/bonespear, +/obj/item/spear/bonespear, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) "iK" = ( @@ -1831,8 +1831,8 @@ "An" = ( /obj/structure/stone_tile/slab, /obj/structure/table/wood, -/obj/item/twohanded/bonespear, -/obj/item/twohanded/bonespear, +/obj/item/spear/bonespear, +/obj/item/spear/bonespear, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) "AH" = ( @@ -1842,7 +1842,7 @@ /obj/structure/stone_tile/cracked{ dir = 8 }, -/obj/item/twohanded/bonespear, +/obj/item/spear/bonespear, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) "AU" = ( @@ -2071,7 +2071,7 @@ }, /obj/structure/table/wood, /obj/item/scythe, -/obj/item/twohanded/bonespear, +/obj/item/spear/bonespear, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) "HX" = ( @@ -2200,7 +2200,7 @@ }, /obj/structure/table/wood, /obj/item/storage/belt, -/obj/item/twohanded/bonespear, +/obj/item/spear/bonespear, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) "Qk" = ( @@ -2429,7 +2429,7 @@ /obj/structure/stone_tile/cracked{ dir = 1 }, -/obj/item/twohanded/bonespear, +/obj/item/spear/bonespear, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) "WT" = ( diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index 4fbfabaf2b..5168b22408 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -545,7 +545,7 @@ dir = 4 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -601,7 +601,7 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/neutral{ @@ -2299,7 +2299,7 @@ /obj/structure/cable/white{ icon_state = "4-8" }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -3040,7 +3040,7 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/captain/private) "afl" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) "afm" = ( @@ -3077,7 +3077,7 @@ /obj/machinery/recharger{ pixel_x = 5 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-15"; pixel_x = -6; pixel_y = 12 @@ -5358,7 +5358,7 @@ /turf/open/floor/plating, /area/security/brig) "ajd" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -5702,7 +5702,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/camera{ @@ -6727,7 +6727,7 @@ /turf/closed/wall, /area/hallway/primary/central) "alm" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/light{ @@ -6783,7 +6783,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/fore) "als" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/light{ @@ -7498,7 +7498,7 @@ pixel_y = -24 }, /obj/machinery/light, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/brown, @@ -8121,7 +8121,7 @@ /turf/open/floor/plasteel, /area/security/brig) "anF" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/door_timer{ @@ -9927,7 +9927,7 @@ /turf/open/floor/plasteel, /area/security/brig) "aqP" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/firealarm{ @@ -10775,7 +10775,7 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/bar/atrium) "ase" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/red{ @@ -10835,7 +10835,7 @@ /turf/open/floor/plasteel, /area/crew_quarters/bar/atrium) "asi" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/red{ @@ -11784,7 +11784,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -12334,7 +12334,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -12840,7 +12840,7 @@ dir = 8; pixel_x = 24 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral, @@ -13579,7 +13579,7 @@ /obj/machinery/status_display/ai{ pixel_y = 32 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/bot, @@ -15982,7 +15982,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/red{ @@ -16712,7 +16712,7 @@ }, /area/engine/break_room) "aDB" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/yellow{ @@ -17399,7 +17399,7 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/dorms) "aEL" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/status_display{ @@ -18152,7 +18152,7 @@ /obj/structure/extinguisher_cabinet{ pixel_x = -26 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/camera{ @@ -18491,7 +18491,7 @@ /turf/open/floor/plasteel, /area/engine/break_room) "aGu" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/yellow, @@ -18917,7 +18917,7 @@ pixel_y = 24; req_access_txt = "10" }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/stripes/line{ @@ -19080,7 +19080,7 @@ /obj/structure/cable/white{ icon_state = "2-8" }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -19388,7 +19388,7 @@ /turf/open/floor/plasteel, /area/crew_quarters/bar/atrium) "aHU" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/structure/sign/poster/random{ @@ -19441,7 +19441,7 @@ /turf/open/floor/plasteel/dark, /area/hallway/primary/starboard) "aHZ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/bot, @@ -21004,8 +21004,8 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/item/twohanded/rcl/pre_loaded, -/obj/item/twohanded/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -21895,7 +21895,7 @@ /turf/open/floor/grass, /area/hydroponics) "aMt" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/light{ @@ -21943,7 +21943,7 @@ /turf/open/floor/plating, /area/maintenance/starboard/central) "aMy" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/bot, @@ -21956,7 +21956,7 @@ /turf/open/floor/plasteel/dark, /area/hallway/primary/starboard) "aMz" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/brown{ @@ -22667,7 +22667,7 @@ /turf/closed/wall, /area/hydroponics) "aOm" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/red{ @@ -22714,7 +22714,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "aOq" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/red{ @@ -23659,7 +23659,7 @@ /turf/open/floor/plasteel/dark, /area/hallway/primary/port/aft) "aPX" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -23949,7 +23949,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/starboard) "aQA" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/newscaster{ @@ -24705,7 +24705,7 @@ /obj/structure/cable/white{ icon_state = "0-2" }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/camera{ @@ -25303,7 +25303,7 @@ /turf/open/floor/plasteel/grimy, /area/crew_quarters/lounge) "aTA" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-18" }, /obj/machinery/camera{ @@ -27128,7 +27128,7 @@ /turf/open/floor/plasteel/grimy, /area/crew_quarters/lounge) "aWR" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -27391,7 +27391,7 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/zone3) "aXu" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/button/door{ @@ -29834,7 +29834,7 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/zone3) "bbr" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/blue, @@ -32733,7 +32733,7 @@ /turf/open/floor/plasteel/dark, /area/maintenance/starboard/aft) "bgw" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/airalarm{ @@ -32756,7 +32756,7 @@ /turf/open/floor/plasteel/dark, /area/maintenance/starboard/aft) "bgy" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -33452,7 +33452,7 @@ /turf/open/floor/plasteel/white/corner, /area/hallway/secondary/entry) "bhL" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -33563,7 +33563,7 @@ /turf/open/floor/plasteel/dark, /area/maintenance/starboard/aft) "bhU" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -34859,7 +34859,7 @@ /turf/closed/wall/r_wall, /area/engine/atmos) "bkt" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/light{ @@ -34902,7 +34902,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "bkE" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -40652,7 +40652,7 @@ /turf/closed/wall/rust, /area/chapel/main) "sLg" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/delivery, diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 2c7d68d692..19324ce694 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -1537,7 +1537,7 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) "afe" = ( -/obj/item/twohanded/required/kirbyplants/photosynthetic{ +/obj/item/kirbyplants/photosynthetic{ pixel_y = 10 }, /obj/structure/cable/yellow{ @@ -1567,7 +1567,7 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) "afg" = ( -/obj/item/twohanded/required/kirbyplants/photosynthetic{ +/obj/item/kirbyplants/photosynthetic{ pixel_y = 10 }, /obj/structure/cable/yellow{ @@ -5479,7 +5479,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel/dark, @@ -9400,7 +9400,7 @@ /area/hallway/primary/central) "awe" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/hallway/primary/central) "awf" = ( @@ -9481,7 +9481,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/stripes/corner{ dir = 4 }, @@ -9625,7 +9625,7 @@ }, /area/crew_quarters/fitness/recreation) "awC" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /obj/machinery/power/apc{ @@ -10071,7 +10071,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/fore) "axF" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /turf/open/floor/plasteel, @@ -10163,7 +10163,7 @@ /obj/structure/cable{ icon_state = "0-2" }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/carpet, /area/crew_quarters/heads/captain) "axT" = ( @@ -11161,7 +11161,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/fore) "aAo" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-14" }, /obj/effect/turf_decal/tile/red, @@ -11857,7 +11857,7 @@ /turf/open/floor/plasteel/white/corner, /area/crew_quarters/fitness/recreation) "aBY" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /turf/open/floor/plasteel, @@ -11924,7 +11924,7 @@ /area/maintenance/department/security/brig) "aCi" = ( /obj/structure/table/wood, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-18"; pixel_y = 12 }, @@ -12011,7 +12011,7 @@ /obj/structure/extinguisher_cabinet{ pixel_y = 30 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -13234,7 +13234,7 @@ /turf/open/floor/wood, /area/crew_quarters/heads/hop) "aEM" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-24" }, /obj/structure/cable{ @@ -13916,7 +13916,7 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/captain) "aGn" = ( -/obj/item/twohanded/required/kirbyplants/photosynthetic{ +/obj/item/kirbyplants/photosynthetic{ layer = 3.1 }, /obj/structure/window/reinforced/fulltile, @@ -15468,7 +15468,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "aKg" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-04" }, /turf/open/floor/plasteel/white/corner{ @@ -16031,7 +16031,7 @@ /obj/machinery/airalarm{ pixel_y = 22 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-14" }, /turf/open/floor/plasteel, @@ -17480,13 +17480,13 @@ /obj/machinery/light/small{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plating, /area/maintenance/department/crew_quarters/bar) "aPy" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plating{ @@ -21277,7 +21277,7 @@ /area/crew_quarters/bar) "aYe" = ( /obj/structure/table/reinforced, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-18"; pixel_y = 10 }, @@ -21326,7 +21326,7 @@ "aYi" = ( /obj/structure/table/reinforced, /obj/structure/disposalpipe/segment, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-18"; pixel_y = 10 }, @@ -21777,7 +21777,7 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/kitchen) "aYY" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /turf/open/floor/plasteel/dark, @@ -22808,7 +22808,7 @@ /turf/open/floor/plasteel, /area/hydroponics) "bbd" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /obj/effect/turf_decal/tile/green, @@ -24508,7 +24508,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bfp" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/button/door{ @@ -24949,7 +24949,7 @@ /turf/open/floor/plasteel, /area/crew_quarters/bar) "bgv" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-14" }, /obj/effect/turf_decal/tile/neutral{ @@ -25911,7 +25911,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "biP" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /obj/structure/disposalpipe/segment{ @@ -26030,7 +26030,7 @@ /turf/open/floor/plasteel, /area/medical/medbay/central) "bji" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /obj/effect/turf_decal/tile/blue, @@ -26083,7 +26083,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bjn" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /obj/effect/turf_decal/tile/purple, @@ -27332,7 +27332,7 @@ /turf/open/floor/plasteel, /area/security/checkpoint/medical) "bmw" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05" }, /obj/effect/turf_decal/tile/blue{ @@ -27711,7 +27711,7 @@ dir = 8; pixel_x = 28 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-11" }, /obj/machinery/light/small{ @@ -27962,7 +27962,7 @@ /turf/open/floor/engine, /area/science/explab) "bnZ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /obj/effect/turf_decal/tile/neutral{ @@ -28330,7 +28330,7 @@ /turf/open/floor/plasteel/dark, /area/hallway/primary/aft) "boT" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/bot, @@ -28357,7 +28357,7 @@ dir = 1 }, /obj/machinery/light, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /obj/effect/turf_decal/tile/neutral{ @@ -30326,7 +30326,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "bsW" = ( -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -30715,7 +30715,7 @@ /turf/open/floor/grass, /area/medical/genetics) "btU" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/blue, @@ -30980,7 +30980,7 @@ /area/science/robotics/lab) "buw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/item/twohanded/required/kirbyplants/photosynthetic{ +/obj/item/kirbyplants/photosynthetic{ pixel_y = 10 }, /obj/effect/turf_decal/tile/purple{ @@ -30999,7 +30999,7 @@ /turf/open/floor/plasteel/dark, /area/science/explab) "buy" = ( -/obj/item/twohanded/required/kirbyplants/photosynthetic{ +/obj/item/kirbyplants/photosynthetic{ pixel_y = 10 }, /obj/effect/turf_decal/tile/purple, @@ -31038,7 +31038,7 @@ /turf/open/floor/plasteel, /area/science/explab) "buD" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-11" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -33011,7 +33011,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants/photosynthetic{ +/obj/item/kirbyplants/photosynthetic{ pixel_y = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -33403,7 +33403,7 @@ /turf/open/floor/plasteel/white, /area/medical/genetics) "bzM" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /obj/effect/turf_decal/tile/green, @@ -34198,7 +34198,7 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/hor) "bBu" = ( -/obj/item/twohanded/required/kirbyplants/dead, +/obj/item/kirbyplants/dead, /obj/structure/disposalpipe/segment{ dir = 10 }, @@ -34295,7 +34295,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "bBB" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-20"; pixel_y = 3 }, @@ -35995,7 +35995,7 @@ /turf/open/floor/plasteel/white, /area/crew_quarters/heads/cmo) "bEH" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-16" }, /obj/machinery/light_switch{ @@ -38239,7 +38239,7 @@ /turf/open/floor/plasteel/dark, /area/maintenance/department/engine) "bJi" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plating, @@ -39421,7 +39421,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "bLT" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "applebush" }, /obj/machinery/airalarm{ @@ -40327,7 +40327,7 @@ /turf/open/floor/plasteel/white, /area/medical/virology) "bNR" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/green, @@ -42444,7 +42444,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "bSP" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-02" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -44961,7 +44961,7 @@ /turf/open/floor/plating, /area/maintenance/department/engine) "bYI" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_y = 3 }, @@ -45728,7 +45728,7 @@ /area/engine/engineering) "caw" = ( /obj/structure/table, -/obj/item/twohanded/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, /turf/open/floor/plasteel, /area/engine/engineering) "cax" = ( @@ -46861,7 +46861,7 @@ /turf/open/floor/plasteel/dark, /area/chapel/main/monastery) "ceK" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-08" }, /turf/open/floor/plasteel/dark, @@ -48018,7 +48018,7 @@ /turf/open/floor/plating, /area/maintenance/department/chapel/monastery) "cjP" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/item/radio/intercom{ @@ -49774,7 +49774,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "cpT" = ( -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -49782,7 +49782,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "cpU" = ( -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ dir = 8 @@ -49979,7 +49979,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "cqE" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-18"; layer = 3 }, @@ -50631,7 +50631,7 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /turf/open/floor/plasteel/dark, @@ -50723,7 +50723,7 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/dark, @@ -51274,7 +51274,7 @@ icon_state = "1-4" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/dark, @@ -51533,7 +51533,7 @@ /turf/open/floor/plating, /area/maintenance/department/chapel/monastery) "cwr" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/structure/cable{ @@ -51978,7 +51978,7 @@ /turf/open/floor/plasteel/dark, /area/library) "cyQ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/camera{ @@ -51991,7 +51991,7 @@ /turf/open/floor/plasteel/dark, /area/library) "cyR" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel/dark, @@ -52243,7 +52243,7 @@ /area/library) "cAs" = ( /obj/structure/table/wood, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05"; pixel_y = 10 }, @@ -53006,7 +53006,7 @@ }, /area/hallway/secondary/exit/departure_lounge) "dpb" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_y = 3 }, @@ -54227,7 +54227,7 @@ /turf/open/floor/plating, /area/maintenance/department/security/brig) "gkR" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/structure/extinguisher_cabinet{ pixel_y = 30 }, @@ -54526,7 +54526,7 @@ /area/science/xenobiology) "gKz" = ( /obj/structure/table/wood, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22"; pixel_y = 8 }, @@ -55664,7 +55664,7 @@ /obj/structure/sign/plaques/deempisi{ pixel_y = 28 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_y = 3 }, @@ -56122,7 +56122,7 @@ /turf/open/floor/carpet, /area/lawoffice) "kxs" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plating, @@ -56433,7 +56433,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /turf/open/floor/plasteel/dark, @@ -57428,7 +57428,7 @@ /turf/open/floor/plasteel/white/corner, /area/hallway/primary/central) "nyO" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/light/small{ @@ -57668,7 +57668,7 @@ /turf/open/floor/engine, /area/engine/supermatter) "nVU" = ( -/obj/item/twohanded/spear, +/obj/item/spear, /turf/open/floor/plating, /area/maintenance/department/engine) "nWP" = ( @@ -58653,7 +58653,7 @@ /turf/open/floor/plasteel/white, /area/science/xenobiology) "pXT" = ( -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /obj/machinery/power/apc{ areastring = "/area/lawoffice"; dir = 8; @@ -58668,7 +58668,7 @@ /turf/closed/wall/r_wall, /area/engine/engineering) "pYw" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-03" }, /obj/structure/extinguisher_cabinet{ diff --git a/_maps/map_files/debug/multiz.dmm b/_maps/map_files/debug/multiz.dmm index 3f7cacd1a8..4614829679 100644 --- a/_maps/map_files/debug/multiz.dmm +++ b/_maps/map_files/debug/multiz.dmm @@ -1300,7 +1300,7 @@ "dO" = ( /obj/structure/table, /obj/machinery/light, -/obj/item/twohanded/fireaxe, +/obj/item/fireaxe, /obj/item/extinguisher, /turf/open/floor/plasteel, /area/storage/primary) diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index 66072817f4..b8d2542c41 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -58,7 +58,7 @@ /obj/structure/table/wood{ layer = 3.3 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05"; pixel_y = 4 }, @@ -294,7 +294,7 @@ /area/holodeck/rec_center/winterwonderland) "aT" = ( /obj/structure/table/wood, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-05"; pixel_y = 10 }, @@ -1686,19 +1686,19 @@ /obj/item/melee/chainofcommand{ name = "chain whip" }, -/obj/item/twohanded/spear, +/obj/item/spear, /turf/open/floor/holofloor/asteroid, /area/holodeck/rec_center/thunderdome1218) "ez" = ( /obj/structure/table/wood, /obj/item/scythe, -/obj/item/twohanded/spear, +/obj/item/spear, /turf/open/floor/holofloor/asteroid, /area/holodeck/rec_center/thunderdome1218) "eA" = ( /obj/structure/table/wood, /obj/item/tailclub, -/obj/item/twohanded/spear, +/obj/item/spear, /turf/open/floor/holofloor/asteroid, /area/holodeck/rec_center/thunderdome1218) "eB" = ( @@ -2916,11 +2916,11 @@ /turf/open/floor/circuit/green/anim, /area/ctf) "hE" = ( -/obj/item/twohanded/ctf/blue, +/obj/item/ctf/blue, /turf/open/floor/circuit/green/anim, /area/ctf) "hF" = ( -/obj/item/twohanded/ctf/red, +/obj/item/ctf/red, /turf/open/floor/circuit/green/anim, /area/ctf) "hG" = ( @@ -4002,7 +4002,7 @@ /turf/open/floor/plasteel/dark, /area/centcom/control) "ke" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral{ @@ -4106,7 +4106,7 @@ /turf/open/floor/plasteel, /area/centcom/supply) "kk" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/neutral{ @@ -4211,7 +4211,7 @@ /turf/open/floor/plasteel/grimy, /area/centcom/control) "kB" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/firealarm{ @@ -4234,7 +4234,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/grimy, @@ -4243,7 +4243,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel/grimy, @@ -4284,13 +4284,13 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/grimy, /area/centcom/control) "kJ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/airalarm{ @@ -4733,7 +4733,7 @@ /turf/open/floor/plasteel, /area/centcom/control) "lQ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/firealarm{ @@ -5168,7 +5168,7 @@ /turf/open/floor/plasteel, /area/centcom/control) "mL" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/green{ @@ -5180,7 +5180,7 @@ /turf/open/floor/plasteel, /area/centcom/control) "mM" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -5957,7 +5957,7 @@ /obj/machinery/status_display/ai{ pixel_y = 32 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-15"; pixel_x = -6; pixel_y = 12 @@ -6171,7 +6171,7 @@ /turf/open/floor/plasteel, /area/centcom/control) "oy" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -6517,7 +6517,7 @@ /turf/open/floor/plasteel/grimy, /area/centcom/ferry) "ph" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/light{ @@ -6751,7 +6751,7 @@ /turf/open/floor/plasteel/dark, /area/centcom/control) "pw" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/structure/extinguisher_cabinet{ @@ -6998,13 +6998,13 @@ /turf/open/floor/plasteel/dark, /area/centcom/ferry) "qd" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/wood, /area/centcom/ferry) "qe" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/light_switch{ @@ -7525,7 +7525,7 @@ /turf/open/floor/plasteel, /area/centcom/ferry) "rt" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/newscaster{ @@ -7550,7 +7550,7 @@ /turf/open/floor/wood, /area/centcom/ferry) "rv" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/light{ @@ -7732,7 +7732,7 @@ /turf/open/floor/grass, /area/centcom/control) "rL" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/structure/extinguisher_cabinet{ @@ -8611,7 +8611,7 @@ /turf/open/floor/plasteel, /area/centcom/ferry) "tJ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/green{ @@ -8650,7 +8650,7 @@ /turf/open/floor/plasteel, /area/centcom/control) "tO" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/green{ @@ -8667,7 +8667,7 @@ /turf/closed/indestructible/riveted, /area/centcom/evac) "tS" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/stripes/line{ @@ -9109,7 +9109,7 @@ /turf/open/floor/plasteel/dark, /area/centcom/ferry) "uT" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/neutral{ @@ -9139,7 +9139,7 @@ /turf/open/floor/plasteel/dark, /area/centcom/ferry) "uV" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral{ @@ -10077,7 +10077,7 @@ /turf/open/floor/plating, /area/centcom/ferry) "xi" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/delivery, @@ -10147,7 +10147,7 @@ /turf/open/floor/plasteel, /area/centcom/control) "xp" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/green{ @@ -10159,7 +10159,7 @@ /turf/open/floor/plasteel, /area/centcom/control) "xq" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/green, @@ -10178,7 +10178,7 @@ /turf/open/floor/plating, /area/centcom/evac) "xs" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/stripes/line{ @@ -10741,7 +10741,7 @@ /turf/open/floor/plasteel/dark, /area/centcom/ferry) "zd" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/light{ @@ -11247,7 +11247,7 @@ /turf/open/floor/plasteel/dark, /area/centcom/ferry) "Am" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/red{ @@ -11268,7 +11268,7 @@ /turf/open/floor/plasteel, /area/centcom/control) "Ap" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/blue, @@ -11541,7 +11541,7 @@ /turf/open/floor/plasteel, /area/centcom/evac) "Ba" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/stripes/line, @@ -12161,7 +12161,7 @@ /turf/open/floor/plasteel/dark, /area/centcom/ferry) "Cw" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/power/apc{ @@ -12198,7 +12198,7 @@ /turf/open/floor/plasteel/dark, /area/centcom/ferry) "Cy" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/machinery/light, @@ -12219,7 +12219,7 @@ /turf/open/floor/plasteel/dark, /area/centcom/ferry) "Cz" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/structure/extinguisher_cabinet{ @@ -12616,7 +12616,7 @@ /turf/open/floor/plasteel/dark, /area/centcom/evac) "Df" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/structure/extinguisher_cabinet{ @@ -13008,7 +13008,7 @@ /turf/open/floor/plasteel/dark, /area/centcom/control) "DV" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/green{ @@ -13017,7 +13017,7 @@ /turf/open/floor/plasteel, /area/centcom/control) "DW" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/green, @@ -13571,7 +13571,7 @@ /turf/open/floor/plasteel, /area/tdome/tdomeobserve) "Fs" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/green{ @@ -13585,7 +13585,7 @@ }, /area/tdome/tdomeobserve) "Fu" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/green, @@ -13670,7 +13670,7 @@ /turf/open/floor/plasteel/white, /area/tdome/tdomeobserve) "FG" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/red, @@ -13750,7 +13750,7 @@ /turf/open/floor/plasteel, /area/tdome/tdomeobserve) "FQ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/green{ @@ -13848,7 +13848,7 @@ }, /area/tdome/tdomeobserve) "Gg" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/neutral{ @@ -13862,7 +13862,7 @@ }, /area/tdome/tdomeobserve) "Gh" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/red{ @@ -13871,7 +13871,7 @@ /turf/open/floor/plasteel, /area/tdome/tdomeobserve) "Gi" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/red{ @@ -13884,7 +13884,7 @@ /turf/open/floor/plasteel, /area/tdome/tdomeobserve) "Gj" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/red, @@ -13913,7 +13913,7 @@ /turf/open/floor/plasteel, /area/tdome/tdomeobserve) "Gn" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/green, @@ -13923,7 +13923,7 @@ /turf/open/floor/plasteel, /area/tdome/tdomeobserve) "Go" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/green, @@ -13936,7 +13936,7 @@ /turf/open/floor/plasteel, /area/tdome/tdomeobserve) "Gp" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/green{ @@ -14876,7 +14876,7 @@ /turf/open/floor/plasteel, /area/tdome/tdomeobserve) "HZ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral, @@ -14966,7 +14966,7 @@ /turf/open/floor/plasteel, /area/tdome/tdomeobserve) "Ig" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral{ @@ -15790,7 +15790,7 @@ /turf/open/floor/plasteel, /area/tdome/tdomeadmin) "JZ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/firealarm{ @@ -15822,7 +15822,7 @@ /turf/open/floor/plasteel/dark, /area/tdome/tdomeadmin) "Kc" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral{ @@ -17577,7 +17577,7 @@ /turf/open/floor/wood, /area/centcom/holding) "RQ" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -18850,7 +18850,7 @@ /turf/open/indestructible/binary, /area/space) "Zh" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /turf/open/indestructible/hotelwood, diff --git a/_maps/shuttles/arrival_delta.dmm b/_maps/shuttles/arrival_delta.dmm index 62e30ef335..16fc34e62b 100644 --- a/_maps/shuttles/arrival_delta.dmm +++ b/_maps/shuttles/arrival_delta.dmm @@ -203,7 +203,7 @@ /obj/machinery/status_display/evac{ pixel_x = -32 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral{ @@ -226,7 +226,7 @@ /obj/machinery/status_display/ai{ pixel_x = 32 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral, @@ -277,7 +277,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/arrival) "A" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral{ @@ -312,7 +312,7 @@ /turf/open/floor/plasteel, /area/shuttle/arrival) "E" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral, diff --git a/_maps/shuttles/arrival_omega.dmm b/_maps/shuttles/arrival_omega.dmm index f580149163..decb5f9d52 100644 --- a/_maps/shuttles/arrival_omega.dmm +++ b/_maps/shuttles/arrival_omega.dmm @@ -138,7 +138,7 @@ /turf/open/floor/plasteel, /area/shuttle/arrival) "o" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, diff --git a/_maps/shuttles/emergency_bar.dmm b/_maps/shuttles/emergency_bar.dmm index 7bc7de9bf1..55fd4bd56a 100644 --- a/_maps/shuttles/emergency_bar.dmm +++ b/_maps/shuttles/emergency_bar.dmm @@ -175,7 +175,7 @@ pixel_x = 6; pixel_y = 24 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -385,7 +385,7 @@ /turf/open/floor/plasteel, /area/shuttle/escape) "bc" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -424,7 +424,7 @@ /turf/open/floor/plasteel, /area/shuttle/escape) "bg" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /obj/effect/turf_decal/tile/bar, @@ -557,7 +557,7 @@ /turf/open/floor/plating/airless, /area/shuttle/escape) "bG" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 diff --git a/_maps/shuttles/emergency_birdboat.dmm b/_maps/shuttles/emergency_birdboat.dmm index 43a6a85bf7..dcffda7ba2 100644 --- a/_maps/shuttles/emergency_birdboat.dmm +++ b/_maps/shuttles/emergency_birdboat.dmm @@ -47,7 +47,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "k" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/mineral/titanium/blue, @@ -144,7 +144,7 @@ /turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "B" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/mineral/titanium, diff --git a/_maps/shuttles/emergency_cere.dmm b/_maps/shuttles/emergency_cere.dmm index f49e70aeb9..9608f7f28a 100644 --- a/_maps/shuttles/emergency_cere.dmm +++ b/_maps/shuttles/emergency_cere.dmm @@ -420,7 +420,7 @@ /turf/open/floor/plasteel/dark, /area/shuttle/escape) "aM" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/item/radio/intercom{ @@ -446,7 +446,7 @@ /turf/open/floor/plasteel/dark, /area/shuttle/escape) "aP" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/item/radio/intercom{ @@ -968,7 +968,7 @@ /turf/open/floor/plasteel, /area/shuttle/escape) "ca" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, @@ -994,7 +994,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, diff --git a/_maps/shuttles/emergency_delta.dmm b/_maps/shuttles/emergency_delta.dmm index 564115443d..b4b22b2ff6 100644 --- a/_maps/shuttles/emergency_delta.dmm +++ b/_maps/shuttles/emergency_delta.dmm @@ -167,7 +167,7 @@ /turf/open/floor/plasteel/white, /area/shuttle/escape) "an" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -196,7 +196,7 @@ /turf/open/floor/plasteel, /area/shuttle/escape) "ap" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -800,7 +800,7 @@ /turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bz" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/button/flasher{ @@ -814,7 +814,7 @@ /turf/open/floor/plasteel, /area/shuttle/escape) "bA" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/effect/turf_decal/tile/neutral{ @@ -1018,7 +1018,7 @@ /turf/open/floor/plasteel/dark, /area/shuttle/escape) "cb" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -1338,7 +1338,7 @@ /turf/open/floor/plasteel, /area/shuttle/escape) "cA" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 diff --git a/_maps/shuttles/emergency_imfedupwiththisworld.dmm b/_maps/shuttles/emergency_imfedupwiththisworld.dmm index 349918ef29..ca2e6059ec 100644 --- a/_maps/shuttles/emergency_imfedupwiththisworld.dmm +++ b/_maps/shuttles/emergency_imfedupwiththisworld.dmm @@ -155,7 +155,7 @@ /turf/open/floor/carpet, /area/shuttle/escape) "y" = ( -/obj/item/twohanded/required/kirbyplants, +/obj/item/kirbyplants, /turf/open/floor/wood, /area/shuttle/escape) "z" = ( diff --git a/_maps/shuttles/emergency_luxury.dmm b/_maps/shuttles/emergency_luxury.dmm index a7faface75..8a16763007 100644 --- a/_maps/shuttles/emergency_luxury.dmm +++ b/_maps/shuttles/emergency_luxury.dmm @@ -305,7 +305,7 @@ /turf/open/floor/carpet/royalblue, /area/shuttle/escape/luxury) "bg" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /turf/open/floor/carpet/red, @@ -320,7 +320,7 @@ /turf/open/floor/carpet/royalblue, /area/shuttle/escape/luxury) "bj" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -328,13 +328,13 @@ /turf/open/floor/wood, /area/shuttle/escape/luxury) "bk" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /turf/open/floor/carpet/royalblue, /area/shuttle/escape/luxury) "bl" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -437,7 +437,7 @@ dir = 4; light_range = 8 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-10" }, /turf/open/floor/carpet/red, diff --git a/_maps/shuttles/emergency_omega.dmm b/_maps/shuttles/emergency_omega.dmm index bd99f35bb5..83b9c28305 100644 --- a/_maps/shuttles/emergency_omega.dmm +++ b/_maps/shuttles/emergency_omega.dmm @@ -194,7 +194,7 @@ /turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "as" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -317,7 +317,7 @@ /turf/open/floor/plasteel, /area/shuttle/escape) "aC" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -530,7 +530,7 @@ /turf/open/floor/plasteel, /area/shuttle/escape) "aS" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 diff --git a/_maps/shuttles/emergency_pubby.dmm b/_maps/shuttles/emergency_pubby.dmm index 0eea5ab1c8..7c43bef2ce 100644 --- a/_maps/shuttles/emergency_pubby.dmm +++ b/_maps/shuttles/emergency_pubby.dmm @@ -110,7 +110,7 @@ /obj/machinery/computer/security/telescreen/entertainment{ pixel_y = 32 }, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; pixel_y = 3 @@ -183,7 +183,7 @@ /area/shuttle/escape) "aB" = ( /obj/structure/window/reinforced, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-11" }, /obj/effect/turf_decal/tile/green, @@ -589,7 +589,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "bu" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/mineral/plastitanium/red/brig, diff --git a/_maps/shuttles/emergency_raven.dmm b/_maps/shuttles/emergency_raven.dmm index 05446968e7..daba49a238 100644 --- a/_maps/shuttles/emergency_raven.dmm +++ b/_maps/shuttles/emergency_raven.dmm @@ -1014,7 +1014,7 @@ /turf/open/floor/plasteel/dark, /area/shuttle/escape) "bV" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/green{ @@ -1029,7 +1029,7 @@ /turf/open/floor/plasteel/dark, /area/shuttle/escape) "bW" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/green{ @@ -1094,7 +1094,7 @@ /turf/open/floor/plasteel/dark, /area/shuttle/escape) "cd" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/green{ @@ -1107,7 +1107,7 @@ /turf/open/floor/plasteel/dark, /area/shuttle/escape) "ce" = ( -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /obj/effect/turf_decal/tile/green, diff --git a/_maps/shuttles/emergency_scrapheap.dmm b/_maps/shuttles/emergency_scrapheap.dmm index 4bd8f07c8e..cc51c2b8f8 100644 --- a/_maps/shuttles/emergency_scrapheap.dmm +++ b/_maps/shuttles/emergency_scrapheap.dmm @@ -194,7 +194,7 @@ /turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aF" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aG" = ( diff --git a/_maps/shuttles/emergency_syndicate.dmm b/_maps/shuttles/emergency_syndicate.dmm index 85048b9d89..3c2c3cb19b 100644 --- a/_maps/shuttles/emergency_syndicate.dmm +++ b/_maps/shuttles/emergency_syndicate.dmm @@ -1351,7 +1351,7 @@ dir = 1 }, /obj/effect/turf_decal/tile/neutral, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel/dark, @@ -1842,7 +1842,7 @@ dir = 1 }, /obj/effect/turf_decal/tile/neutral, -/obj/item/twohanded/required/kirbyplants{ +/obj/item/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel/dark, diff --git a/_maps/shuttles/ferry_lighthouse.dmm b/_maps/shuttles/ferry_lighthouse.dmm index a12e8858cb..1b4e685bd0 100644 --- a/_maps/shuttles/ferry_lighthouse.dmm +++ b/_maps/shuttles/ferry_lighthouse.dmm @@ -236,7 +236,7 @@ /turf/open/floor/wood, /area/shuttle/transport) "bd" = ( -/obj/item/twohanded/required/kirbyplants/dead{ +/obj/item/kirbyplants/dead{ desc = "It doesn't look very healthy..."; name = "potted plant" }, diff --git a/_maps/templates/shelter_2.dmm b/_maps/templates/shelter_2.dmm index 825cb26e3a..0a25527358 100644 --- a/_maps/templates/shelter_2.dmm +++ b/_maps/templates/shelter_2.dmm @@ -93,7 +93,7 @@ /area/survivalpod) "q" = ( /obj/structure/tubes, -/obj/item/twohanded/required/kirbyplants/random, +/obj/item/kirbyplants/random, /turf/open/floor/pod, /area/survivalpod) "r" = ( diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 793454869f..eb71b8b5bb 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -191,8 +191,8 @@ #define COMSIG_MOB_ANTAG_ON_GAIN "mob_antag_on_gain" //from base of /datum/antagonist/on_gain(): (antag_datum) #define COMSIG_MOB_SPELL_CAN_CAST "mob_spell_can_cast" //from base of /obj/effect/proc_holder/spell/can_cast(): (spell) - -#define COMSIG_ROBOT_UPDATE_ICONS "robot_update_icons" //from base of robot/update_icons(): () +#define COMSIG_MOB_SWAP_HANDS "mob_swap_hands" //from base of mob/swap_hand(): (obj/item) + #define COMPONENT_BLOCK_SWAP 1 // /mob/living signals #define COMSIG_LIVING_REGENERATE_LIMBS "living_regenerate_limbs" //from base of /mob/living/regenerate_limbs(): (noheal, excluded_limbs) @@ -235,6 +235,9 @@ #define COMSIG_HOSTILE_ATTACKINGTARGET "hostile_attackingtarget" #define COMPONENT_HOSTILE_NO_ATTACK 1 +// /mob/living/silicon signals +#define COMSIG_ROBOT_UPDATE_ICONS "robot_update_icons" //from base of robot/update_icons(): () + // /obj signals #define COMSIG_OBJ_DECONSTRUCT "obj_deconstruct" //from base of obj/deconstruct(): (disassembled) #define COMSIG_OBJ_BREAK "obj_break" //from base of /obj/obj_break(): (damage_flag) @@ -264,7 +267,12 @@ #define COMSIG_ITEM_ATTACK_ZONE "item_attack_zone" //from base of mob/living/carbon/attacked_by(): (mob/living/carbon/target, mob/living/user, hit_zone) #define COMSIG_ITEM_IMBUE_SOUL "item_imbue_soul" //return a truthy value to prevent ensouling, checked in /obj/effect/proc_holder/spell/targeted/lichdom/cast(): (mob/user) #define COMSIG_ITEM_HIT_REACT "item_hit_react" //from base of obj/item/hit_reaction(): (list/args) -#define COMSIG_ITEM_WEARERCROSSED "wearer_crossed" //called on item when crossed by something (): (/atom/movable) +#define COMSIG_ITEM_WEARERCROSSED "wearer_crossed" //called on item when crossed by something (): (/atom/movable) +#define COMSIG_ITEM_SHARPEN_ACT "sharpen_act" //from base of item/sharpener/attackby(): (amount, max) + #define COMPONENT_BLOCK_SHARPEN_APPLIED 1 + #define COMPONENT_BLOCK_SHARPEN_BLOCKED 2 + #define COMPONENT_BLOCK_SHARPEN_ALREADY 4 + #define COMPONENT_BLOCK_SHARPEN_MAXED 8 #define COMSIG_ITEM_WORN_OVERLAYS "item_worn_overlays" //from base of obj/item/worn_overlays(): (isinhands, icon_file, used_state, style_flags, list/overlays) // THE FOLLOWING TWO BLOCKS SHOULD RETURN BLOCK FLAGS AS DEFINED IN __DEFINES/combat.dm! #define COMSIG_ITEM_CHECK_BLOCK "check_block" //from base of obj/item/check_block(): (mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) @@ -375,6 +383,11 @@ #define COMSIG_TRY_STORAGE_RETURN_INVENTORY "storage_return_inventory" //(list/list_to_inject_results_into, recursively_search_inside_storages = TRUE) #define COMSIG_TRY_STORAGE_CAN_INSERT "storage_can_equip" //(obj/item/insertion_candidate, mob/user, silent) - returns bool +// /datum/component/two_handed signals +#define COMSIG_TWOHANDED_WIELD "twohanded_wield" //from base of datum/component/two_handed/proc/wield(mob/living/carbon/user): (/mob/user) + #define COMPONENT_TWOHANDED_BLOCK_WIELD 1 +#define COMSIG_TWOHANDED_UNWIELD "twohanded_unwield" //from base of datum/component/two_handed/proc/unwield(mob/living/carbon/user): (/mob/user) + // /datum/action signals #define COMSIG_ACTION_TRIGGER "action_trigger" //from base of datum/action/proc/Trigger(): (datum/action) #define COMPONENT_ACTION_BLOCK_TRIGGER 1 diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 42095aba41..0122cc68d8 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -457,7 +457,7 @@ GLOBAL_LIST_INIT(pda_reskins, list(PDA_SKIN_CLASSIC = 'icons/obj/pda.dmi', PDA_S #define EGG_LAYING_MESSAGES list("lays an egg.","squats down and croons.","begins making a huge racket.","begins clucking raucously.") // list of all null rod weapons -#define HOLY_WEAPONS /obj/item/nullrod, /obj/item/twohanded/dualsaber/hypereutactic/chaplain, /obj/item/gun/energy/laser/redtag/hitscan/chaplain, /obj/item/multitool/chaplain, /obj/item/clothing/gloves/fingerless/pugilist/chaplain, /obj/item/melee/baseball_bat/chaplain +#define HOLY_WEAPONS /obj/item/nullrod, /obj/item/dualsaber/hypereutactic/chaplain, /obj/item/gun/energy/laser/redtag/hitscan/chaplain, /obj/item/multitool/chaplain, /obj/item/clothing/gloves/fingerless/pugilist/chaplain, /obj/item/melee/baseball_bat/chaplain // Used by PDA and cartridge code to reduce repetitiveness of spritesheets #define PDAIMG(what) {""} diff --git a/code/controllers/subsystem/traumas.dm b/code/controllers/subsystem/traumas.dm index 87158f021e..f556f7dee7 100644 --- a/code/controllers/subsystem/traumas.dm +++ b/code/controllers/subsystem/traumas.dm @@ -79,7 +79,7 @@ SUBSYSTEM_DEF(traumas) /obj/item/pda/clown, /obj/item/grown/bananapeel)), "greytide" = typecacheof(list(/obj/item/clothing/under/color/grey, /obj/item/melee/baton/cattleprod, - /obj/item/twohanded/spear, /obj/item/clothing/mask/gas)), + /obj/item/spear, /obj/item/clothing/mask/gas)), "lizards" = typecacheof(list(/obj/item/toy/plush/lizardplushie, /obj/item/reagent_containers/food/snacks/kebab/tail, /obj/item/organ/tail/lizard, /obj/item/reagent_containers/food/drinks/bottle/lizardwine)), @@ -120,7 +120,7 @@ SUBSYSTEM_DEF(traumas) /obj/item/card/id/captains_spare, /obj/item/card/id/centcom, /obj/machinery/door/airlock/command)), "the supernatural" = typecacheof(list(/obj/structure/destructible/cult, /obj/item/tome, - /obj/item/melee/cultblade, /obj/item/twohanded/required/cult_bastard, /obj/item/restraints/legcuffs/bola/cult, + /obj/item/melee/cultblade, /obj/item/cult_bastard, /obj/item/restraints/legcuffs/bola/cult, /obj/item/clothing/suit/cultrobes, /obj/item/clothing/suit/space/hardsuit/cult, /obj/item/clothing/suit/hooded/cultrobes, /obj/item/clothing/head/hooded/cult_hoodie, /obj/effect/rune, /obj/item/stack/sheet/runed_metal, /obj/machinery/door/airlock/cult, /obj/singularity/narsie, @@ -151,7 +151,7 @@ SUBSYSTEM_DEF(traumas) "anime" = typecacheof(list(/obj/item/clothing/under/costume/schoolgirl, /obj/item/katana, /obj/item/reagent_containers/food/snacks/sashimi, /obj/item/reagent_containers/food/snacks/chawanmushi, /obj/item/reagent_containers/food/drinks/bottle/sake, /obj/item/throwing_star, /obj/item/clothing/head/kitty/genuine, /obj/item/clothing/suit/space/space_ninja, - /obj/item/clothing/mask/gas/space_ninja, /obj/item/clothing/shoes/space_ninja, /obj/item/clothing/gloves/space_ninja, /obj/item/twohanded/vibro_weapon, + /obj/item/clothing/mask/gas/space_ninja, /obj/item/clothing/shoes/space_ninja, /obj/item/clothing/gloves/space_ninja, /obj/item/vibro_weapon, /obj/item/nullrod/scythe/vibro, /obj/item/energy_katana, /obj/item/toy/katana, /obj/item/nullrod/claymore/katana, /obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe)), "mimes" = typecacheof(list(/obj/item/pda/mime, /obj/item/clothing/under/rank/civilian/mime, /obj/item/clothing/mask/gas/mime, @@ -168,7 +168,7 @@ SUBSYSTEM_DEF(traumas) /obj/machinery/porta_turret/syndicate, /obj/structure/closet/syndicate, /obj/machinery/suit_storage_unit/syndicate, /obj/item/clothing/under/syndicate, /obj/item/folder/syndicate, /obj/item/documents/syndicate, /obj/item/clothing/glasses/phantomthief/syndicate, /obj/item/antag_spawner/nuke_ops, /obj/item/storage/box/syndicate, /obj/structure/fluff/empty_sleeper/syndicate, /obj/item/implant/radio/syndicate, /obj/item/clothing/head/helmet/space/syndicate, /obj/machinery/nuclearbomb/syndicate, /obj/item/grenade/syndieminibomb, /obj/item/storage/backpack/duffelbag/syndie, /obj/item/gun/ballistic/automatic/pistol, /obj/item/gun/ballistic/revolver, /obj/item/gun/ballistic/automatic/shotgun/bulldog, /obj/item/gun/ballistic/automatic/c20r, /obj/item/gun/ballistic/automatic/m90, /obj/item/gun/ballistic/automatic/l6_saw, /obj/item/storage/belt/grenade/full, /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate, /obj/item/gun/energy/kinetic_accelerator/crossbow, - /obj/item/melee/transforming/energy/sword/saber, /obj/item/twohanded/dualsaber, /obj/item/melee/powerfist, /obj/item/storage/box/syndie_kit, /obj/item/grenade/spawnergrenade/manhacks, /obj/item/grenade/chem_grenade/bioterrorfoam, /obj/item/reagent_containers/spray/chemsprayer/bioterror, /obj/item/ammo_box/magazine/m10mm, + /obj/item/melee/transforming/energy/sword/saber, /obj/item/dualsaber, /obj/item/melee/powerfist, /obj/item/storage/box/syndie_kit, /obj/item/grenade/spawnergrenade/manhacks, /obj/item/grenade/chem_grenade/bioterrorfoam, /obj/item/reagent_containers/spray/chemsprayer/bioterror, /obj/item/ammo_box/magazine/m10mm, /obj/item/ammo_box/magazine/pistolm9mm, /obj/item/ammo_box/a357, /obj/item/ammo_box/magazine/m12g, /obj/item/ammo_box/magazine/mm195x129, /obj/item/antag_spawner/nuke_ops, /obj/mecha/combat/gygax/dark, /obj/mecha/combat/marauder/mauler, /obj/item/soap/syndie, /obj/item/gun/syringe/syndicate, /obj/item/cartridge/virus/syndicate, /obj/item/cartridge/virus/frame, /obj/item/chameleon, /obj/item/storage/box/syndie_kit/cutouts, /obj/item/clothing/suit/space/hardsuit/syndi, /obj/item/card/emag, /obj/item/storage/toolbox/syndicate, /obj/item/storage/book/bible/syndicate, /obj/item/encryptionkey/binary, /obj/item/encryptionkey/syndicate, /obj/item/aiModule/syndicate, /obj/item/clothing/shoes/magboots/syndie, /obj/item/powersink, /obj/item/sbeacondrop, /obj/item/sbeacondrop/bomb, /obj/item/syndicatedetonator, /obj/item/shield/energy, /obj/item/assault_pod, /obj/item/slimepotion/slime/sentience/nuclear, /obj/item/stack/telecrystal, /obj/item/jammer, /obj/item/codespeak_manual/unlimited, @@ -176,7 +176,7 @@ SUBSYSTEM_DEF(traumas) /obj/machinery/computer/pod/old/syndicate, /obj/machinery/vending/medical/syndicate_access, /obj/item/mmi/syndie, /obj/item/target/syndicate, /obj/machinery/vending/cigarette/syndicate, /obj/item/robot_module/syndicate, /obj/item/clothing/mask/gas/syndicate, /obj/machinery/power/singularity_beacon/syndicate, /obj/item/clothing/head/syndicatefake, /obj/item/radio/headset/syndicate, /obj/item/gun/ballistic/automatic/pistol/antitank/syndicate, /obj/item/pda/syndicate, /obj/item/clothing/suit/armor/vest/capcarapace/syndicate, /obj/item/gun/ballistic/automatic/flechette, /obj/item/ammo_box/magazine/flechette, /obj/item/clothing/suit/toggle/lawyer/black/syndie, /obj/item/melee/transforming/energy/sword/cx/traitor, /obj/structure/sign/poster/contraband/syndicate_pistol, /obj/structure/sign/poster/contraband/syndicate_recruitment, /obj/item/bedsheet/syndie, /obj/item/borg/upgrade/syndicate, /obj/item/tank/jetpack/oxygen/harness, /obj/item/firing_pin/implant/pindicate, /obj/item/reagent_containers/glass/bottle/traitor, /obj/item/storage/belt/military, - /obj/item/twohanded/shockpaddles/syndicate, /obj/item/clothing/mask/cigarette/syndicate, /obj/item/toy/plush/nukeplushie)), + /obj/item/shockpaddles/syndicate, /obj/item/clothing/mask/cigarette/syndicate, /obj/item/toy/plush/nukeplushie)), "eye" = typecacheof(list(/obj/item/organ/eyes, /obj/item/reagent_containers/syringe)) ) diff --git a/code/datums/components/crafting/recipes/recipes_misc.dm b/code/datums/components/crafting/recipes/recipes_misc.dm index 1ad53aae67..01efbcb07f 100644 --- a/code/datums/components/crafting/recipes/recipes_misc.dm +++ b/code/datums/components/crafting/recipes/recipes_misc.dm @@ -244,7 +244,7 @@ /datum/crafting_recipe/rcl name = "Makeshift Rapid Cable Layer" - result = /obj/item/twohanded/rcl/ghetto + result = /obj/item/rcl/ghetto time = 40 tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) reqs = list(/obj/item/stack/sheet/metal = 15) diff --git a/code/datums/components/crafting/recipes/recipes_primal.dm b/code/datums/components/crafting/recipes/recipes_primal.dm index ae611e5855..a053a537ca 100644 --- a/code/datums/components/crafting/recipes/recipes_primal.dm +++ b/code/datums/components/crafting/recipes/recipes_primal.dm @@ -50,7 +50,7 @@ /datum/crafting_recipe/bonespear name = "Bone Spear" - result = /obj/item/twohanded/bonespear + result = /obj/item/spear/bonespear time = 30 reqs = list(/obj/item/stack/sheet/bone = 4, /obj/item/stack/sheet/sinew = 1) @@ -58,7 +58,7 @@ /datum/crafting_recipe/boneaxe name = "Bone Axe" - result = /obj/item/twohanded/fireaxe/boneaxe + result = /obj/item/fireaxe/boneaxe time = 50 reqs = list(/obj/item/stack/sheet/bone = 6, /obj/item/stack/sheet/sinew = 3) @@ -74,20 +74,20 @@ /datum/crafting_recipe/headpike name = "Spike Head (Glass Spear)" time = 65 - reqs = list(/obj/item/twohanded/spear = 1, + reqs = list(/obj/item/spear = 1, /obj/item/bodypart/head = 1) parts = list(/obj/item/bodypart/head = 1, - /obj/item/twohanded/spear = 1) + /obj/item/spear = 1) result = /obj/structure/headpike category = CAT_PRIMAL /datum/crafting_recipe/headpikebone name = "Spike Head (Bone Spear)" time = 65 - reqs = list(/obj/item/twohanded/bonespear = 1, + reqs = list(/obj/item/spear/bonespear = 1, /obj/item/bodypart/head = 1) parts = list(/obj/item/bodypart/head = 1, - /obj/item/twohanded/bonespear = 1) + /obj/item/spear/bonespear = 1) result = /obj/structure/headpike/bone category = CAT_PRIMAL diff --git a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm index b037f02f80..318587f5cb 100644 --- a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm +++ b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm @@ -42,7 +42,7 @@ /datum/crafting_recipe/spear name = "Spear" - result = /obj/item/twohanded/spear + result = /obj/item/spear reqs = list(/obj/item/restraints/handcuffs/cable = 1, /obj/item/shard = 1, /obj/item/stack/rods = 1) @@ -110,7 +110,7 @@ /datum/crafting_recipe/chainsaw name = "Chainsaw" - result = /obj/item/twohanded/required/chainsaw + result = /obj/item/chainsaw reqs = list(/obj/item/circular_saw = 1, /obj/item/stack/cable_coil = 3, /obj/item/stack/sheet/plasteel = 5) @@ -141,7 +141,7 @@ result = /obj/item/bombcore/chemical reqs = list( /obj/item/stock_parts/matter_bin = 1, - /obj/item/twohanded/required/gibtonite = 1, + /obj/item/gibtonite = 1, /obj/item/grenade/chem_grenade = 2 ) parts = list(/obj/item/stock_parts/matter_bin = 1, /obj/item/grenade/chem_grenade = 2) @@ -173,10 +173,10 @@ /datum/crafting_recipe/lance name = "Explosive Lance (Grenade)" - result = /obj/item/twohanded/spear - reqs = list(/obj/item/twohanded/spear = 1, + result = /obj/item/spear + reqs = list(/obj/item/spear = 1, /obj/item/grenade = 1) - parts = list(/obj/item/twohanded/spear = 1, + parts = list(/obj/item/spear = 1, /obj/item/grenade = 1) time = 15 category = CAT_WEAPONRY diff --git a/code/datums/components/twohanded.dm b/code/datums/components/twohanded.dm new file mode 100644 index 0000000000..e9f99a995e --- /dev/null +++ b/code/datums/components/twohanded.dm @@ -0,0 +1,311 @@ +/** + * Two Handed Component + * + * When applied to an item it will make it two handed + * + */ +/datum/component/two_handed + dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS // Only one of the component can exist on an item + var/wielded = FALSE /// Are we holding the two handed item properly + var/force_multiplier = 0 /// The multiplier applied to force when wielded, does not work with force_wielded, and force_unwielded + var/force_wielded = 0 /// The force of the item when weilded + var/force_unwielded = 0 /// The force of the item when unweilded + var/wieldsound = FALSE /// Play sound when wielded + var/unwieldsound = FALSE /// Play sound when unwielded + var/attacksound = FALSE /// Play sound on attack when wielded + var/require_twohands = FALSE /// Does it have to be held in both hands + var/icon_wielded = FALSE /// The icon that will be used when wielded + var/obj/item/offhand/offhand_item = null /// Reference to the offhand created for the item + var/sharpened_increase = 0 /// The amount of increase recived from sharpening the item + +/** + * Two Handed component + * + * vars: + * * require_twohands (optional) Does the item need both hands to be carried + * * wieldsound (optional) The sound to play when wielded + * * unwieldsound (optional) The sound to play when unwielded + * * attacksound (optional) The sound to play when wielded and attacking + * * force_multiplier (optional) The force multiplier when wielded, do not use with force_wielded, and force_unwielded + * * force_wielded (optional) The force setting when the item is wielded, do not use with force_multiplier + * * force_unwielded (optional) The force setting when the item is unwielded, do not use with force_multiplier + * * icon_wielded (optional) The icon to be used when wielded + */ +/datum/component/two_handed/Initialize(require_twohands=FALSE, wieldsound=FALSE, unwieldsound=FALSE, attacksound=FALSE, \ + force_multiplier=0, force_wielded=0, force_unwielded=0, icon_wielded=FALSE) + if(!isitem(parent)) + return COMPONENT_INCOMPATIBLE + + src.require_twohands = require_twohands + src.wieldsound = wieldsound + src.unwieldsound = unwieldsound + src.attacksound = attacksound + src.force_multiplier = force_multiplier + src.force_wielded = force_wielded + src.force_unwielded = force_unwielded + src.icon_wielded = icon_wielded + +// Inherit the new values passed to the component +/datum/component/two_handed/InheritComponent(datum/component/two_handed/new_comp, original, require_twohands, wieldsound, unwieldsound, \ + force_multiplier, force_wielded, force_unwielded, icon_wielded) + if(!original) + return + if(require_twohands) + src.require_twohands = require_twohands + if(wieldsound) + src.wieldsound = wieldsound + if(unwieldsound) + src.unwieldsound = unwieldsound + if(attacksound) + src.attacksound = attacksound + if(force_multiplier) + src.force_multiplier = force_multiplier + if(force_wielded) + src.force_wielded = force_wielded + if(force_unwielded) + src.force_unwielded = force_unwielded + if(icon_wielded) + src.icon_wielded = icon_wielded + +// register signals withthe parent item +/datum/component/two_handed/RegisterWithParent() + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/on_attack_self) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/on_attack) + RegisterSignal(parent, COMSIG_ATOM_UPDATE_ICON, .proc/on_update_icon) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/on_moved) + RegisterSignal(parent, COMSIG_ITEM_SHARPEN_ACT, .proc/on_sharpen) + +// Remove all siginals registered to the parent item +/datum/component/two_handed/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, + COMSIG_ITEM_DROPPED, + COMSIG_ITEM_ATTACK_SELF, + COMSIG_ITEM_ATTACK, + COMSIG_ATOM_UPDATE_ICON, + COMSIG_MOVABLE_MOVED, + COMSIG_ITEM_SHARPEN_ACT)) + +/// Triggered on equip of the item containing the component +/datum/component/two_handed/proc/on_equip(datum/source, mob/user, slot) + if(require_twohands && slot == ITEM_SLOT_HANDS) // force equip the item + wield(user) + if(!user.is_holding(parent) && wielded && !require_twohands) + unwield(user) + +/// Triggered on drop of item containing the component +/datum/component/two_handed/proc/on_drop(datum/source, mob/user) + if(require_twohands) + unwield(user, show_message=TRUE) + if(wielded) + unwield(user) + if(source == offhand_item && !QDELETED(src)) + qdel(src) + +/// Triggered on attack self of the item containing the component +/datum/component/two_handed/proc/on_attack_self(datum/source, mob/user) + if(wielded) + unwield(user) + else + wield(user) + +/** + * Wield the two handed item in both hands + * + * vars: + * * user The mob/living/carbon that is wielding the item + */ +/datum/component/two_handed/proc/wield(mob/living/carbon/user) + if(wielded) + return + if(ismonkey(user)) + to_chat(user, "It's too heavy for you to wield fully.") + return + if(user.get_inactive_held_item()) + if(require_twohands) + to_chat(user, "[parent] is too cumbersome to carry in one hand!") + user.dropItemToGround(parent, force=TRUE) + else + to_chat(user, "You need your other hand to be empty!") + return + if(user.get_num_arms() < 2) + if(require_twohands) + user.dropItemToGround(parent, force=TRUE) + to_chat(user, "You don't have enough intact hands.") + return + + // wield update status + if(SEND_SIGNAL(parent, COMSIG_TWOHANDED_WIELD, user) & COMPONENT_TWOHANDED_BLOCK_WIELD) + return // blocked wield from item + wielded = TRUE + RegisterSignal(user, COMSIG_MOB_SWAP_HANDS, .proc/on_swap_hands) + + // update item stats and name + var/obj/item/parent_item = parent + if(force_multiplier) + parent_item.force *= force_multiplier + else if(force_wielded) + parent_item.force = force_wielded + if(sharpened_increase) + parent_item.force += sharpened_increase + parent_item.name = "[parent_item.name] (Wielded)" + parent_item.update_icon() + + if(iscyborg(user)) + to_chat(user, "You dedicate your module to [parent].") + else + to_chat(user, "You grab [parent] with both hands.") + + // Play sound if one is set + if(wieldsound) + playsound(parent_item.loc, wieldsound, 50, TRUE) + + // Let's reserve the other hand + offhand_item = new(user) + offhand_item.name = "[parent_item.name] - offhand" + offhand_item.desc = "Your second grip on [parent_item]." + offhand_item.wielded = TRUE + RegisterSignal(offhand_item, COMSIG_ITEM_DROPPED, .proc/on_drop) + user.put_in_inactive_hand(offhand_item) + +/** + * Unwield the two handed item + * + * vars: + * * user The mob/living/carbon that is unwielding the item + * * show_message (option) show a message to chat on unwield + */ +/datum/component/two_handed/proc/unwield(mob/living/carbon/user, show_message=TRUE) + if(!wielded || !user) + return + + // wield update status + wielded = FALSE + UnregisterSignal(user, COMSIG_MOB_SWAP_HANDS) + SEND_SIGNAL(parent, COMSIG_TWOHANDED_UNWIELD, user) + + // update item stats + var/obj/item/parent_item = parent + if(sharpened_increase) + parent_item.force -= sharpened_increase + if(force_multiplier) + parent_item.force /= force_multiplier + else if(force_unwielded) + parent_item.force = force_unwielded + + // update the items name to remove the wielded status + var/sf = findtext(parent_item.name, " (Wielded)", -10) // 10 == length(" (Wielded)") + if(sf) + parent_item.name = copytext(parent_item.name, 1, sf) + else + parent_item.name = "[initial(parent_item.name)]" + + // Update icons + parent_item.update_icon() + if(user.get_item_by_slot(ITEM_SLOT_BACK) == parent) + user.update_inv_back() + else + user.update_inv_hands() + + // if the item requires two handed drop the item on unwield + if(require_twohands) + user.dropItemToGround(parent, force=TRUE) + + // Show message if requested + if(show_message) + if(iscyborg(user)) + to_chat(user, "You free up your module.") + else if(require_twohands) + to_chat(user, "You drop [parent].") + else + to_chat(user, "You are now carrying [parent] with one hand.") + + // Play sound if set + if(unwieldsound) + playsound(parent_item.loc, unwieldsound, 50, TRUE) + + // Remove the object in the offhand + if(offhand_item) + UnregisterSignal(offhand_item, COMSIG_ITEM_DROPPED) + qdel(offhand_item) + // Clear any old refrence to an item that should be gone now + offhand_item = null + +/** + * on_attack triggers on attack with the parent item + */ +/datum/component/two_handed/proc/on_attack(obj/item/source, mob/living/target, mob/living/user) + if(wielded && attacksound) + var/obj/item/parent_item = parent + playsound(parent_item.loc, attacksound, 50, TRUE) + +/** + * on_update_icon triggers on call to update parent items icon + * + * Updates the icon using icon_wielded if set + */ +/datum/component/two_handed/proc/on_update_icon(datum/source) + if(icon_wielded && wielded) + var/obj/item/parent_item = parent + if(parent_item) + parent_item.icon_state = icon_wielded + return COMSIG_ATOM_NO_UPDATE_ICON_STATE + +/** + * on_moved Triggers on item moved + */ +/datum/component/two_handed/proc/on_moved(datum/source, mob/user, dir) + unwield(user) + +/** + * on_swap_hands Triggers on swapping hands, blocks swap if the other hand is busy + */ +/datum/component/two_handed/proc/on_swap_hands(mob/user, obj/item/held_item) + if(!held_item) + return + if(held_item == parent) + return COMPONENT_BLOCK_SWAP + +/** + * on_sharpen Triggers on usage of a sharpening stone on the item + */ +/datum/component/two_handed/proc/on_sharpen(obj/item/item, amount, max_amount) + if(!item) + return COMPONENT_BLOCK_SHARPEN_BLOCKED + if(sharpened_increase) + return COMPONENT_BLOCK_SHARPEN_ALREADY + var/wielded_val = 0 + if(force_multiplier) + var/obj/item/parent_item = parent + if(wielded) + wielded_val = parent_item.force + else + wielded_val = parent_item.force * force_multiplier + else + wielded_val = force_wielded + if(wielded_val > max_amount) + return COMPONENT_BLOCK_SHARPEN_MAXED + sharpened_increase = min(amount, (max_amount - wielded_val)) + return COMPONENT_BLOCK_SHARPEN_APPLIED + +/** + * The offhand dummy item for two handed items + * + */ +/obj/item/offhand + name = "offhand" + icon_state = "offhand" + w_class = WEIGHT_CLASS_HUGE + item_flags = ABSTRACT + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + var/wielded = FALSE // Off Hand tracking of wielded status + +/obj/item/offhand/Destroy() + wielded = FALSE + return ..() + +/obj/item/offhand/equipped(mob/user, slot) + . = ..() + if(wielded && !user.is_holding(src) && !QDELETED(src)) + qdel(src) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 82ddd90b42..a2a9e376e1 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -180,14 +180,12 @@ to_chat(usr, "Keelhaul: Harm Grab. Kick opponents to the floor. Against prone targets, deal additional stamina damage and disarm them.") to_chat(usr, "In addition, your body has become incredibly resilient to most forms of attack. Weapons cannot readily pierce your hardened skin, and you are highly resistant to stuns and knockdowns, and can block all projectiles in Throw Mode. However, you are not invincible, and sustained damage will take it's toll. Avoid heat at all costs!") -/obj/item/twohanded/bostaff +/obj/item/staff/bostaff name = "bo staff" desc = "A long, tall staff made of polished wood. Traditionally used in ancient old-Earth martial arts. Can be wielded to both kill and incapacitate." force = 10 w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK - force_unwielded = 10 - force_wielded = 24 throwforce = 20 throw_speed = 2 attack_verb = list("smashed", "slammed", "whacked", "thwacked") @@ -196,11 +194,29 @@ lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' block_chance = 50 + var/wielded = FALSE // track wielded status on item -/obj/item/twohanded/bostaff/update_icon_state() - icon_state = "bostaff[wielded]" +/obj/item/staff/bostaff/Initialize() + . = ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) -/obj/item/twohanded/bostaff/attack(mob/target, mob/living/user) +/obj/item/staff/bostaff/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=10, force_wielded=24, icon_wielded="bostaff1") + +/// triggered on wield of two handed item +/obj/item/staff/bostaff/proc/on_wield(obj/item/source, mob/user) + wielded = TRUE + +/// triggered on unwield of two handed item +/obj/item/staff/bostaff/proc/on_unwield(obj/item/source, mob/user) + wielded = FALSE + +/obj/item/staff/bostaff/update_icon_state() + icon_state = "bostaff0" + +/obj/item/staff/bostaff/attack(mob/target, mob/living/user) add_fingerprint(user) if((HAS_TRAIT(user, TRAIT_CLUMSY)) && prob(50)) to_chat(user, "You club yourself over the head with [src].") @@ -249,7 +265,7 @@ else return ..() -/obj/item/twohanded/bostaff/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) +/obj/item/staff/bostaff/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) if(!wielded) return BLOCK_NONE return ..() diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index 4c200f110d..ce6e2782e4 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -363,9 +363,9 @@ status_type = STATUS_EFFECT_REPLACE alert_type = null var/mutable_appearance/marked_underlay - var/obj/item/twohanded/kinetic_crusher/hammer_synced + var/obj/item/kinetic_crusher/hammer_synced -/datum/status_effect/crusher_mark/on_creation(mob/living/new_owner, obj/item/twohanded/kinetic_crusher/new_hammer_synced) +/datum/status_effect/crusher_mark/on_creation(mob/living/new_owner, obj/item/kinetic_crusher/new_hammer_synced) . = ..() if(.) hammer_synced = new_hammer_synced diff --git a/code/datums/wires/explosive.dm b/code/datums/wires/explosive.dm index dc4db9e85d..25493f2e30 100644 --- a/code/datums/wires/explosive.dm +++ b/code/datums/wires/explosive.dm @@ -75,8 +75,8 @@ /datum/wires/explosive/gibtonite - holder_type = /obj/item/twohanded/required/gibtonite + holder_type = /obj/item/gibtonite /datum/wires/explosive/gibtonite/explode() - var/obj/item/twohanded/required/gibtonite/P = holder + var/obj/item/gibtonite/P = holder P.GibtoniteReaction(null, 2) \ No newline at end of file diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 2d9880578c..8a91c266a0 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -42,9 +42,9 @@ /obj/item/clothing/mask/facehugger/toy = ARCADE_WEIGHT_RARE, /obj/item/gun/ballistic/automatic/toy/pistol/unrestricted = ARCADE_WEIGHT_TRICK, /obj/item/hot_potato/harmless/toy = ARCADE_WEIGHT_RARE, - /obj/item/twohanded/dualsaber/toy = ARCADE_WEIGHT_RARE, - /obj/item/twohanded/dualsaber/hypereutactic/toy = ARCADE_WEIGHT_RARE, - /obj/item/twohanded/dualsaber/hypereutactic/toy/rainbow = ARCADE_WEIGHT_RARE, + /obj/item/dualsaber/toy = ARCADE_WEIGHT_RARE, + /obj/item/dualsaber/hypereutactic/toy = ARCADE_WEIGHT_RARE, + /obj/item/dualsaber/hypereutactic/toy/rainbow = ARCADE_WEIGHT_RARE, /obj/item/storage/box/snappops = ARCADE_WEIGHT_TRICK, /obj/item/clothing/under/syndicate/tacticool = ARCADE_WEIGHT_TRICK, diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 4c12809184..43ace30b43 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1052,11 +1052,11 @@ to_chat(user, "The airlock's bolts prevent it from being forced!") else if( !welded && !operating) if(!beingcrowbarred) //being fireaxe'd - var/obj/item/twohanded/fireaxe/F = I - if(F.wielded) - INVOKE_ASYNC(src, (density ? .proc/open : .proc/close), 2) - else - to_chat(user, "You need to be wielding the fire axe to do that!") + var/obj/item/fireaxe/axe = I + if(!axe.wielded) + to_chat(user, "You need to be wielding \the [axe] to do that!") + return + INVOKE_ASYNC(src, (density ? .proc/open : .proc/close), 2) else INVOKE_ASYNC(src, (density ? .proc/open : .proc/close), 2) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index c4c712ca25..5bfef9f925 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -181,7 +181,7 @@ return /obj/machinery/door/attackby(obj/item/I, mob/user, params) - if(user.a_intent != INTENT_HARM && (istype(I, /obj/item/crowbar) || istype(I, /obj/item/twohanded/fireaxe))) + if(user.a_intent != INTENT_HARM && (istype(I, /obj/item/crowbar) || istype(I, /obj/item/fireaxe))) try_to_crowbar(I, user) return 1 else if(istype(I, /obj/item/weldingtool)) diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 8545e6f35c..0e61387346 100755 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -17,7 +17,7 @@ /obj/item/melee/baton, /obj/item/ammo_box/magazine/recharge, /obj/item/modular_computer, - /obj/item/twohanded/electrostaff, + /obj/item/electrostaff, /obj/item/gun/ballistic/automatic/magrifle)) /obj/machinery/recharger/RefreshParts() diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index 1fe5e46e25..102d4c55ed 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -128,14 +128,13 @@ spawn(0) new /datum/hallucination/delusion(victim, TRUE, "demon",duration,0) - var/obj/item/twohanded/required/chainsaw/doomslayer/chainsaw = new(victim.loc) + var/obj/item/chainsaw/doomslayer/chainsaw = new(victim.loc) victim.log_message("entered a blood frenzy", LOG_ATTACK) ADD_TRAIT(chainsaw, TRAIT_NODROP, CHAINSAW_FRENZY_TRAIT) victim.drop_all_held_items() victim.put_in_hands(chainsaw, forced = TRUE) chainsaw.attack_self(victim) - chainsaw.wield(victim) victim.reagents.add_reagent(/datum/reagent/medicine/adminordrazine,25) to_chat(victim, "KILL, KILL, KILL! YOU HAVE NO ALLIES ANYMORE, KILL THEM ALL!") diff --git a/code/game/objects/items/RCL.dm b/code/game/objects/items/RCL.dm index f3ea461c74..8c840eef2b 100644 --- a/code/game/objects/items/RCL.dm +++ b/code/game/objects/items/RCL.dm @@ -1,4 +1,4 @@ -/obj/item/twohanded/rcl +/obj/item/rcl name = "rapid cable layer" desc = "A device used to rapidly deploy cables. It has screws on the side which can be removed to slide off the cables. Do not use without insulation!" icon = 'icons/obj/tools.dmi' @@ -23,15 +23,25 @@ var/datum/radial_menu/persistent/wiring_gui_menu var/mob/listeningTo -/obj/item/twohanded/rcl/Initialize() +/obj/item/rcl/Initialize() . = ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) update_icon() -/obj/item/twohanded/rcl/ComponentInitialize() +/// triggered on wield of two handed item +/obj/item/rcl/proc/on_wield(obj/item/source, mob/user) + active = TRUE + +/// triggered on unwield of two handed item +/obj/item/rcl/proc/on_unwield(obj/item/source, mob/user) + active = FALSE + +/obj/item/rcl/ComponentInitialize() . = ..() AddElement(/datum/element/update_icon_updates_onmob) -/obj/item/twohanded/rcl/attackby(obj/item/W, mob/user) +/obj/item/rcl/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = W @@ -86,26 +96,26 @@ else ..() -/obj/item/twohanded/rcl/examine(mob/user) +/obj/item/rcl/examine(mob/user) . = ..() if(loaded) . += "It contains [loaded.amount]/[max_amount] cables." -/obj/item/twohanded/rcl/Destroy() +/obj/item/rcl/Destroy() QDEL_NULL(loaded) last = null listeningTo = null QDEL_NULL(wiring_gui_menu) return ..() -/obj/item/twohanded/rcl/update_icon_state() +/obj/item/rcl/update_icon_state() icon_state = initial(icon_state) item_state = initial(item_state) if(!loaded || !loaded.amount) icon_state += "-empty" item_state += "-0" -/obj/item/twohanded/rcl/update_overlays() +/obj/item/rcl/update_overlays() . = ..() if(!loaded || !loaded.amount) return @@ -113,7 +123,7 @@ cable_overlay.color = GLOB.cable_colors[colors[current_color_index]] . += cable_overlay -/obj/item/twohanded/rcl/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) +/obj/item/rcl/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) . = ..() if(!isinhands || !(loaded?.amount)) return @@ -121,7 +131,7 @@ cable_overlay.color = GLOB.cable_colors[colors[current_color_index]] . += cable_overlay -/obj/item/twohanded/rcl/proc/is_empty(mob/user, loud = 1) +/obj/item/rcl/proc/is_empty(mob/user, loud = 1) update_icon() if(!loaded || !loaded.amount) if(loud) @@ -130,26 +140,23 @@ QDEL_NULL(loaded) loaded = null QDEL_NULL(wiring_gui_menu) - unwield(user) - active = wielded return TRUE return FALSE -/obj/item/twohanded/rcl/pickup(mob/user) +/obj/item/rcl/pickup(mob/user) ..() getMobhook(user) -/obj/item/twohanded/rcl/dropped(mob/wearer) +/obj/item/rcl/dropped(mob/wearer) ..() UnregisterSignal(wearer, COMSIG_MOVABLE_MOVED) listeningTo = null last = null -/obj/item/twohanded/rcl/attack_self(mob/user) +/obj/item/rcl/attack_self(mob/user) ..() - active = wielded if(!active) last = null else if(!last) @@ -158,7 +165,7 @@ last = C break -obj/item/twohanded/rcl/proc/getMobhook(mob/to_hook) +obj/item/rcl/proc/getMobhook(mob/to_hook) if(listeningTo == to_hook) return if(listeningTo) @@ -166,7 +173,7 @@ obj/item/twohanded/rcl/proc/getMobhook(mob/to_hook) RegisterSignal(to_hook, COMSIG_MOVABLE_MOVED, .proc/trigger) listeningTo = to_hook -/obj/item/twohanded/rcl/proc/trigger(mob/user) +/obj/item/rcl/proc/trigger(mob/user) if(active) layCable(user) if(wiring_gui_menu) //update the wire options as you move @@ -174,7 +181,7 @@ obj/item/twohanded/rcl/proc/getMobhook(mob/to_hook) //previous contents of trigger(), lays cable each time the player moves -/obj/item/twohanded/rcl/proc/layCable(mob/user) +/obj/item/rcl/proc/layCable(mob/user) if(!isturf(user.loc)) return if(is_empty(user, 0)) @@ -207,7 +214,7 @@ obj/item/twohanded/rcl/proc/getMobhook(mob/to_hook) update_icon() //searches the current tile for a stub cable of the same colour -/obj/item/twohanded/rcl/proc/findLinkingCable(mob/user) +/obj/item/rcl/proc/findLinkingCable(mob/user) var/turf/T if(!isturf(user.loc)) return @@ -223,10 +230,8 @@ obj/item/twohanded/rcl/proc/getMobhook(mob/to_hook) continue if(C.d1 == 0) return C - return - -/obj/item/twohanded/rcl/proc/wiringGuiGenerateChoices(mob/user) +/obj/item/rcl/proc/wiringGuiGenerateChoices(mob/user) var/fromdir = 0 var/obj/structure/cable/linkingCable = findLinkingCable(user) if(linkingCable) @@ -243,12 +248,12 @@ obj/item/twohanded/rcl/proc/getMobhook(mob/to_hook) wiredirs[icondir] = img return wiredirs -/obj/item/twohanded/rcl/proc/showWiringGui(mob/user) +/obj/item/rcl/proc/showWiringGui(mob/user) var/list/choices = wiringGuiGenerateChoices(user) wiring_gui_menu = show_radial_menu_persistent(user, src , choices, select_proc = CALLBACK(src, .proc/wiringGuiReact, user), radius = 42) -/obj/item/twohanded/rcl/proc/wiringGuiUpdate(mob/user) +/obj/item/rcl/proc/wiringGuiUpdate(mob/user) if(!wiring_gui_menu) return @@ -259,7 +264,7 @@ obj/item/twohanded/rcl/proc/getMobhook(mob/to_hook) //Callback used to respond to interactions with the wiring menu -/obj/item/twohanded/rcl/proc/wiringGuiReact(mob/living/user,choice) +/obj/item/rcl/proc/wiringGuiReact(mob/living/user,choice) if(!choice) //close on a null choice (the center button) QDEL_NULL(wiring_gui_menu) return @@ -290,7 +295,7 @@ obj/item/twohanded/rcl/proc/getMobhook(mob/to_hook) wiringGuiUpdate(user) -/obj/item/twohanded/rcl/ui_action_click(mob/user, action) +/obj/item/rcl/ui_action_click(mob/user, action) if(istype(action, /datum/action/item_action/rcl_col)) current_color_index++; if (current_color_index > colors.len) @@ -308,13 +313,13 @@ obj/item/twohanded/rcl/proc/getMobhook(mob/to_hook) else //open the menu showWiringGui(user) -/obj/item/twohanded/rcl/pre_loaded/Initialize() //Comes preloaded with cable, for testing stuff +/obj/item/rcl/pre_loaded/Initialize() //Comes preloaded with cable, for testing stuff loaded = new() loaded.max_amount = max_amount loaded.amount = max_amount return ..() -/obj/item/twohanded/rcl/ghetto +/obj/item/rcl/ghetto actions_types = list() max_amount = 30 name = "makeshift rapid cable layer" diff --git a/code/game/objects/items/binoculars.dm b/code/game/objects/items/binoculars.dm new file mode 100644 index 0000000000..347f0ad3a7 --- /dev/null +++ b/code/game/objects/items/binoculars.dm @@ -0,0 +1,65 @@ +/obj/item/binoculars + name = "binoculars" + desc = "Used for long-distance surveillance." + item_state = "binoculars" + icon_state = "binoculars" + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' + slot_flags = ITEM_SLOT_BELT + w_class = WEIGHT_CLASS_SMALL + var/mob/listeningTo + var/zoom_out_amt = 6 + var/zoom_amt = 10 + +/obj/item/binoculars/Initialize() + . = ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + +/obj/item/binoculars/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=8, force_wielded=12) + +/obj/item/binoculars/Destroy() + listeningTo = null + return ..() + +/obj/item/binoculars/proc/on_wield(obj/item/source, mob/user) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/unwield) + listeningTo = user + user.visible_message("[user] holds [src] up to [user.p_their()] eyes.", "You hold [src] up to your eyes.") + item_state = "binoculars_wielded" + user.regenerate_icons() + if(!user?.client) + return + var/client/C = user.client + var/_x = 0 + var/_y = 0 + switch(user.dir) + if(NORTH) + _y = zoom_amt + if(EAST) + _x = zoom_amt + if(SOUTH) + _y = -zoom_amt + if(WEST) + _x = -zoom_amt + C.change_view(world.view + zoom_out_amt) + C.pixel_x = world.icon_size*_x + C.pixel_y = world.icon_size*_y +/obj/item/binoculars/proc/on_unwield(obj/item/source, mob/user) + unwield(user) + +/obj/item/binoculars/proc/unwield(mob/user) + if(listeningTo) + UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED) + listeningTo = null + user.visible_message("[user] lowers [src].", "You lower [src].") + item_state = "binoculars" + user.regenerate_icons() + if(user && user.client) + user.regenerate_icons() + var/client/C = user.client + C.change_view(CONFIG_GET(string/default_view)) + user.client.pixel_x = 0 + user.client.pixel_y = 0 diff --git a/code/game/objects/items/broom.dm b/code/game/objects/items/broom.dm new file mode 100644 index 0000000000..225644109f --- /dev/null +++ b/code/game/objects/items/broom.dm @@ -0,0 +1,69 @@ +/obj/item/broom + name = "broom" + desc = "This is my BROOMSTICK! It can be used manually or braced with two hands to sweep items as you move. It has a telescopic handle for compact storage." + icon = 'icons/obj/janitor.dmi' + icon_state = "broom0" + lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' + force = 8 + throwforce = 10 + throw_speed = 3 + throw_range = 7 + w_class = WEIGHT_CLASS_NORMAL + attack_verb = list("swept", "brushed off", "bludgeoned", "whacked") + resistance_flags = FLAMMABLE + +/obj/item/broom/Initialize() + . = ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + +/obj/item/broom/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=8, force_wielded=12, icon_wielded="broom1") + +/obj/item/broom/update_icon_state() + icon_state = "broom0" + +/// triggered on wield of two handed item +/obj/item/broom/proc/on_wield(obj/item/source, mob/user) + to_chat(user, "You brace the [src] against the ground in a firm sweeping stance.") + RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/sweep) + +/// triggered on unwield of two handed item +/obj/item/broom/proc/on_unwield(obj/item/source, mob/user) + UnregisterSignal(user, COMSIG_MOVABLE_MOVED) + +/obj/item/broom/afterattack(atom/A, mob/user, proximity) + . = ..() + if(!proximity) + return + sweep(user, A, FALSE) + +/obj/item/broom/proc/sweep(mob/user, atom/A, moving = TRUE) + var/turf/target + if (!moving) + if (isturf(A)) + target = A + else + target = A.loc + else + target = user.loc + if (!isturf(target)) + return + if (locate(/obj/structure/table) in target.contents) + return + var/i = 0 + for(var/obj/item/garbage in target.contents) + if(!garbage.anchored) + garbage.Move(get_step(target, user.dir), user.dir) + i++ + if(i >= 20) + break + if(i >= 1) + playsound(loc, 'sound/weapons/thudswoosh.ogg', 30, TRUE, -1) + +/obj/item/broom/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J) //bless you whoever fixes this copypasta + J.put_in_cart(src, user) + J.mybroom=src + J.update_icon() diff --git a/code/game/objects/items/chainsaw.dm b/code/game/objects/items/chainsaw.dm new file mode 100644 index 0000000000..f382aa1ed3 --- /dev/null +++ b/code/game/objects/items/chainsaw.dm @@ -0,0 +1,93 @@ + +// CHAINSAW +/obj/item/chainsaw + name = "chainsaw" + desc = "A versatile power tool. Useful for limbing trees and delimbing humans." + icon_state = "chainsaw_off" + lefthand_file = 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/chainsaw_righthand.dmi' + flags_1 = CONDUCT_1 + force = 13 + var/force_on = 24 + w_class = WEIGHT_CLASS_HUGE + throwforce = 13 + throw_speed = 2 + throw_range = 4 + custom_materials = list(/datum/material/iron=13000) + attack_verb = list("sawed", "torn", "cut", "chopped", "diced") + hitsound = "swing_hit" + sharpness = IS_SHARP + actions_types = list(/datum/action/item_action/startchainsaw) + tool_behaviour = TOOL_SAW + toolspeed = 0.5 + var/on = FALSE + var/wielded = FALSE // track wielded status on item + +/obj/item/chainsaw/Initialize() + . = ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + +/obj/item/chainsaw/ComponentInitialize() + . = ..() + AddComponent(/datum/component/butchering, 30, 100, 0, 'sound/weapons/chainsawhit.ogg', TRUE) + AddComponent(/datum/component/two_handed, require_twohands=TRUE) + AddElement(/datum/element/update_icon_updates_onmob) + +/// triggered on wield of two handed item +/obj/item/chainsaw/proc/on_wield(obj/item/source, mob/user) + wielded = TRUE + +/// triggered on unwield of two handed item +/obj/item/chainsaw/proc/on_unwield(obj/item/source, mob/user) + wielded = FALSE + +/obj/item/chainsaw/suicide_act(mob/living/carbon/user) + if(on) + user.visible_message("[user] begins to tear [user.p_their()] head off with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + playsound(src, 'sound/weapons/chainsawhit.ogg', 100, 1) + var/obj/item/bodypart/head/myhead = user.get_bodypart(BODY_ZONE_HEAD) + if(myhead) + myhead.dismember() + else + user.visible_message("[user] smashes [src] into [user.p_their()] neck, destroying [user.p_their()] esophagus! It looks like [user.p_theyre()] trying to commit suicide!") + playsound(src, 'sound/weapons/genhit1.ogg', 100, 1) + return(BRUTELOSS) + +/obj/item/chainsaw/attack_self(mob/user) + on = !on + to_chat(user, "As you pull the starting cord dangling from [src], [on ? "it begins to whirr." : "the chain stops moving."]") + force = on ? force_on : initial(force) + throwforce = on ? force_on : force + update_icon() + var/datum/component/butchering/butchering = src.GetComponent(/datum/component/butchering) + butchering.butchering_enabled = on + + if(on) + hitsound = 'sound/weapons/chainsawhit.ogg' + else + hitsound = "swing_hit" + +/obj/item/chainsaw/update_icon_state() + icon_state = "chainsaw_[on ? "on" : "off"]" + +/obj/item/chainsaw/get_dismemberment_chance() + if(wielded) + . = ..() + +/obj/item/chainsaw/doomslayer + name = "THE GREAT COMMUNICATOR" + desc = "VRRRRRRR!!!" + armour_penetration = 100 + force_on = 30 + +/obj/item/chainsaw/doomslayer/check_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) + block_return[BLOCK_RETURN_REFLECT_PROJECTILE_CHANCE] = 100 + return ..() + +/obj/item/chainsaw/doomslayer/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) + if(attack_type & ATTACK_TYPE_PROJECTILE) + owner.visible_message("Ranged attacks just make [owner] angrier!") + playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, 1) + return BLOCK_SUCCESS | BLOCK_PHYSICAL_EXTERNAL + return ..() diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 3ac3347222..92c2d40c98 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -19,7 +19,7 @@ var/on = FALSE //if the paddles are equipped (1) or on the defib (0) var/safety = TRUE //if you can zap people with the defibs on harm mode var/powered = FALSE //if there's a cell in the defib with enough power for a revive, blocks paddles from reviving otherwise - var/obj/item/twohanded/shockpaddles/paddles + var/obj/item/shockpaddles/paddles var/obj/item/stock_parts/cell/cell var/combat = FALSE //can we revive through space suits? var/grab_ghost = FALSE // Do we pull the ghost back into their body? @@ -106,7 +106,6 @@ /obj/item/defibrillator/attackby(obj/item/W, mob/user, params) if(W == paddles) - paddles.unwield() toggle_paddles() else if(istype(W, /obj/item/stock_parts/cell)) var/obj/item/stock_parts/cell/C = W @@ -170,7 +169,6 @@ return else //Remove from their hands and back onto the defib unit - paddles.unwield() remove_paddles(user) update_power() @@ -179,7 +177,7 @@ A.UpdateButtonIcon() /obj/item/defibrillator/proc/make_paddles() - return new /obj/item/twohanded/shockpaddles(src) + return new /obj/item/shockpaddles(src) /obj/item/defibrillator/equipped(mob/user, slot) ..() @@ -256,13 +254,12 @@ /obj/item/defibrillator/compact/combat/loaded/attackby(obj/item/W, mob/user, params) if(W == paddles) - paddles.unwield() toggle_paddles() return //paddles -/obj/item/twohanded/shockpaddles +/obj/item/shockpaddles name = "defibrillator paddles" desc = "A pair of plastic-gripped paddles with flat metal surfaces that are used to deliver powerful electric shocks." icon = 'icons/obj/items_and_weapons.dmi' @@ -284,24 +281,48 @@ var/grab_ghost = FALSE var/tlimit = DEFIB_TIME_LIMIT * 10 var/disarm_shock_time = 10 + var/wielded = FALSE // track wielded status on item - var/mob/listeningTo +/obj/item/shockpaddles/Initialize() + . = ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + if(!req_defib) + return //If it doesn't need a defib, just say it exists + if (!loc || !istype(loc, /obj/item/defibrillator)) //To avoid weird issues from admin spawns + return INITIALIZE_HINT_QDEL + defib = loc + busy = FALSE + update_icon() -/obj/item/twohanded/shockpaddles/ComponentInitialize() +/obj/item/shockpaddles/ComponentInitialize() . = ..() AddElement(/datum/element/update_icon_updates_onmob) + AddComponent(/datum/component/two_handed, force_unwielded=8, force_wielded=12) -/obj/item/twohanded/shockpaddles/equipped(mob/user, slot) +/// triggered on wield of two handed item +/obj/item/shockpaddles/proc/on_wield(obj/item/source, mob/user) + wielded = TRUE + +/// triggered on unwield of two handed item +/obj/item/shockpaddles/proc/on_unwield(obj/item/source, mob/user) + wielded = FALSE + +/obj/item/shockpaddles/Destroy() + defib = null + return ..() + +/obj/item/shockpaddles/equipped(mob/user, slot) . = ..() if(!req_defib) return RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/check_range) -/obj/item/twohanded/shockpaddles/Moved() +/obj/item/shockpaddles/Moved() . = ..() check_range() -/obj/item/twohanded/shockpaddles/proc/check_range() +/obj/item/shockpaddles/proc/check_range() if(!req_defib || !defib) return if(!in_range(src,defib)) @@ -312,7 +333,7 @@ visible_message("[src] snap back into [defib].") snap_back() -/obj/item/twohanded/shockpaddles/proc/recharge(var/time) +/obj/item/shockpaddles/proc/recharge(var/time) if(req_defib || !time) return cooldown = TRUE @@ -324,57 +345,36 @@ cooldown = FALSE update_icon() -/obj/item/twohanded/shockpaddles/New(mainunit) - ..() - if(check_defib_exists(mainunit, src) && req_defib) - defib = mainunit - forceMove(defib) - busy = FALSE - update_icon() - -/obj/item/twohanded/shockpaddles/update_icon_state() - icon_state = "defibpaddles[wielded]" - item_state = "defibpaddles[wielded]" - if(cooldown) - icon_state = "defibpaddles[wielded]_cooldown" - -/obj/item/twohanded/shockpaddles/suicide_act(mob/user) +/obj/item/shockpaddles/suicide_act(mob/user) user.visible_message("[user] is putting the live paddles on [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!") if(req_defib) defib.deductcharge(revivecost) playsound(src, 'sound/machines/defib_zap.ogg', 50, 1, -1) return (OXYLOSS) -/obj/item/twohanded/shockpaddles/dropped(mob/user) +/obj/item/shockpaddles/update_icon_state() + icon_state = "defibpaddles[wielded]" + item_state = "defibpaddles[wielded]" + if(cooldown) + icon_state = "defibpaddles[wielded]_cooldown" + +/obj/item/shockpaddles/dropped(mob/user) if(!req_defib) return ..() if(user) UnregisterSignal(user, COMSIG_MOVABLE_MOVED) - var/obj/item/twohanded/offhand/O = user.get_inactive_held_item() - if(istype(O)) - O.unwield() if(user != loc) to_chat(user, "The paddles snap back into the main unit.") snap_back() - return unwield(user) -/obj/item/twohanded/shockpaddles/proc/snap_back() +/obj/item/shockpaddles/proc/snap_back() if(!defib) return defib.on = FALSE forceMove(defib) defib.update_power() -/obj/item/twohanded/shockpaddles/proc/check_defib_exists(mainunit, mob/living/carbon/M, obj/O) - if(!req_defib) - return TRUE //If it doesn't need a defib, just say it exists - if (!mainunit || !istype(mainunit, /obj/item/defibrillator)) //To avoid weird issues from admin spawns - qdel(O) - return FALSE - else - return TRUE - -/obj/item/twohanded/shockpaddles/attack(mob/M, mob/user) +/obj/item/shockpaddles/attack(mob/M, mob/user) if(busy) return @@ -426,7 +426,7 @@ do_help(H, user) -/obj/item/twohanded/shockpaddles/proc/shock_touching(dmg, mob/H) +/obj/item/shockpaddles/proc/shock_touching(dmg, mob/H) if(!H.pulledby || !isliving(H.pulledby)) return if(req_defib && defib.pullshocksafely) @@ -437,7 +437,7 @@ M.visible_message("[M] is electrocuted by [M.p_their()] contact with [H]!") M.emote("scream") -/obj/item/twohanded/shockpaddles/proc/do_disarm(mob/living/M, mob/living/user) +/obj/item/shockpaddles/proc/do_disarm(mob/living/M, mob/living/user) if(req_defib && defib.safety) return if(!req_defib && !combat) @@ -465,7 +465,7 @@ else recharge(60) -/obj/item/twohanded/shockpaddles/proc/do_harm(mob/living/carbon/H, mob/living/user) +/obj/item/shockpaddles/proc/do_harm(mob/living/carbon/H, mob/living/user) if(req_defib && defib.safety) return if(!req_defib && !combat) @@ -520,7 +520,7 @@ busy = FALSE update_icon() -/obj/item/twohanded/shockpaddles/proc/do_help(mob/living/carbon/H, mob/living/user) +/obj/item/shockpaddles/proc/do_help(mob/living/carbon/H, mob/living/user) user.visible_message("[user] begins to place [src] on [H]'s chest.", "You begin to place [src] on [H]'s chest...") busy = TRUE update_icon() @@ -677,14 +677,14 @@ return TRUE return ..() -/obj/item/twohanded/shockpaddles/cyborg +/obj/item/shockpaddles/cyborg name = "cyborg defibrillator paddles" icon = 'icons/obj/items_and_weapons.dmi' icon_state = "defibpaddles0" item_state = "defibpaddles0" req_defib = FALSE -/obj/item/twohanded/shockpaddles/cyborg/attack(mob/M, mob/user) +/obj/item/shockpaddles/cyborg/attack(mob/M, mob/user) if(iscyborg(user)) var/mob/living/silicon/robot/R = user if(R.emagged) @@ -696,7 +696,7 @@ . = ..() -/obj/item/twohanded/shockpaddles/syndicate +/obj/item/shockpaddles/syndicate name = "syndicate defibrillator paddles" desc = "A pair of paddles used to revive deceased operatives. It possesses both the ability to penetrate armor and to deliver powerful shocks offensively." combat = TRUE diff --git a/code/game/objects/items/dualsaber.dm b/code/game/objects/items/dualsaber.dm new file mode 100644 index 0000000000..225d5813fb --- /dev/null +++ b/code/game/objects/items/dualsaber.dm @@ -0,0 +1,310 @@ +/* + * Double-Bladed Energy Swords - Cheridan + */ +/obj/item/dualsaber + icon_state = "dualsaber0" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + name = "double-bladed energy sword" + desc = "Handle with care." + force = 3 + throwforce = 5 + throw_speed = 3 + throw_range = 5 + w_class = WEIGHT_CLASS_SMALL + item_flags = SLOWS_WHILE_IN_HAND + var/w_class_on = WEIGHT_CLASS_BULKY + hitsound = "swing_hit" + var/hitsound_on = 'sound/weapons/blade1.ogg' + armour_penetration = 35 + var/saber_color = "green" + light_color = "#00ff00"//green + attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + block_chance = 75 + max_integrity = 200 + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 70) + resistance_flags = FIRE_PROOF + var/hacked = FALSE + /// Can this reflect all energy projectiles? + var/can_reflect = TRUE + var/brightness_on = 6 //TWICE AS BRIGHT AS A REGULAR ESWORD + var/list/possible_colors = list("red", "blue", "green", "purple") + var/list/rainbow_colors = list(LIGHT_COLOR_RED, LIGHT_COLOR_GREEN, LIGHT_COLOR_LIGHT_CYAN, LIGHT_COLOR_LAVENDER) + var/spinnable = TRUE + total_mass = 0.4 //Survival flashlights typically weigh around 5 ounces. + var/total_mass_on = 3.4 + var/wielded = FALSE // track wielded status on item + var/slowdown_wielded = 0 + +/obj/item/dualsaber/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=3, force_wielded=34, \ + wieldsound='sound/weapons/saberon.ogg', unwieldsound='sound/weapons/saberoff.ogg') + +/obj/item/dualsaber/Initialize() + . = ..() + if(LAZYLEN(possible_colors)) + saber_color = pick(possible_colors) + switch(saber_color) + if("red") + light_color = LIGHT_COLOR_RED + if("green") + light_color = LIGHT_COLOR_GREEN + if("blue") + light_color = LIGHT_COLOR_LIGHT_CYAN + if("purple") + light_color = LIGHT_COLOR_LAVENDER + +/// Triggered on wield of two handed item +/// Specific hulk checks due to reflection chance for balance issues and switches hitsounds. +/obj/item/dualsaber/proc/on_wield(obj/item/source, mob/living/carbon/user) + if(user.has_dna() && user.dna.check_mutation(HULK)) + to_chat(user, "You lack the grace to wield this!") + return COMPONENT_TWOHANDED_BLOCK_WIELD + wielded = TRUE + sharpness = IS_SHARP + w_class = w_class_on + total_mass = total_mass_on + hitsound = 'sound/weapons/blade1.ogg' + slowdown += slowdown_wielded + START_PROCESSING(SSobj, src) + set_light(brightness_on) + AddElement(/datum/element/sword_point) + +/// Triggered on unwield of two handed item +/// switch hitsounds +/obj/item/dualsaber/proc/on_unwield(obj/item/source, mob/living/carbon/user) + sharpness = initial(sharpness) + w_class = initial(w_class) + total_mass = initial(total_mass) + wielded = FALSE + hitsound = "swing_hit" + slowdown_wielded -= slowdown_wielded + STOP_PROCESSING(SSobj, src) + set_light(0) + RemoveElement(/datum/element/sword_point) + +/obj/item/dualsaber/Destroy() + STOP_PROCESSING(SSobj, src) + . = ..() + +/obj/item/dualsaber/update_icon_state() + if(wielded) + icon_state = "dualsaber[saber_color][wielded]" + else + icon_state = "dualsaber0" + clean_blood() + +/obj/item/dualsaber/suicide_act(mob/living/carbon/user) + if(wielded) + user.visible_message("[user] begins spinning way too fast! It looks like [user.p_theyre()] trying to commit suicide!") + var/obj/item/bodypart/head/myhead = user.get_bodypart(BODY_ZONE_HEAD)//stole from chainsaw code + var/obj/item/organ/brain/B = user.getorganslot(ORGAN_SLOT_BRAIN) + B.organ_flags &= ~ORGAN_VITAL //this cant possibly be a good idea + var/randdir + for(var/i in 1 to 24)//like a headless chicken! + if(user.is_holding(src)) + randdir = pick(GLOB.alldirs) + user.Move(get_step(user, randdir),randdir) + user.emote("spin") + if (i == 3 && myhead) + myhead.drop_limb() + sleep(3) + else + user.visible_message("[user] panics and starts choking to death!") + return OXYLOSS + else + user.visible_message("[user] begins beating [user.p_them()]self to death with \the [src]'s handle! It probably would've been cooler if [user.p_they()] turned it on first!") + return BRUTELOSS + +/obj/item/dualsaber/attack(mob/target, mob/living/carbon/human/user) + if(user.has_dna() && user.dna.check_mutation(HULK)) + to_chat(user, "You grip the blade too hard and accidentally drop it!") + user.dropItemToGround(src) + return + ..() + if(HAS_TRAIT(user, TRAIT_CLUMSY) && (wielded) && prob(40)) + impale(user) + return + if(spinnable && (wielded) && prob(50)) + INVOKE_ASYNC(src, .proc/jedi_spin, user) + +/obj/item/dualsaber/proc/jedi_spin(mob/living/user) + for(var/i in list(NORTH,SOUTH,EAST,WEST,EAST,SOUTH,NORTH,SOUTH,EAST,WEST,EAST,SOUTH)) + user.setDir(i) + if(i == WEST) + user.emote("flip") + sleep(1) + +/obj/item/dualsaber/proc/impale(mob/living/user) + to_chat(user, "You twirl around a bit before losing your balance and impaling yourself on [src].") + if (force) + user.take_bodypart_damage(20,25) + else + user.adjustStaminaLoss(25) + +/obj/item/dualsaber/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) + if(!wielded) + return NONE + if(can_reflect && is_energy_reflectable_projectile(object) && (attack_type & ATTACK_TYPE_PROJECTILE)) + block_return[BLOCK_RETURN_REDIRECT_METHOD] = REDIRECT_METHOD_RETURN_TO_SENDER //no you + return BLOCK_SHOULD_REDIRECT | BLOCK_SUCCESS | BLOCK_REDIRECTED + return ..() + +/obj/item/dualsaber/attack_hulk(mob/living/carbon/human/user, does_attack_animation = 0) //In case thats just so happens that it is still activated on the groud, prevents hulk from picking it up + if(wielded) + to_chat(user, "You can't pick up such dangerous item with your meaty hands without losing fingers, better not to!") + return 1 + +/obj/item/dualsaber/process() + if(wielded) + if(hacked) + rainbow_process() + open_flame() + else + STOP_PROCESSING(SSobj, src) + +/obj/item/dualsaber/proc/rainbow_process() + light_color = pick(rainbow_colors) + +/obj/item/dualsaber/ignition_effect(atom/A, mob/user) + // same as /obj/item/melee/transforming/energy, mostly + if(!wielded) + return "" + var/in_mouth = "" + if(iscarbon(user)) + var/mob/living/carbon/C = user + if(C.wear_mask) + in_mouth = ", barely missing [user.p_their()] nose" + . = "[user] swings [user.p_their()] [name][in_mouth]. [user.p_they(TRUE)] light[user.p_s()] [user.p_their()] [A.name] in the process." + playsound(loc, hitsound, get_clamped_volume(), 1, -1) + add_fingerprint(user) + // Light your candles while spinning around the room + if(spinnable) + INVOKE_ASYNC(src, .proc/jedi_spin, user) + +/obj/item/dualsaber/green + possible_colors = list("green") + +/obj/item/dualsaber/red + possible_colors = list("red") + +/obj/item/dualsaber/blue + possible_colors = list("blue") + +/obj/item/dualsaber/purple + possible_colors = list("purple") + +/obj/item/dualsaber/attackby(obj/item/W, mob/user, params) + if(istype(W, /obj/item/multitool)) + if(!hacked) + hacked = TRUE + to_chat(user, "2XRNBW_ENGAGE") + saber_color = "rainbow" + update_icon() + else + to_chat(user, "It's starting to look like a triple rainbow - no, nevermind.") + else + return ..() + +///////////////////////////////////////////////////// +// HYPEREUTACTIC Blades ///////////////////////// +///////////////////////////////////////////////////// + +/obj/item/dualsaber/hypereutactic + icon = 'icons/obj/1x2.dmi' + icon_state = "hypereutactic" + lefthand_file = 'icons/mob/inhands/64x64_lefthand.dmi' + righthand_file = 'icons/mob/inhands/64x64_righthand.dmi' + item_state = "hypereutactic" + inhand_x_dimension = 64 + inhand_y_dimension = 64 + name = "hypereutactic blade" + desc = "A supermassive weapon envisioned to cleave the very fabric of space and time itself in twain, the hypereutactic blade dynamically flash-forges a hypereutactic crystaline nanostructure capable of passing through most known forms of matter like a hot knife through butter." + force = 7 + hitsound_on = 'sound/weapons/nebhit.ogg' + armour_penetration = 60 + light_color = "#37FFF7" + rainbow_colors = list("#FF0000", "#FFFF00", "#00FF00", "#00FFFF", "#0000FF","#FF00FF", "#3399ff", "#ff9900", "#fb008b", "#9800ff", "#00ffa3", "#ccff00") + attack_verb = list("attacked", "slashed", "stabbed", "sliced", "destroyed", "ripped", "devastated", "shredded") + spinnable = FALSE + total_mass_on = 4 + slowdown_wielded = 1 + +/obj/item/dualsaber/hypereutactic/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=7, force_wielded=40, \ + wieldsound='sound/weapons/nebon.ogg', unwieldsound='sound/weapons/nebhit.ogg') + AddElement(/datum/element/update_icon_updates_onmob) + +/obj/item/dualsaber/hypereutactic/update_icon_state() + return + +/obj/item/dualsaber/hypereutactic/update_overlays() + . = ..() + var/mutable_appearance/blade_overlay = mutable_appearance(icon, "hypereutactic_blade") + var/mutable_appearance/gem_overlay = mutable_appearance(icon, "hypereutactic_gem") + + if(light_color) + blade_overlay.color = light_color + gem_overlay.color = light_color + + . += gem_overlay + + if(wielded) + . += blade_overlay + + clean_blood() + +/obj/item/dualsaber/hypereutactic/AltClick(mob/living/user) + . = ..() + if(!user.canUseTopic(src, BE_CLOSE, FALSE) || hacked) + return + if(user.incapacitated() || !istype(user)) + to_chat(user, "You can't do that right now!") + return + if(alert("Are you sure you want to recolor your blade?", "Confirm Repaint", "Yes", "No") == "Yes") + var/energy_color_input = input(usr,"","Choose Energy Color",light_color) as color|null + if(!energy_color_input || !user.canUseTopic(src, BE_CLOSE, FALSE) || hacked) + return + light_color = sanitize_hexcolor(energy_color_input, desired_format=6, include_crunch=1) + update_icon() + update_light() + return TRUE + +/obj/item/dualsaber/hypereutactic/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) + . = ..() + if(isinhands) + var/mutable_appearance/gem_inhand = mutable_appearance(icon_file, "hypereutactic_gem") + gem_inhand.color = light_color + . += gem_inhand + if(wielded) + var/mutable_appearance/blade_inhand = mutable_appearance(icon_file, "hypereutactic_blade") + blade_inhand.color = light_color + . += blade_inhand + +/obj/item/dualsaber/hypereutactic/examine(mob/user) + . = ..() + if(!hacked) + . += "Alt-click to recolor it." + +/obj/item/dualsaber/hypereutactic/rainbow_process() + . = ..() + update_icon() + update_light() + +/obj/item/dualsaber/hypereutactic/chaplain + name = "divine lightblade" + desc = "A giant blade of bright and holy light, said to cut down the wicked with ease." + force = 5 + block_chance = 50 + armour_penetration = 0 + var/chaplain_spawnable = TRUE + can_reflect = FALSE + obj_flags = UNIQUE_RENAME + +/obj/item/dualsaber/hypereutactic/chaplain/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=20, \ + wieldsound='sound/weapons/nebon.ogg', unwieldsound='sound/weapons/nebhit.ogg') + AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, null, null, FALSE) diff --git a/code/game/objects/items/electrostaff.dm b/code/game/objects/items/electrostaff.dm new file mode 100644 index 0000000000..1fc338d841 --- /dev/null +++ b/code/game/objects/items/electrostaff.dm @@ -0,0 +1,229 @@ + +/obj/item/electrostaff + icon = 'icons/obj/items_and_weapons.dmi' + icon_state = "electrostaff" + item_state = "electrostaff" + lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' + name = "riot suppression electrostaff" + desc = "A large quarterstaff, with massive silver electrodes mounted at the end." + w_class = WEIGHT_CLASS_HUGE + slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_OCLOTHING + throwforce = 15 //if you are a madman and finish someone off with this, power to you. + throw_speed = 1 + item_flags = NO_MAT_REDEMPTION + block_chance = 30 + attack_verb = list("struck", "beaten", "thwacked", "pulped") + total_mass = 5 //yeah this is a heavy thing, beating people with it while it's off is not going to do you any favors. (to curb stun-kill rampaging without it being on) + var/obj/item/stock_parts/cell/cell = /obj/item/stock_parts/cell/high + var/on = FALSE + var/can_block_projectiles = FALSE //can't block guns + var/lethal_cost = 400 //10000/400*20 = 500. decent enough? + var/lethal_damage = 20 + var/lethal_stam_cost = 4 + var/stun_cost = 333 //10000/333*25 = 750. stunbatons are at time of writing 10000/1000*49 = 490. + var/stun_status_effect = STATUS_EFFECT_ELECTROSTAFF //a small slowdown effect + var/stun_stamdmg = 40 + var/stun_status_duration = 25 + var/stun_stam_cost = 3.5 + var/wielded = FALSE // track wielded status on item + +/obj/item/electrostaff/Initialize(mapload) + . = ..() + if(ispath(cell)) + cell = new cell + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/turn_on) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/turn_off) + +/obj/item/electrostaff/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_multiplier=2, wieldsound="sparks", unwieldsound="sparks") + +/obj/item/electrostaff/Destroy() + STOP_PROCESSING(SSobj, src) + QDEL_NULL(cell) + return ..() + +/obj/item/electrostaff/get_cell() + . = cell + if(iscyborg(loc)) + var/mob/living/silicon/robot/R = loc + . = R.get_cell() + +/obj/item/electrostaff/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) + if(!on || (!can_block_projectiles && (attack_type & ATTACK_TYPE_PROJECTILE))) + return BLOCK_NONE + return ..() + +/obj/item/electrostaff/proc/min_hitcost() + return min(stun_cost, lethal_cost) + +/obj/item/electrostaff/proc/turn_on(obj/item/source, mob/user) + wielded = TRUE + if(!cell) + if(user) + to_chat(user, "[src] has no cell.") + return + if(cell.charge < min_hitcost()) + if(user) + to_chat(user, "[src] is out of charge.") + return + on = TRUE + START_PROCESSING(SSobj, src) + if(user) + to_chat(user, "You turn [src] on.") + +/obj/item/electrostaff/proc/turn_off(obj/item/source, mob/user) + wielded = FALSE + if(user) + to_chat(user, "You turn [src] off.") + on = FALSE + STOP_PROCESSING(SSobj, src) + +/obj/item/electrostaff/update_icon_state() + if(!wielded) + icon_state = item_state = "electrostaff" + else + icon_state = item_state = (on? "electrostaff_1" : "electrostaff_0") + set_light(7, on? 1 : 0, LIGHT_COLOR_CYAN) + +/obj/item/electrostaff/examine(mob/living/user) + . = ..() + if(cell) + . += "The cell charge is [round(cell.percent())]%." + else + . += "There is no cell installed!" + +/obj/item/electrostaff/attackby(obj/item/W, mob/user, params) + if(istype(W, /obj/item/stock_parts/cell)) + var/obj/item/stock_parts/cell/C = W + if(cell) + to_chat(user, "[src] already has a cell!") + else + if(C.maxcharge < min_hit_cost()) + to_chat(user, "[src] requires a higher capacity cell.") + return + if(!user.transferItemToLoc(W, src)) + return + cell = C + to_chat(user, "You install a cell in [src].") + + else if(W.tool_behaviour == TOOL_SCREWDRIVER) + if(cell) + cell.update_icon() + cell.forceMove(get_turf(src)) + cell = null + to_chat(user, "You remove the cell from [src].") + turn_off(user, TRUE) + else + return ..() + +/obj/item/electrostaff/process() + deductcharge(50) //Wasteful! + +/obj/item/electrostaff/proc/min_hit_cost() + return min(lethal_cost, stun_cost) + +/obj/item/electrostaff/proc/deductcharge(amount) + var/obj/item/stock_parts/cell/C = get_cell() + if(!C) + turn_off() + return FALSE + C.use(min(amount, C.charge)) + if(QDELETED(src)) + return FALSE + if(C.charge < min_hit_cost()) + turn_off() + +/obj/item/electrostaff/attack(mob/living/target, mob/living/user) + if(IS_STAMCRIT(user))//CIT CHANGE - makes it impossible to baton in stamina softcrit + to_chat(user, "You're too exhausted for that.")//CIT CHANGE - ditto + return //CIT CHANGE - ditto + if(on && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) + clowning_around(user) //ouch! + return + if(iscyborg(target)) + ..() + return + if(target.mob_run_block(src, 0, "[user]'s [name]", ATTACK_TYPE_MELEE, 0, user, null, null) & BLOCK_SUCCESS) //No message; run_block() handles that + playsound(target, 'sound/weapons/genhit.ogg', 50, 1) + return FALSE + if(user.a_intent != INTENT_HARM) + if(stun_act(target, user)) + user.do_attack_animation(target) + user.adjustStaminaLossBuffered(stun_stam_cost) + return + else if(!harm_act(target, user)) + return ..() //if you can't fry them just beat them with it + else //we did harm act them + user.do_attack_animation(target) + user.adjustStaminaLossBuffered(lethal_stam_cost) + +/obj/item/electrostaff/proc/stun_act(mob/living/target, mob/living/user, no_charge_and_force = FALSE) + var/stunforce = stun_stamdmg + if(!no_charge_and_force) + if(!on) + target.visible_message("[user] has bapped [target] with [src]. Luckily it was off.", \ + "[user] has bapped you with [src]. Luckily it was off") + turn_off() //if it wasn't already off + return FALSE + var/obj/item/stock_parts/cell/C = get_cell() + var/chargeleft = C.charge + deductcharge(stun_cost) + if(QDELETED(src) || QDELETED(C)) //boom + return FALSE + if(chargeleft < stun_cost) + stunforce *= round(chargeleft/stun_cost, 0.1) + target.adjustStaminaLoss(stunforce) + target.apply_effect(EFFECT_STUTTER, stunforce) + SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK) + if(user) + target.lastattacker = user.real_name + target.lastattackerckey = user.ckey + target.visible_message("[user] has shocked [target] with [src]!", \ + "[user] has shocked you with [src]!") + log_combat(user, target, "stunned with an electrostaff") + playsound(src, 'sound/weapons/staff.ogg', 50, 1, -1) + target.apply_status_effect(stun_status_effect, stun_status_duration) + if(ishuman(user)) + var/mob/living/carbon/human/H = user + H.forcesay(GLOB.hit_appends) + return TRUE + +/obj/item/electrostaff/proc/harm_act(mob/living/target, mob/living/user, no_charge_and_force = FALSE) + var/lethal_force = lethal_damage + if(!no_charge_and_force) + if(!on) + return FALSE //standard item attack + var/obj/item/stock_parts/cell/C = get_cell() + var/chargeleft = C.charge + deductcharge(lethal_cost) + if(QDELETED(src) || QDELETED(C)) //boom + return FALSE + if(chargeleft < stun_cost) + lethal_force *= round(chargeleft/lethal_cost, 0.1) + target.adjustFireLoss(lethal_force) //good against ointment spam + SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK) + if(user) + target.lastattacker = user.real_name + target.lastattackerckey = user.ckey + target.visible_message("[user] has seared [target] with [src]!", \ + "[user] has seared you with [src]!") + log_combat(user, target, "burned with an electrostaff") + playsound(src, 'sound/weapons/sear.ogg', 50, 1, -1) + return TRUE + +/obj/item/electrostaff/proc/clowning_around(mob/living/user) + user.visible_message("[user] accidentally hits [user.p_them()]self with [src]!", \ + "You accidentally hit yourself with [src]!") + SEND_SIGNAL(user, COMSIG_LIVING_MINOR_SHOCK) + harm_act(user, user, TRUE) + stun_act(user, user, TRUE) + deductcharge(lethal_cost) + +/obj/item/electrostaff/emp_act(severity) + . = ..() + if (!(. & EMP_PROTECT_SELF)) + turn_off() + if(!iscyborg(loc)) + deductcharge(1000 / severity, TRUE, FALSE) diff --git a/code/game/objects/items/fireaxe.dm b/code/game/objects/items/fireaxe.dm new file mode 100644 index 0000000000..41c1cbe915 --- /dev/null +++ b/code/game/objects/items/fireaxe.dm @@ -0,0 +1,71 @@ +/* + * Fireaxe + */ +/obj/item/fireaxe // DEM AXES MAN, marker -Agouri + icon_state = "fireaxe0" + lefthand_file = 'icons/mob/inhands/weapons/axes_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/axes_righthand.dmi' + name = "fire axe" + desc = "Truly, the weapon of a madman. Who would think to fight fire with an axe?" + force = 5 + throwforce = 15 + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK + attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") + hitsound = 'sound/weapons/bladeslice.ogg' + sharpness = IS_SHARP + max_integrity = 200 + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) + resistance_flags = FIRE_PROOF + var/wielded = FALSE // track wielded status on item + +/obj/item/fireaxe/Initialize() + . = ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + +/obj/item/fireaxe/ComponentInitialize() + . = ..() + AddComponent(/datum/component/butchering, 100, 80, 0 , hitsound) //axes are not known for being precision butchering tools + AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=24, icon_wielded="fireaxe1") + +/// triggered on wield of two handed item +/obj/item/fireaxe/proc/on_wield(obj/item/source, mob/user) + wielded = TRUE + +/// triggered on unwield of two handed item +/obj/item/fireaxe/proc/on_unwield(obj/item/source, mob/user) + wielded = FALSE + +/obj/item/fireaxe/update_icon_state() + icon_state = "fireaxe0" + +/obj/item/fireaxe/suicide_act(mob/user) + user.visible_message("[user] axes [user.p_them()]self from head to toe! It looks like [user.p_theyre()] trying to commit suicide!") + return (BRUTELOSS) + +/obj/item/fireaxe/afterattack(atom/A, mob/living/user, proximity) + . = ..() + if(!proximity || !wielded || IS_STAMCRIT(user)) + return + if(istype(A, /obj/structure/window)) //destroys windows and grilles in one hit (or more if it has a ton of health like plasmaglass) + var/obj/structure/window/W = A + W.take_damage(200, BRUTE, "melee", 0) + else if(istype(A, /obj/structure/grille)) + var/obj/structure/grille/G = A + G.take_damage(40, BRUTE, "melee", 0) + +/* + * Bone Axe + */ +/obj/item/fireaxe/boneaxe // Blatant imitation of the fireaxe, but made out of bone. + icon_state = "bone_axe0" + name = "bone axe" + desc = "A large, vicious axe crafted out of several sharpened bone plates and crudely tied together. Made of monsters, by killing monsters, for killing monsters." + +/obj/item/fireaxe/boneaxe/update_icon_state() + icon_state = "bone_axe0" + +/obj/item/fireaxe/boneaxe/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=23, icon_wielded="bone_axe1") diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm index e4cfeab20f..d7d22a7249 100644 --- a/code/game/objects/items/melee/energy.dm +++ b/code/game/objects/items/melee/energy.dm @@ -345,7 +345,7 @@ return else to_chat(user, "You combine the two light swords, making a single supermassive blade! You're cool.") - new /obj/item/twohanded/dualsaber/hypereutactic(user.drop_location()) + new /obj/item/dualsaber/hypereutactic(user.drop_location()) qdel(W) qdel(src) else diff --git a/code/game/objects/items/pitchfork.dm b/code/game/objects/items/pitchfork.dm new file mode 100644 index 0000000000..49d0b64498 --- /dev/null +++ b/code/game/objects/items/pitchfork.dm @@ -0,0 +1,101 @@ +/obj/item/pitchfork + icon_state = "pitchfork0" + lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' + name = "pitchfork" + desc = "A simple tool used for moving hay." + force = 7 + throwforce = 15 + w_class = WEIGHT_CLASS_BULKY + attack_verb = list("attacked", "impaled", "pierced") + hitsound = 'sound/weapons/bladeslice.ogg' + sharpness = IS_SHARP + max_integrity = 200 + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) + resistance_flags = FIRE_PROOF + var/wielded = FALSE // track wielded status on item + +/obj/item/pitchfork/Initialize() + . = ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + +/obj/item/pitchfork/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=7, force_wielded=15, icon_wielded="pitchfork1") + AddElement(/datum/element/sword_point) + +/// triggered on wield of two handed item +/obj/item/pitchfork/proc/on_wield(obj/item/source, mob/user) + wielded = TRUE + +/// triggered on unwield of two handed item +/obj/item/pitchfork/proc/on_unwield(obj/item/source, mob/user) + wielded = FALSE + +/obj/item/pitchfork/update_icon_state() + icon_state = "pitchfork0" + +/obj/item/pitchfork/demonic + name = "demonic pitchfork" + desc = "A red pitchfork, it looks like the work of the devil." + force = 19 + throwforce = 24 + +/obj/item/pitchfork/demonic/Initialize() + . = ..() + set_light(3,6,LIGHT_COLOR_RED) + +/obj/item/pitchfork/demonic/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=19, force_wielded=25) + +/obj/item/pitchfork/demonic/greater + force = 24 + throwforce = 50 + +/obj/item/pitchfork/demonic/greater/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=24, force_wielded=34) + +/obj/item/pitchfork/demonic/ascended + force = 100 + throwforce = 100 + +/obj/item/pitchfork/demonic/ascended/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=100, force_wielded=500000) // Kills you DEAD + +/obj/item/pitchfork/suicide_act(mob/user) + user.visible_message("[user] impales [user.p_them()]self in [user.p_their()] abdomen with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + return (BRUTELOSS) + +/obj/item/pitchfork/demonic/pickup(mob/living/user) + . = ..() + if(isliving(user) && user.mind && user.owns_soul() && !is_devil(user)) + var/mob/living/U = user + U.visible_message("As [U] picks [src] up, [U]'s arms briefly catch fire.", \ + "\"As you pick up [src] your arms ignite, reminding you of all your past sins.\"") + if(ishuman(U)) + var/mob/living/carbon/human/H = U + H.apply_damage(rand(force/2, force), BURN, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) + else + U.adjustFireLoss(rand(force/2,force)) + +/obj/item/pitchfork/demonic/attack(mob/target, mob/living/carbon/human/user) + if(user.mind && user.owns_soul() && !is_devil(user)) + to_chat(user, "[src] burns in your hands.") + user.apply_damage(rand(force/2, force), BURN, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) + ..() + +/obj/item/pitchfork/demonic/ascended/afterattack(atom/target, mob/user, proximity) + . = ..() + if(!proximity || !wielded) + return + if(iswallturf(target)) + var/turf/closed/wall/W = target + user.visible_message("[user] blasts \the [target] with \the [src]!") + playsound(target, 'sound/magic/disintegrate.ogg', 100, TRUE) + W.break_wall() + W.ScrapeAway(flags = CHANGETURF_INHERIT_AIR) + return diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 08ce73109c..d5bc6eabf5 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -459,7 +459,7 @@ /obj/item/borg/upgrade/defib/deactivate(mob/living/silicon/robot/R, user = usr) . = ..() if (.) - var/obj/item/twohanded/shockpaddles/cyborg/S = locate() in R.module + var/obj/item/shockpaddles/cyborg/S = locate() in R.module R.module.remove_module(S, TRUE) /obj/item/borg/upgrade/processor diff --git a/code/game/objects/items/sharpener.dm b/code/game/objects/items/sharpener.dm index 014d4cb159..6bf0b27fb4 100644 --- a/code/game/objects/items/sharpener.dm +++ b/code/game/objects/items/sharpener.dm @@ -24,24 +24,22 @@ if(istype(I, /obj/item/melee/transforming/energy)) to_chat(user, "You don't think \the [I] will be the thing getting modified if you use it on \the [src]!") return - if(istype(I, /obj/item/twohanded))//some twohanded items should still be sharpenable, but handle force differently. therefore i need this stuff - var/obj/item/twohanded/TH = I - if(TH.force_wielded >= max) - to_chat(user, "[TH] is much too powerful to sharpen further!") - return - if(TH.wielded) - to_chat(user, "[TH] must be unwielded before it can be sharpened!") - return - if(TH.force_wielded > initial(TH.force_wielded)) - to_chat(user, "[TH] has already been refined before. It cannot be sharpened further!") - return - TH.force_wielded = clamp(TH.force_wielded + increment, 0, max)//wieldforce is increased since normal force wont stay - if(I.force > initial(I.force)) + + var/signal_out = SEND_SIGNAL(I, COMSIG_ITEM_SHARPEN_ACT, increment, max) + if(signal_out & COMPONENT_BLOCK_SHARPEN_MAXED) + to_chat(user, "[I] is much too powerful to sharpen further!") + return + if(signal_out & COMPONENT_BLOCK_SHARPEN_BLOCKED) + to_chat(user, "[I] is not able to be sharpened right now!") + return + if((signal_out & COMPONENT_BLOCK_SHARPEN_ALREADY) || (I.force > initial(I.force) && !signal_out)) to_chat(user, "[I] has already been refined before. It cannot be sharpened further!") return + if(!(signal_out & COMPONENT_BLOCK_SHARPEN_APPLIED)) + I.force = clamp(I.force + increment, 0, max) + user.visible_message("[user] sharpens [I] with [src]!", "You sharpen [I], making it much more deadly than before.") I.sharpness = IS_SHARP_ACCURATE - I.force = clamp(I.force + increment, 0, max) I.throwforce = clamp(I.throwforce + increment, 0, max) I.name = "[prefix] [I.name]" name = "worn out [name]" diff --git a/code/game/objects/items/singularityhammer.dm b/code/game/objects/items/singularityhammer.dm index dc761ee3bf..7a6c159160 100644 --- a/code/game/objects/items/singularityhammer.dm +++ b/code/game/objects/items/singularityhammer.dm @@ -1,4 +1,4 @@ -/obj/item/twohanded/singularityhammer +/obj/item/singularityhammer name = "singularity hammer" desc = "The pinnacle of close combat technology, the hammer harnesses the power of a miniaturized singularity to deal crushing blows." icon_state = "mjollnir0" @@ -7,35 +7,47 @@ flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK force = 5 - force_unwielded = 5 - force_wielded = 20 throwforce = 15 throw_range = 1 w_class = WEIGHT_CLASS_HUGE - var/charged = 5 armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 0, "bomb" = 50, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) resistance_flags = FIRE_PROOF | ACID_PROOF force_string = "LORD SINGULOTH HIMSELF" total_mass = TOTAL_MASS_MEDIEVAL_WEAPON + var/charged = 5 + var/wielded = FALSE // track wielded status on item -/obj/item/twohanded/singularityhammer/New() +/obj/item/singularityhammer/New() ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) START_PROCESSING(SSobj, src) -/obj/item/twohanded/singularityhammer/Destroy() +/obj/item/singularityhammer/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_multiplier=4, icon_wielded="mjollnir1") + +/// triggered on wield of two handed item +/obj/item/singularityhammer/proc/on_wield(obj/item/source, mob/user) + wielded = TRUE + +/// triggered on unwield of two handed item +/obj/item/singularityhammer/proc/on_unwield(obj/item/source, mob/user) + wielded = FALSE + +/obj/item/singularityhammer/update_icon_state() + icon_state = "mjollnir0" + +/obj/item/singularityhammer/Destroy() STOP_PROCESSING(SSobj, src) return ..() -/obj/item/twohanded/singularityhammer/process() +/obj/item/singularityhammer/process() if(charged < 5) charged++ return -/obj/item/twohanded/singularityhammer/update_icon_state() //Currently only here to fuck with the on-mob icons. - icon_state = "mjollnir[wielded]" - return - -/obj/item/twohanded/singularityhammer/proc/vortex(turf/pull, mob/wielder) +/obj/item/singularityhammer/proc/vortex(turf/pull, mob/wielder) for(var/atom/X in orange(5,pull)) if(ismovable(X)) var/atom/movable/A = X @@ -55,9 +67,8 @@ step_towards(H,pull) step_towards(H,pull) step_towards(H,pull) - return -/obj/item/twohanded/singularityhammer/afterattack(atom/A as mob|obj|turf|area, mob/user, proximity) +/obj/item/singularityhammer/afterattack(atom/A as mob|obj|turf|area, mob/user, proximity) . = ..() if(!proximity) return @@ -71,7 +82,7 @@ var/turf/target = get_turf(A) vortex(target,user) -/obj/item/twohanded/mjollnir +/obj/item/mjollnir name = "Mjolnir" desc = "A weapon worthy of a god, able to strike with the force of a lightning bolt. It crackles with barely contained energy." icon_state = "mjollnir0" @@ -80,14 +91,33 @@ flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK force = 5 - force_unwielded = 5 - force_wielded = 25 throwforce = 30 throw_range = 7 w_class = WEIGHT_CLASS_HUGE total_mass = TOTAL_MASS_MEDIEVAL_WEAPON + var/wielded = FALSE // track wielded status on item -/obj/item/twohanded/mjollnir/proc/shock(mob/living/target) +/obj/item/mjollnir/Initialize() + . = ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + +/obj/item/mjollnir/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_multiplier=5, icon_wielded="mjollnir1", attacksound="sparks") + +/// triggered on wield of two handed item +/obj/item/mjollnir/proc/on_wield(obj/item/source, mob/user) + wielded = TRUE + +/// triggered on unwield of two handed item +/obj/item/mjollnir/proc/on_unwield(obj/item/source, mob/user) + wielded = FALSE + +/obj/item/mjollnir/update_icon_state() + icon_state = "mjollnir0" + +/obj/item/mjollnir/proc/shock(mob/living/target) target.Stun(60) var/datum/effect_system/lightning_spread/s = new /datum/effect_system/lightning_spread s.set_up(5, 1, target.loc) @@ -99,17 +129,12 @@ target.throw_at(throw_target, 200, 4) return -/obj/item/twohanded/mjollnir/attack(mob/living/M, mob/user) +/obj/item/mjollnir/attack(mob/living/M, mob/user) ..() if(wielded) - playsound(src.loc, "sparks", 50, 1) shock(M) -/obj/item/twohanded/mjollnir/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) +/obj/item/mjollnir/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) . = ..() if(isliving(hit_atom)) shock(hit_atom) - -/obj/item/twohanded/mjollnir/update_icon_state() //Currently only here to fuck with the on-mob icons. - icon_state = "mjollnir[wielded]" - return diff --git a/code/game/objects/items/spear.dm b/code/game/objects/items/spear.dm new file mode 100644 index 0000000000..f12228df5d --- /dev/null +++ b/code/game/objects/items/spear.dm @@ -0,0 +1,181 @@ +//spears +/obj/item/spear + icon_state = "spearglass0" + lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' + name = "spear" + desc = "A haphazardly-constructed yet still deadly weapon of ancient design." + force = 10 + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK + throwforce = 20 + throw_speed = 4 + embedding = list("embedded_impact_pain_multiplier" = 3, "embed_chance" = 90) + armour_penetration = 10 + custom_materials = list(/datum/material/iron=1150, /datum/material/glass=2075) + hitsound = 'sound/weapons/bladeslice.ogg' + attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") + sharpness = IS_SHARP + max_integrity = 200 + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 30) + var/obj/item/grenade/explosive = null + var/war_cry = "AAAAARGH!!!" + var/icon_prefix = "spearglass" + var/wielded = FALSE // track wielded status on item + +/obj/item/spear/Initialize() + . = ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + +/obj/item/spear/ComponentInitialize() + . = ..() + AddComponent(/datum/component/butchering, 100, 70) //decent in a pinch, but pretty bad. + AddComponent(/datum/component/jousting) + AddElement(/datum/element/sword_point) + AddComponent(/datum/component/two_handed, force_unwielded=10, force_wielded=18, icon_wielded="[icon_prefix]1") + +/// triggered on wield of two handed item +/obj/item/spear/proc/on_wield(obj/item/source, mob/user) + wielded = TRUE + +/// triggered on unwield of two handed item +/obj/item/spear/proc/on_unwield(obj/item/source, mob/user) + wielded = FALSE + +/obj/item/spear/rightclick_attack_self(mob/user) + if(explosive) + explosive.attack_self(user) + return + . = ..() + +/obj/item/spear/update_icon_state() + icon_state = "[icon_prefix]0" + +/obj/item/spear/update_overlays() + . = ..() + if(explosive) + . += "spearbomb_overlay" + +/obj/item/spear/suicide_act(mob/living/carbon/user) + user.visible_message("[user] begins to sword-swallow \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + if(explosive) //Citadel Edit removes qdel and explosive.forcemove(AM) + user.say("[war_cry]", forced="spear warcry") + explosive.prime() + user.gib() + return BRUTELOSS + return BRUTELOSS + +/obj/item/spear/examine(mob/user) + . = ..() + if(explosive) + . += "Alt-click to set your war cry." + . += "Right-click in combat mode to activate the attached explosive." + +/obj/item/spear/afterattack(atom/movable/AM, mob/user, proximity) + . = ..() + if(!proximity) + return + if(isopenturf(AM)) //So you can actually melee with it + return + if(explosive && wielded) //Citadel edit removes qdel and explosive.forcemove(AM) + user.say("[war_cry]", forced="spear warcry") + explosive.prime() + +/obj/item/spear/grenade_prime_react(obj/item/grenade/nade) //Citadel edit, removes throw_impact because memes + nade.forceMove(get_turf(src)) + qdel(src) + +/obj/item/spear/AltClick(mob/user) + . = ..() + if(user.canUseTopic(src, BE_CLOSE)) + ..() + if(!explosive) + return + if(istype(user) && loc == user) + var/input = stripped_input(user,"What do you want your war cry to be? You will shout it when you hit someone in melee.", ,"", 50) + if(input) + src.war_cry = input + return TRUE + +/obj/item/spear/CheckParts(list/parts_list) + var/obj/item/shard/tip = locate() in parts_list + if (istype(tip, /obj/item/shard/plasma)) + throwforce = 21 + icon_prefix = "spearplasma" + AddComponent(/datum/component/two_handed, force_unwielded=11, force_wielded=19, icon_wielded="[icon_prefix]1") + qdel(tip) + var/obj/item/spear/S = locate() in parts_list + if(S) + if(S.explosive) + S.explosive.forceMove(get_turf(src)) + S.explosive = null + parts_list -= S + qdel(S) + ..() + var/obj/item/grenade/G = locate() in contents + if(G) + explosive = G + name = "explosive lance" + desc = "A makeshift spear with \a [G] attached to it." + update_icon() + +//GREY TIDE +/obj/item/spear/grey_tide + icon_state = "spearglass0" + name = "\improper Grey Tide" + desc = "Recovered from the aftermath of a revolt aboard Defense Outpost Theta Aegis, in which a seemingly endless tide of Assistants caused heavy casualities among Nanotrasen military forces." + throwforce = 20 + throw_speed = 4 + attack_verb = list("gored") + var/clonechance = 50 + var/clonedamage = 12 + var/clonespeed = 0 + var/clone_replication_chance = 30 + var/clone_lifespan = 100 + +/obj/item/spear/grey_tide/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=15, force_wielded=25, icon_wielded="[icon_prefix]1") + +/obj/item/spear/grey_tide/afterattack(atom/movable/AM, mob/living/user, proximity) + . = ..() + if(!proximity) + return + user.faction |= "greytide([REF(user)])" + if(isliving(AM)) + var/mob/living/L = AM + if(istype (L, /mob/living/simple_animal/hostile/illusion)) + return + if(!L.stat && prob(clonechance)) + var/mob/living/simple_animal/hostile/illusion/M = new(user.loc) + M.faction = user.faction.Copy() + M.set_varspeed(clonespeed) + M.Copy_Parent(user, clone_lifespan, user.health/2.5, clonedamage, clone_replication_chance) + M.GiveTarget(L) + +/* + * Bone Spear + */ +/obj/item/spear/bonespear //Blatant imitation of spear, but made out of bone. Not valid for explosive modification. + icon_state = "bone_spear0" + lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' + name = "bone spear" + desc = "A haphazardly-constructed yet still deadly weapon. The pinnacle of modern technology." + force = 11 + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK + reach = 2 + throwforce = 22 + embedding = list("embedded_impact_pain_multiplier" = 3) + armour_penetration = 15 //Enhanced armor piercing + custom_materials = null + hitsound = 'sound/weapons/bladeslice.ogg' + attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") + sharpness = IS_SHARP + icon_prefix = "bone_spear" + +/obj/item/spear/bonespear/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=11, force_wielded=20, icon_wielded="[icon_prefix]1") diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 82ae274012..2447381d2d 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -585,7 +585,7 @@ /obj/item/key/janitor, /obj/item/clothing/gloves, /obj/item/melee/flyswatter, - /obj/item/twohanded/broom, + /obj/item/broom, /obj/item/paint/paint_remover, /obj/item/assembly/mousetrap, /obj/item/screwdriver, diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index e3f590aa2a..5d5f0eaa24 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -173,12 +173,12 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", var/unholy2clean = A.reagents.get_reagent_amount(/datum/reagent/fuel/unholywater) A.reagents.del_reagent(/datum/reagent/fuel/unholywater) A.reagents.add_reagent(/datum/reagent/water/holywater,unholy2clean) - if(istype(A, /obj/item/twohanded/required/cult_bastard) || istype(A, /obj/item/melee/cultblade) && !iscultist(user)) + if(istype(A, /obj/item/cult_bastard) || istype(A, /obj/item/melee/cultblade) && !iscultist(user)) to_chat(user, "You begin to exorcise [A].") playsound(src,'sound/hallucinations/veryfar_noise.ogg',40,1) if(do_after(user, 40, target = A)) playsound(src,'sound/effects/pray_chaplain.ogg',60,1) - if(istype(A, /obj/item/twohanded/required/cult_bastard)) + if(istype(A, /obj/item/cult_bastard)) for(var/obj/item/soulstone/SS in A.contents) SS.usability = TRUE for(var/mob/living/simple_animal/shade/EX in SS) diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index ffa3d83304..3b66e32d0a 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -117,7 +117,7 @@ new /obj/item/pizzabox/bomb if("darklord") //20 tc + tk + summon item close enough for now - new /obj/item/twohanded/dualsaber(src) + new /obj/item/dualsaber(src) new /obj/item/dnainjector/telemut/darkbundle(src) new /obj/item/clothing/suit/hooded/chaplain_hoodie(src) new /obj/item/card/id/syndicate(src) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index ff59b85332..171355bef3 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -272,7 +272,7 @@ return else to_chat(user, "You attach the ends of the two plastic swords, making a single double-bladed toy! You're fake-cool.") - var/obj/item/twohanded/dualsaber/toy/newSaber = new /obj/item/twohanded/dualsaber/toy(user.loc) + var/obj/item/dualsaber/toy/newSaber = new /obj/item/dualsaber/toy(user.loc) if(hacked) // That's right, we'll only check the "original" "sword". newSaber.hacked = TRUE qdel(W) @@ -363,7 +363,7 @@ return else to_chat(user, "You combine the two plastic swords, making a single supermassive toy! You're fake-cool.") - new /obj/item/twohanded/dualsaber/hypereutactic/toy(user.loc) + new /obj/item/dualsaber/hypereutactic/toy(user.loc) qdel(W) qdel(src) else @@ -437,40 +437,45 @@ /* * Subtype of Double-Bladed Energy Swords */ -/obj/item/twohanded/dualsaber/toy +/obj/item/dualsaber/toy name = "double-bladed toy sword" desc = "A cheap, plastic replica of TWO energy swords. Double the fun!" force = 0 throwforce = 0 throw_speed = 3 throw_range = 5 - force_unwielded = 0 - force_wielded = 0 attack_verb = list("attacked", "struck", "hit") total_mass_on = TOTAL_MASS_TOY_SWORD sharpness = IS_BLUNT -/obj/item/twohanded/dualsaber/toy/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) +/obj/item/dualsaber/toy/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, wieldsound='sound/weapons/saberon.ogg', unwieldsound='sound/weapons/saberoff.ogg') + +/obj/item/dualsaber/toy/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) return BLOCK_NONE -/obj/item/twohanded/dualsaber/hypereutactic/toy +/obj/item/dualsaber/hypereutactic/toy name = "\improper DX Hyper-Euplastic LightSword" desc = "A supermassive toy envisioned to cleave the very fabric of space and time itself in twain. Realistic visuals and sounds! Ages 8 and up." force = 0 throwforce = 0 throw_speed = 3 throw_range = 5 - force_unwielded = 0 - force_wielded = 0 + attack_verb = list("attacked", "struck", "hit") total_mass_on = TOTAL_MASS_TOY_SWORD slowdown_wielded = 0 sharpness = IS_BLUNT -/obj/item/twohanded/dualsaber/hypereutactic/toy/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) +/obj/item/dualsaber/toy/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, wieldsound='sound/weapons/saberon.ogg', unwieldsound='sound/weapons/saberoff.ogg') + +/obj/item/dualsaber/hypereutactic/toy/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) return BLOCK_NONE -/obj/item/twohanded/dualsaber/hypereutactic/toy/rainbow +/obj/item/dualsaber/hypereutactic/toy/rainbow name = "\improper Hyper-Euclidean Reciprocating Trigonometric Zweihander" desc = "A custom-built toy with fancy rainbow lights built-in." hacked = TRUE diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm deleted file mode 100644 index acfc9a6e85..0000000000 --- a/code/game/objects/items/twohanded.dm +++ /dev/null @@ -1,1331 +0,0 @@ -/* Two-handed Weapons - * Contains: - * Twohanded - * Fireaxe - * Double-Bladed Energy Swords - * Spears - * CHAINSAWS - * Bone Axe and Spear - * And more - */ - -/*################################################################## -##################### TWO HANDED WEAPONS BE HERE~ -Agouri :3 ######## -####################################################################*/ - -//Rewrote TwoHanded weapons stuff and put it all here. Just copypasta fireaxe to make new ones ~Carn -//This rewrite means we don't have two variables for EVERY item which are used only by a few weapons. -//It also tidies stuff up elsewhere. - - - - -/* - * Twohanded - */ -/obj/item/twohanded - var/wielded = FALSE - var/force_unwielded // default to null, the number force will be set to on unwield() - var/force_wielded // same as above but for wield() - var/wieldsound = null - var/unwieldsound = null - var/slowdown_wielded = 0 - item_flags = SLOWS_WHILE_IN_HAND - -/obj/item/twohanded/proc/unwield(mob/living/carbon/user, show_message = TRUE) - if(!wielded || !user) - return - wielded = 0 - if(!isnull(force_unwielded)) - force = force_unwielded - var/sf = findtext(name, " (Wielded)", -10)//10 == length(" (Wielded)") - if(sf) - name = copytext(name, 1, sf) - else //something wrong - name = "[initial(name)]" - update_icon() - if(user.get_item_by_slot(SLOT_BACK) == src) - user.update_inv_back() - else - user.update_inv_hands() - if(show_message) - if(iscyborg(user)) - to_chat(user, "You free up your module.") - else - to_chat(user, "You are now carrying [src] with one hand.") - if(unwieldsound) - playsound(loc, unwieldsound, 50, 1) - var/obj/item/twohanded/offhand/O = user.get_inactive_held_item() - if(O && istype(O)) - O.unwield() - set_slowdown(slowdown - slowdown_wielded) - -/obj/item/twohanded/proc/wield(mob/living/carbon/user) - if(wielded) - return - if(ismonkey(user)) - to_chat(user, "It's too heavy for you to wield fully.") - return - if(user.get_inactive_held_item()) - to_chat(user, "You need your other hand to be empty!") - return - if(user.get_num_arms() < 2) - to_chat(user, "You don't have enough intact hands.") - return - wielded = 1 - if(!isnull(force_wielded)) - force = force_wielded - name = "[name] (Wielded)" - update_icon() - if(iscyborg(user)) - to_chat(user, "You dedicate your module to [src].") - else - to_chat(user, "You grab [src] with both hands.") - if (wieldsound) - playsound(loc, wieldsound, 50, 1) - var/obj/item/twohanded/offhand/O = new(user) ////Let's reserve his other hand~ - O.name = "[name] - offhand" - O.desc = "Your second grip on [src]." - O.wielded = TRUE - user.put_in_inactive_hand(O) - set_slowdown(slowdown + slowdown_wielded) - -/obj/item/twohanded/dropped(mob/user) - . = ..() - //handles unwielding a twohanded weapon when dropped as well as clearing up the offhand - if(!wielded) - return - unwield(user) - -/obj/item/twohanded/attack_self(mob/user) - . = ..() - if(wielded) //Trying to unwield it - unwield(user) - else //Trying to wield it - wield(user) - -/obj/item/twohanded/equip_to_best_slot(mob/M) - if(..()) - if(istype(src, /obj/item/twohanded/required)) - return // unwield forces twohanded-required items to be dropped. - unwield(M) - return - -/obj/item/twohanded/equipped(mob/user, slot) - ..() - if(!user.is_holding(src) && wielded && !istype(src, /obj/item/twohanded/required)) - unwield(user) - -///////////OFFHAND/////////////// -/obj/item/twohanded/offhand - name = "offhand" - icon_state = "offhand" - w_class = WEIGHT_CLASS_HUGE - item_flags = ABSTRACT - resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF - -/obj/item/twohanded/offhand/Destroy() - wielded = FALSE - return ..() - -/obj/item/twohanded/offhand/dropped(mob/living/user, show_message = TRUE) //Only utilized by dismemberment since you can't normally switch to the offhand to drop it. - var/obj/I = user.get_active_held_item() - if(I && istype(I, /obj/item/twohanded)) - var/obj/item/twohanded/thw = I - thw.unwield(user, show_message) - if(istype(thw, /obj/item/twohanded/required)) - user.dropItemToGround(thw) - if(!QDELETED(src)) - qdel(src) - -/obj/item/twohanded/offhand/unwield() - if(wielded)//Only delete if we're wielded - wielded = FALSE - qdel(src) - -/obj/item/twohanded/offhand/wield() - if(wielded)//Only delete if we're wielded - wielded = FALSE - qdel(src) - -/obj/item/twohanded/offhand/attack_self(mob/living/carbon/user) //You should never be able to do this in standard use of two handed items. This is a backup for lingering offhands. - var/obj/item/twohanded/O = user.get_inactive_held_item() - if (istype(O) && !istype(O, /obj/item/twohanded/offhand/)) //If you have a proper item in your other hand that the offhand is for, do nothing. This should never happen. - return - if (QDELETED(src)) - return - qdel(src) //If it's another offhand, or literally anything else, qdel. If I knew how to add logging messages I'd put one here. - -///////////Two hand required objects/////////////// -//This is for objects that require two hands to even pick up -/obj/item/twohanded/required - w_class = WEIGHT_CLASS_HUGE - -/obj/item/twohanded/required/attack_self() - return - -/obj/item/twohanded/required/mob_can_equip(mob/M, mob/equipper, slot, disable_warning = 0) - if(wielded && !slot_flags) - if(!disable_warning) - to_chat(M, "[src] is too cumbersome to carry with anything but your hands!") - return 0 - return ..() - -/obj/item/twohanded/required/attack_hand(mob/user)//Can't even pick it up without both hands empty - var/obj/item/twohanded/required/H = user.get_inactive_held_item() - if(get_dist(src,user) > 1) - return - if(H != null) - to_chat(user, "[src] is too cumbersome to carry in one hand!") - return - if(loc != user) - wield(user) - . = ..() - -/obj/item/twohanded/required/equipped(mob/user, slot) - ..() - var/slotbit = slotdefine2slotbit(slot) - if(slot_flags & slotbit) - var/datum/O = user.is_holding_item_of_type(/obj/item/twohanded/offhand) - if(!O || QDELETED(O)) - return - qdel(O) - return - if(slot == SLOT_HANDS) - wield(user) - else - unwield(user) - -/obj/item/twohanded/required/dropped(mob/living/user, show_message = TRUE) - unwield(user, show_message) - ..() - -/obj/item/twohanded/required/wield(mob/living/carbon/user) - ..() - if(!wielded) - user.dropItemToGround(src) - -/obj/item/twohanded/required/unwield(mob/living/carbon/user, show_message = TRUE) - if(!wielded) - return - if(show_message) - to_chat(user, "You drop [src].") - ..(user, FALSE) - -/* - * Fireaxe - */ -/obj/item/twohanded/fireaxe // DEM AXES MAN, marker -Agouri - icon_state = "fireaxe0" - lefthand_file = 'icons/mob/inhands/weapons/axes_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/axes_righthand.dmi' - name = "fire axe" - desc = "Truly, the weapon of a madman. Who would think to fight fire with an axe?" - force = 5 - throwforce = 15 - w_class = WEIGHT_CLASS_BULKY - slot_flags = ITEM_SLOT_BACK - force_unwielded = 5 - force_wielded = 24 - attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") - hitsound = 'sound/weapons/bladeslice.ogg' - sharpness = IS_SHARP - max_integrity = 200 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) - resistance_flags = FIRE_PROOF - -/obj/item/twohanded/fireaxe/Initialize() - . = ..() - AddComponent(/datum/component/butchering, 100, 80, 0 , hitsound) //axes are not known for being precision butchering tools - -/obj/item/twohanded/fireaxe/update_icon_state() //Currently only here to fuck with the on-mob icons. - icon_state = "fireaxe[wielded]" - return - -/obj/item/twohanded/fireaxe/suicide_act(mob/user) - user.visible_message("[user] axes [user.p_them()]self from head to toe! It looks like [user.p_theyre()] trying to commit suicide!") - return (BRUTELOSS) - -/obj/item/twohanded/fireaxe/afterattack(atom/A, mob/living/user, proximity) - . = ..() - if(!proximity || IS_STAMCRIT(user)) //don't make stamcrit message they'll already have gotten one from the primary attack. - return - if(wielded) //destroys windows and grilles in one hit (or more if it has a ton of health like plasmaglass) - if(istype(A, /obj/structure/window)) - var/obj/structure/window/W = A - W.take_damage(200, BRUTE, "melee", 0) - else if(istype(A, /obj/structure/grille)) - var/obj/structure/grille/G = A - G.take_damage(40, BRUTE, "melee", 0) - - -/* - * Double-Bladed Energy Swords - Cheridan - */ -/obj/item/twohanded/dualsaber - icon_state = "dualsaber0" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - name = "double-bladed energy sword" - desc = "Handle with care." - force = 3 - throwforce = 5 - throw_speed = 3 - throw_range = 5 - w_class = WEIGHT_CLASS_SMALL - var/w_class_on = WEIGHT_CLASS_BULKY - force_unwielded = 3 - force_wielded = 34 - wieldsound = 'sound/weapons/saberon.ogg' - unwieldsound = 'sound/weapons/saberoff.ogg' - hitsound = "swing_hit" - var/hitsound_on = 'sound/weapons/blade1.ogg' - armour_penetration = 35 - var/saber_color = "green" - light_color = "#00ff00"//green - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - block_chance = 75 - max_integrity = 200 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 70) - resistance_flags = FIRE_PROOF - var/hacked = FALSE - /// Can this reflect all energy projectiles? - var/can_reflect = TRUE - var/brightness_on = 6 //TWICE AS BRIGHT AS A REGULAR ESWORD - var/list/possible_colors = list("red", "blue", "green", "purple") - var/list/rainbow_colors = list(LIGHT_COLOR_RED, LIGHT_COLOR_GREEN, LIGHT_COLOR_LIGHT_CYAN, LIGHT_COLOR_LAVENDER) - var/spinnable = TRUE - total_mass = 0.4 //Survival flashlights typically weigh around 5 ounces. - var/total_mass_on = 3.4 - -/obj/item/twohanded/dualsaber/suicide_act(mob/living/carbon/user) - if(wielded) - user.visible_message("[user] begins spinning way too fast! It looks like [user.p_theyre()] trying to commit suicide!") - - var/obj/item/bodypart/head/myhead = user.get_bodypart(BODY_ZONE_HEAD)//stole from chainsaw code - var/obj/item/organ/brain/B = user.getorganslot(ORGAN_SLOT_BRAIN) - B.organ_flags &= ~ORGAN_VITAL //this cant possibly be a good idea - var/randdir - for(var/i in 1 to 24)//like a headless chicken! - if(user.is_holding(src)) - randdir = pick(GLOB.alldirs) - user.Move(get_step(user, randdir),randdir) - user.emote("spin") - if (i == 3 && myhead) - myhead.drop_limb() - sleep(3) - else - user.visible_message("[user] panics and starts choking to death!") - return OXYLOSS - - - else - user.visible_message("[user] begins beating [user.p_them()]self to death with \the [src]'s handle! It probably would've been cooler if [user.p_they()] turned it on first!") - return BRUTELOSS - -/obj/item/twohanded/dualsaber/Initialize() - . = ..() - if(LAZYLEN(possible_colors)) - saber_color = pick(possible_colors) - switch(saber_color) - if("red") - light_color = LIGHT_COLOR_RED - if("green") - light_color = LIGHT_COLOR_GREEN - if("blue") - light_color = LIGHT_COLOR_LIGHT_CYAN - if("purple") - light_color = LIGHT_COLOR_LAVENDER - -/obj/item/twohanded/dualsaber/Destroy() - STOP_PROCESSING(SSobj, src) - . = ..() - -/obj/item/twohanded/dualsaber/update_icon_state() - if(wielded) - icon_state = "dualsaber[saber_color][wielded]" - else - icon_state = "dualsaber0" - clean_blood() - -/obj/item/twohanded/dualsaber/attack(mob/target, mob/living/carbon/human/user) - if(user.has_dna()) - if(user.dna.check_mutation(HULK)) - to_chat(user, "You grip the blade too hard and accidentally close it!") - unwield() - return - ..() - if(HAS_TRAIT(user, TRAIT_CLUMSY) && (wielded) && prob(40)) - impale(user) - return - if(spinnable && (wielded) && prob(50)) - INVOKE_ASYNC(src, .proc/jedi_spin, user) - -/obj/item/twohanded/dualsaber/proc/jedi_spin(mob/living/user) - for(var/i in list(NORTH,SOUTH,EAST,WEST,EAST,SOUTH,NORTH,SOUTH,EAST,WEST,EAST,SOUTH)) - user.setDir(i) - if(i == WEST) - user.emote("flip") - sleep(1) - -/obj/item/twohanded/dualsaber/proc/impale(mob/living/user) - to_chat(user, "You twirl around a bit before losing your balance and impaling yourself on [src].") - if (force_wielded) - user.take_bodypart_damage(20,25) - else - user.adjustStaminaLoss(25) - -/obj/item/twohanded/dualsaber/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) - if(!wielded) - return NONE - if(can_reflect && is_energy_reflectable_projectile(object) && (attack_type & ATTACK_TYPE_PROJECTILE)) - block_return[BLOCK_RETURN_REDIRECT_METHOD] = REDIRECT_METHOD_RETURN_TO_SENDER //no you - return BLOCK_SHOULD_REDIRECT | BLOCK_SUCCESS | BLOCK_REDIRECTED - return ..() - -/obj/item/twohanded/dualsaber/attack_hulk(mob/living/carbon/human/user, does_attack_animation = 0) //In case thats just so happens that it is still activated on the groud, prevents hulk from picking it up - if(wielded) - to_chat(user, "You can't pick up such dangerous item with your meaty hands without losing fingers, better not to!") - return 1 - -/obj/item/twohanded/dualsaber/wield(mob/living/carbon/M) //Specific wield () hulk checks due to reflection chance for balance issues and switches hitsounds. - if(M.has_dna()) - if(M.dna.check_mutation(HULK)) - to_chat(M, "You lack the grace to wield this!") - return - ..() - if(wielded) - sharpness = IS_SHARP - w_class = w_class_on - total_mass = total_mass_on - hitsound = 'sound/weapons/blade1.ogg' - START_PROCESSING(SSobj, src) - set_light(brightness_on) - AddElement(/datum/element/sword_point) - -/obj/item/twohanded/dualsaber/unwield() //Specific unwield () to switch hitsounds. - sharpness = initial(sharpness) - w_class = initial(w_class) - total_mass = initial(total_mass) - ..() - hitsound = "swing_hit" - STOP_PROCESSING(SSobj, src) - set_light(0) - RemoveElement(/datum/element/sword_point) - -/obj/item/twohanded/dualsaber/process() - if(wielded) - if(hacked) - rainbow_process() - open_flame() - else - STOP_PROCESSING(SSobj, src) - -/obj/item/twohanded/dualsaber/proc/rainbow_process() - light_color = pick(rainbow_colors) - -/obj/item/twohanded/dualsaber/ignition_effect(atom/A, mob/user) - // same as /obj/item/melee/transforming/energy, mostly - if(!wielded) - return "" - var/in_mouth = "" - if(iscarbon(user)) - var/mob/living/carbon/C = user - if(C.wear_mask) - in_mouth = ", barely missing [user.p_their()] nose" - . = "[user] swings [user.p_their()] [name][in_mouth]. [user.p_they(TRUE)] light[user.p_s()] [user.p_their()] [A.name] in the process." - playsound(loc, hitsound, get_clamped_volume(), 1, -1) - add_fingerprint(user) - // Light your candles while spinning around the room - if(spinnable) - INVOKE_ASYNC(src, .proc/jedi_spin, user) - -/obj/item/twohanded/dualsaber/green - possible_colors = list("green") - -/obj/item/twohanded/dualsaber/red - possible_colors = list("red") - -/obj/item/twohanded/dualsaber/blue - possible_colors = list("blue") - -/obj/item/twohanded/dualsaber/purple - possible_colors = list("purple") - -/obj/item/twohanded/dualsaber/attackby(obj/item/W, mob/user, params) - if(istype(W, /obj/item/multitool)) - if(!hacked) - hacked = TRUE - to_chat(user, "2XRNBW_ENGAGE") - saber_color = "rainbow" - update_icon() - else - to_chat(user, "It's starting to look like a triple rainbow - no, nevermind.") - else - return ..() - -///////////////////////////////////////////////////// -// HYPEREUTACTIC Blades ///////////////////////// -///////////////////////////////////////////////////// - -/obj/item/twohanded/dualsaber/hypereutactic - icon = 'icons/obj/1x2.dmi' - icon_state = "hypereutactic" - lefthand_file = 'icons/mob/inhands/64x64_lefthand.dmi' - righthand_file = 'icons/mob/inhands/64x64_righthand.dmi' - item_state = "hypereutactic" - inhand_x_dimension = 64 - inhand_y_dimension = 64 - name = "hypereutactic blade" - desc = "A supermassive weapon envisioned to cleave the very fabric of space and time itself in twain, the hypereutactic blade dynamically flash-forges a hypereutactic crystaline nanostructure capable of passing through most known forms of matter like a hot knife through butter." - force = 7 - force_unwielded = 7 - force_wielded = 40 - wieldsound = 'sound/weapons/nebon.ogg' - unwieldsound = 'sound/weapons/neboff.ogg' - hitsound_on = 'sound/weapons/nebhit.ogg' - slowdown_wielded = 1 - armour_penetration = 60 - light_color = "#37FFF7" - rainbow_colors = list("#FF0000", "#FFFF00", "#00FF00", "#00FFFF", "#0000FF","#FF00FF", "#3399ff", "#ff9900", "#fb008b", "#9800ff", "#00ffa3", "#ccff00") - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "destroyed", "ripped", "devastated", "shredded") - spinnable = FALSE - total_mass_on = 4 - -/obj/item/twohanded/dualsaber/hypereutactic/ComponentInitialize() - . = ..() - AddElement(/datum/element/update_icon_updates_onmob) - -/obj/item/twohanded/dualsaber/hypereutactic/update_icon_state() - return - -/obj/item/twohanded/dualsaber/hypereutactic/update_overlays() - . = ..() - var/mutable_appearance/blade_overlay = mutable_appearance(icon, "hypereutactic_blade") - var/mutable_appearance/gem_overlay = mutable_appearance(icon, "hypereutactic_gem") - - if(light_color) - blade_overlay.color = light_color - gem_overlay.color = light_color - - . += gem_overlay - - if(wielded) - . += blade_overlay - - clean_blood() - -/obj/item/twohanded/dualsaber/hypereutactic/AltClick(mob/living/user) - . = ..() - if(!user.canUseTopic(src, BE_CLOSE, FALSE) || hacked) - return - if(user.incapacitated() || !istype(user)) - to_chat(user, "You can't do that right now!") - return - if(alert("Are you sure you want to recolor your blade?", "Confirm Repaint", "Yes", "No") == "Yes") - var/energy_color_input = input(usr,"","Choose Energy Color",light_color) as color|null - if(!energy_color_input || !user.canUseTopic(src, BE_CLOSE, FALSE) || hacked) - return - light_color = sanitize_hexcolor(energy_color_input, desired_format=6, include_crunch=1) - update_icon() - update_light() - return TRUE - -/obj/item/twohanded/dualsaber/hypereutactic/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) - . = ..() - if(isinhands) - var/mutable_appearance/gem_inhand = mutable_appearance(icon_file, "hypereutactic_gem") - gem_inhand.color = light_color - . += gem_inhand - if(wielded) - var/mutable_appearance/blade_inhand = mutable_appearance(icon_file, "hypereutactic_blade") - blade_inhand.color = light_color - . += blade_inhand - -/obj/item/twohanded/dualsaber/hypereutactic/examine(mob/user) - . = ..() - if(!hacked) - . += "Alt-click to recolor it." - -/obj/item/twohanded/dualsaber/hypereutactic/rainbow_process() - . = ..() - update_icon() - update_light() - -/obj/item/twohanded/dualsaber/hypereutactic/chaplain - name = "divine lightblade" - desc = "A giant blade of bright and holy light, said to cut down the wicked with ease." - force = 5 - force_unwielded = 5 - force_wielded = 20 - block_chance = 50 - armour_penetration = 0 - var/chaplain_spawnable = TRUE - can_reflect = FALSE - obj_flags = UNIQUE_RENAME - -/obj/item/twohanded/dualsaber/hypereutactic/chaplain/ComponentInitialize() - . = ..() - AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, null, null, FALSE) - -//spears -/obj/item/twohanded/spear - icon_state = "spearglass0" - lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' - name = "spear" - desc = "A haphazardly-constructed yet still deadly weapon of ancient design." - force = 10 - w_class = WEIGHT_CLASS_BULKY - slot_flags = ITEM_SLOT_BACK - force_unwielded = 10 - force_wielded = 18 - throwforce = 20 - throw_speed = 4 - embedding = list("embedded_impact_pain_multiplier" = 3, "embed_chance" = 90) - armour_penetration = 10 - custom_materials = list(/datum/material/iron=1150, /datum/material/glass=2075) - hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") - sharpness = IS_SHARP - max_integrity = 200 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 30) - var/obj/item/grenade/explosive = null - var/war_cry = "AAAAARGH!!!" - var/icon_prefix = "spearglass" - -/obj/item/twohanded/spear/Initialize() - . = ..() - AddComponent(/datum/component/butchering, 100, 70) //decent in a pinch, but pretty bad. - AddComponent(/datum/component/jousting) - AddElement(/datum/element/sword_point) - -/obj/item/twohanded/spear/attack_self(mob/user) - if(explosive) - explosive.attack_self(user) - return - . = ..() - -//Citadel additions : attack_self and rightclick_attack_self - -/obj/item/twohanded/rightclick_attack_self(mob/user) - if(wielded) //Trying to unwield it - unwield(user) - else //Trying to wield it - wield(user) - return TRUE - -/obj/item/twohanded/spear/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins to sword-swallow \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") - if(explosive) //Citadel Edit removes qdel and explosive.forcemove(AM) - user.say("[war_cry]", forced="spear warcry") - explosive.prime() - user.gib() - return BRUTELOSS - return BRUTELOSS - -/obj/item/twohanded/spear/examine(mob/user) - . = ..() - if(explosive) - . += "Use in your hands to activate the attached explosive.
Alt-click to set your war cry.
Right-click in combat mode to wield" - -/obj/item/twohanded/spear/update_icon_state() - if(explosive) - icon_state = "spearbomb[wielded]" - else - icon_state = "[icon_prefix][wielded]" - -/obj/item/twohanded/spear/afterattack(atom/movable/AM, mob/user, proximity) - . = ..() - if(!proximity) - return - if(isopenturf(AM)) //So you can actually melee with it - return - if(explosive && wielded) //Citadel edit removes qdel and explosive.forcemove(AM) - user.say("[war_cry]", forced="spear warcry") - explosive.prime() - -/obj/item/twohanded/spear/grenade_prime_react(obj/item/grenade/nade) //Citadel edit, removes throw_impact because memes - nade.forceMove(get_turf(src)) - qdel(src) - -/obj/item/twohanded/spear/AltClick(mob/user) - . = ..() - if(user.canUseTopic(src, BE_CLOSE)) - ..() - if(!explosive) - return - if(istype(user) && loc == user) - var/input = stripped_input(user,"What do you want your war cry to be? You will shout it when you hit someone in melee.", ,"", 50) - if(input) - src.war_cry = input - return TRUE - -/obj/item/twohanded/spear/CheckParts(list/parts_list) - var/obj/item/shard/tip = locate() in parts_list - if (istype(tip, /obj/item/shard/plasma)) - force_wielded = 19 - force_unwielded = 11 - throwforce = 21 - icon_prefix = "spearplasma" - qdel(tip) - var/obj/item/twohanded/spear/S = locate() in parts_list - if(S) - if(S.explosive) - S.explosive.forceMove(get_turf(src)) - S.explosive = null - parts_list -= S - qdel(S) - ..() - var/obj/item/grenade/G = locate() in contents - if(G) - explosive = G - name = "explosive lance" - desc = "A makeshift spear with [G] attached to it." - update_icon() - -// CHAINSAW -/obj/item/twohanded/required/chainsaw - name = "chainsaw" - desc = "A versatile power tool. Useful for limbing trees and delimbing humans." - icon_state = "chainsaw_off" - lefthand_file = 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/chainsaw_righthand.dmi' - flags_1 = CONDUCT_1 - force = 13 - var/force_on = 24 - w_class = WEIGHT_CLASS_HUGE - throwforce = 13 - throw_speed = 2 - throw_range = 4 - custom_materials = list(/datum/material/iron=13000) - attack_verb = list("sawed", "torn", "cut", "chopped", "diced") - hitsound = "swing_hit" - sharpness = IS_SHARP - actions_types = list(/datum/action/item_action/startchainsaw) - var/on = FALSE - tool_behaviour = TOOL_SAW - toolspeed = 0.5 - -/obj/item/twohanded/required/chainsaw/ComponentInitialize() - . = ..() - AddComponent(/datum/component/butchering, 30, 100, 0, 'sound/weapons/chainsawhit.ogg', TRUE) - AddElement(/datum/element/update_icon_updates_onmob) - -/obj/item/twohanded/required/chainsaw/suicide_act(mob/living/carbon/user) - if(on) - user.visible_message("[user] begins to tear [user.p_their()] head off with [src]! It looks like [user.p_theyre()] trying to commit suicide!") - playsound(src, 'sound/weapons/chainsawhit.ogg', 100, 1) - var/obj/item/bodypart/head/myhead = user.get_bodypart(BODY_ZONE_HEAD) - if(myhead) - myhead.dismember() - else - user.visible_message("[user] smashes [src] into [user.p_their()] neck, destroying [user.p_their()] esophagus! It looks like [user.p_theyre()] trying to commit suicide!") - playsound(src, 'sound/weapons/genhit1.ogg', 100, 1) - return(BRUTELOSS) - -/obj/item/twohanded/required/chainsaw/attack_self(mob/user) - on = !on - to_chat(user, "As you pull the starting cord dangling from [src], [on ? "it begins to whirr." : "the chain stops moving."]") - force = on ? force_on : initial(force) - throwforce = on ? force_on : force - update_icon() - var/datum/component/butchering/butchering = src.GetComponent(/datum/component/butchering) - butchering.butchering_enabled = on - - if(on) - hitsound = 'sound/weapons/chainsawhit.ogg' - else - hitsound = "swing_hit" - -/obj/item/twohanded/required/chainsaw/update_icon_state() - icon_state = "chainsaw_[on ? "on" : "off"]" - -/obj/item/twohanded/required/chainsaw/get_dismemberment_chance() - if(wielded) - . = ..() - -/obj/item/twohanded/required/chainsaw/doomslayer - name = "THE GREAT COMMUNICATOR" - desc = "VRRRRRRR!!!" - armour_penetration = 100 - force_on = 30 - -/obj/item/twohanded/required/chainsaw/doomslayer/check_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) - block_return[BLOCK_RETURN_REFLECT_PROJECTILE_CHANCE] = 100 - return ..() - -/obj/item/twohanded/required/chainsaw/doomslayer/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) - if(attack_type & ATTACK_TYPE_PROJECTILE) - owner.visible_message("Ranged attacks just make [owner] angrier!") - playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, 1) - return BLOCK_SUCCESS | BLOCK_PHYSICAL_EXTERNAL - return ..() - -//GREY TIDE -/obj/item/twohanded/spear/grey_tide - icon_state = "spearglass0" - name = "\improper Grey Tide" - desc = "Recovered from the aftermath of a revolt aboard Defense Outpost Theta Aegis, in which a seemingly endless tide of Assistants caused heavy casualities among Nanotrasen military forces." - force_unwielded = 15 - force_wielded = 25 - throwforce = 20 - throw_speed = 4 - attack_verb = list("gored") - var/clonechance = 50 - var/clonedamage = 12 - var/clonespeed = 0 - var/clone_replication_chance = 30 - var/clone_lifespan = 100 - -/obj/item/twohanded/spear/grey_tide/afterattack(atom/movable/AM, mob/living/user, proximity) - . = ..() - if(!proximity) - return - user.faction |= "greytide([REF(user)])" - if(isliving(AM)) - var/mob/living/L = AM - if(istype (L, /mob/living/simple_animal/hostile/illusion)) - return - if(!L.stat && prob(clonechance)) - var/mob/living/simple_animal/hostile/illusion/M = new(user.loc) - M.faction = user.faction.Copy() - M.set_varspeed(clonespeed) - M.Copy_Parent(user, clone_lifespan, user.health/2.5, clonedamage, clone_replication_chance) - M.GiveTarget(L) - -/obj/item/twohanded/pitchfork - icon_state = "pitchfork0" - lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' - name = "pitchfork" - desc = "A simple tool used for moving hay." - force = 7 - throwforce = 15 - w_class = WEIGHT_CLASS_BULKY - force_unwielded = 7 - force_wielded = 15 - attack_verb = list("attacked", "impaled", "pierced") - hitsound = 'sound/weapons/bladeslice.ogg' - sharpness = IS_SHARP - max_integrity = 200 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) - resistance_flags = FIRE_PROOF - -/obj/item/twohanded/pitchfork/Initialize(mapload) - AddElement(/datum/element/sword_point) - -/obj/item/twohanded/pitchfork/demonic - name = "demonic pitchfork" - desc = "A red pitchfork, it looks like the work of the devil." - force = 19 - throwforce = 24 - force_unwielded = 19 - force_wielded = 25 - -/obj/item/twohanded/pitchfork/demonic/Initialize() - . = ..() - set_light(3,6,LIGHT_COLOR_RED) - -/obj/item/twohanded/pitchfork/demonic/greater - force = 24 - throwforce = 50 - force_unwielded = 24 - force_wielded = 34 - -/obj/item/twohanded/pitchfork/demonic/ascended - force = 100 - throwforce = 100 - force_unwielded = 100 - force_wielded = 500000 // Kills you DEAD. - -/obj/item/twohanded/pitchfork/update_icon_state() - icon_state = "pitchfork[wielded]" - -/obj/item/twohanded/pitchfork/suicide_act(mob/user) - user.visible_message("[user] impales [user.p_them()]self in [user.p_their()] abdomen with [src]! It looks like [user.p_theyre()] trying to commit suicide!") - return (BRUTELOSS) - -/obj/item/twohanded/pitchfork/demonic/pickup(mob/living/user) - if(isliving(user) && user.mind && user.owns_soul() && !is_devil(user)) - var/mob/living/U = user - U.visible_message("As [U] picks [src] up, [U]'s arms briefly catch fire.", \ - "\"As you pick up [src] your arms ignite, reminding you of all your past sins.\"") - if(ishuman(U)) - var/mob/living/carbon/human/H = U - H.apply_damage(rand(force/2, force), BURN, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) - else - U.adjustFireLoss(rand(force/2,force)) - -/obj/item/twohanded/pitchfork/demonic/attack(mob/target, mob/living/carbon/human/user) - if(user.mind && user.owns_soul() && !is_devil(user)) - to_chat(user, "[src] burns in your hands.") - user.apply_damage(rand(force/2, force), BURN, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) - ..() - -/obj/item/twohanded/pitchfork/demonic/ascended/afterattack(atom/target, mob/user, proximity) - . = ..() - if(!proximity || !wielded) - return - if(iswallturf(target)) - var/turf/closed/wall/W = target - user.visible_message("[user] blasts \the [target] with \the [src]!") - playsound(target, 'sound/magic/disintegrate.ogg', 100, 1) - W.break_wall() - W.ScrapeAway(flags = CHANGETURF_INHERIT_AIR) - return - -//HF blade - -/obj/item/twohanded/vibro_weapon - icon_state = "hfrequency0" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - name = "vibro sword" - desc = "A potent weapon capable of cutting through nearly anything. Wielding it in two hands will allow you to deflect gunfire." - force_unwielded = 20 - force_wielded = 40 - armour_penetration = 100 - block_chance = 40 - throwforce = 20 - throw_speed = 4 - sharpness = IS_SHARP - attack_verb = list("cut", "sliced", "diced") - w_class = WEIGHT_CLASS_BULKY - slot_flags = ITEM_SLOT_BACK - hitsound = 'sound/weapons/bladeslice.ogg' - -/obj/item/twohanded/vibro_weapon/Initialize() - . = ..() - AddComponent(/datum/component/butchering, 20, 105) - AddElement(/datum/element/sword_point) - -/obj/item/twohanded/vibro_weapon/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) - if(wielded) - final_block_chance *= 2 - if(wielded || !(attack_type & ATTACK_TYPE_PROJECTILE)) - if(prob(final_block_chance)) - if(attack_type & ATTACK_TYPE_PROJECTILE) - owner.visible_message("[owner] deflects [attack_text] with [src]!") - playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, 1) - block_return[BLOCK_RETURN_REDIRECT_METHOD] = REDIRECT_METHOD_DEFLECT - return BLOCK_SUCCESS | BLOCK_REDIRECTED | BLOCK_SHOULD_REDIRECT | BLOCK_PHYSICAL_EXTERNAL - else - owner.visible_message("[owner] parries [attack_text] with [src]!") - return BLOCK_SUCCESS | BLOCK_PHYSICAL_EXTERNAL - return NONE - -/obj/item/twohanded/vibro_weapon/update_icon_state() - icon_state = "hfrequency[wielded]" - -/* - * Bone Axe - */ -/obj/item/twohanded/fireaxe/boneaxe // Blatant imitation of the fireaxe, but made out of bone. - icon_state = "bone_axe0" - name = "bone axe" - desc = "A large, vicious axe crafted out of several sharpened bone plates and crudely tied together. Made of monsters, by killing monsters, for killing monsters." - force_wielded = 23 - -/obj/item/twohanded/fireaxe/boneaxe/update_icon_state() - icon_state = "bone_axe[wielded]" - -/* - * Bone Spear - */ -/obj/item/twohanded/bonespear //Blatant imitation of spear, but made out of bone. Not valid for explosive modification. - icon_state = "bone_spear0" - lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' - name = "bone spear" - desc = "A haphazardly-constructed yet still deadly weapon. The pinnacle of modern technology." - force = 11 - w_class = WEIGHT_CLASS_BULKY - slot_flags = ITEM_SLOT_BACK - force_unwielded = 11 - force_wielded = 20 //I have no idea how to balance - reach = 2 - throwforce = 22 - throw_speed = 4 - embedding = list("embedded_impact_pain_multiplier" = 3) - armour_penetration = 15 //Enhanced armor piercing - hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") - sharpness = IS_SHARP - -/obj/item/twohanded/bonespear/update_icon_state() - icon_state = "bone_spear[wielded]" - -/obj/item/twohanded/binoculars - name = "binoculars" - desc = "Used for long-distance surveillance." - item_state = "binoculars" - icon_state = "binoculars" - lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' - righthand_file = 'icons/mob/inhands/items_righthand.dmi' - slot_flags = ITEM_SLOT_BELT - w_class = WEIGHT_CLASS_SMALL - var/mob/listeningTo - var/zoom_out_amt = 6 - var/zoom_amt = 10 - -/obj/item/twohanded/binoculars/Destroy() - listeningTo = null - return ..() - -/obj/item/twohanded/binoculars/wield(mob/user) - . = ..() - if(!wielded) - return - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/unwield) - listeningTo = user - user.visible_message("[user] holds [src] up to [user.p_their()] eyes.","You hold [src] up to your eyes.") - item_state = "binoculars_wielded" - user.regenerate_icons() - if(!user?.client) - return - var/client/C = user.client - var/_x = 0 - var/_y = 0 - switch(user.dir) - if(NORTH) - _y = zoom_amt - if(EAST) - _x = zoom_amt - if(SOUTH) - _y = -zoom_amt - if(WEST) - _x = -zoom_amt - C.change_view(world.view + zoom_out_amt) - C.pixel_x = world.icon_size*_x - C.pixel_y = world.icon_size*_y - -/obj/item/twohanded/binoculars/unwield(mob/user) - . = ..() - UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED) - listeningTo = null - user.visible_message("[user] lowers [src].","You lower [src].") - item_state = "binoculars" - user.regenerate_icons() - if(user && user.client) - user.regenerate_icons() - var/client/C = user.client - C.change_view(CONFIG_GET(string/default_view)) - user.client.pixel_x = 0 - user.client.pixel_y = 0 - -/obj/item/twohanded/electrostaff - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "electrostaff" - item_state = "electrostaff" - lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' - name = "riot suppression electrostaff" - desc = "A large quarterstaff, with massive silver electrodes mounted at the end." - w_class = WEIGHT_CLASS_HUGE - slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_OCLOTHING - force_unwielded = 5 - force_wielded = 10 - throwforce = 15 //if you are a madman and finish someone off with this, power to you. - throw_speed = 1 - item_flags = NO_MAT_REDEMPTION | SLOWS_WHILE_IN_HAND - block_chance = 30 - attack_verb = list("struck", "beaten", "thwacked", "pulped") - total_mass = 5 //yeah this is a heavy thing, beating people with it while it's off is not going to do you any favors. (to curb stun-kill rampaging without it being on) - var/obj/item/stock_parts/cell/cell = /obj/item/stock_parts/cell/high - var/on = FALSE - var/can_block_projectiles = FALSE //can't block guns - var/lethal_cost = 400 //10000/400*20 = 500. decent enough? - var/lethal_damage = 20 - var/lethal_stam_cost = 4 - var/stun_cost = 333 //10000/333*25 = 750. stunbatons are at time of writing 10000/1000*49 = 490. - var/stun_status_effect = STATUS_EFFECT_ELECTROSTAFF //a small slowdown effect - var/stun_stamdmg = 40 - var/stun_status_duration = 25 - var/stun_stam_cost = 3.5 - -/obj/item/twohanded/electrostaff/Initialize(mapload) - . = ..() - if(ispath(cell)) - cell = new cell - -/obj/item/twohanded/electrostaff/Destroy() - STOP_PROCESSING(SSobj, src) - return ..() - -/obj/item/twohanded/electrostaff/get_cell() - . = cell - if(iscyborg(loc)) - var/mob/living/silicon/robot/R = loc - . = R.get_cell() - -/obj/item/twohanded/electrostaff/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) - if(!on || (!can_block_projectiles && (attack_type & ATTACK_TYPE_PROJECTILE))) - return BLOCK_NONE - return ..() - -/obj/item/twohanded/electrostaff/proc/min_hitcost() - return min(stun_cost, lethal_cost) - -/obj/item/twohanded/electrostaff/proc/turn_on(mob/user, silent = FALSE) - if(on) - return - if(!cell) - if(user) - to_chat(user, "[src] has no cell.") - return - if(cell.charge < min_hitcost()) - if(user) - to_chat(user, "[src] is out of charge.") - return - on = TRUE - START_PROCESSING(SSobj, src) - if(user) - to_chat(user, "You turn [src] on.") - update_icon() - if(!silent) - playsound(src, "sparks", 75, 1, -1) - -/obj/item/twohanded/electrostaff/proc/turn_off(mob/user, silent = FALSE) - if(!on) - return - if(user) - to_chat(user, "You turn [src] off.") - on = FALSE - STOP_PROCESSING(SSobj, src) - update_icon() - if(!silent) - playsound(src, "sparks", 75, 1, -1) - -/obj/item/twohanded/electrostaff/proc/toggle(mob/user, silent = FALSE) - if(on) - turn_off(user, silent) - else - turn_on(user, silent) - -/obj/item/twohanded/electrostaff/wield(mob/user) - . = ..() - if(wielded) - turn_on(user) - add_fingerprint(user) - -/obj/item/twohanded/electrostaff/unwield(mob/user) - . = ..() - if(!wielded) - turn_off(user) - add_fingerprint(user) - -/obj/item/twohanded/electrostaff/update_icon_state() - . = ..() - if(!wielded) - icon_state = "electrostaff" - item_state = "electrostaff" - else - icon_state = item_state = (on? "electrostaff_1" : "electrostaff_0") - set_light(7, on? 1 : 0, LIGHT_COLOR_CYAN) - -/obj/item/twohanded/electrostaff/examine(mob/living/user) - . = ..() - if(cell) - . += "The cell charge is [round(cell.percent())]%." - else - . += "There is no cell installed!" - -/obj/item/twohanded/electrostaff/attackby(obj/item/W, mob/user, params) - if(istype(W, /obj/item/stock_parts/cell)) - var/obj/item/stock_parts/cell/C = W - if(cell) - to_chat(user, "[src] already has a cell!") - else - if(C.maxcharge < min_hit_cost()) - to_chat(user, "[src] requires a higher capacity cell.") - return - if(!user.transferItemToLoc(W, src)) - return - cell = C - to_chat(user, "You install a cell in [src].") - - else if(W.tool_behaviour == TOOL_SCREWDRIVER) - if(cell) - cell.update_icon() - cell.forceMove(get_turf(src)) - cell = null - to_chat(user, "You remove the cell from [src].") - turn_off(user, TRUE) - else - return ..() - -/obj/item/twohanded/electrostaff/process() - deductcharge(50) //Wasteful! - -/obj/item/twohanded/electrostaff/proc/min_hit_cost() - return min(lethal_cost, stun_cost) - -/obj/item/twohanded/electrostaff/proc/deductcharge(amount) - var/obj/item/stock_parts/cell/C = get_cell() - if(!C) - turn_off() - return FALSE - C.use(min(amount, C.charge)) - if(QDELETED(src)) - return FALSE - if(C.charge < min_hit_cost()) - turn_off() - -/obj/item/twohanded/electrostaff/attack(mob/living/target, mob/living/user) - if(IS_STAMCRIT(user))//CIT CHANGE - makes it impossible to baton in stamina softcrit - to_chat(user, "You're too exhausted for that.")//CIT CHANGE - ditto - return //CIT CHANGE - ditto - if(on && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) - clowning_around(user) //ouch! - return - if(iscyborg(target)) - ..() - return - if(target.mob_run_block(src, 0, "[user]'s [name]", ATTACK_TYPE_MELEE, 0, user, null, null) & BLOCK_SUCCESS) //No message; run_block() handles that - playsound(target, 'sound/weapons/genhit.ogg', 50, 1) - return FALSE - if(user.a_intent != INTENT_HARM) - if(stun_act(target, user)) - user.do_attack_animation(target) - user.adjustStaminaLossBuffered(stun_stam_cost) - return - else if(!harm_act(target, user)) - return ..() //if you can't fry them just beat them with it - else //we did harm act them - user.do_attack_animation(target) - user.adjustStaminaLossBuffered(lethal_stam_cost) - -/obj/item/twohanded/electrostaff/proc/stun_act(mob/living/target, mob/living/user, no_charge_and_force = FALSE) - var/stunforce = stun_stamdmg - if(!no_charge_and_force) - if(!on) - target.visible_message("[user] has bapped [target] with [src]. Luckily it was off.", \ - "[user] has bapped you with [src]. Luckily it was off") - turn_off() //if it wasn't already off - return FALSE - var/obj/item/stock_parts/cell/C = get_cell() - var/chargeleft = C.charge - deductcharge(stun_cost) - if(QDELETED(src) || QDELETED(C)) //boom - return FALSE - if(chargeleft < stun_cost) - stunforce *= round(chargeleft/stun_cost, 0.1) - target.adjustStaminaLoss(stunforce) - target.apply_effect(EFFECT_STUTTER, stunforce) - SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK) - if(user) - target.lastattacker = user.real_name - target.lastattackerckey = user.ckey - target.visible_message("[user] has shocked [target] with [src]!", \ - "[user] has shocked you with [src]!") - log_combat(user, target, "stunned with an electrostaff") - playsound(src, 'sound/weapons/staff.ogg', 50, 1, -1) - target.apply_status_effect(stun_status_effect, stun_status_duration) - if(ishuman(user)) - var/mob/living/carbon/human/H = user - H.forcesay(GLOB.hit_appends) - return TRUE - -/obj/item/twohanded/electrostaff/proc/harm_act(mob/living/target, mob/living/user, no_charge_and_force = FALSE) - var/lethal_force = lethal_damage - if(!no_charge_and_force) - if(!on) - return FALSE //standard item attack - var/obj/item/stock_parts/cell/C = get_cell() - var/chargeleft = C.charge - deductcharge(lethal_cost) - if(QDELETED(src) || QDELETED(C)) //boom - return FALSE - if(chargeleft < stun_cost) - lethal_force *= round(chargeleft/lethal_cost, 0.1) - target.adjustFireLoss(lethal_force) //good against ointment spam - SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK) - if(user) - target.lastattacker = user.real_name - target.lastattackerckey = user.ckey - target.visible_message("[user] has seared [target] with [src]!", \ - "[user] has seared you with [src]!") - log_combat(user, target, "burned with an electrostaff") - playsound(src, 'sound/weapons/sear.ogg', 50, 1, -1) - return TRUE - -/obj/item/twohanded/electrostaff/proc/clowning_around(mob/living/user) - user.visible_message("[user] accidentally hits [user.p_them()]self with [src]!", \ - "You accidentally hit yourself with [src]!") - SEND_SIGNAL(user, COMSIG_LIVING_MINOR_SHOCK) - harm_act(user, user, TRUE) - stun_act(user, user, TRUE) - deductcharge(lethal_cost) - -/obj/item/twohanded/electrostaff/emp_act(severity) - . = ..() - if (!(. & EMP_PROTECT_SELF)) - turn_off() - if(!iscyborg(loc)) - deductcharge(1000 / severity, TRUE, FALSE) - -/obj/item/twohanded/broom - name = "broom" - desc = "This is my BROOMSTICK! It can be used manually or braced with two hands to sweep items as you move. It has a telescopic handle for compact storage." //LIES - icon = 'icons/obj/janitor.dmi' - icon_state = "broom0" - lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' - force = 8 - throwforce = 10 - throw_speed = 3 - throw_range = 7 - w_class = WEIGHT_CLASS_NORMAL - force_unwielded = 8 - force_wielded = 12 - attack_verb = list("swept", "brushed off", "bludgeoned", "whacked") - resistance_flags = FLAMMABLE - -/obj/item/twohanded/broom/update_icon_state() - icon_state = "broom[wielded]" - -/obj/item/twohanded/broom/wield(mob/user) - . = ..() - if(!wielded) - return - to_chat(user, "You brace the [src] against the ground in a firm sweeping stance.") - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/sweep) - -/obj/item/twohanded/broom/unwield(mob/user) - . = ..() - UnregisterSignal(user, COMSIG_MOVABLE_MOVED) - -/obj/item/twohanded/broom/afterattack(atom/A, mob/user, proximity) - . = ..() - if(!proximity) - return - sweep(user, A, FALSE) - -/obj/item/twohanded/broom/proc/sweep(mob/user, atom/A, moving = TRUE) - var/turf/target - if (!moving) - if (isturf(A)) - target = A - else - target = A.loc - if(!isturf(target)) //read: Mob inventories. - return - else - target = user.loc - if (locate(/obj/structure/table) in target.contents) - return - var/i = 0 - for(var/obj/item/garbage in target.contents) - if(!garbage.anchored) - garbage.Move(get_step(target, user.dir), user.dir) - i++ - if(i >= 20) - break - if(i >= 1) - playsound(loc, 'sound/weapons/thudswoosh.ogg', 5, TRUE, -1) - -/obj/item/twohanded/broom/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J) //bless you whoever fixes this copypasta - J.put_in_cart(src, user) - J.mybroom=src - J.update_icon() diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index d34daf5c75..fc5680e524 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -261,7 +261,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/wirerod/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/shard)) - var/obj/item/twohanded/spear/S = new /obj/item/twohanded/spear + var/obj/item/spear/S = new /obj/item/spear remove_item_from_storage(user) if (!user.transferItemToLoc(I, S)) @@ -457,7 +457,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/mounted_chainsaw/Destroy() var/obj/item/bodypart/part - new /obj/item/twohanded/required/chainsaw(get_turf(src)) + new /obj/item/chainsaw(get_turf(src)) if(iscarbon(loc)) var/mob/living/carbon/holder = loc var/index = holder.get_held_index_of_item(src) @@ -734,3 +734,59 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 to_chat(user, "[M] is too close to use [src] on.") return M.attack_hand(user) + +//HF blade + +/obj/item/vibro_weapon + icon_state = "hfrequency0" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + name = "vibro sword" + desc = "A potent weapon capable of cutting through nearly anything. Wielding it in two hands will allow you to deflect gunfire." + armour_penetration = 100 + block_chance = 40 + throwforce = 20 + throw_speed = 4 + sharpness = IS_SHARP + attack_verb = list("cut", "sliced", "diced") + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK + hitsound = 'sound/weapons/bladeslice.ogg' + var/wielded = FALSE // track wielded status on item + +/obj/item/vibro_weapon/Initialize() + . = ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + +/obj/item/vibro_weapon/ComponentInitialize() + . = ..() + AddComponent(/datum/component/butchering, 20, 105) + AddComponent(/datum/component/two_handed, force_multiplier=2, icon_wielded="hfrequency1") + AddElement(/datum/element/sword_point) + +/// triggered on wield of two handed item +/obj/item/vibro_weapon/proc/on_wield(obj/item/source, mob/user) + wielded = TRUE + +/// triggered on unwield of two handed item +/obj/item/vibro_weapon/proc/on_unwield(obj/item/source, mob/user) + wielded = FALSE + +/obj/item/vibro_weapon/update_icon_state() + icon_state = "hfrequency0" + +/obj/item/vibro_weapon/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) + if(wielded) + final_block_chance *= 2 + if(wielded || !(attack_type & ATTACK_TYPE_PROJECTILE)) + if(prob(final_block_chance)) + if(attack_type & ATTACK_TYPE_PROJECTILE) + owner.visible_message("[owner] deflects [attack_text] with [src]!") + playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, 1) + block_return[BLOCK_RETURN_REDIRECT_METHOD] = REDIRECT_METHOD_DEFLECT + return BLOCK_SUCCESS | BLOCK_REDIRECTED | BLOCK_SHOULD_REDIRECT | BLOCK_PHYSICAL_EXTERNAL + else + owner.visible_message("[owner] parries [attack_text] with [src]!") + return BLOCK_SUCCESS | BLOCK_PHYSICAL_EXTERNAL + return NONE diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index e5c50af782..3bba7608c2 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -272,8 +272,8 @@ icon_state = "tac" /obj/structure/closet/secure_closet/lethalshots/PopulateContents() ..() - new /obj/item/twohanded/electrostaff(src) - new /obj/item/twohanded/electrostaff(src) + new /obj/item/electrostaff(src) + new /obj/item/electrostaff(src) for(var/i in 1 to 3) new /obj/item/storage/box/lethalshot(src) diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm index f4c1dd5ab9..bcf1016c1e 100644 --- a/code/game/objects/structures/fireaxe.dm +++ b/code/game/objects/structures/fireaxe.dm @@ -11,7 +11,7 @@ integrity_failure = 0.33 var/locked = TRUE var/open = FALSE - var/obj/item/twohanded/fireaxe/fireaxe + var/obj/item/fireaxe/fireaxe /obj/structure/fireaxecabinet/Initialize() . = ..() @@ -50,8 +50,8 @@ obj_integrity = max_integrity update_icon() else if(open || broken) - if(istype(I, /obj/item/twohanded/fireaxe) && !fireaxe) - var/obj/item/twohanded/fireaxe/F = I + if(istype(I, /obj/item/fireaxe) && !fireaxe) + var/obj/item/fireaxe/F = I if(F.wielded) to_chat(user, "Unwield the [F.name] first.") return diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index c0ee7bb987..daa3631a46 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -288,7 +288,7 @@ icon_state = "fullgrass_[rand(1, 3)]" . = ..() -/obj/item/twohanded/required/kirbyplants +/obj/item/kirbyplants name = "potted plant" icon = 'icons/obj/flora/plants.dmi' icon_state = "plant-01" @@ -300,23 +300,24 @@ throw_speed = 2 throw_range = 4 -/obj/item/twohanded/required/kirbyplants/Initialize() +/obj/item/kirbyplants/ComponentInitialize() . = ..() AddComponent(/datum/component/tactical) + AddComponent(/datum/component/two_handed, require_twohands=TRUE, force_unwielded=10, force_wielded=10) -/obj/item/twohanded/required/kirbyplants/random +/obj/item/kirbyplants/random icon = 'icons/obj/flora/_flora.dmi' icon_state = "random_plant" var/list/static/states -/obj/item/twohanded/required/kirbyplants/random/Initialize() +/obj/item/kirbyplants/random/Initialize() . = ..() icon = 'icons/obj/flora/plants.dmi' if(!states) generate_states() icon_state = pick(states) -/obj/item/twohanded/required/kirbyplants/random/proc/generate_states() +/obj/item/kirbyplants/random/proc/generate_states() states = list() for(var/i in 1 to 25) var/number @@ -328,12 +329,12 @@ states += "applebush" -/obj/item/twohanded/required/kirbyplants/dead +/obj/item/kirbyplants/dead name = "RD's potted plant" desc = "A gift from the botanical staff, presented after the RD's reassignment. There's a tag on it that says \"Y'all come back now, y'hear?\"\nIt doesn't look very healthy..." icon_state = "plant-25" -/obj/item/twohanded/required/kirbyplants/photosynthetic +/obj/item/kirbyplants/photosynthetic name = "photosynthetic potted plant" desc = "A bioluminescent plant." icon_state = "plant-09" diff --git a/code/game/objects/structures/headpike.dm b/code/game/objects/structures/headpike.dm index 581ce850de..65d930e08b 100644 --- a/code/game/objects/structures/headpike.dm +++ b/code/game/objects/structures/headpike.dm @@ -6,7 +6,7 @@ density = FALSE anchored = TRUE var/bonespear = FALSE - var/obj/item/twohanded/spear/spear + var/obj/item/spear/spear var/obj/item/bodypart/head/victim /obj/structure/headpike/bone //for bone spears @@ -20,9 +20,9 @@ name = "[victim.name] on a spear" update_icon() if(bonespear) - spear = locate(/obj/item/twohanded/bonespear) in parts_list + spear = locate(/obj/item/spear/bonespear) in parts_list else - spear = locate(/obj/item/twohanded/spear) in parts_list + spear = locate(/obj/item/spear) in parts_list /obj/structure/headpike/Initialize() . = ..() diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 38133d9089..dc4a741b8b 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -8,7 +8,7 @@ //copypaste sorry var/obj/item/storage/bag/trash/mybag var/obj/item/mop/mymop - var/obj/item/twohanded/broom/mybroom + var/obj/item/broom/mybroom var/obj/item/reagent_containers/spray/cleaner/myspray var/obj/item/lightreplacer/myreplacer var/signs = 0 @@ -48,9 +48,9 @@ m.janicart_insert(user, src) else to_chat(user, fail_msg) - else if(istype(I, /obj/item/twohanded/broom)) + else if(istype(I, /obj/item/broom)) if(!mybroom) - var/obj/item/twohanded/broom/b=I + var/obj/item/broom/b=I b.janicart_insert(user,src) else to_chat(user, fail_msg) diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm index 7d476d559e..a7f4838228 100644 --- a/code/game/turfs/simulated/minerals.dm +++ b/code/game/turfs/simulated/minerals.dm @@ -803,7 +803,7 @@ stage = GIBTONITE_DETONATE explosion(bombturf,1,2,5, adminlog = 0) if(stage == GIBTONITE_STABLE) //Gibtonite deposit is now benign and extractable. Depending on how close you were to it blowing up before defusing, you get better quality ore. - var/obj/item/twohanded/required/gibtonite/G = new (src) + var/obj/item/gibtonite/G = new (src) if(det_time <= 0) G.quality = 3 G.icon_state = "Gibtonite ore 3" diff --git a/code/game/turfs/simulated/wall/mineral_walls.dm b/code/game/turfs/simulated/wall/mineral_walls.dm index b04f4f0aa0..01c321bf36 100644 --- a/code/game/turfs/simulated/wall/mineral_walls.dm +++ b/code/game/turfs/simulated/wall/mineral_walls.dm @@ -136,7 +136,7 @@ /turf/closed/wall/mineral/wood/attackby(obj/item/W, mob/user) if(W.sharpness && W.force) var/duration = (48/W.force) * 2 //In seconds, for now. - if(istype(W, /obj/item/hatchet) || istype(W, /obj/item/twohanded/fireaxe)) + if(istype(W, /obj/item/hatchet) || istype(W, /obj/item/fireaxe)) duration /= 4 //Much better with hatchets and axes. var/src_type = type if(do_after(user, duration*10, target=src) && type == src_type) //Into deciseconds. diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 88f6dd6962..8d5e497138 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -179,7 +179,7 @@ target.zImpact(A, levels, src) return TRUE -/turf/proc/handleRCL(obj/item/twohanded/rcl/C, mob/user) +/turf/proc/handleRCL(obj/item/rcl/C, mob/user) if(C.loaded) for(var/obj/structure/cable/LC in src) if(!LC.d1 || !LC.d2) @@ -202,7 +202,7 @@ coil.place_turf(src, user) return TRUE - else if(istype(C, /obj/item/twohanded/rcl)) + else if(istype(C, /obj/item/rcl)) handleRCL(C, user) return FALSE diff --git a/code/modules/admin/fun_balloon.dm b/code/modules/admin/fun_balloon.dm index 44dcfc0ae6..417663fcb7 100644 --- a/code/modules/admin/fun_balloon.dm +++ b/code/modules/admin/fun_balloon.dm @@ -126,7 +126,7 @@ L.forceMove(LA) L.hallucination = 0 to_chat(L, "The battle is won. Your bloodlust subsides.") - for(var/obj/item/twohanded/required/chainsaw/doomslayer/chainsaw in L) + for(var/obj/item/chainsaw/doomslayer/chainsaw in L) qdel(chainsaw) else to_chat(L, "You are not yet worthy of passing. Drag a severed head to the barrier to be allowed entry to the hall of champions.") diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index 28d1a66e00..90d7563ce6 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -801,7 +801,7 @@ var/turf/T = get_turf(user) qdel(src) var/datum/action/innate/cult/spear/S = new(user) - var/obj/item/twohanded/cult_spear/rite = new(T) + var/obj/item/cult_spear/rite = new(T) S.Grant(user, rite) rite.spear_act = S if(user.put_in_hands(rite)) diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index ffab8174e5..84775329c7 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -100,7 +100,7 @@ user.apply_damage(30, BRUTE, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) user.dropItemToGround(src) -/obj/item/twohanded/required/cult_bastard +/obj/item/cult_bastard name = "bloody bastard sword" desc = "An enormous sword used by Nar'Sien cultists to rapidly harvest the souls of non-believers." w_class = WEIGHT_CLASS_HUGE @@ -127,31 +127,35 @@ var/spin_cooldown = 250 var/dash_toggled = TRUE -/obj/item/twohanded/required/cult_bastard/Initialize() +/obj/item/cult_bastard/Initialize() . = ..() set_light(4) jaunt = new(src) linked_action = new(src) - AddComponent(/datum/component/butchering, 50, 80) -/obj/item/twohanded/required/cult_bastard/examine(mob/user) +/obj/item/cult_bastard/ComponentInitialize() + . = ..() + AddComponent(/datum/component/butchering, 50, 80) + AddComponent(/datum/component/two_handed, require_twohands=TRUE) + +/obj/item/cult_bastard/examine(mob/user) . = ..() if(contents.len) . += "
There are [contents.len] souls trapped within the sword's core." else . += "
The sword appears to be quite lifeless." -/obj/item/twohanded/required/cult_bastard/can_be_pulled(user) +/obj/item/cult_bastard/can_be_pulled(user) return FALSE -/obj/item/twohanded/required/cult_bastard/attack_self(mob/user) +/obj/item/cult_bastard/attack_self(mob/user) dash_toggled = !dash_toggled if(dash_toggled) to_chat(loc, "You raise [src] and prepare to jaunt with it.") else to_chat(loc, "You lower [src] and prepare to swing it normally.") -/obj/item/twohanded/required/cult_bastard/pickup(mob/living/user) +/obj/item/cult_bastard/pickup(mob/living/user) . = ..() if(!iscultist(user)) if(!is_servant_of_ratvar(user)) @@ -171,13 +175,13 @@ linked_action.Grant(user, src) user.update_icons() -/obj/item/twohanded/required/cult_bastard/dropped(mob/user) +/obj/item/cult_bastard/dropped(mob/user) . = ..() linked_action.Remove(user) jaunt.Remove(user) user.update_icons() -/obj/item/twohanded/required/cult_bastard/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) +/obj/item/cult_bastard/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) if(spinning && is_energy_reflectable_projectile(object) && (attack_type & ATTACK_TYPE_PROJECTILE)) playsound(src, pick('sound/weapons/effects/ric1.ogg', 'sound/weapons/effects/ric2.ogg', 'sound/weapons/effects/ric3.ogg', 'sound/weapons/effects/ric4.ogg', 'sound/weapons/effects/ric5.ogg'), 100, 1) return BLOCK_SUCCESS | BLOCK_PHYSICAL_EXTERNAL | BLOCK_REDIRECTED | BLOCK_SHOULD_REDIRECT @@ -192,7 +196,7 @@ return BLOCK_SUCCESS | BLOCK_PHYSICAL_EXTERNAL return BLOCK_NONE -/obj/item/twohanded/required/cult_bastard/afterattack(atom/target, mob/user, proximity, click_parameters) +/obj/item/cult_bastard/afterattack(atom/target, mob/user, proximity, click_parameters) . = ..() if(dash_toggled && !proximity) jaunt.Teleport(user, target) @@ -235,7 +239,7 @@ button_icon_state = "sintouch" var/cooldown = 0 var/mob/living/carbon/human/holder - var/obj/item/twohanded/required/cult_bastard/sword + var/obj/item/cult_bastard/sword /datum/action/innate/cult/spin2win/Grant(mob/user, obj/bastard) . = ..() @@ -686,7 +690,7 @@ to_chat(user, "\The [src] can only transport items!") -/obj/item/twohanded/cult_spear +/obj/item/cult_spear name = "blood halberd" desc = "A sickening spear composed entirely of crystallized blood." icon_state = "bloodspear0" @@ -694,8 +698,6 @@ righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' slot_flags = 0 force = 17 - force_unwielded = 17 - force_wielded = 24 throwforce = 40 throw_speed = 2 armour_penetration = 30 @@ -704,20 +706,36 @@ sharpness = IS_SHARP hitsound = 'sound/weapons/bladeslice.ogg' var/datum/action/innate/cult/spear/spear_act + var/wielded = FALSE // track wielded status on item -/obj/item/twohanded/cult_spear/Initialize() + +/obj/item/cult_spear/Initialize() + . = ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) + +/obj/item/cult_spear/ComponentInitialize() . = ..() AddComponent(/datum/component/butchering, 100, 90) + AddComponent(/datum/component/two_handed, force_unwielded=17, force_wielded=24, icon_wielded="bloodspear1") -/obj/item/twohanded/cult_spear/Destroy() +/// triggered on wield of two handed item +/obj/item/cult_spear/proc/on_wield(obj/item/source, mob/user) + wielded = TRUE + +/// triggered on unwield of two handed item +/obj/item/cult_spear/proc/on_unwield(obj/item/source, mob/user) + wielded = FALSE + +/obj/item/cult_spear/update_icon_state() + icon_state = "bloodspear0" + +/obj/item/cult_spear/Destroy() if(spear_act) qdel(spear_act) ..() -/obj/item/twohanded/cult_spear/update_icon_state() - icon_state = "bloodspear[wielded]" - -/obj/item/twohanded/cult_spear/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) +/obj/item/cult_spear/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) var/turf/T = get_turf(hit_atom) if(isliving(hit_atom)) var/mob/living/L = hit_atom @@ -740,7 +758,7 @@ else ..() -/obj/item/twohanded/cult_spear/proc/break_spear(turf/T) +/obj/item/cult_spear/proc/break_spear(turf/T) if(src) if(!T) T = get_turf(src) @@ -751,7 +769,7 @@ playsound(T, 'sound/effects/glassbr3.ogg', 100) qdel(src) -/obj/item/twohanded/cult_spear/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) +/obj/item/cult_spear/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) if(wielded) final_block_chance *= 2 if(prob(final_block_chance)) @@ -770,7 +788,7 @@ desc = "Call the blood spear back to your hand!" background_icon_state = "bg_demon" button_icon_state = "bloodspear" - var/obj/item/twohanded/cult_spear/spear + var/obj/item/cult_spear/spear var/cooldown = 0 /datum/action/innate/cult/spear/Grant(mob/user, obj/blood_spear) diff --git a/code/modules/antagonists/wizard/equipment/artefact.dm b/code/modules/antagonists/wizard/equipment/artefact.dm index ff3d95598d..b96087a7cb 100644 --- a/code/modules/antagonists/wizard/equipment/artefact.dm +++ b/code/modules/antagonists/wizard/equipment/artefact.dm @@ -234,7 +234,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/roman(H), SLOT_SHOES) H.put_in_hands(new /obj/item/shield/riot/roman(H), TRUE) H.put_in_hands(new /obj/item/claymore(H), TRUE) - H.equip_to_slot_or_del(new /obj/item/twohanded/spear(H), SLOT_BACK) + H.equip_to_slot_or_del(new /obj/item/spear(H), SLOT_BACK) /obj/item/voodoo diff --git a/code/modules/antagonists/wizard/equipment/spellbook.dm b/code/modules/antagonists/wizard/equipment/spellbook.dm index d49a8f83c6..68ed0d736e 100644 --- a/code/modules/antagonists/wizard/equipment/spellbook.dm +++ b/code/modules/antagonists/wizard/equipment/spellbook.dm @@ -426,12 +426,12 @@ /datum/spellbook_entry/item/mjolnir name = "Mjolnir" desc = "A mighty hammer on loan from Thor, God of Thunder. It crackles with barely contained power." - item_path = /obj/item/twohanded/mjollnir + item_path = /obj/item/mjollnir /datum/spellbook_entry/item/singularity_hammer name = "Singularity Hammer" desc = "A hammer that creates an intensely powerful field of gravity where it strikes, pulling everything nearby to the point of impact." - item_path = /obj/item/twohanded/singularityhammer + item_path = /obj/item/singularityhammer /datum/spellbook_entry/item/battlemage name = "Battlemage Armour" diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index f841ae20ca..fcdc564380 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -7,7 +7,7 @@ #define AMMO_DROP_LIFETIME 300 #define CTF_REQUIRED_PLAYERS 4 -/obj/item/twohanded/ctf +/obj/item/ctf name = "banner" icon = 'icons/obj/items_and_weapons.dmi' icon_state = "banner" @@ -16,6 +16,7 @@ righthand_file = 'icons/mob/inhands/equipment/banners_righthand.dmi' desc = "A banner with Nanotrasen's logo on it." slowdown = 2 + item_flags = SLOWS_WHILE_IN_HAND throw_speed = 0 throw_range = 1 force = 200 @@ -28,16 +29,20 @@ var/obj/effect/ctf/flag_reset/reset var/reset_path = /obj/effect/ctf/flag_reset -/obj/item/twohanded/ctf/Destroy() +/obj/item/ctf/Destroy() QDEL_NULL(reset) return ..() -/obj/item/twohanded/ctf/Initialize() +/obj/item/ctf/Initialize() . = ..() if(!reset) reset = new reset_path(get_turf(src)) -/obj/item/twohanded/ctf/process() +/obj/item/ctf/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed) + +/obj/item/ctf/process() if(is_ctf_target(loc)) //don't reset from someone's hands. return PROCESS_KILL if(world.time > reset_cooldown) @@ -49,7 +54,7 @@ STOP_PROCESSING(SSobj, src) //ATTACK HAND IGNORING PARENT RETURN VALUE -/obj/item/twohanded/ctf/attack_hand(mob/living/user) +/obj/item/ctf/attack_hand(mob/living/user) if(!is_ctf_target(user) && !anyonecanpickup) to_chat(user, "Non players shouldn't be moving the flag!") return @@ -73,7 +78,7 @@ STOP_PROCESSING(SSobj, src) ..() -/obj/item/twohanded/ctf/dropped(mob/user) +/obj/item/ctf/dropped(mob/user) ..() user.anchored = FALSE user.status_flags |= CANPUSH @@ -86,7 +91,7 @@ anchored = TRUE -/obj/item/twohanded/ctf/red +/obj/item/ctf/red name = "red flag" icon_state = "banner-red" item_state = "banner-red" @@ -95,7 +100,7 @@ reset_path = /obj/effect/ctf/flag_reset/red -/obj/item/twohanded/ctf/blue +/obj/item/ctf/blue name = "blue flag" icon_state = "banner-blue" item_state = "banner-blue" @@ -276,8 +281,8 @@ attack_ghost(ghost) /obj/machinery/capture_the_flag/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/twohanded/ctf)) - var/obj/item/twohanded/ctf/flag = I + if(istype(I, /obj/item/ctf)) + var/obj/item/ctf/flag = I if(flag.team != src.team) user.transferItemToLoc(flag, get_turf(flag.reset), TRUE) points++ @@ -294,7 +299,7 @@ if(istype(mob_area, /area/ctf)) to_chat(M, "[team] team wins!") to_chat(M, "Teams have been cleared. Click on the machines to vote to begin another round.") - for(var/obj/item/twohanded/ctf/W in M) + for(var/obj/item/ctf/W in M) M.dropItemToGround(W) M.dust() for(var/obj/machinery/control_point/control in GLOB.machines) @@ -335,7 +340,7 @@ var/list/ctf_object_typecache = typecacheof(list( /obj/machinery, /obj/effect/ctf, - /obj/item/twohanded/ctf + /obj/item/ctf )) for(var/atm in A) if (isturf(A) || ismob(A) || isarea(A)) diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index c11267a5f3..e91dfee034 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -661,5 +661,5 @@ /datum/outfit/lavaknight/captain name ="Cydonian Knight Captain" - l_pocket = /obj/item/twohanded/dualsaber/hypereutactic + l_pocket = /obj/item/dualsaber/hypereutactic id = /obj/item/card/id/knight/captain diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index fc797d227c..547f74105b 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -519,11 +519,11 @@ /obj/effect/spawner/lootdrop/snowdin/dungeonheavy name = "dungeon heavy" - loot = list(/obj/item/twohanded/singularityhammer = 25, - /obj/item/twohanded/mjollnir = 10, - /obj/item/twohanded/fireaxe = 25, + loot = list(/obj/item/singularityhammer = 25, + /obj/item/mjollnir = 10, + /obj/item/fireaxe = 25, /obj/item/organ/brain/alien = 17, - /obj/item/twohanded/dualsaber = 15, + /obj/item/dualsaber = 15, /obj/item/organ/heart/demon = 7, /obj/item/gun/ballistic/automatic/c20r/unrestricted = 16, /obj/item/gun/magic/wand/resurrection/inert = 15, @@ -544,7 +544,7 @@ loot = list(/obj/item/stack/sheet/mineral/snow{amount = 25} = 10, /obj/item/toy/snowball = 15, /obj/item/shovel = 10, - /obj/item/twohanded/spear = 8, + /obj/item/spear = 8, ) //special items//-- diff --git a/code/modules/cargo/bounties/assistant.dm b/code/modules/cargo/bounties/assistant.dm index 4af28d78cc..744c01a257 100644 --- a/code/modules/cargo/bounties/assistant.dm +++ b/code/modules/cargo/bounties/assistant.dm @@ -31,7 +31,7 @@ description = "CentCom's security forces are going through budget cuts. You will be paid if you ship a set of spears." reward = 1000 required_count = 5 - wanted_types = list(/obj/item/twohanded/spear) + wanted_types = list(/obj/item/spear) /datum/bounty/item/assistant/toolbox name = "Toolboxes" @@ -134,7 +134,7 @@ description = "Central Command is looking to commission a new BirdBoat-class station. You've been ordered to supply the potted plants." reward = 2000 required_count = 8 - wanted_types = list(/obj/item/twohanded/required/kirbyplants) + wanted_types = list(/obj/item/kirbyplants) // /datum/bounty/item/assistant/earmuffs // name = "Earmuffs" @@ -160,7 +160,7 @@ name = "Chainsaw" description = "The chef at CentCom is having trouble butchering her animals. She requests one chainsaw, please." reward = 2500 - wanted_types = list(/obj/item/twohanded/required/chainsaw) + wanted_types = list(/obj/item/chainsaw) /datum/bounty/item/assistant/ied name = "IED" diff --git a/code/modules/cargo/bounties/mining.dm b/code/modules/cargo/bounties/mining.dm index 1f3266af62..cd8d5707d8 100644 --- a/code/modules/cargo/bounties/mining.dm +++ b/code/modules/cargo/bounties/mining.dm @@ -22,7 +22,7 @@ name = "Bone Axe" description = "Station 12 has had their fire axes stolen by marauding clowns. Ship them a bone axe as a replacement." reward = 3500 - wanted_types = list(/obj/item/twohanded/fireaxe/boneaxe) + wanted_types = list(/obj/item/fireaxe/boneaxe) /datum/bounty/item/mining/bone_armor name = "Bone Armor" diff --git a/code/modules/cargo/exports/weapons.dm b/code/modules/cargo/exports/weapons.dm index 2342603bde..983348a358 100644 --- a/code/modules/cargo/exports/weapons.dm +++ b/code/modules/cargo/exports/weapons.dm @@ -267,7 +267,7 @@ /datum/export/weapon/duelsaber cost = 360 //Get it? unit_name = "energy saber" - export_types = list(/obj/item/twohanded/dualsaber) + export_types = list(/obj/item/dualsaber) /datum/export/weapon/esword cost = 130 diff --git a/code/modules/cargo/packs/misc.dm b/code/modules/cargo/packs/misc.dm index 5265b2c2f6..cd834940e9 100644 --- a/code/modules/cargo/packs/misc.dm +++ b/code/modules/cargo/packs/misc.dm @@ -294,11 +294,11 @@ name = "Potted Plants Crate" desc = "Spruce up the station with these lovely plants! Contains a random assortment of five potted plants from Nanotrasen's potted plant research division. Warranty void if thrown." cost = 730 - contains = list(/obj/item/twohanded/required/kirbyplants/random, - /obj/item/twohanded/required/kirbyplants/random, - /obj/item/twohanded/required/kirbyplants/random, - /obj/item/twohanded/required/kirbyplants/random, - /obj/item/twohanded/required/kirbyplants/random) + contains = list(/obj/item/kirbyplants/random, + /obj/item/kirbyplants/random, + /obj/item/kirbyplants/random, + /obj/item/kirbyplants/random, + /obj/item/kirbyplants/random) crate_name = "potted plants crate" crate_type = /obj/structure/closet/crate/hydroponics diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index d692f9c3fb..afe74de6a0 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -123,7 +123,7 @@ l_pocket = /obj/item/reagent_containers/food/snacks/grown/banana r_pocket = /obj/item/bikehorn id = /obj/item/card/id - r_hand = /obj/item/twohanded/fireaxe + r_hand = /obj/item/fireaxe /datum/outfit/tunnel_clown/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE, client/preference_source) if(visualsOnly) @@ -148,7 +148,7 @@ suit = /obj/item/clothing/suit/apron l_pocket = /obj/item/kitchen/knife r_pocket = /obj/item/scalpel - r_hand = /obj/item/twohanded/fireaxe + r_hand = /obj/item/fireaxe /datum/outfit/psycho/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE, client/preference_source) for(var/obj/item/carried_item in H.get_equipped_items(TRUE)) diff --git a/code/modules/clothing/suits/cloaks.dm b/code/modules/clothing/suits/cloaks.dm index c3369204f9..c765247dc0 100644 --- a/code/modules/clothing/suits/cloaks.dm +++ b/code/modules/clothing/suits/cloaks.dm @@ -59,7 +59,7 @@ name = "goliath cloak" icon_state = "goliath_cloak" desc = "A staunch, practical cape made out of numerous monster materials, it is coveted amongst exiles & hermits." - allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/twohanded/spear, /obj/item/twohanded/bonespear, /obj/item/organ/regenerative_core/legion, /obj/item/kitchen/knife/combat/bone, /obj/item/kitchen/knife/combat/survival) + allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/spear, /obj/item/spear/bonespear, /obj/item/organ/regenerative_core/legion, /obj/item/kitchen/knife/combat/bone, /obj/item/kitchen/knife/combat/survival) armor = list("melee" = 35, "bullet" = 10, "laser" = 25, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60) //a fair alternative to bone armor, requiring alternative materials and gaining a suit slot hoodtype = /obj/item/clothing/head/hooded/cloakhood/goliath body_parts_covered = CHEST|ARMS|LEGS @@ -75,7 +75,7 @@ name = "drake armour" icon_state = "dragon" desc = "A suit of armour fashioned from the remains of an ash drake." - allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe, /obj/item/twohanded/spear) + allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe, /obj/item/spear) armor = list("melee" = 60, "bullet" = 20, "laser" = 30, "energy" = 25, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) hoodtype = /obj/item/clothing/head/hooded/cloakhood/drake heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 6c4511324d..fadb1b481b 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -854,7 +854,7 @@ icon_state = "coatnarsie" item_state = "coatnarsie" armor = list("melee" = 30, "bullet" = 20, "laser" = 30,"energy" = 10, "bomb" = 30, "bio" = 10, "rad" = 10, "fire" = 30, "acid" = 30) - allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/restraints/legcuffs/bola/cult,/obj/item/melee/cultblade,/obj/item/melee/cultblade/dagger,/obj/item/reagent_containers/glass/beaker/unholywater,/obj/item/cult_shift,/obj/item/flashlight/flare/culttorch,/obj/item/twohanded/cult_spear) + allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/restraints/legcuffs/bola/cult,/obj/item/melee/cultblade,/obj/item/melee/cultblade/dagger,/obj/item/reagent_containers/glass/beaker/unholywater,/obj/item/cult_shift,/obj/item/flashlight/flare/culttorch,/obj/item/cult_spear) hoodtype = /obj/item/clothing/head/hooded/winterhood/narsie var/real = TRUE diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm index fd4e6abfc5..91cdea1246 100644 --- a/code/modules/integrated_electronics/subtypes/manipulation.dm +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -162,7 +162,7 @@ /obj/item/integrated_circuit/manipulation/grabber/do_work() var/obj/item/AM = get_pin_data_as_type(IC_INPUT, 1, /obj/item) - if(!QDELETED(AM) && !istype(AM, /obj/item/electronic_assembly) && !istype(AM, /obj/item/transfer_valve) && !istype(AM, /obj/item/twohanded) && !istype(assembly.loc, /obj/item/implant/storage)) + if(!QDELETED(AM) && !istype(AM, /obj/item/electronic_assembly) && !istype(AM, /obj/item/transfer_valve) && !istype(assembly.loc, /obj/item/implant/storage) && !AM.GetComponent(/datum/component/two_handed)) var/mode = get_pin_data(IC_INPUT, 2) switch(mode) if(1) @@ -300,7 +300,7 @@ var/target_y_rel = round(get_pin_data(IC_INPUT, 2)) var/obj/item/A = get_pin_data_as_type(IC_INPUT, 3, /obj/item) - if(!A || A.anchored || A.throwing || A == assembly || istype(A, /obj/item/twohanded) || istype(A, /obj/item/transfer_valve)) + if(!A || A.anchored || A.throwing || A == assembly || istype(A, /obj/item/transfer_valve) || A.GetComponent(/datum/component/two_handed)) return if (istype(assembly.loc, /obj/item/implant/storage)) //Prevents the more abusive form of chestgun. diff --git a/code/modules/integrated_electronics/subtypes/weaponized.dm b/code/modules/integrated_electronics/subtypes/weaponized.dm index 2f6a2cd841..88742dfa9a 100644 --- a/code/modules/integrated_electronics/subtypes/weaponized.dm +++ b/code/modules/integrated_electronics/subtypes/weaponized.dm @@ -246,7 +246,7 @@ var/obj/item/A = get_pin_data_as_type(IC_INPUT, 3, /obj/item) var/obj/item/integrated_circuit/atmospherics/AT = get_pin_data_as_type(IC_INPUT, 4, /obj/item/integrated_circuit/atmospherics) - if(!A || A.anchored || A.throwing || A == assembly || istype(A, /obj/item/twohanded) || istype(A, /obj/item/transfer_valve)) + if(!A || A.anchored || A.throwing || A == assembly || istype(A, /obj/item/transfer_valve) || A.GetComponent(/datum/component/two_handed)) return var/obj/item/I = get_object() diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 1fd1b31b69..0998ccf36f 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -1,5 +1,5 @@ /*********************Mining Hammer****************/ -/obj/item/twohanded/kinetic_crusher +/obj/item/kinetic_crusher icon = 'icons/obj/mining.dmi' icon_state = "crusher" item_state = "crusher0" @@ -11,8 +11,6 @@ force = 0 //You can't hit stuff unless wielded w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK - force_unwielded = 0 - force_wielded = 20 throwforce = 5 throw_speed = 4 armour_penetration = 10 @@ -28,33 +26,45 @@ var/backstab_bonus = 30 var/light_on = FALSE var/brightness_on = 7 + var/wielded = FALSE // track wielded status on item -/obj/item/twohanded/kinetic_crusher/cyborg //probably give this a unique sprite later +/obj/item/kinetic_crusher/cyborg //probably give this a unique sprite later desc = "An integrated version of the standard kinetic crusher with a grinded down axe head to dissuade mis-use against crewmen. Deals damage equal to the standard crusher against creatures, however." force = 10 //wouldn't want to give a borg a 20 brute melee weapon unemagged now would we detonation_damage = 60 wielded = 1 -/obj/item/twohanded/kinetic_crusher/cyborg/unwield() - return +/obj/item/kinetic_crusher/Initialize() + . = ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield) -/obj/item/twohanded/kinetic_crusher/Initialize() +/obj/item/kinetic_crusher/ComponentInitialize() . = ..() AddComponent(/datum/component/butchering, 60, 110) //technically it's huge and bulky, but this provides an incentive to use it + AddComponent(/datum/component/two_handed, force_unwielded=0, force_wielded=20) -/obj/item/twohanded/kinetic_crusher/Destroy() +/obj/item/kinetic_crusher/Destroy() QDEL_LIST(trophies) return ..() -/obj/item/twohanded/kinetic_crusher/examine(mob/living/user) +/// triggered on wield of two handed item +/obj/item/kinetic_crusher/proc/on_wield(obj/item/source, mob/user) + wielded = TRUE + +/// triggered on unwield of two handed item +/obj/item/kinetic_crusher/proc/on_unwield(obj/item/source, mob/user) + wielded = FALSE + +/obj/item/kinetic_crusher/examine(mob/living/user) . = ..() - . += "Mark a large creature with the destabilizing force, then hit them in melee to do [force_wielded + detonation_damage] damage." - . += "Does [force_wielded + detonation_damage + backstab_bonus] damage if the target is backstabbed, instead of [force_wielded + detonation_damage]." + . += "Mark a large creature with the destabilizing force, then hit them in melee to do [force + detonation_damage] damage." + . += "Does [force + detonation_damage + backstab_bonus] damage if the target is backstabbed, instead of [force + detonation_damage]." for(var/t in trophies) var/obj/item/crusher_trophy/T = t . += "It has \a [T] attached, which causes [T.effect_desc()]." -/obj/item/twohanded/kinetic_crusher/attackby(obj/item/I, mob/living/user) +/obj/item/kinetic_crusher/attackby(obj/item/I, mob/living/user) if(istype(I, /obj/item/crowbar)) if(LAZYLEN(trophies)) to_chat(user, "You remove [src]'s trophies.") @@ -70,7 +80,7 @@ else return ..() -/obj/item/twohanded/kinetic_crusher/attack(mob/living/target, mob/living/carbon/user) +/obj/item/kinetic_crusher/attack(mob/living/target, mob/living/carbon/user) if(!wielded) to_chat(user, "[src] is too heavy to use with one hand.") return @@ -84,7 +94,7 @@ if(!QDELETED(C) && !QDELETED(target)) C.total_damage += target_health - target.health //we did some damage, but let's not assume how much we did -/obj/item/twohanded/kinetic_crusher/afterattack(atom/target, mob/living/user, proximity_flag, clickparams) +/obj/item/kinetic_crusher/afterattack(atom/target, mob/living/user, proximity_flag, clickparams) . = ..() if(istype(target, /obj/item/crusher_trophy)) var/obj/item/crusher_trophy/T = target @@ -137,28 +147,28 @@ if(user && lavaland_equipment_pressure_check(get_turf(user))) //CIT CHANGE - makes sure below only happens in low pressure environments user.adjustStaminaLoss(-30)//CIT CHANGE - makes crushers heal stamina -/obj/item/twohanded/kinetic_crusher/proc/Recharge() +/obj/item/kinetic_crusher/proc/Recharge() if(!charged) charged = TRUE update_icon() playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, 1) -/obj/item/twohanded/kinetic_crusher/ui_action_click(mob/user, actiontype) +/obj/item/kinetic_crusher/ui_action_click(mob/user, actiontype) light_on = !light_on playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) update_brightness(user) update_icon() -/obj/item/twohanded/kinetic_crusher/proc/update_brightness(mob/user = null) +/obj/item/kinetic_crusher/proc/update_brightness(mob/user = null) if(light_on) set_light(brightness_on) else set_light(0) -/obj/item/twohanded/kinetic_crusher/update_icon_state() - item_state = "crusher[wielded]" +/obj/item/kinetic_crusher/update_icon_state() + item_state = "crusher[wielded]" // this is not icon_state and not supported by 2hcomponent -/obj/item/twohanded/kinetic_crusher/update_overlays() +/obj/item/kinetic_crusher/update_overlays() . = ..() if(!charged) . += "[icon_state]_uncharged" @@ -175,7 +185,7 @@ flag = "bomb" range = 6 log_override = TRUE - var/obj/item/twohanded/kinetic_crusher/hammer_synced + var/obj/item/kinetic_crusher/hammer_synced /obj/item/projectile/destabilizer/Destroy() hammer_synced = null @@ -214,12 +224,12 @@ return "errors" /obj/item/crusher_trophy/attackby(obj/item/A, mob/living/user) - if(istype(A, /obj/item/twohanded/kinetic_crusher)) + if(istype(A, /obj/item/kinetic_crusher)) add_to(A, user) else ..() -/obj/item/crusher_trophy/proc/add_to(obj/item/twohanded/kinetic_crusher/H, mob/living/user) +/obj/item/crusher_trophy/proc/add_to(obj/item/kinetic_crusher/H, mob/living/user) for(var/t in H.trophies) var/obj/item/crusher_trophy/T = t if(istype(T, denied_type) || istype(src, T.denied_type)) @@ -231,7 +241,7 @@ to_chat(user, "You attach [src] to [H].") return TRUE -/obj/item/crusher_trophy/proc/remove_from(obj/item/twohanded/kinetic_crusher/H, mob/living/user) +/obj/item/crusher_trophy/proc/remove_from(obj/item/kinetic_crusher/H, mob/living/user) forceMove(get_turf(H)) H.trophies -= src return TRUE @@ -318,12 +328,12 @@ /obj/item/crusher_trophy/legion_skull/effect_desc() return "a kinetic crusher to recharge [bonus_value*0.1] second\s faster" -/obj/item/crusher_trophy/legion_skull/add_to(obj/item/twohanded/kinetic_crusher/H, mob/living/user) +/obj/item/crusher_trophy/legion_skull/add_to(obj/item/kinetic_crusher/H, mob/living/user) . = ..() if(.) H.charge_time -= bonus_value -/obj/item/crusher_trophy/legion_skull/remove_from(obj/item/twohanded/kinetic_crusher/H, mob/living/user) +/obj/item/crusher_trophy/legion_skull/remove_from(obj/item/kinetic_crusher/H, mob/living/user) . = ..() if(.) H.charge_time += bonus_value @@ -376,21 +386,19 @@ /obj/item/crusher_trophy/demon_claws/effect_desc() return "melee hits to do [bonus_value * 0.2] more damage and heal you for [bonus_value * 0.1], with 5X effect on mark detonation" -/obj/item/crusher_trophy/demon_claws/add_to(obj/item/twohanded/kinetic_crusher/H, mob/living/user) +/obj/item/crusher_trophy/demon_claws/add_to(obj/item/kinetic_crusher/H, mob/living/user) . = ..() if(.) H.force += bonus_value * 0.2 - H.force_unwielded += bonus_value * 0.2 - H.force_wielded += bonus_value * 0.2 H.detonation_damage += bonus_value * 0.8 + AddComponent(/datum/component/two_handed, force_wielded=(20 + bonus_value * 0.2)) -/obj/item/crusher_trophy/demon_claws/remove_from(obj/item/twohanded/kinetic_crusher/H, mob/living/user) +/obj/item/crusher_trophy/demon_claws/remove_from(obj/item/kinetic_crusher/H, mob/living/user) . = ..() if(.) H.force -= bonus_value * 0.2 - H.force_unwielded -= bonus_value * 0.2 - H.force_wielded -= bonus_value * 0.2 H.detonation_damage -= bonus_value * 0.8 + AddComponent(/datum/component/two_handed, force_wielded=20) /obj/item/crusher_trophy/demon_claws/on_melee_hit(mob/living/target, mob/living/user) user.heal_ordered_damage(bonus_value * 0.1, damage_heal_order) diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index ed6d9e31db..dd317c5b23 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -30,7 +30,7 @@ new /datum/data/mining_equipment("500 Point Transfer Card", /obj/item/card/mining_point_card/mp500, 500), new /datum/data/mining_equipment("Tracking Implant Kit", /obj/item/storage/box/minertracker, 600), new /datum/data/mining_equipment("Jaunter", /obj/item/wormhole_jaunter, 750), - new /datum/data/mining_equipment("Kinetic Crusher", /obj/item/twohanded/kinetic_crusher, 750), + new /datum/data/mining_equipment("Kinetic Crusher", /obj/item/kinetic_crusher, 750), new /datum/data/mining_equipment("Kinetic Accelerator", /obj/item/gun/energy/kinetic_accelerator, 750), new /datum/data/mining_equipment("Survival Medipen", /obj/item/reagent_containers/hypospray/medipen/survival, 750), new /datum/data/mining_equipment("Brute First-Aid Kit", /obj/item/storage/firstaid/brute, 800), @@ -176,7 +176,7 @@ new /obj/item/stack/marker_beacon/thirty(drop_location) if("Crusher Kit") new /obj/item/extinguisher/mini(drop_location) - new /obj/item/twohanded/kinetic_crusher(drop_location) + new /obj/item/kinetic_crusher(drop_location) if("Mining Conscription Kit") new /obj/item/storage/backpack/duffelbag/mining_conscript(drop_location) diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index b54b990c77..581072c5bf 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -194,7 +194,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ item_state = "slag" singular_name = "slag chunk" -/obj/item/twohanded/required/gibtonite +/obj/item/gibtonite name = "gibtonite ore" desc = "Extremely explosive if struck with mining equipment, Gibtonite is often used by miners to speed up their work by using it as a mining charge. This material is illegal to possess by unauthorized personnel under space law." icon = 'icons/obj/mining.dmi' @@ -208,12 +208,16 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ var/attacher = "UNKNOWN" var/det_timer -/obj/item/twohanded/required/gibtonite/Destroy() +/obj/item/gibtonite/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, require_twohands=TRUE) + +/obj/item/gibtonite/Destroy() qdel(wires) wires = null return ..() -/obj/item/twohanded/required/gibtonite/attackby(obj/item/I, mob/user, params) +/obj/item/gibtonite/attackby(obj/item/I, mob/user, params) if(!wires && istype(I, /obj/item/assembly/igniter)) user.visible_message("[user] attaches [I] to [src].", "You attach [I] to [src].") wires = new /datum/wires/explosive/gibtonite(src) @@ -241,22 +245,22 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ return ..() -/obj/item/twohanded/required/gibtonite/attack_self(user) +/obj/item/gibtonite/attack_self(user) if(wires) wires.interact(user) else ..() -/obj/item/twohanded/required/gibtonite/bullet_act(obj/item/projectile/P) +/obj/item/gibtonite/bullet_act(obj/item/projectile/P) GibtoniteReaction(P.firer) return ..() -/obj/item/twohanded/required/gibtonite/ex_act() +/obj/item/gibtonite/ex_act() GibtoniteReaction(null, 1) -/obj/item/twohanded/required/gibtonite/proc/GibtoniteReaction(mob/user, triggered_by = 0) +/obj/item/gibtonite/proc/GibtoniteReaction(mob/user, triggered_by = 0) if(!primed) primed = TRUE playsound(src,'sound/effects/hit_on_shattered_glass.ogg',50,1) @@ -282,7 +286,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ log_game("[key_name(user)] has primed a [name] for detonation at [AREACOORD(bombturf)]") det_timer = addtimer(CALLBACK(src, .proc/detonate, notify_admins), det_time, TIMER_STOPPABLE) -/obj/item/twohanded/required/gibtonite/proc/detonate(notify_admins) +/obj/item/gibtonite/proc/detonate(notify_admins) if(primed) switch(quality) if(GIBTONITE_QUALITY_HIGH) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index f694890b95..e15c2b010d 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -50,16 +50,13 @@ /mob/living/carbon/swap_hand(held_index) + . = ..() + if(!.) + var/obj/item/held_item = get_active_held_item() + to_chat(usr, "Your other hand is too busy holding [held_item].") + return if(!held_index) held_index = (active_hand_index % held_items.len)+1 - - var/obj/item/item_in_hand = src.get_active_held_item() - if(item_in_hand) //this segment checks if the item in your hand is twohanded. - var/obj/item/twohanded/TH = item_in_hand - if(istype(TH)) - if(TH.wielded == 1) - to_chat(usr, "Your other hand is too busy holding [TH]") - return var/oindex = active_hand_index active_hand_index = held_index if(hud_used) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index bf693d70b6..358dc399fc 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -339,7 +339,7 @@ /obj/item/organ_storage, /obj/item/borg/lollipop, /obj/item/sensor_device, - /obj/item/twohanded/shockpaddles/cyborg) + /obj/item/shockpaddles/cyborg) emag_modules = list(/obj/item/reagent_containers/borghypo/hacked) ratvar_modules = list( /obj/item/clockwork/slab/cyborg/medical, @@ -910,7 +910,7 @@ /obj/item/borg/sight/meson, /obj/item/storage/bag/ore/cyborg, /obj/item/pickaxe/drill/cyborg, - /obj/item/twohanded/kinetic_crusher/cyborg, + /obj/item/kinetic_crusher/cyborg, /obj/item/weldingtool/mini, /obj/item/storage/bag/sheetsnatcher/borg, /obj/item/t_scanner/adv_mining_scanner, @@ -1027,7 +1027,7 @@ /obj/item/extinguisher/mini, /obj/item/crowbar/cyborg, /obj/item/reagent_containers/borghypo/syndicate, - /obj/item/twohanded/shockpaddles/syndicate, + /obj/item/shockpaddles/syndicate, /obj/item/healthanalyzer/advanced, /obj/item/surgical_drapes/advanced, /obj/item/retractor, diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index adb49938e1..5bfaf8ad27 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -91,7 +91,7 @@ else to_chat(user, "\the [src] already has this mop!") - if(istype(W, /obj/item/twohanded/broom)) + if(istype(W, /obj/item/broom)) if(bot_core.allowed(user) && open && broom == TRUE) to_chat(user, "You add to \the [src] a broom speeding it up!") broom = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm index c406baf2a6..47756688c8 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm @@ -158,7 +158,7 @@ var/client/C = L.client SSmedals.UnlockMedal("Boss [BOSS_KILL_MEDAL]", C) SSmedals.UnlockMedal("[medaltype] [BOSS_KILL_MEDAL]", C) - if(crusher_kill && istype(L.get_active_held_item(), /obj/item/twohanded/kinetic_crusher)) + if(crusher_kill && istype(L.get_active_held_item(), /obj/item/kinetic_crusher)) SSmedals.UnlockMedal("[medaltype] [BOSS_KILL_MEDAL_CRUSHER]", C) SSmedals.SetScore(BOSS_SCORE, C, 1) SSmedals.SetScore(score_type, C, 1) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index e4362711b3..822dafcb9f 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -317,7 +317,7 @@ suit = /obj/item/clothing/suit/armor/bone gloves = /obj/item/clothing/gloves/bracer if(prob(5)) - back = pickweight(list(/obj/item/twohanded/bonespear = 3, /obj/item/twohanded/fireaxe/boneaxe = 2)) + back = pickweight(list(/obj/item/spear/bonespear = 3, /obj/item/fireaxe/boneaxe = 2)) if(prob(10)) belt = /obj/item/storage/belt/mining/primitive if(prob(30)) @@ -404,7 +404,7 @@ if(prob(5)) gloves = /obj/item/clothing/gloves/color/yellow if(prob(10)) - back = /obj/item/twohanded/spear + back = /obj/item/spear else if(prob(80)) //Now they dont always have a backpack back = /obj/item/storage/backpack backpack_contents = list(/obj/item/stack/cable_coil = 1, /obj/item/assembly/flash = 1, /obj/item/storage/fancy/donut_box = 1, /obj/item/storage/fancy/cigarettes/cigpack_shadyjims = 1, /obj/item/lighter = 1) diff --git a/code/modules/mob/living/simple_animal/hostile/skeleton.dm b/code/modules/mob/living/simple_animal/hostile/skeleton.dm index df71701bb7..9aee944c6d 100644 --- a/code/modules/mob/living/simple_animal/hostile/skeleton.dm +++ b/code/modules/mob/living/simple_animal/hostile/skeleton.dm @@ -52,7 +52,7 @@ melee_damage_upper = 20 deathmessage = "collapses into a pile of bones, its gear falling to the floor!" loot = list(/obj/effect/decal/remains/human, - /obj/item/twohanded/spear, + /obj/item/spear, /obj/item/clothing/shoes/winterboots, /obj/item/clothing/suit/hooded/wintercoat) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index def6327461..25a4215670 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -493,17 +493,13 @@ mode() /mob/living/simple_animal/swap_hand(hand_index) + . = ..() + if(!.) + return if(!dextrous) - return ..() + return if(!hand_index) hand_index = (active_hand_index % held_items.len)+1 - var/obj/item/held_item = get_active_held_item() - if(held_item) - if(istype(held_item, /obj/item/twohanded)) - var/obj/item/twohanded/T = held_item - if(T.wielded == 1) - to_chat(usr, "Your other hand is too busy holding the [T.name].") - return var/oindex = active_hand_index active_hand_index = hand_index if(hud_used) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 7eec11892e..a3d5a4f3c5 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -745,7 +745,11 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) return FALSE /mob/proc/swap_hand() - return + var/obj/item/held_item = get_active_held_item() + if(SEND_SIGNAL(src, COMSIG_MOB_SWAP_HANDS, held_item) & COMPONENT_BLOCK_SWAP) + to_chat(src, "Your other hand is too busy holding [held_item].") + return FALSE + return TRUE /mob/proc/activate_hand(selhand) return diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index c8563c653f..6bfd2046fc 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -170,8 +170,8 @@ By design, d1 is the smallest direction and d2 is the highest return coil.cable_join(src, user) - else if(istype(W, /obj/item/twohanded/rcl)) - var/obj/item/twohanded/rcl/R = W + else if(istype(W, /obj/item/rcl)) + var/obj/item/rcl/R = W if(R.loaded) R.loaded.cable_join(src, user) R.is_empty(user) diff --git a/code/modules/research/designs/autoylathe_designs.dm b/code/modules/research/designs/autoylathe_designs.dm index c2076db121..6db9755585 100644 --- a/code/modules/research/designs/autoylathe_designs.dm +++ b/code/modules/research/designs/autoylathe_designs.dm @@ -63,7 +63,7 @@ name = "Double-Bladed Toy Sword" id = "dbtoysword" materials = list(/datum/material/plastic = 1000) - build_path = /obj/item/twohanded/dualsaber/toy + build_path = /obj/item/dualsaber/toy category = list("initial", "Melee") /datum/design/autoylathe/toykatana diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm index e407277ebf..ff60478eb4 100644 --- a/code/modules/research/designs/misc_designs.dm +++ b/code/modules/research/designs/misc_designs.dm @@ -295,7 +295,7 @@ id = "broom" build_type = PROTOLATHE | AUTOLATHE materials = list(/datum/material/iron = 1000, /datum/material/glass = 600) - build_path = /obj/item/twohanded/broom + build_path = /obj/item/broom category = list("initial", "Equipment", "Misc") departmental_flags = DEPARTMENTAL_FLAG_SERVICE diff --git a/code/modules/research/xenobiology/crossbreeding/burning.dm b/code/modules/research/xenobiology/crossbreeding/burning.dm index 7b5004e722..1a8b82232b 100644 --- a/code/modules/research/xenobiology/crossbreeding/burning.dm +++ b/code/modules/research/xenobiology/crossbreeding/burning.dm @@ -276,7 +276,7 @@ Burning extracts: /obj/item/slimecross/burning/adamantine/do_effect(mob/user) user.visible_message("[src] crystallizes into a large shield!") - new /obj/item/twohanded/required/adamantineshield(get_turf(user)) + new /obj/item/shield/adamantineshield(get_turf(user)) ..() /obj/item/slimecross/burning/rainbow @@ -440,7 +440,7 @@ Burning extracts: attack_verb = list("irradiated","mutated","maligned") return ..() -/obj/item/twohanded/required/adamantineshield +/obj/item/shield/adamantineshield name = "adamantine shield" desc = "A gigantic shield made of solid adamantium." icon = 'icons/obj/slimecrossing.dmi' @@ -450,12 +450,15 @@ Burning extracts: armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 70) slot_flags = ITEM_SLOT_BACK block_chance = 75 + force = 0 throw_range = 1 //How far do you think you're gonna throw a solid crystalline shield...? throw_speed = 2 - force = 15 //Heavy, but hard to wield. attack_verb = list("bashed","pounded","slammed") item_flags = SLOWS_WHILE_IN_HAND +/obj/item/shield/adamantineshield/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, require_twohands=TRUE, force_wielded=15) /obj/effect/proc_holder/spell/targeted/shapeshift/slimeform name = "Slime Transformation" diff --git a/code/modules/spells/spell_types/devil.dm b/code/modules/spells/spell_types/devil.dm index 34b033fd17..6e66fa1a4a 100644 --- a/code/modules/spells/spell_types/devil.dm +++ b/code/modules/spells/spell_types/devil.dm @@ -5,7 +5,7 @@ include_user = 1 range = -1 clothes_req = NONE - item_type = /obj/item/twohanded/pitchfork/demonic + item_type = /obj/item/pitchfork/demonic school = "conjuration" charge_max = 150 @@ -15,10 +15,10 @@ action_background_icon_state = "bg_demon" /obj/effect/proc_holder/spell/targeted/conjure_item/summon_pitchfork/greater - item_type = /obj/item/twohanded/pitchfork/demonic/greater + item_type = /obj/item/pitchfork/demonic/greater /obj/effect/proc_holder/spell/targeted/conjure_item/summon_pitchfork/ascended - item_type = /obj/item/twohanded/pitchfork/demonic/ascended + item_type = /obj/item/pitchfork/demonic/ascended /obj/effect/proc_holder/spell/targeted/conjure_item/violin item_type = /obj/item/instrument/violin/golden diff --git a/code/modules/surgery/advanced/revival.dm b/code/modules/surgery/advanced/revival.dm index e9f8ff4446..b4c78b5d6e 100644 --- a/code/modules/surgery/advanced/revival.dm +++ b/code/modules/surgery/advanced/revival.dm @@ -25,12 +25,12 @@ return TRUE /datum/surgery_step/revive name = "electrically stimulate brain" - implements = list(/obj/item/twohanded/shockpaddles = 100, /obj/item/abductor/gizmo = 100, /obj/item/melee/baton = 75, /obj/item/organ/cyberimp/arm/baton = 75, /obj/item/organ/cyberimp/arm/gun/taser = 60, /obj/item/gun/energy/e_gun/advtaser = 60, /obj/item/gun/energy/taser = 60) + implements = list(/obj/item/shockpaddles = 100, /obj/item/abductor/gizmo = 100, /obj/item/melee/baton = 75, /obj/item/organ/cyberimp/arm/baton = 75, /obj/item/organ/cyberimp/arm/gun/taser = 60, /obj/item/gun/energy/e_gun/advtaser = 60, /obj/item/gun/energy/taser = 60) time = 120 /datum/surgery_step/revive/tool_check(mob/user, obj/item/tool) . = TRUE - if(istype(tool, /obj/item/twohanded/shockpaddles)) - var/obj/item/twohanded/shockpaddles/S = tool + if(istype(tool, /obj/item/shockpaddles)) + var/obj/item/shockpaddles/S = tool if((S.req_defib && !S.defib.powered) || !S.wielded || S.cooldown || S.busy) to_chat(user, "You need to wield both paddles, and [S.defib] must be powered!") return FALSE diff --git a/code/modules/surgery/amputation.dm b/code/modules/surgery/amputation.dm index 5c77532188..e00ff66ee7 100644 --- a/code/modules/surgery/amputation.dm +++ b/code/modules/surgery/amputation.dm @@ -6,7 +6,7 @@ requires_bodypart_type = 0 /datum/surgery_step/sever_limb name = "sever limb" - implements = list(TOOL_SCALPEL = 100, TOOL_SAW = 100, /obj/item/melee/transforming/energy/sword/cyborg/saw = 100, /obj/item/melee/arm_blade = 80, /obj/item/twohanded/required/chainsaw = 80, /obj/item/mounted_chainsaw = 80, /obj/item/twohanded/fireaxe = 50, /obj/item/hatchet = 40, /obj/item/kitchen/knife/butcher = 25) + implements = list(TOOL_SCALPEL = 100, TOOL_SAW = 100, /obj/item/melee/transforming/energy/sword/cyborg/saw = 100, /obj/item/melee/arm_blade = 80, /obj/item/chainsaw = 80, /obj/item/mounted_chainsaw = 80, /obj/item/fireaxe = 50, /obj/item/hatchet = 40, /obj/item/kitchen/knife/butcher = 25) time = 64 /datum/surgery_step/sever_limb/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) diff --git a/code/modules/surgery/emergency_cardioversion_recovery.dm b/code/modules/surgery/emergency_cardioversion_recovery.dm index 5646c43f00..5df90c5e80 100644 --- a/code/modules/surgery/emergency_cardioversion_recovery.dm +++ b/code/modules/surgery/emergency_cardioversion_recovery.dm @@ -6,13 +6,13 @@ /datum/surgery_step/ventricular_electrotherapy name = "ventricular electrotherapy" - implements = list(/obj/item/twohanded/shockpaddles = 90, /obj/item/defibrillator = 75, /obj/item/inducer = 55, /obj/item/stock_parts/cell = 25) //Just because the idea of a new player using the whole magine to defib is hillarious to me + implements = list(/obj/item/shockpaddles = 90, /obj/item/defibrillator = 75, /obj/item/inducer = 55, /obj/item/stock_parts/cell = 25) //Just because the idea of a new player using the whole magine to defib is hillarious to me time = 50 repeatable = TRUE //So you can retry /datum/surgery_step/ventricular_electrotherapy/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - if(istype(tool, /obj/item/twohanded/shockpaddles)) - var/obj/item/twohanded/shockpaddles/pads = tool + if(istype(tool, /obj/item/shockpaddles)) + var/obj/item/shockpaddles/pads = tool if(!pads.wielded) to_chat(user, "You need to wield the paddles in both hands before you can use them!") return FALSE @@ -23,8 +23,8 @@ playsound(src, 'sound/machines/defib_charge.ogg', 75, 0) /datum/surgery_step/ventricular_electrotherapy/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - if(istype(tool, /obj/item/twohanded/shockpaddles)) - var/obj/item/twohanded/shockpaddles/pads = tool + if(istype(tool, /obj/item/shockpaddles)) + var/obj/item/shockpaddles/pads = tool if(!pads.wielded) return FALSE var/mob/living/carbon/human/H = target @@ -52,7 +52,7 @@ H.adjustOrganLoss(ORGAN_SLOT_BRAIN, -5) H.electrocute_act(0, (tool), 1, SHOCK_ILLUSION) //If we're using a defib, let the defib handle the revive. - if(istype(tool, /obj/item/twohanded/shockpaddles)) + if(istype(tool, /obj/item/shockpaddles)) return //Otherwise, we're ad hocing it if(!(do_after(user, 50, target = target))) diff --git a/code/modules/surgery/organic_steps.dm b/code/modules/surgery/organic_steps.dm index 3b05873a0a..0b38ecc2fe 100644 --- a/code/modules/surgery/organic_steps.dm +++ b/code/modules/surgery/organic_steps.dm @@ -91,7 +91,7 @@ //saw bone /datum/surgery_step/saw name = "saw bone" - implements = list(TOOL_SAW = 100, /obj/item/melee/arm_blade = 75, /obj/item/twohanded/fireaxe = 50, /obj/item/hatchet = 35, /obj/item/kitchen/knife/butcher = 25) + implements = list(TOOL_SAW = 100, /obj/item/melee/arm_blade = 75, /obj/item/fireaxe = 50, /obj/item/hatchet = 35, /obj/item/kitchen/knife/butcher = 25) time = 54 /datum/surgery_step/saw/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) diff --git a/code/modules/surgery/prosthetic_replacement.dm b/code/modules/surgery/prosthetic_replacement.dm index 62ce16e7e6..8eac5b7895 100644 --- a/code/modules/surgery/prosthetic_replacement.dm +++ b/code/modules/surgery/prosthetic_replacement.dm @@ -13,7 +13,7 @@ return 1 /datum/surgery_step/add_prosthetic name = "add prosthetic" - implements = list(/obj/item/bodypart = 100, /obj/item/organ_storage = 100, /obj/item/twohanded/required/chainsaw = 100, /obj/item/melee/synthetic_arm_blade = 100) + implements = list(/obj/item/bodypart = 100, /obj/item/organ_storage = 100, /obj/item/chainsaw = 100, /obj/item/melee/synthetic_arm_blade = 100) time = 32 var/organ_rejection_dam = 0 /datum/surgery_step/add_prosthetic/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -79,7 +79,7 @@ "[user] finishes attaching [tool]!", "[user] finishes the attachment procedure!") qdel(tool) - if(istype(tool, /obj/item/twohanded/required/chainsaw)) + if(istype(tool, /obj/item/chainsaw)) var/obj/item/mounted_chainsaw/new_arm = new(target) target_zone == BODY_ZONE_R_ARM ? target.put_in_r_hand(new_arm) : target.put_in_l_hand(new_arm) return 1 diff --git a/code/modules/uplink/uplink_items/uplink_dangerous.dm b/code/modules/uplink/uplink_items/uplink_dangerous.dm index 99c9c505c0..7d96390115 100644 --- a/code/modules/uplink/uplink_items/uplink_dangerous.dm +++ b/code/modules/uplink/uplink_items/uplink_dangerous.dm @@ -109,7 +109,7 @@ name = "Double-Bladed Energy Sword" desc = "The double-bladed energy sword does slightly more damage than a standard energy sword and will deflect \ all energy projectiles, but requires two hands to wield." - item = /obj/item/twohanded/dualsaber + item = /obj/item/dualsaber player_minimum = 25 cost = 16 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) diff --git a/code/modules/vending/liberation_toy.dm b/code/modules/vending/liberation_toy.dm index 8ed4cd85ae..9f9b489266 100644 --- a/code/modules/vending/liberation_toy.dm +++ b/code/modules/vending/liberation_toy.dm @@ -20,7 +20,7 @@ /obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted/riot = 10, /obj/item/ammo_box/foambox/riot = 20, /obj/item/toy/katana = 10, - /obj/item/twohanded/dualsaber/toy = 5, + /obj/item/dualsaber/toy = 5, /obj/item/toy/cards/deck/syndicate = 10) //Gambling and it hurts, making it a +18 item armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) resistance_flags = FIRE_PROOF diff --git a/code/modules/vending/toys.dm b/code/modules/vending/toys.dm index a00dd17a9c..f8b9e134b2 100644 --- a/code/modules/vending/toys.dm +++ b/code/modules/vending/toys.dm @@ -21,7 +21,7 @@ /obj/item/gun/ballistic/automatic/c20r/toy/unrestricted = 10, /obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted = 10, /obj/item/toy/katana = 10, - /obj/item/twohanded/dualsaber/toy = 5) + /obj/item/dualsaber/toy = 5) armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) resistance_flags = FIRE_PROOF refill_canister = /obj/item/vending_refill/donksoft diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm index b2a8b59403..a1caca0200 100644 --- a/code/modules/vending/wardrobes.dm +++ b/code/modules/vending/wardrobes.dm @@ -306,7 +306,7 @@ /obj/item/cartridge/janitor = 3, /obj/item/clothing/gloves/color/black = 2, /obj/item/clothing/head/soft/purple = 2, - /obj/item/twohanded/broom = 2, + /obj/item/broom = 2, /obj/item/paint/paint_remover = 2, /obj/item/melee/flyswatter = 2, /obj/item/flashlight = 2, diff --git a/icons/obj/items_and_weapons.dmi b/icons/obj/items_and_weapons.dmi index 58083f5f6d..8c61c287ac 100644 Binary files a/icons/obj/items_and_weapons.dmi and b/icons/obj/items_and_weapons.dmi differ diff --git a/modular_citadel/code/game/machinery/wishgranter.dm b/modular_citadel/code/game/machinery/wishgranter.dm index 6cfe07b7a0..0035828136 100644 --- a/modular_citadel/code/game/machinery/wishgranter.dm +++ b/modular_citadel/code/game/machinery/wishgranter.dm @@ -96,7 +96,7 @@ killwish.health = killwish.maxHealth killwish.vine_grab_distance = 6 killwish.melee_damage_upper = 30 - killwish.loot = list(/obj/item/twohanded/dualsaber/hypereutactic) + killwish.loot = list(/obj/item/dualsaber/hypereutactic) charges-- insisting = FALSE if(!charges) diff --git a/modular_citadel/code/modules/client/loadout/__donator.dm b/modular_citadel/code/modules/client/loadout/__donator.dm index 8ecc6151a1..d428fc290a 100644 --- a/modular_citadel/code/modules/client/loadout/__donator.dm +++ b/modular_citadel/code/modules/client/loadout/__donator.dm @@ -220,7 +220,7 @@ /datum/gear/torisword name = "Rainbow Zweihander" category = SLOT_IN_BACKPACK - path = /obj/item/twohanded/dualsaber/hypereutactic/toy/rainbow + path = /obj/item/dualsaber/hypereutactic/toy/rainbow ckeywhitelist = list("annoymous35") /datum/gear/darksabre diff --git a/tgstation.dme b/tgstation.dme index 619f6767bb..ff68c231c2 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -436,6 +436,7 @@ #include "code\datums\components\tackle.dm" #include "code\datums\components\tactical.dm" #include "code\datums\components\thermite.dm" +#include "code\datums\components\twohanded.dm" #include "code\datums\components\uplink.dm" #include "code\datums\components\virtual_reality.dm" #include "code\datums\components\wearertargeting.dm" @@ -920,13 +921,16 @@ #include "code\game\objects\items\airlock_painter.dm" #include "code\game\objects\items\apc_frame.dm" #include "code\game\objects\items\balls.dm" +#include "code\game\objects\items\binoculars.dm" #include "code\game\objects\items\blueprints.dm" #include "code\game\objects\items\body_egg.dm" #include "code\game\objects\items\bodybag.dm" #include "code\game\objects\items\boombox.dm" +#include "code\game\objects\items\broom.dm" #include "code\game\objects\items\candle.dm" #include "code\game\objects\items\cardboard_cutouts.dm" #include "code\game\objects\items\cards_ids.dm" +#include "code\game\objects\items\chainsaw.dm" #include "code\game\objects\items\charter.dm" #include "code\game\objects\items\chromosome.dm" #include "code\game\objects\items\chrono_eraser.dm" @@ -944,8 +948,11 @@ #include "code\game\objects\items\dice.dm" #include "code\game\objects\items\dna_injector.dm" #include "code\game\objects\items\documents.dm" +#include "code\game\objects\items\dualsaber.dm" #include "code\game\objects\items\eightball.dm" +#include "code\game\objects\items\electrostaff.dm" #include "code\game\objects\items\extinguisher.dm" +#include "code\game\objects\items\fireaxe.dm" #include "code\game\objects\items\flamethrower.dm" #include "code\game\objects\items\gift.dm" #include "code\game\objects\items\granters.dm" @@ -964,6 +971,7 @@ #include "code\game\objects\items\paiwire.dm" #include "code\game\objects\items\pet_carrier.dm" #include "code\game\objects\items\pinpointer.dm" +#include "code\game\objects\items\pitchfork.dm" #include "code\game\objects\items\plushes.dm" #include "code\game\objects\items\pneumaticCannon.dm" #include "code\game\objects\items\powerfist.dm" @@ -979,6 +987,7 @@ #include "code\game\objects\items\shooting_range.dm" #include "code\game\objects\items\signs.dm" #include "code\game\objects\items\singularityhammer.dm" +#include "code\game\objects\items\spear.dm" #include "code\game\objects\items\stunbaton.dm" #include "code\game\objects\items\taster.dm" #include "code\game\objects\items\teleportation.dm" @@ -987,7 +996,6 @@ #include "code\game\objects\items\theft_tools.dm" #include "code\game\objects\items\toys.dm" #include "code\game\objects\items\trash.dm" -#include "code\game\objects\items\twohanded.dm" #include "code\game\objects\items\vending_items.dm" #include "code\game\objects\items\weaponry.dm" #include "code\game\objects\items\circuitboards\circuitboard.dm"