diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm index 64588e8452f5..579d58a4c09f 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm @@ -3533,7 +3533,7 @@ /obj/structure/flippedtable{ dir = 4 }, -/obj/item/reagent_containers/food/drinks/bottle/molotov, +/obj/item/reagent_containers/food/drinks/molotov/full, /obj/item/lighter/greyscale{ pixel_x = -8; pixel_y = -7 diff --git a/code/datums/components/crafting/recipes/weapon.dm b/code/datums/components/crafting/recipes/weapon.dm index 6783c60c6c6b..039ff4fa486b 100644 --- a/code/datums/components/crafting/recipes/weapon.dm +++ b/code/datums/components/crafting/recipes/weapon.dm @@ -26,7 +26,7 @@ /datum/crafting_recipe/molotov name = "Molotov" - result = /obj/item/reagent_containers/food/drinks/bottle/molotov + result = /obj/item/reagent_containers/food/drinks/molotov reqs = list(/obj/item/reagent_containers/glass/rag = 1, /obj/item/reagent_containers/food/drinks/bottle = 1) parts = list(/obj/item/reagent_containers/food/drinks/bottle = 1) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 7bb42ef321b4..7a102a4527b3 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -605,7 +605,7 @@ /obj/item/screwdriver, /obj/item/lighter, /obj/item/multitool, - /obj/item/reagent_containers/food/drinks/bottle/molotov, + /obj/item/reagent_containers/food/drinks/molotov, /obj/item/grenade/c4, /obj/item/reagent_containers/food/snacks/grown/cherry_bomb, /obj/item/reagent_containers/food/snacks/grown/firelemon diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index 454d5a44bc3e..ece2f0dfbcfb 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -453,14 +453,27 @@ isGlass = TRUE ////////////////////////// MOLOTOV /////////////////////// -/obj/item/reagent_containers/food/drinks/bottle/molotov +/obj/item/reagent_containers/food/drinks/molotov name = "molotov cocktail" desc = "A throwing weapon used to ignite things, typically filled with an accelerant. Recommended highly by desperate militias and revolutionaries. Light and toss." icon_state = "vodkabottle" + fill_icon_thresholds = list(0, 10, 20, 30, 40, 50, 60, 70, 80, 90) + amount_per_transfer_from_this = 10 + volume = 100 + force = 15 //Smashing bottles over someone's head hurts. + throwforce = 15 + item_state = "broken_beer" //Generic held-item sprite until unique ones are made. + lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi' + pickup_sound = 'sound/items/handling/bottle_pickup.ogg' + drop_sound = 'sound/items/handling/bottle_drop.ogg' + var/const/duration = 13 //Directly relates to the 'knockdown' duration. Lowered by armor (i.e. helmets) + isGlass = TRUE + foodtype = ALCOHOL list_reagents = list() var/active = 0 -/obj/item/reagent_containers/food/drinks/bottle/molotov/CheckParts(list/parts_list) +/obj/item/reagent_containers/food/drinks/molotov/CheckParts(list/parts_list) ..() var/obj/item/reagent_containers/food/drinks/bottle/B = locate() in contents if(B) @@ -471,7 +484,7 @@ isGlass = FALSE return -/obj/item/reagent_containers/food/drinks/bottle/molotov/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) +/obj/item/reagent_containers/food/drinks/molotov/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) var/firestarter = FALSE for(var/datum/reagent/reagent as anything in reagents.reagent_list) if(reagent.accelerant_quality) @@ -488,7 +501,7 @@ new /obj/effect/hotspot(otherT) ..() -/obj/item/reagent_containers/food/drinks/bottle/molotov/attackby(obj/item/I, mob/user, params) +/obj/item/reagent_containers/food/drinks/molotov/attackby(obj/item/I, mob/user, params) if(I.get_temperature() && !active) active = TRUE log_bomber(user, "has primed a", src, "for detonation") @@ -498,7 +511,7 @@ if(!isGlass) addtimer(CALLBACK(src, PROC_REF(explode)), 5 SECONDS) -/obj/item/reagent_containers/food/drinks/bottle/molotov/proc/explode() +/obj/item/reagent_containers/food/drinks/molotov/proc/explode() if(!active) return if(get_turf(src)) @@ -510,7 +523,7 @@ target.fire_act() qdel(src) -/obj/item/reagent_containers/food/drinks/bottle/molotov/attack_self(mob/user) +/obj/item/reagent_containers/food/drinks/molotov/attack_self(mob/user) if(active) if(!isGlass) to_chat(user, "The flame's spread too far on it!") @@ -519,6 +532,9 @@ cut_overlay(custom_fire_overlay ? custom_fire_overlay : GLOB.fire_overlay) active = 0 +/obj/item/reagent_containers/food/drinks/molotov/full + list_reagents = list(/datum/reagent/consumable/ethanol/vodka = 100) + /obj/item/reagent_containers/food/drinks/bottle/pruno name = "pruno mix" desc = "A trash bag filled with fruit, sugar, yeast, and water, pulped together into a pungent slurry to be fermented in an enclosed space, traditionally the toilet."