diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 99ff26c89a1..dfecfcb9147 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -91,7 +91,7 @@ /obj/item/weapon/cane/concealed/New() ..() - var/obj/item/weapon/butterfly/switchblade/temp_blade = new(src) + var/obj/item/weapon/material/butterfly/switchblade/temp_blade = new(src) concealed_blade = temp_blade temp_blade.attack_self() @@ -109,7 +109,7 @@ else ..() -/obj/item/weapon/cane/concealed/attackby(var/obj/item/weapon/butterfly/W, var/mob/user) +/obj/item/weapon/cane/concealed/attackby(var/obj/item/weapon/material/butterfly/W, var/mob/user) if(!src.concealed_blade && istype(W)) user.visible_message("[user] has sheathed \a [W] into \his [src]!", "You sheathe \the [W] into \the [src].") user.drop_from_inventory(W) diff --git a/code/game/machinery/autolathe_datums.dm b/code/game/machinery/autolathe_datums.dm index 3b323cd69fd..90486e64ebb 100644 --- a/code/game/machinery/autolathe_datums.dm +++ b/code/game/machinery/autolathe_datums.dm @@ -81,12 +81,12 @@ name = "wrench" path = /obj/item/weapon/wrench category = "Tools" - + /datum/autolathe/recipe/hatchet name = "hatchet" path = /obj/item/weapon/hatchet category = "Tools" - + /datum/autolathe/recipe/minihoe name = "mini hoe" path = /obj/item/weapon/minihoe @@ -133,7 +133,7 @@ /datum/autolathe/recipe/knife name = "kitchen knife" - path = /obj/item/weapon/kitchenknife + path = /obj/item/weapon/material/knife category = "General" /datum/autolathe/recipe/taperecorder diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 6895124593e..ff604d0b2c3 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -910,8 +910,8 @@ desc = "A kitchen and restaurant equipment vendor." product_ads = "Mm, food stuffs!;Food and food accessories.;Get your plates!;You like forks?;I like forks.;Woo, utensils.;You don't really need these..." icon_state = "dinnerware" - products = list(/obj/item/weapon/tray = 8,/obj/item/weapon/kitchen/utensil/fork = 6,/obj/item/weapon/kitchenknife = 3,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 8,/obj/item/clothing/suit/chef/classic = 2) - contraband = list(/obj/item/weapon/kitchen/utensil/spoon = 2,/obj/item/weapon/kitchen/utensil/knife = 2,/obj/item/weapon/kitchen/rollingpin = 2, /obj/item/weapon/butch = 2) + products = list(/obj/item/weapon/tray = 8,/obj/item/weapon/kitchen/utensil/fork = 6,/obj/item/weapon/material/knife = 3,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 8,/obj/item/clothing/suit/chef/classic = 2) + contraband = list(/obj/item/weapon/kitchen/utensil/spoon = 2,/obj/item/weapon/kitchen/utensil/knife = 2,/obj/item/weapon/kitchen/rollingpin = 2, /obj/item/weapon/material/knife/butch = 2) /obj/machinery/vending/sovietsoda name = "BODA" diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index a3e7ed53e28..344a9919359 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -91,7 +91,7 @@ //Step one - dehairing. /obj/item/stack/sheet/animalhide/attackby(obj/item/weapon/W as obj, mob/user as mob) - if( istype(W, /obj/item/weapon/kitchenknife) || \ + if( istype(W, /obj/item/weapon/material/knife) || \ istype(W, /obj/item/weapon/kitchen/utensil/knife) || \ istype(W, /obj/item/weapon/twohanded/fireaxe) || \ istype(W, /obj/item/weapon/hatchet) ) diff --git a/code/game/objects/items/weapons/improvised_components.dm b/code/game/objects/items/weapons/improvised_components.dm index d00ca141f63..7222ae87b44 100644 --- a/code/game/objects/items/weapons/improvised_components.dm +++ b/code/game/objects/items/weapons/improvised_components.dm @@ -7,7 +7,7 @@ /obj/item/butterflyconstruction/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/weapon/screwdriver)) user << "You finish the concealed blade weapon." - new /obj/item/weapon/butterfly(user.loc) + new /obj/item/weapon/material/butterfly(user.loc) qdel(src) return diff --git a/code/game/objects/items/weapons/material/knives.dm b/code/game/objects/items/weapons/material/knives.dm index 341ebb36cb1..0aab729ad2f 100644 --- a/code/game/objects/items/weapons/material/knives.dm +++ b/code/game/objects/items/weapons/material/knives.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/butterfly +/obj/item/weapon/material/butterfly name = "butterfly knife" desc = "A basic metal blade concealed in a lightweight plasteel grip. Small enough when folded to fit in a pocket." icon_state = "butterflyknife" @@ -14,39 +14,45 @@ throwforce = 7 attack_verb = list("patted", "tapped") -/obj/item/weapon/butterfly/switchblade - name = "switchblade" - desc = "A classic switchblade with gold engraving. Just holding it makes you feel like a gangster." - icon_state = "switchblade" - -/obj/item/weapon/butterfly/attack_self(mob/user) - active = !active +/obj/item/weapon/material/butterfly/update_force() if(active) - user << "You flip out your [src]." - playsound(user, 'sound/weapons/flipblade.ogg', 15, 1) - force = 15 //bay adjustments - throwforce = 12 + ..() //Updates force. + throwforce = max(3,force-3) edge = 1 sharp = 1 - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = initial(hitsound) icon_state += "_open" w_class = 3 attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") else - user << "The butterfly knife can now be concealed." - force = initial(force) + force = 3 edge = 0 sharp = 0 - hitsound = initial(hitsound) + hitsound = null icon_state = initial(icon_state) w_class = initial(w_class) attack_verb = initial(attack_verb) - add_fingerprint(user) + +/obj/item/weapon/material/butterfly/switchblade + name = "switchblade" + desc = "A classic switchblade with gold engraving. Just holding it makes you feel like a gangster." + icon_state = "switchblade" + unbreakable = 1 + +/obj/item/weapon/material/butterfly/attack_self(mob/user) + active = !active + if(active) + user << "You flip out your [src]." + playsound(user, 'sound/weapons/flipblade.ogg', 15, 1) + else + user << "The butterfly knife can now be concealed." + update_force() + add_fingerprint(user) /* * Kitchen knives */ -/obj/item/weapon/kitchenknife +/obj/item/weapon/material/knife name = "kitchen knife" icon = 'icons/obj/kitchen.dmi' icon_state = "knife" @@ -54,53 +60,38 @@ flags = CONDUCT sharp = 1 edge = 1 - force = 10.0 - w_class = 3.0 - throwforce = 6.0 + force = 10 + w_class = 3 + throwforce = 8 throw_speed = 3 throw_range = 6 matter = list(DEFAULT_WALL_MATERIAL = 12000) origin_tech = "materials=1" attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + unbreakable = 1 - suicide_act(mob/user) - viewers(user) << pick("\red [user] is slitting \his wrists with the [src.name]! It looks like \he's trying to commit suicide.", \ - "\red [user] is slitting \his throat with the [src.name]! It looks like \he's trying to commit suicide.", \ - "\red [user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.") - return (BRUTELOSS) +/obj/item/weapon/material/knife/suicide_act(mob/user) + viewers(user) << pick("\red [user] is slitting \his wrists with the [src.name]! It looks like \he's trying to commit suicide.", \ + "\red [user] is slitting \his throat with the [src.name]! It looks like \he's trying to commit suicide.", \ + "\red [user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.") + return (BRUTELOSS) -/obj/item/weapon/kitchenknife/hook +/obj/item/weapon/material/knife/hook name = "meat hook" desc = "A sharp, metal hook what sticks into things." icon_state = "hook_knife" item_state = "hook_knife" -/obj/item/weapon/kitchenknife/ritual +/obj/item/weapon/material/knife/ritual name = "ritual knife" desc = "The unearthly energies that once powered this blade are now dormant." icon = 'icons/obj/wizard.dmi' icon_state = "render" -/* - * Bucher's cleaver - */ -/obj/item/weapon/butch +/obj/item/weapon/material/knife/butch name = "butcher's cleaver" icon = 'icons/obj/kitchen.dmi' icon_state = "butch" desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products." - flags = CONDUCT - force = 15.0 - w_class = 2.0 - throwforce = 8.0 - throw_speed = 3 - throw_range = 6 - matter = list(DEFAULT_WALL_MATERIAL = 12000) - origin_tech = "materials=1" + force = 15 attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - sharp = 1 - edge = 1 - -/obj/item/weapon/butch/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) - return ..() \ No newline at end of file diff --git a/code/game/objects/items/weapons/material/material_weapons.dm b/code/game/objects/items/weapons/material/material_weapons.dm index 84aa0799ba0..9cc9455a9cb 100644 --- a/code/game/objects/items/weapons/material/material_weapons.dm +++ b/code/game/objects/items/weapons/material/material_weapons.dm @@ -14,6 +14,9 @@ material_key = default_material set_material(material_key) +/obj/item/weapon/material/proc/update_force() + force = round(material.get_blunt_damage()*damage_divisor) + /obj/item/weapon/material/proc/set_material(var/new_material) material = get_material_by_name(new_material) if(!material) @@ -21,10 +24,10 @@ else name = "[material.display_name] bat" health = round(material.integrity/10) - force = round(material.get_blunt_damage()*damage_divisor) color = material.icon_colour if(material.products_need_process()) processing_objects |= src + update_force() /obj/item/weapon/material/Destroy() processing_objects -= src diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm index 18e0c75e1aa..34e646a1cf7 100644 --- a/code/game/objects/random/random.dm +++ b/code/game/objects/random/random.dm @@ -162,11 +162,11 @@ prob(2);/obj/item/weapon/storage/pill_bottle/happy,\ prob(2);/obj/item/weapon/storage/pill_bottle/zoom,\ prob(5);/obj/item/weapon/contraband/poster,\ - prob(2);/obj/item/weapon/butterfly,\ + prob(2);/obj/item/weapon/material/butterfly,\ prob(3);/obj/item/butterflyblade,\ prob(3);/obj/item/butterflyhandle,\ prob(3);/obj/item/weapon/wirerod,\ - prob(1);/obj/item/weapon/butterfly/switchblade,\ + prob(1);/obj/item/weapon/material/butterfly/switchblade,\ prob(1);/obj/item/weapon/reagent_containers/syringe/drugs) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 10128837818..c85fa2eac13 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -597,7 +597,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/thunderdome(M), slot_head) M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(M), slot_r_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/kitchenknife(M), slot_l_hand) + M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_l_hand) M.equip_to_slot_or_del(new /obj/item/weapon/grenade/smokebomb(M), slot_r_store) @@ -621,9 +621,9 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(M), slot_head) M.equip_to_slot_or_del(new /obj/item/weapon/kitchen/rollingpin(M), slot_r_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/kitchenknife(M), slot_l_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/kitchenknife(M), slot_r_store) - M.equip_to_slot_or_del(new /obj/item/weapon/kitchenknife(M), slot_s_store) + M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_l_hand) + M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_r_store) + M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_s_store) if ("tournament janitor") M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/janitor(M), slot_w_uniform) @@ -699,7 +699,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/plain/monocle(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/clothing/suit/apron(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/weapon/kitchenknife(M), slot_l_store) + M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_l_store) M.equip_to_slot_or_del(new /obj/item/weapon/scalpel(M), slot_r_store) var/obj/item/weapon/twohanded/fireaxe/fire_axe = new(M) diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index e0fa47f64fa..c4584e74161 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -51,14 +51,14 @@ //Chef /obj/item/clothing/suit/chef - name = "Chef's apron" + name = "chef's apron" desc = "An apron used by a high class chef." icon_state = "chef" item_state = "chef" gas_transfer_coefficient = 0.90 permeability_coefficient = 0.50 body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS - allowed = list (/obj/item/weapon/kitchenknife,/obj/item/weapon/butch) + allowed = list (/obj/item/weapon/material/knife) sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi') //Chef diff --git a/code/modules/clothing/under/accessories/storage.dm b/code/modules/clothing/under/accessories/storage.dm index 7f13449d168..adae7aac8ca 100644 --- a/code/modules/clothing/under/accessories/storage.dm +++ b/code/modules/clothing/under/accessories/storage.dm @@ -75,8 +75,8 @@ hold.can_hold = list(/obj/item/weapon/hatchet/unathiknife,\ /obj/item/weapon/kitchen/utensil/knife,\ /obj/item/weapon/kitchen/utensil/pknife,\ - /obj/item/weapon/kitchenknife,\ - /obj/item/weapon/kitchenknife/ritual) + /obj/item/weapon/material/knife,\ + /obj/item/weapon/material/knife/ritual) new /obj/item/weapon/hatchet/unathiknife(hold) new /obj/item/weapon/hatchet/unathiknife(hold) diff --git a/code/modules/hydroponics/grown_inedible.dm b/code/modules/hydroponics/grown_inedible.dm index 680a7a5ec88..e69d8a67fc3 100644 --- a/code/modules/hydroponics/grown_inedible.dm +++ b/code/modules/hydroponics/grown_inedible.dm @@ -45,7 +45,7 @@ /obj/item/weapon/corncob/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() - if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/kitchenknife) || istype(W, /obj/item/weapon/kitchenknife/ritual)) + if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/material/knife) || istype(W, /obj/item/weapon/material/knife/ritual)) user << "You use [W] to fashion a pipe out of the corn cob!" new /obj/item/clothing/mask/smokable/pipe/cobpipe (user.loc) qdel(src) diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index 354d674215a..f9292dc1b16 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -226,7 +226,7 @@ return scanner.computer.inventory.Add(src) user << "[W]'s screen flashes: 'Book stored in buffer. Title added to general inventory.'" - else if(istype(W, /obj/item/weapon/kitchenknife) || istype(W, /obj/item/weapon/wirecutters)) + else if(istype(W, /obj/item/weapon/material/knife) || istype(W, /obj/item/weapon/wirecutters)) if(carved) return user << "You begin to carve out [title]." if(do_after(user, 30)) diff --git a/code/modules/mob/living/simple_animal/hostile/russian.dm b/code/modules/mob/living/simple_animal/hostile/russian.dm index ab044a02f05..da2599aeb76 100644 --- a/code/modules/mob/living/simple_animal/hostile/russian.dm +++ b/code/modules/mob/living/simple_animal/hostile/russian.dm @@ -20,7 +20,7 @@ attacktext = "punched" a_intent = I_HURT var/corpse = /obj/effect/landmark/mobcorpse/russian - var/weapon1 = /obj/item/weapon/kitchenknife + var/weapon1 = /obj/item/weapon/material/knife min_oxy = 5 max_oxy = 0 min_tox = 0 diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index aec9fd1894f..0b35ae45eaa 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -281,7 +281,7 @@ else user << "\The [src] is dead, medical items won't bring it back to life." if(meat_type && (stat == DEAD)) //if the animal has a meat, and if it is dead. - if(istype(O, /obj/item/weapon/kitchenknife) || istype(O, /obj/item/weapon/butch)) + if(istype(O, /obj/item/weapon/material/knife) || istype(O, /obj/item/weapon/material/knife/butch)) harvest(user) else user.changeNext_move(8) diff --git a/code/modules/reagents/reagent_containers/food/snacks/meat.dm b/code/modules/reagents/reagent_containers/food/snacks/meat.dm index 797f605b081..46bf9e4bafe 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/meat.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/meat.dm @@ -10,7 +10,7 @@ src.bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/meat/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/kitchenknife)) + if(istype(W,/obj/item/weapon/material/knife)) new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src) new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src) new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src) diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm index 8e6097a39ba..8cfd141c280 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm @@ -43,7 +43,7 @@ /obj/item/weapon/autopsy_scanner,\ /obj/item/weapon/bikehorn,\ /obj/item/weapon/bonesetter,\ - /obj/item/weapon/butch,\ + /obj/item/weapon/material/knife/butch,\ /obj/item/weapon/caution,\ /obj/item/weapon/caution/cone,\ /obj/item/weapon/crowbar,\ @@ -53,7 +53,7 @@ /obj/item/weapon/hatchet,\ /obj/item/weapon/handcuffs,\ /obj/item/weapon/hemostat,\ - /obj/item/weapon/kitchenknife,\ + /obj/item/weapon/material/knife,\ /obj/item/weapon/flame/lighter,\ /obj/item/weapon/light/bulb,\ /obj/item/weapon/light/tube,\ diff --git a/code/modules/research/xenoarchaeology/finds/finds.dm b/code/modules/research/xenoarchaeology/finds/finds.dm index fe2bbe7afa9..1a09521e1af 100644 --- a/code/modules/research/xenoarchaeology/finds/finds.dm +++ b/code/modules/research/xenoarchaeology/finds/finds.dm @@ -167,7 +167,7 @@ "You wonder what kind of music was made with it")]." if(6) item_type = "[pick("bladed knife","serrated blade","sharp cutting implement")]" - new_item = new /obj/item/weapon/kitchenknife(src.loc) + new_item = new /obj/item/weapon/material/knife(src.loc) additional_desc = "[pick("It doesn't look safe.",\ "It looks wickedly jagged",\ "There appear to be [pick("dark red","dark purple","dark green","dark blue")] stains along the edges")]." diff --git a/code/modules/surgery/eye.dm b/code/modules/surgery/eye.dm index cb3c5af7b7d..250aea66935 100644 --- a/code/modules/surgery/eye.dm +++ b/code/modules/surgery/eye.dm @@ -20,7 +20,7 @@ /datum/surgery_step/eye/cut_open allowed_tools = list( /obj/item/weapon/scalpel = 100, \ - /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/material/knife = 75, \ /obj/item/weapon/material/shard = 50, \ ) diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm index 8517a7b98da..4b983eb2479 100644 --- a/code/modules/surgery/face.dm +++ b/code/modules/surgery/face.dm @@ -17,7 +17,7 @@ /datum/surgery_step/generic/cut_face allowed_tools = list( /obj/item/weapon/scalpel = 100, \ - /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/material/knife = 75, \ /obj/item/weapon/material/shard = 50, \ ) diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index 7ff50ae15bb..0552ee800c6 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -110,7 +110,7 @@ /datum/surgery_step/generic/cut_open allowed_tools = list( /obj/item/weapon/scalpel = 100, \ - /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/material/knife = 75, \ /obj/item/weapon/material/shard = 50, \ ) diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index b8b5d3f2ecc..d25d9fc5f23 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -211,7 +211,7 @@ allowed_tools = list( /obj/item/weapon/scalpel = 100, \ - /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/material/knife = 75, \ /obj/item/weapon/material/shard = 50, \ ) @@ -447,7 +447,7 @@ // /datum/surgery_step/ribcage/heart/cut // allowed_tools = list( // /obj/item/weapon/scalpel = 100, \ -// /obj/item/weapon/kitchenknife = 75, \ +// /obj/item/weapon/material/knife = 75, \ // /obj/item/weapon/material/shard = 50, \ // ) diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index 7625de58938..50e6c3bcfb9 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -56,7 +56,7 @@ priority = 2 allowed_tools = list( /obj/item/weapon/scalpel = 100, \ - /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/material/knife = 75, \ /obj/item/weapon/material/shard = 50, \ ) diff --git a/code/modules/surgery/slimes.dm b/code/modules/surgery/slimes.dm index c62afde2965..2f9629bade5 100644 --- a/code/modules/surgery/slimes.dm +++ b/code/modules/surgery/slimes.dm @@ -12,7 +12,7 @@ /datum/surgery_step/slime/cut_flesh allowed_tools = list( /obj/item/weapon/scalpel = 100, \ - /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/material/knife = 75, \ /obj/item/weapon/material/shard = 50, \ ) @@ -38,7 +38,7 @@ /datum/surgery_step/slime/cut_innards allowed_tools = list( /obj/item/weapon/scalpel = 100, \ - /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/material/knife = 75, \ /obj/item/weapon/material/shard = 50, \ ) diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 331980dfd8f..3d78230a67a 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -1699,7 +1699,7 @@ "GI" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/tdome) "GJ" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/tdome) "GK" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) -"GL" = (/obj/structure/table/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station) +"GL" = (/obj/item/weapon/material/knife/ritual,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) "GM" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) "GN" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) "GO" = (/obj/machinery/porta_turret{anchored = 0; check_records = 0; enabled = 0; req_one_access = list(103); use_power = 0},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/holding) @@ -1723,7 +1723,7 @@ "Hg" = (/obj/machinery/door/blast/regular{id = "thunderdomeaxe"; name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "Hh" = (/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach) "Hi" = (/turf/unsimulated/floor{icon_state = "redcorner"; dir = 8},/area/tdome) -"Hj" = (/obj/structure/table/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station) +"Hj" = (/obj/structure/table/rack,/obj/item/weapon/material/knife/ritual,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station) "Hk" = (/obj/item/tape/engineering{tag = "icon-engineering_v"; icon_state = "engineering_v"},/turf/unsimulated/floor{tag = "icon-asteroid"; icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) "Hl" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/tdome) "Hm" = (/turf/unsimulated/wall{tag = "icon-iron1"; icon_state = "iron1"},/area/syndicate_mothership{name = "\improper Raider Base"}) @@ -1906,7 +1906,7 @@ "KH" = (/obj/structure/flora/ausbushes/grassybush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) "KI" = (/mob/living/simple_animal/hostile/retaliate/goat{name = "Experiment 97d"},/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) "KJ" = (/obj/item/weapon/caution,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) -"KK" = (/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) +"KK" = (/obj/structure/table/rack,/obj/item/weapon/material/knife/ritual,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station) "KL" = (/obj/machinery/computer/station_alert,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership{name = "\improper Raider Base"}) "KM" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/item/weapon/tank/nitrogen,/turf/unsimulated/floor{tag = "icon-asteroid"; icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) "KN" = (/obj/item/clothing/head/philosopher_wig,/turf/unsimulated/floor{tag = "icon-asteroid"; icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) @@ -2397,14 +2397,14 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcIxHYIyIyIzHYIAIBICIDHYaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIEIEIcIcIcIFHYIyIyIyIGIyIyIyIHHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcOUHYIMINIOHYIPIQIRIDHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVaMaMaMOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcItHYHYHYHYHYHYHYHYHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJeJfJgIcJhJiJjJhJkGLJmJnHjHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVaMaMOVaMaMOVOVOVOVOVOVOVaMaMOVaMaMOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJeJfJgIcJhJiJjJhJkHjJmJnKKHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVaMaMOVaMaMOVOVOVOVOVOVOVaMaMOVaMaMOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJsJtJgIcJuJuJuJuJvJwJxJwJxHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVaMOVOVOVOVOVOVOVOVOVaMOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJGOWJgIcJuJuJuJuJuJuJuJuJuHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVaMOVOVOVOVOVOVOVOVOVaMOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJPJQJgIcJuJuJuJuJuJuJRJSJTHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVaMOVOVOVOVOVOVOVOVOVaMOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcIcJuJuJuJuJuJuJuJuJuHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYKeKfKfKgKfKfKfKgKfKfKfKgKfKfKhHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYKkKlKlJkKmKoKnJkKpKpKqJkKrOXKtHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYKlKEKkJvKGLvLuJvKHKIKpJvKJKtKKHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYKlKEKkJvKGLvLuJvKHKIKpJvKJKtGLHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYHYHYHYHYHYHYHYHYHYHYHYHYHYHYHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVaMaMOVOVOVOVOVOVOVaMaMOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM