From a4c61c7ee9f1600105c668191fd854e22dbc8b17 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Thu, 25 Feb 2016 02:03:53 -0500 Subject: [PATCH] Ports Whetstones --- code/game/machinery/vending.dm | 3 + code/game/objects/items/weapons/whetstone.dm | 65 +++++++++++++++++++ icons/obj/kitchen.dmi | Bin 26520 -> 26903 bytes paradise.dme | 1 + 4 files changed, 69 insertions(+) create mode 100644 code/game/objects/items/weapons/whetstone.dm diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 83cf9225bab..ea498f444cd 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -1058,6 +1058,9 @@ /obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 8, /obj/item/clothing/suit/chef/classic = 2, /obj/item/weapon/reagent_containers/food/condiment/pack/ketchup = 5, /obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce = 5, + /obj/item/weapon/reagent_containers/food/condiment/saltshaker =5, + /obj/item/weapon/reagent_containers/food/condiment/peppermill =5, + /obj/item/weapon/whetstone = 2, /obj/item/weapon/kitchen/mould/bear = 1, /obj/item/weapon/kitchen/mould/worm = 1, /obj/item/weapon/kitchen/mould/bean = 1, /obj/item/weapon/kitchen/mould/ball = 1, /obj/item/weapon/kitchen/mould/cane = 1, /obj/item/weapon/kitchen/mould/cash = 1, diff --git a/code/game/objects/items/weapons/whetstone.dm b/code/game/objects/items/weapons/whetstone.dm new file mode 100644 index 00000000000..bc9fae1a118 --- /dev/null +++ b/code/game/objects/items/weapons/whetstone.dm @@ -0,0 +1,65 @@ +/obj/item/weapon/whetstone + name = "whetstone" + icon = 'icons/obj/kitchen.dmi' + icon_state = "whetstone" + desc = "A block of stone used to sharpen things." + w_class = 2 + var/used = 0 + var/increment = 4 + var/max = 30 + var/prefix = "sharpened" + var/requires_sharpness = 1 + + +/obj/item/weapon/whetstone/attackby(obj/item/I, mob/user, params) + if(used) + user << "The whetstone is too worn to use again." + return + if(I.force >= max || I.throwforce >= max)//no esword sharpening + user << "[I] is much too powerful to sharpen further." + return + if(requires_sharpness && !I.edge) + user << "You can only sharpen items that are already sharp, such as knives." + return + if(istype(I, /obj/item/weapon/twohanded))//some twohanded items should still be sharpenable, but handle force differently. therefore i need this stuff + var/obj/item/weapon/twohanded/TH = I + if(TH.force_wielded >= max) + user << "[TH] is much too powerful to sharpen further." + return + if(TH.wielded) + user << "[TH] must be unwielded before it can be sharpened." + return + if(TH.force_wielded > initial(TH.force_wielded)) + 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)) + user << "[I] has already been refined before. It cannot be sharpened further." + return + user.visible_message("[user] sharpens [I] with [src]!", "You sharpen [I], making it much more deadly than before.") + if(!requires_sharpness) + I.edge = 1 + I.sharp = 1 + I.force = Clamp(I.force + increment, 0, max) + I.throwforce = Clamp(I.throwforce + increment, 0, max) + I.name = "[prefix] [I.name]" + playsound(get_turf(src), 'sound/items/Screwdriver.ogg', 50, 1) + name = "worn out [name]" + desc = "[desc] At least, it used to." + used = 1 + +/obj/item/weapon/whetstone/attack_self(mob/user as mob) //This is just fluff for now. Species datums are global and not newly created instances, so we can't adjust unarmed damage on a per mob basis. + if(ishuman(user)) + var/mob/living/carbon/human/H = user + var/datum/unarmed_attack/attack = H.species.unarmed + if(istype(attack, /datum/unarmed_attack/claws)) + H.visible_message("[H] sharpens \his claws on the [src]!", "You sharpen your claws on the [src].") + playsound(get_turf(H), 'sound/items/Screwdriver.ogg', 50, 1) + +/obj/item/weapon/whetstone/super + name = "super whetstone block" + desc = "A block of stone that will make your weapon sharper than Einstein on adderall." + increment = 200 + max = 200 + prefix = "super-sharpened" + requires_sharpness = 0 \ No newline at end of file diff --git a/icons/obj/kitchen.dmi b/icons/obj/kitchen.dmi index 68ccb9f003e0790aeecc573666b27bf8dd2b028f..328cc04d001f397ec18c7db980dc6ebeddbed66a 100644 GIT binary patch delta 4383 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 V;4P2DEB64FnVDD`*BD}>{ttYJnHK;6 delta 3997 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 diff --git a/paradise.dme b/paradise.dme index b611994a112..b313ca1ab5f 100644 --- a/paradise.dme +++ b/paradise.dme @@ -755,6 +755,7 @@ #include "code\game\objects\items\weapons\twohanded.dm" #include "code\game\objects\items\weapons\vending_items.dm" #include "code\game\objects\items\weapons\weaponry.dm" +#include "code\game\objects\items\weapons\whetstone.dm" #include "code\game\objects\items\weapons\wires.dm" #include "code\game\objects\items\weapons\grenades\bananade.dm" #include "code\game\objects\items\weapons\grenades\chem_grenade.dm"