diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index cb80e2e5831..a110338306c 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -159,7 +159,8 @@ var/global/list/datum/stack_recipe/wood_recipes = list( new /datum/stack_recipe("easel", /obj/structure/easel, 3, one_per_turf = 1, on_floor = 1), new /datum/stack_recipe("wooden buckler", /obj/item/weapon/shield/riot/buckler, 20, time = 40), new /datum/stack_recipe("apiary", /obj/structure/beebox, 40, time = 50), - new /datum/stack_recipe("honey frame", /obj/item/honey_frame, 5, time = 10) + new /datum/stack_recipe("honey frame", /obj/item/honey_frame, 5, time = 10), + new /datum/stack_recipe("baseball bat", /obj/item/weapon/melee/baseball_bat, 5, time = 15) ) /obj/item/stack/sheet/wood diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index 3c8a25ca739..d5b679fde56 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -138,4 +138,67 @@ obj/item/weapon/wirerod/attackby(obj/item/I, mob/user, params) icon_state = "kidanspear" item_state = "kidanspear" force = 10 - throwforce = 15 \ No newline at end of file + throwforce = 15 + +/obj/item/weapon/melee/baseball_bat + name = "baseball bat" + desc = "There ain't a skull in the league that can withstand a swatter." + icon = 'icons/obj/items.dmi' + icon_state = "baseball_bat" + item_state = "baseball_bat" + force = 10 + throwforce = 12 + attack_verb = list("beat", "smacked") + w_class = WEIGHT_CLASS_HUGE + var/homerun_ready = 0 + var/homerun_able = 0 + +/obj/item/weapon/melee/baseball_bat/homerun + name = "home run bat" + desc = "This thing looks dangerous... Dangerously good at baseball, that is." + homerun_able = 1 + +/obj/item/weapon/melee/baseball_bat/attack_self(mob/user) + if(!homerun_able) + ..() + return + if(homerun_ready) + to_chat(user, "You're already ready to do a home run!") + ..() + return + to_chat(user, "You begin gathering strength...") + playsound(get_turf(src), 'sound/magic/lightning_chargeup.ogg', 65, 1) + if(do_after(user, 90, target = src)) + to_chat(user, "You gather power! Time for a home run!") + homerun_ready = 1 + ..() + +/obj/item/weapon/melee/baseball_bat/attack(mob/living/target, mob/living/user) + . = ..() + var/atom/throw_target = get_edge_target_turf(target, user.dir) + if(homerun_ready) + user.visible_message("It's a home run!") + target.throw_at(throw_target, rand(8,10), 14, user) + target.ex_act(2) + playsound(get_turf(src), 'sound/weapons/HOMERUN.ogg', 100, 1) + homerun_ready = 0 + return + else + target.throw_at(throw_target, rand(1,2), 7, user) + +/obj/item/weapon/melee/baseball_bat/ablative + name = "metal baseball bat" + desc = "This bat is made of highly reflective, highly armored material." + icon_state = "baseball_bat_metal" + item_state = "baseball_bat_metal" + force = 12 + throwforce = 15 + +/obj/item/weapon/melee/baseball_bat/ablative/IsReflect()//some day this will reflect thrown items instead of lasers + var/picksound = rand(1,2) + var/turf = get_turf(src) + if(picksound == 1) + playsound(turf, 'sound/weapons/effects/batreflect1.ogg', 50, 1) + if(picksound == 2) + playsound(turf, 'sound/weapons/effects/batreflect2.ogg', 50, 1) + return 1 diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index add4e7c474f..d6148b429e0 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -717,6 +717,14 @@ bitesize = 3 list_reagents = list("nutriment" = 6, "vitamin" = 1) +/obj/item/weapon/reagent_containers/food/snacks/baseballburger + name = "home run baseball burger" + desc = "It's still warm. The steam coming off of it looks like baseball." + icon_state = "baseball" + filling_color = "#CD853F" + bitesize = 3 + list_reagents = list("nutriment" = 6, "vitamin" = 1) + /obj/item/weapon/reagent_containers/food/snacks/omelette name = "Omelette Du Fromage" desc = "That's all you can say!" diff --git a/code/modules/food_and_drinks/recipes/recipes_microwave.dm b/code/modules/food_and_drinks/recipes/recipes_microwave.dm index 962aa5e92a4..2fe0ccc28dd 100644 --- a/code/modules/food_and_drinks/recipes/recipes_microwave.dm +++ b/code/modules/food_and_drinks/recipes/recipes_microwave.dm @@ -126,6 +126,13 @@ ) result = /obj/item/weapon/reagent_containers/food/snacks/mimeburger +/datum/recipe/microwave/baseballburger + items = list( + /obj/item/weapon/reagent_containers/food/snacks/bun, + /obj/item/weapon/melee/baseball_bat + ) + result = /obj/item/weapon/reagent_containers/food/snacks/baseballburger + /datum/recipe/microwave/hotdog items = list( /obj/item/weapon/reagent_containers/food/snacks/bun, diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_table.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_table.dm index f7eb2fa4a68..54203f92d12 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_table.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_table.dm @@ -54,6 +54,15 @@ result = /obj/item/weapon/reagent_containers/food/snacks/jellyburger/cherry category = CAT_FOOD +/datum/crafting_recipe/baseballburger + name = "Home run baseball burger" + reqs = list( + /obj/item/weapon/melee/baseball_bat = 1, + /obj/item/weapon/reagent_containers/food/snacks/bun = 1, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/baseballburger + category = CAT_FOOD + /datum/crafting_recipe/notasandwich name = "not-a-sandwich" reqs = list( diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 9682a110971..747d51d1e33 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 023222ad451..147401d2d78 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi index 25edd2c325a..283684b9d46 100644 Binary files a/icons/obj/food/food.dmi and b/icons/obj/food/food.dmi differ diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index 186e7d05232..2735d145ac8 100644 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ diff --git a/sound/weapons/HOMERUN.ogg b/sound/weapons/HOMERUN.ogg new file mode 100644 index 00000000000..707edd87527 Binary files /dev/null and b/sound/weapons/HOMERUN.ogg differ diff --git a/sound/weapons/effects/batreflect1.ogg b/sound/weapons/effects/batreflect1.ogg new file mode 100644 index 00000000000..43f19710c5f Binary files /dev/null and b/sound/weapons/effects/batreflect1.ogg differ diff --git a/sound/weapons/effects/batreflect2.ogg b/sound/weapons/effects/batreflect2.ogg new file mode 100644 index 00000000000..d58e4e906cb Binary files /dev/null and b/sound/weapons/effects/batreflect2.ogg differ