diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 32fe65e03ed..d545f3e9466 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -304,7 +304,7 @@ attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") sharpness = IS_SHARP var/obj/item/weapon/grenade/explosive = null - var/war_cry = "AAAAARGH!" + var/war_cry = "AAAAARGH!!!" /obj/item/weapon/twohanded/spear/update_icon() if(explosive) @@ -323,29 +323,6 @@ explosive.prime() qdel(src) -/obj/item/weapon/twohanded/spear/attackby(obj/item/I, mob/user, params) - ..() - if(istype(I, /obj/item/weapon/grenade)) - arm(I, user) - - if(istype(I, /obj/item/weapon/c4)) - var /obj/item/weapon/grenade/C4/C = new /obj/item/weapon/grenade/C4(src) - qdel(I) - arm(C, user) - -/obj/item/weapon/twohanded/spear/proc/arm(obj/item/I, mob/user) - if(explosive) - user << "There is already an explosive fastened to the spear." - return - user << "You fasten the [src] to the spear. Alt+click on the spear to set your war cry!" - name = "explosive lance" - desc = "A makeshift spear with [I] attached to it." - explosive = I - update_icon() - user.unEquip(I) - I.loc = src - - //THIS MIGHT BE UNBALANCED SO I DUNNO /obj/item/weapon/twohanded/spear/throw_impact(atom/target) . = ..() @@ -373,3 +350,20 @@ update_mob() explosion(src.loc,-1,1,3) qdel(src) + +/obj/item/weapon/twohanded/spear/CheckParts() + if(explosive) + explosive.loc = get_turf(src.loc) + explosive = null + var/obj/item/weapon/grenade/G = locate() in contents + if(G) + explosive = G + name = "explosive lance" + desc = "A makeshift spear with [G] attached to it. Alt+click on the spear to set your war cry!" + return + var/obj/item/weapon/c4/C4 = locate() in contents + if(C4) + var /obj/item/weapon/grenade/C4/C42 = new /obj/item/weapon/grenade/C4(src) + qdel(C4) + explosive = C42 + desc = "A makeshift spear with [C42] attached to it. Alt+click on the spear to set your war cry!" \ No newline at end of file diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index 02e4fa663ad..2721f4f8ed3 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -27,9 +27,28 @@ /obj/item/device/assembly/igniter = 1, /obj/item/weapon/reagent_containers/food/drinks/soda_cans = 1) parts = list(/obj/item/weapon/reagent_containers/food/drinks/soda_cans = 1) + time = 30 + category = CAT_WEAPON + +/datum/table_recipe/lance + name = "explosive lance (grenade)" + result = /obj/item/weapon/twohanded/spear + reqs = list(/obj/item/weapon/twohanded/spear = 1, + /obj/item/weapon/grenade = 1) + parts = list(/obj/item/weapon/grenade = 1) + time = 30 + category = CAT_WEAPON + +/datum/table_recipe/lance2 + name = "explosive lance (C4)" + result = /obj/item/weapon/twohanded/spear + reqs = list(/obj/item/weapon/twohanded/spear = 1, + /obj/item/weapon/c4 = 1) + parts = list(/obj/item/weapon/c4 = 1) time = 80 category = CAT_WEAPON + /datum/table_recipe/molotov name = "Molotov" result = /obj/item/weapon/reagent_containers/food/drinks/bottle/molotov