From 1979043d846c570b04c1c94263884228d57f30c5 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Tue, 15 Sep 2015 00:04:57 -0400 Subject: [PATCH 1/6] Cluster Grenade Cleanup --- _maps/map_files/cyberiad/z2.dmm | 3 +- code/game/mecha/equipment/weapons/weapons.dm | 2 +- code/game/objects/items/random_items.dm | 2 +- code/game/objects/items/weapons/grenades.dm | 266 ++++++++---------- .../items/weapons/grenades/chem_grenade.dm | 22 +- .../items/weapons/grenades/flashbang.dm | 81 +----- .../objects/items/weapons/storage/lockbox.dm | 2 +- .../reagent_containers/food/drinks/jar.dm | 4 +- 8 files changed, 151 insertions(+), 231 deletions(-) diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm index 01765fad4b5..0345775a7e5 100644 --- a/_maps/map_files/cyberiad/z2.dmm +++ b/_maps/map_files/cyberiad/z2.dmm @@ -923,7 +923,7 @@ "rM" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_rightnostop"; nostop = 1},/turf/space/transit/east/shuttlespace_ew2,/area/space) "rN" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_rightnostop"; nostop = 1},/turf/space/transit/east/shuttlespace_ew10,/area/space) "rO" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_rightnostop"; nostop = 1},/turf/space/transit/east/shuttlespace_ew6,/area/space) -"rP" = (/obj/structure/table/reinforced,/obj/item/weapon/grenade/flashbang/clusterbang,/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/engine,/area/shuttle/gamma/space) +"rP" = (/obj/structure/table/reinforced,/obj/item/weapon/grenade/clusterbuster,/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/engine,/area/shuttle/gamma/space) "rQ" = (/obj/structure/table/reinforced,/obj/item/weapon/grenade/chem_grenade/incendiary{name = "Incendiary Grenade"},/obj/machinery/light{dir = 1},/turf/simulated/floor/engine,/area/shuttle/gamma/space) "rR" = (/obj/structure/table/reinforced,/obj/item/weapon/kitchenknife/combat,/obj/item/weapon/kitchenknife/combat,/obj/item/weapon/kitchenknife/combat,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/engine,/area/shuttle/gamma/space) "rS" = (/obj/structure/closet/secure_closet/guncabinet,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun/buck,/obj/item/weapon/gun/projectile/shotgun/combat,/obj/item/weapon/gun/projectile/shotgun/combat,/obj/item/weapon/gun/projectile/shotgun/combat,/turf/simulated/floor/engine,/area/shuttle/gamma/space) @@ -2072,3 +2072,4 @@ aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN "} + diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 2e3b0d4fba8..40e82c38d9c 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -402,7 +402,7 @@ name = "SOB-3 Grenade Launcher" desc = "A weapon for combat exosuits. Launches primed clusterbangs. You monster." projectiles = 3 - projectile = /obj/item/weapon/grenade/flashbang/clusterbang + projectile = /obj/item/weapon/grenade/clusterbuster projectile_energy_cost = 1600 //getting off cheap seeing as this is 3 times the flashbangs held in the grenade launcher. equip_cooldown = 90 size=1 diff --git a/code/game/objects/items/random_items.dm b/code/game/objects/items/random_items.dm index 494353ee47a..780875a6839 100644 --- a/code/game/objects/items/random_items.dm +++ b/code/game/objects/items/random_items.dm @@ -276,7 +276,7 @@ /mob/living/simple_animal/hostile/hivebot,/mob/living/simple_animal/hostile/viscerator,/mob/living/simple_animal/hostile/pirate) visible_message("\red Something falls out of the [src]!") - var/obj/item/weapon/grenade/flashbang/clusterbang/C = new(src.loc) + var/obj/item/weapon/grenade/flashbang/cluster/C = new(src.loc) C.prime() spawn(10) new menace(src.loc) diff --git a/code/game/objects/items/weapons/grenades.dm b/code/game/objects/items/weapons/grenades.dm index b8badd98707..63fb69dc16d 100644 --- a/code/game/objects/items/weapons/grenades.dm +++ b/code/game/objects/items/weapons/grenades.dm @@ -253,17 +253,6 @@ beakers += B1 beakers += B2 -// Slime Clusterbusters -/*/obj/item/weapon/grenade/clusterbuster/bluespace - name = "Bluespace Megabomb" - desc = "Widely regarded as proof that while there is a God, He is Insane." - payload = /obj/item/weapon/grenade/chem_grenade/large/bluespace*/ - -/obj/item/weapon/grenade/clusterbuster/monster - name = "Monster Megabomb" - desc = "Widely regarded as proof that there is no God." - payload = /obj/item/weapon/grenade/chem_grenade/large/monster - // -------------------------------------- // Syndie Kits // -------------------------------------- @@ -292,64 +281,144 @@ new /obj/item/device/multitool(src) // used to adjust the chemgrenade's signaller new /obj/item/device/assembly/signaler(src) return -// -------------------------------------- -// Clusterbuster Variable Payload Grenade -// Adapted from flashbang/clusterbang -// -------------------------------------- - +//////////////////// +//Clusterbang +//////////////////// /obj/item/weapon/grenade/clusterbuster - desc = "This highly intimidating bunch of hardware seems eager to be let loose." - name = "Clusterbang" + desc = "Use of this weapon may constiute a war crime in your area, consult your local captain." + name = "clusterbang" icon = 'icons/obj/grenade.dmi' icon_state = "clusterbang" - var/payload = /obj/item/weapon/grenade/flashbang + var/payload = /obj/item/weapon/grenade/flashbang/cluster + +/obj/item/weapon/grenade/clusterbuster/prime() + update_mob() + var/numspawned = rand(4,8) + var/again = 0 + + for(var/more = numspawned,more > 0,more--) + if(prob(35)) + again++ + numspawned-- + + for(var/loop = again ,loop > 0, loop--) + new /obj/item/weapon/grenade/clusterbuster/segment(loc, payload)//Creates 'segments' that launches a few more payloads + + new /obj/effect/payload_spawner(loc, payload, numspawned)//Launches payload + + playsound(loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) + + qdel(src) -// Subtypes +////////////////////// +//Clusterbang segment +////////////////////// +/obj/item/weapon/grenade/clusterbuster/segment + desc = "A smaller segment of a clusterbang. Better run." + name = "clusterbang segment" + icon = 'icons/obj/grenade.dmi' + icon_state = "clusterbang_segment" + +/obj/item/weapon/grenade/clusterbuster/segment/New(var/loc, var/payload_type = /obj/item/weapon/grenade/flashbang/cluster) + ..() + icon_state = "clusterbang_segment_active" + payload = payload_type + active = 1 + walk_away(src,loc,rand(1,4)) + spawn(rand(15,60)) + prime() + + +/obj/item/weapon/grenade/clusterbuster/segment/prime() + + new /obj/effect/payload_spawner(loc, payload, rand(4,8)) + + playsound(loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) + + qdel(src) + +////////////////////////////////// +//The payload spawner effect +///////////////////////////////// +/obj/effect/payload_spawner/New(var/turf/newloc,var/type, var/numspawned as num) + + for(var/loop = numspawned ,loop > 0, loop--) + var/obj/item/weapon/grenade/P = new type(loc) + P.active = 1 + walk_away(P,loc,rand(1,4)) + + spawn(rand(15,60)) + if(P && isnull(P.gcDestroyed)) + P.prime() + qdel(src) + + +////////////////////////////////// +//Custom payload clusterbusters +///////////////////////////////// +/obj/item/weapon/grenade/flashbang/cluster + icon_state = "flashbang_active" -// Serious grenades -/obj/item/weapon/grenade/clusterbuster/explosion - name = "Cluster Grenade" - payload = /obj/item/weapon/grenade/chem_grenade/explosion /obj/item/weapon/grenade/clusterbuster/emp name = "Electromagnetic Storm" - payload = /obj/item/weapon/grenade/chem_grenade/emp + payload = /obj/item/weapon/grenade/empgrenade + /obj/item/weapon/grenade/clusterbuster/smoke name = "Ninja Vanish" payload = /obj/item/weapon/grenade/smokebomb -// Not serious grenades +/obj/item/weapon/grenade/clusterbuster/metalfoam + name = "Instant Concrete" + payload = /obj/item/weapon/grenade/chem_grenade/metalfoam + +/obj/item/weapon/grenade/clusterbuster/inferno + name = "Inferno" + payload = /obj/item/weapon/grenade/chem_grenade/incendiary + +/obj/item/weapon/grenade/clusterbuster/antiweed + name = "RoundDown" + payload = /obj/item/weapon/grenade/chem_grenade/antiweed + +/obj/item/weapon/grenade/clusterbuster/cleaner + name = "Mr. Proper" + payload = /obj/item/weapon/grenade/chem_grenade/cleaner + +/obj/item/weapon/grenade/clusterbuster/teargas + name = "Oignon Grenade" + payload = /obj/item/weapon/grenade/chem_grenade/teargas + +/obj/item/weapon/grenade/clusterbuster/facid + name = "Aciding Rain" + payload = /obj/item/weapon/grenade/chem_grenade/facid + +/obj/item/weapon/grenade/clusterbuster/syndieminibomb + name = "SyndiWrath" + payload = /obj/item/weapon/grenade/syndieminibomb + +/obj/item/weapon/grenade/clusterbuster/spawner_manhacks + name = "iViscerator" + payload = /obj/item/weapon/grenade/spawnergrenade/manhacks + +/obj/item/weapon/grenade/clusterbuster/spawner_spesscarp + name = "Invasion of the Space Carps" + payload = /obj/item/weapon/grenade/spawnergrenade/spesscarp + +/obj/item/weapon/grenade/clusterbuster/monster + name = "Monster Megabomb" + payload = /obj/item/weapon/grenade/chem_grenade/large/monster + /obj/item/weapon/grenade/clusterbuster/meat name = "Mega Meat Grenade" payload = /obj/item/weapon/grenade/chem_grenade/meat -/obj/item/weapon/grenade/clusterbuster/booze - name = "Booze Grenade" - payload = /obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink -/obj/item/weapon/grenade/clusterbuster/honk - name = "Mega Honk Grenade" - payload = /obj/item/weapon/bananapeel -/obj/item/weapon/grenade/clusterbuster/xmas - name = "Christmas Miracle" - payload = /obj/item/weapon/a_gift -/obj/item/weapon/grenade/clusterbuster/dirt - name = "Megamaid's Job Security Grenade" - payload = /obj/effect/decal/cleanable/random + /obj/item/weapon/grenade/clusterbuster/megadirt name = "Megamaid's Revenge Grenade" payload = /obj/item/weapon/grenade/chem_grenade/dirt + /obj/item/weapon/grenade/clusterbuster/inferno name = "Little Boy" payload = /obj/item/weapon/grenade/chem_grenade/incendiary -/obj/item/weapon/grenade/clusterbuster/apocalypsefake - name = "Fun Bomb" - desc = "Not like the other bomb." - payload = /obj/item/toy/spinningtoy - -// Grenades that should never see the light of day -/obj/item/weapon/grenade/clusterbuster/apocalypse - name = "Apocalypse Bomb" - desc = "No matter what, do not EVER use this." - payload = /obj/singularity /obj/item/weapon/grenade/clusterbuster/ultima name = "Earth Shattering Kaboom" @@ -359,103 +428,4 @@ /obj/item/weapon/grenade/clusterbuster/lube name = "Newton's First Law" desc = "An object in motion remains in motion." - payload = /obj/item/weapon/grenade/chem_grenade/lube - - -/*/obj/item/weapon/grenade/clusterbuster/bluespace - name = "Maximum Warp" - desc = "Spacetime: Nice job breaking it, hero." - payload = /obj/item/weapon/grenade/chem_grenade/large/bluespace*/ -/obj/item/weapon/grenade/clusterbuster/monster - name = "The Monster Mash" - desc = "It's a graveyeard smash." - payload = /obj/item/weapon/grenade/chem_grenade/large/monster -/obj/item/weapon/grenade/clusterbuster/banquet - name = "Bork Bork Bonanza" - desc = "Bork bork bork." - payload = /obj/item/weapon/grenade/clusterbuster/banquet/child - child - payload = /obj/item/weapon/grenade/chem_grenade/large/feast - -// Mob spawning grenades -/obj/item/weapon/grenade/clusterbuster/aviary - name = "Poly-Poly Grenade" - desc = "That's an uncomfortable number of birds." - payload = /mob/living/simple_animal/parrot -/obj/item/weapon/grenade/clusterbuster/monkey - name = "Barrel of Monkeys" - desc = "Not really that much fun." - payload = /mob/living/carbon/human/monkey -/obj/item/weapon/grenade/clusterbuster/fluffy - name = "Fluffy Love Bomb" - desc = "Exactly as snuggly as it sounds." - payload = /mob/living/simple_animal/pet/corgi/puppy - -/obj/item/weapon/grenade/clusterbuster/prime() - var/numspawned = rand(4,8) - var/again = 0 - for(var/more = numspawned,more > 0,more--) - if(prob(35)) - again++ - numspawned -- - - for(,numspawned > 0, numspawned--) - spawn(0) - new /obj/item/weapon/grenade/clusterbuster/node(src.loc,payload,name)//Launches payload - playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) - - for(,again > 0, again--) - spawn(0) - new /obj/item/weapon/grenade/clusterbuster/segment(src.loc,payload,name)//Creates a 'segment' that launches more payloads - playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) - spawn(0) - qdel(src) - return - -/obj/item/weapon/grenade/clusterbuster/segment - desc = "What's happening? Aaah!" - name = "clusterbuster segment" - icon = 'icons/obj/grenade.dmi' - icon_state = "clusterbang_segment" - -/obj/item/weapon/grenade/clusterbuster/segment/New(var/turf/newloc,var/T,var/N)//Segments should never exist except part of the clusterbang, since these immediately 'do their thing' and asplode - icon_state = "clusterbang_segment_active" - active = 1 - payload = T - name = N - var/stepdist = rand(1,5) //How far to step - var/temploc = src.loc //Saves the current location to know where to step away from - walk_away(src,temploc,stepdist) //I must go, my people need me - var/dettime = rand(15,60) - spawn(dettime) - prime() - -/obj/item/weapon/grenade/clusterbuster/segment/prime() - var/numspawned = rand(4,8) - for(var/more = numspawned,more > 0,more--) - if(prob(35)) - numspawned -- - - for(,numspawned > 0, numspawned--) - new /obj/item/weapon/grenade/clusterbuster/node(src.loc,payload) - spawn(0) - playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) - qdel(src) - return - -/obj/item/weapon/grenade/clusterbuster/node/New(var/turf/newloc,var/T,var/N) - icon_state = "flashbang_active" - active = 1 - payload = T - name = N - var/stepdist = rand(1,4) - var/temploc = src.loc - walk_away(src,temploc,stepdist) - var/dettime = rand(15,60) - spawn(dettime) - var/atom/A = new payload(loc) - if(istype(A,/obj/item/weapon/grenade)) - A:prime() - if(istype(A,/obj/singularity)) // I can't emphasize enough how much you should never use this grenade - A:energy = 200 - qdel(src) + payload = /obj/item/weapon/grenade/chem_grenade/lube \ No newline at end of file diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index 16edef5ddf9..d860c9dae0f 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -256,7 +256,7 @@ if(!has_reagents) playsound(loc, 'sound/items/Screwdriver2.ogg', 50, 1) - return + return if(nadeassembly) var/mob/M = get_mob_by_ckey(assemblyattacher) @@ -484,6 +484,26 @@ beakers += B2 update_icon() +/obj/item/weapon/grenade/chem_grenade/facid + name = "acid grenade" + desc = "Used for melting armoured opponents." + stage = READY + +/obj/item/weapon/grenade/chem_grenade/facid/New() + ..() + var/obj/item/weapon/reagent_containers/glass/beaker/bluespace/B1 = new(src) + var/obj/item/weapon/reagent_containers/glass/beaker/bluespace/B2 = new(src) + + B1.reagents.add_reagent("facid", 280) + B1.reagents.add_reagent("potassium", 20) + B2.reagents.add_reagent("phosphorus", 20) + B2.reagents.add_reagent("sugar", 20) + B2.reagents.add_reagent("facid", 260) + + beakers += B1 + beakers += B2 + update_icon() + /obj/item/weapon/grenade/chem_grenade/tabungas payload_name = "tabungas" desc = "Contains tabun gas; extremely deadly and fast acting; use with extreme caution." diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm index 9efb53e3207..7eca6aa719b 100644 --- a/code/game/objects/items/weapons/grenades/flashbang.dm +++ b/code/game/objects/items/weapons/grenades/flashbang.dm @@ -21,7 +21,7 @@ /obj/item/weapon/grenade/flashbang/proc/bang(var/turf/T , var/mob/living/M) M.show_message("BANG", 2) - playsound(src.loc, 'sound/effects/bang.ogg', 25, 1) + playsound(loc, 'sound/effects/bang.ogg', 25, 1) //Checking for protections var/eye_safety = 0 @@ -48,12 +48,12 @@ M << "Your eyes start to burn badly!" else M << "The flash blinds you!" - if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang))) + if(!banglet) if (E.damage >= E.min_broken_damage) M << "You can't see anything!" //Bang - if((src.loc == M) || src.loc == M.loc)//Holding on person or being exactly where lies is significantly more dangerous and voids protection + if((loc == M) || loc == M.loc)//Holding on person or being exactly where lies is significantly more dangerous and voids protection M.Stun(10) M.Weaken(10) if(!ear_safety) @@ -63,81 +63,10 @@ M.ear_deaf = max(M.ear_deaf,15) if (M.ear_damage >= 15) M << "Your ears start to ring badly!" - if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang))) + if(!banglet) if(prob(M.ear_damage - 10 + 5)) M << "You can't hear anything!" M.disabilities |= DEAF else if (M.ear_damage >= 5) - M << "Your ears start to ring!" - -//////////////////// -//Clusterbang -//////////////////// -/obj/item/weapon/grenade/flashbang/clusterbang - desc = "Use of this weapon may constiute a war crime in your area, consult your local captain." - name = "clusterbang" - icon = 'icons/obj/grenade.dmi' - icon_state = "clusterbang" - -/obj/item/weapon/grenade/flashbang/clusterbang/prime() - update_mob() - var/numspawned = rand(4,8) - var/again = 0 - - for(var/more = numspawned,more > 0,more--) - if(prob(35)) - again++ - numspawned-- - - for(var/loop = numspawned, loop > 0, loop--) - new /obj/item/weapon/grenade/flashbang/cluster(loc)//Launches flashbangs - - for(var/loop = again ,loop > 0, loop--) - new /obj/item/weapon/grenade/flashbang/clusterbang/segment(loc)//Creates a 'segment' that launches a few more flashbangs - - playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) - - qdel(src) - - -////////////////////// -//Clusterbang segment -////////////////////// -/obj/item/weapon/grenade/flashbang/clusterbang/segment - desc = "A smaller segment of a clusterbang. Better run." - name = "clusterbang segment" - icon = 'icons/obj/grenade.dmi' - icon_state = "clusterbang_segment" - -/obj/item/weapon/grenade/flashbang/clusterbang/segment/New() - ..() - icon_state = "clusterbang_segment_active" - active = 1 - walk_away(src,loc,rand(1,4)) - spawn(rand(15,60)) - prime() - - -/obj/item/weapon/grenade/flashbang/clusterbang/segment/prime() - update_mob() - var/numspawned = rand(4,8) - - for(var/loop = numspawned ,loop > 0, loop--) - new /obj/item/weapon/grenade/flashbang/cluster(loc) - - playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) - - qdel(src) - -//////////////////////////////// -//Clusterbang spawned flashbang -//////////////////////////////// -/obj/item/weapon/grenade/flashbang/cluster/New() - ..() - icon_state = "flashbang_active" - active = 1 - banglet = 1 - walk_away(src,loc,rand(1,3)) - spawn(rand(15,60)) - prime() \ No newline at end of file + M << "Your ears start to ring!" \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm index 0dd85c270ab..a687faac443 100644 --- a/code/game/objects/items/weapons/storage/lockbox.dm +++ b/code/game/objects/items/weapons/storage/lockbox.dm @@ -81,7 +81,7 @@ New() ..() - new /obj/item/weapon/grenade/flashbang/clusterbang(src) + new /obj/item/weapon/grenade/clusterbuster(src) /obj/item/weapon/storage/lockbox/medal diff --git a/code/modules/reagents/reagent_containers/food/drinks/jar.dm b/code/modules/reagents/reagent_containers/food/drinks/jar.dm index 6a75c658526..c28aee6b6cc 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/jar.dm +++ b/code/modules/reagents/reagent_containers/food/drinks/jar.dm @@ -9,12 +9,12 @@ item_state = "beaker" New() ..() - reagents.add_reagent("slime", 50) + reagents.add_reagent("slimejelly", 50) on_reagent_change() if (reagents.reagent_list.len > 0) switch(reagents.get_master_reagent_id()) - if("slime") + if("slimejelly") icon_state = "jar_slime" name = "slime jam" desc = "A jar of slime jam. Delicious!" From 3e0a6d286d24c09e66a14ee448311c237b58150f Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Tue, 15 Sep 2015 00:12:41 -0400 Subject: [PATCH 2/6] tweaks --- code/game/objects/items/random_items.dm | 2 +- code/game/objects/items/weapons/grenades.dm | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/random_items.dm b/code/game/objects/items/random_items.dm index 780875a6839..937d901f117 100644 --- a/code/game/objects/items/random_items.dm +++ b/code/game/objects/items/random_items.dm @@ -276,7 +276,7 @@ /mob/living/simple_animal/hostile/hivebot,/mob/living/simple_animal/hostile/viscerator,/mob/living/simple_animal/hostile/pirate) visible_message("\red Something falls out of the [src]!") - var/obj/item/weapon/grenade/flashbang/cluster/C = new(src.loc) + var/obj/item/weapon/grenade/clusterbuster/C = new(src.loc) C.prime() spawn(10) new menace(src.loc) diff --git a/code/game/objects/items/weapons/grenades.dm b/code/game/objects/items/weapons/grenades.dm index 63fb69dc16d..dc44f09c087 100644 --- a/code/game/objects/items/weapons/grenades.dm +++ b/code/game/objects/items/weapons/grenades.dm @@ -359,6 +359,7 @@ ///////////////////////////////// /obj/item/weapon/grenade/flashbang/cluster icon_state = "flashbang_active" + banglet = 1 /obj/item/weapon/grenade/clusterbuster/emp name = "Electromagnetic Storm" From ff265d95d32484a15132498664bc3fa94f1152ee Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Tue, 15 Sep 2015 01:20:13 -0400 Subject: [PATCH 3/6] re-adding old grenades --- code/game/objects/items/weapons/grenades.dm | 83 ++++++++++++++++++++- 1 file changed, 80 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/weapons/grenades.dm b/code/game/objects/items/weapons/grenades.dm index dc44f09c087..af5ea2ba45e 100644 --- a/code/game/objects/items/weapons/grenades.dm +++ b/code/game/objects/items/weapons/grenades.dm @@ -345,12 +345,14 @@ for(var/loop = numspawned ,loop > 0, loop--) var/obj/item/weapon/grenade/P = new type(loc) - P.active = 1 + if(istype(P, /obj/item/weapon/grenade)) + P.active = 1 walk_away(P,loc,rand(1,4)) spawn(rand(15,60)) if(P && isnull(P.gcDestroyed)) - P.prime() + if(istype(P, /obj/item/weapon/grenade)) + P.prime() qdel(src) @@ -429,4 +431,79 @@ /obj/item/weapon/grenade/clusterbuster/lube name = "Newton's First Law" desc = "An object in motion remains in motion." - payload = /obj/item/weapon/grenade/chem_grenade/lube \ No newline at end of file + payload = /obj/item/weapon/grenade/chem_grenade/lube + +/obj/item/weapon/grenade/clusterbuster/booze + name = "Booze Grenade" + payload = /obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink + +/obj/item/weapon/grenade/clusterbuster/honk + name = "Mega Honk Grenade" + payload = /obj/item/weapon/bananapeel + +/obj/item/weapon/grenade/clusterbuster/xmas + name = "Christmas Miracle" + payload = /obj/item/weapon/a_gift + +/obj/item/weapon/grenade/clusterbuster/dirt + name = "Megamaid's Job Security Grenade" + payload = /obj/effect/decal/cleanable/random + +/obj/item/weapon/grenade/clusterbuster/apocalypsefake + name = "Fun Bomb" + desc = "Not like the other bomb." + payload = /obj/item/toy/spinningtoy + +/obj/item/weapon/grenade/clusterbuster/apocalypse + name = "Apocalypse Bomb" + desc = "No matter what, do not EVER use this." + payload = /obj/singularity + +/obj/item/weapon/grenade/clusterbuster/tools + name = "Quick Repair Grenade" + desc = "An assistant's every dream." + payload = /obj/random/tool + +/obj/item/weapon/grenade/clusterbuster/tools + name = "Engineering Deployment Platfom" + desc = "For the that time when gearing up was just too hard." + payload = /obj/random/tech_supply + +/obj/item/weapon/grenade/clusterbuster/toys + name = "Toy Delivery System" + desc = "Who needs skill at arcades anyway?" + payload = /obj/item/toy/random + +/obj/item/weapon/grenade/clusterbuster/banquet + name = "Bork Bork Bonanza" + desc = "Bork bork bork." + payload = /obj/item/weapon/grenade/clusterbuster/banquet/child + +/obj/item/weapon/grenade/clusterbuster/banquet/child + payload = /obj/item/weapon/grenade/chem_grenade/large/feast + +/obj/item/weapon/grenade/clusterbuster/aviary + name = "Poly-Poly Grenade" + desc = "That's an uncomfortable number of birds." + payload = /mob/living/simple_animal/parrot + +/obj/item/weapon/grenade/clusterbuster/monkey + name = "Barrel of Monkeys" + desc = "Not really that much fun." + payload = /mob/living/carbon/human/monkey + +/obj/item/weapon/grenade/clusterbuster/fluffy + name = "Fluffy Love Bomb" + desc = "Exactly as snuggly as it sounds." + payload = /mob/living/simple_animal/pet/corgi/puppy + +/obj/item/weapon/grenade/clusterbuster/fox + name = "Troublemaking Grenade" + desc = "More trouble than two foxes combined." + payload = /mob/living/simple_animal/pet/fox + +/obj/item/weapon/grenade/clusterbuster/crab + name = "Crab Grenade" + desc = "Reserved for those pesky request." + payload = /mob/living/simple_animal/crab + From 844d203d0e8ba17aa9692a1d4653fac10d63dabb Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Tue, 15 Sep 2015 06:52:06 -0400 Subject: [PATCH 4/6] cleanup and restructure --- .../items/weapons/grenades/chem_grenade.dm | 3 +- .../items/weapons/grenades/clusterbuster.dm | 244 ++++++++++++++++++ .../custom_grenades.dm} | 244 ++---------------- .../oldchem/reagents/reagents_flammable.dm | 32 --- paradise.dme | 3 +- 5 files changed, 264 insertions(+), 262 deletions(-) create mode 100644 code/game/objects/items/weapons/grenades/clusterbuster.dm rename code/game/objects/items/weapons/{grenades.dm => grenades/custom_grenades.dm} (53%) diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index d860c9dae0f..674c5f2b9e7 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -414,8 +414,7 @@ var/obj/item/weapon/reagent_containers/glass/beaker/large/B1 = new(src) var/obj/item/weapon/reagent_containers/glass/beaker/large/B2 = new(src) - B1.reagents.add_reagent("aluminum", 25) - B1.reagents.add_reagent("incendiaryfuel",25) + B1.reagents.add_reagent("phosphorus", 25) B2.reagents.add_reagent("plasma", 25) B2.reagents.add_reagent("sacid", 25) diff --git a/code/game/objects/items/weapons/grenades/clusterbuster.dm b/code/game/objects/items/weapons/grenades/clusterbuster.dm new file mode 100644 index 00000000000..5573ff44d27 --- /dev/null +++ b/code/game/objects/items/weapons/grenades/clusterbuster.dm @@ -0,0 +1,244 @@ +//////////////////// +//Clusterbang +//////////////////// +/obj/item/weapon/grenade/clusterbuster + desc = "Use of this weapon may constiute a war crime in your area, consult your local captain." + name = "clusterbang" + icon = 'icons/obj/grenade.dmi' + icon_state = "clusterbang" + var/payload = /obj/item/weapon/grenade/flashbang/cluster + +/obj/item/weapon/grenade/clusterbuster/prime() + update_mob() + var/numspawned = rand(4,8) + var/again = 0 + + for(var/more = numspawned,more > 0,more--) + if(prob(35)) + again++ + numspawned-- + + for(var/loop = again ,loop > 0, loop--) + new /obj/item/weapon/grenade/clusterbuster/segment(loc, payload)//Creates 'segments' that launches a few more payloads + + new /obj/effect/payload_spawner(loc, payload, numspawned)//Launches payload + + playsound(loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) + + qdel(src) + + +////////////////////// +//Clusterbang segment +////////////////////// +/obj/item/weapon/grenade/clusterbuster/segment + desc = "A smaller segment of a clusterbang. Better run." + name = "clusterbang segment" + icon = 'icons/obj/grenade.dmi' + icon_state = "clusterbang_segment" + +/obj/item/weapon/grenade/clusterbuster/segment/New(var/loc, var/payload_type = /obj/item/weapon/grenade/flashbang/cluster) + ..() + icon_state = "clusterbang_segment_active" + payload = payload_type + active = 1 + walk_away(src,loc,rand(1,4)) + spawn(rand(15,60)) + prime() + + +/obj/item/weapon/grenade/clusterbuster/segment/prime() + + new /obj/effect/payload_spawner(loc, payload, rand(4,8)) + + playsound(loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) + + qdel(src) + +////////////////////////////////// +//The payload spawner effect +///////////////////////////////// +/obj/effect/payload_spawner/New(var/turf/newloc,var/type, var/numspawned as num) + + for(var/loop = numspawned ,loop > 0, loop--) + var/obj/item/weapon/grenade/P = new type(loc) + if(istype(P, /obj/item/weapon/grenade)) + P.active = 1 + walk_away(P,loc,rand(1,4)) + + spawn(rand(15,60)) + if(P && isnull(P.gcDestroyed)) + if(istype(P, /obj/item/weapon/grenade)) + P.prime() + qdel(src) + + +////////////////////////////////// +//Custom payload clusterbusters +///////////////////////////////// +/obj/item/weapon/grenade/flashbang/cluster + icon_state = "flashbang_active" + banglet = 1 + +/obj/item/weapon/grenade/clusterbuster/emp + name = "Electromagnetic Storm" + payload = /obj/item/weapon/grenade/empgrenade + +/obj/item/weapon/grenade/clusterbuster/smoke + name = "Ninja Vanish" + payload = /obj/item/weapon/grenade/smokebomb + +/obj/item/weapon/grenade/clusterbuster/metalfoam + name = "Instant Concrete" + payload = /obj/item/weapon/grenade/chem_grenade/metalfoam + +/obj/item/weapon/grenade/clusterbuster/inferno + name = "Inferno" + payload = /obj/item/weapon/grenade/chem_grenade/incendiary + +/obj/item/weapon/grenade/clusterbuster/antiweed + name = "RoundDown" + payload = /obj/item/weapon/grenade/chem_grenade/antiweed + +/obj/item/weapon/grenade/clusterbuster/cleaner + name = "Mr. Proper" + payload = /obj/item/weapon/grenade/chem_grenade/cleaner + +/obj/item/weapon/grenade/clusterbuster/teargas + name = "Oignon Grenade" + payload = /obj/item/weapon/grenade/chem_grenade/teargas + +/obj/item/weapon/grenade/clusterbuster/facid + name = "Aciding Rain" + payload = /obj/item/weapon/grenade/chem_grenade/facid + +/obj/item/weapon/grenade/clusterbuster/syndieminibomb + name = "SyndiWrath" + payload = /obj/item/weapon/grenade/syndieminibomb + +/obj/item/weapon/grenade/clusterbuster/spawner_manhacks + name = "iViscerator" + payload = /obj/item/weapon/grenade/spawnergrenade/manhacks + +/obj/item/weapon/grenade/clusterbuster/spawner_spesscarp + name = "Invasion of the Space Carps" + payload = /obj/item/weapon/grenade/spawnergrenade/spesscarp + +/obj/item/weapon/grenade/clusterbuster/monster + name = "Monster Megabomb" + payload = /obj/item/weapon/grenade/chem_grenade/large/monster + +/obj/item/weapon/grenade/clusterbuster/meat + name = "Mega Meat Grenade" + payload = /obj/item/weapon/grenade/chem_grenade/meat + +/obj/item/weapon/grenade/clusterbuster/nervegas + name = "Nerve Gas Clusterbomb" + payload = /obj/item/weapon/grenade/chem_grenade/tabungas + +/obj/item/weapon/grenade/clusterbuster/megadirt + name = "Megamaid's Revenge Grenade" + payload = /obj/item/weapon/grenade/chem_grenade/dirt + +/obj/item/weapon/grenade/clusterbuster/ultima + name = "Earth Shattering Kaboom" + desc = "Contains one Aludium Q-36 explosive space modulator." + payload = /obj/item/weapon/grenade/chem_grenade/explosion + +/obj/item/weapon/grenade/clusterbuster/lube + name = "Newton's First Law" + desc = "An object in motion remains in motion." + payload = /obj/item/weapon/grenade/chem_grenade/lube + +/obj/item/weapon/grenade/clusterbuster/hippie + name = "Hippie Grenade" + desc = "Almost as good as the summer of '69." + payload = /obj/item/weapon/grenade/chem_grenade/drugs + +/obj/item/weapon/grenade/clusterbuster/holy + name = "Purification Grenade" + desc = "Blessed excessively." + payload = /obj/item/weapon/grenade/chem_grenade/holywater + +/obj/item/weapon/grenade/clusterbuster/hellwater + name = "Righteous Fury" + desc = "It's righteous, not badminnery." + payload = /obj/item/weapon/grenade/chem_grenade/hellwater + +/obj/item/weapon/grenade/clusterbuster/booze + name = "Booze Grenade" + payload = /obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink + +/obj/item/weapon/grenade/clusterbuster/honk + name = "Mega Honk Grenade" + payload = /obj/item/weapon/bananapeel + +/obj/item/weapon/grenade/clusterbuster/honk_evil + name = "Evil Mega Honk Grenade" + payload = /obj/item/weapon/grenade/clown_grenade + +/obj/item/weapon/grenade/clusterbuster/xmas + name = "Christmas Miracle" + payload = /obj/item/weapon/a_gift + +/obj/item/weapon/grenade/clusterbuster/dirt + name = "Megamaid's Job Security Grenade" + payload = /obj/effect/decal/cleanable/random + +/obj/item/weapon/grenade/clusterbuster/apocalypsefake + name = "Fun Bomb" + desc = "Not like the other bomb." + payload = /obj/item/toy/spinningtoy + +/obj/item/weapon/grenade/clusterbuster/apocalypse + name = "Apocalypse Bomb" + desc = "No matter what, do not EVER use this." + payload = /obj/singularity + +/obj/item/weapon/grenade/clusterbuster/tools + name = "Quick Repair Grenade" + desc = "An assistant's every dream." + payload = /obj/random/tool + +/obj/item/weapon/grenade/clusterbuster/tools + name = "Engineering Deployment Platfom" + desc = "For the that time when gearing up was just too hard." + payload = /obj/random/tech_supply + +/obj/item/weapon/grenade/clusterbuster/toys + name = "Toy Delivery System" + desc = "Who needs skill at arcades anyway?" + payload = /obj/item/toy/random + +/obj/item/weapon/grenade/clusterbuster/banquet + name = "Bork Bork Bonanza" + desc = "Bork bork bork." + payload = /obj/item/weapon/grenade/clusterbuster/banquet/child + +/obj/item/weapon/grenade/clusterbuster/banquet/child + payload = /obj/item/weapon/grenade/chem_grenade/large/feast + +/obj/item/weapon/grenade/clusterbuster/aviary + name = "Poly-Poly Grenade" + desc = "That's an uncomfortable number of birds." + payload = /mob/living/simple_animal/parrot + +/obj/item/weapon/grenade/clusterbuster/monkey + name = "Barrel of Monkeys" + desc = "Not really that much fun." + payload = /mob/living/carbon/human/monkey + +/obj/item/weapon/grenade/clusterbuster/fluffy + name = "Fluffy Love Bomb" + desc = "Exactly as snuggly as it sounds." + payload = /mob/living/simple_animal/pet/corgi/puppy + +/obj/item/weapon/grenade/clusterbuster/fox + name = "Troublemaking Grenade" + desc = "More trouble than two foxes combined." + payload = /mob/living/simple_animal/pet/fox + +/obj/item/weapon/grenade/clusterbuster/crab + name = "Crab Grenade" + desc = "Reserved for those pesky request." + payload = /mob/living/simple_animal/crab \ No newline at end of file diff --git a/code/game/objects/items/weapons/grenades.dm b/code/game/objects/items/weapons/grenades/custom_grenades.dm similarity index 53% rename from code/game/objects/items/weapons/grenades.dm rename to code/game/objects/items/weapons/grenades/custom_grenades.dm index af5ea2ba45e..d22a9e1a982 100644 --- a/code/game/objects/items/weapons/grenades.dm +++ b/code/game/objects/items/weapons/grenades/custom_grenades.dm @@ -47,6 +47,22 @@ B.reagents.add_reagent("holywater",100) beakers += B +/obj/item/weapon/grenade/chem_grenade/hellwater + payload_name = "hell water" + desc = "And he struck them down with an unholy fury that burn like one-thousands badmins." + stage = 2 + det_time = 30 + + New() + ..() + var/obj/item/weapon/reagent_containers/glass/beaker/large/B1 = new(src) + var/obj/item/weapon/reagent_containers/glass/beaker/large/B2 = new(src) + B1.reagents.add_reagent("hellwater",80) + B1.reagents.add_reagent("sugar",20) + B2.reagents.add_reagent("hellwater", 60) + B2.reagents.add_reagent("potassium", 20) + B2.reagents.add_reagent("phosphorus", 20) + /obj/item/weapon/grenade/chem_grenade/drugs payload_name = "miracle" @@ -280,230 +296,4 @@ new /obj/item/weapon/grenade/chem_grenade/lube(src) new /obj/item/device/multitool(src) // used to adjust the chemgrenade's signaller new /obj/item/device/assembly/signaler(src) - return -//////////////////// -//Clusterbang -//////////////////// -/obj/item/weapon/grenade/clusterbuster - desc = "Use of this weapon may constiute a war crime in your area, consult your local captain." - name = "clusterbang" - icon = 'icons/obj/grenade.dmi' - icon_state = "clusterbang" - var/payload = /obj/item/weapon/grenade/flashbang/cluster - -/obj/item/weapon/grenade/clusterbuster/prime() - update_mob() - var/numspawned = rand(4,8) - var/again = 0 - - for(var/more = numspawned,more > 0,more--) - if(prob(35)) - again++ - numspawned-- - - for(var/loop = again ,loop > 0, loop--) - new /obj/item/weapon/grenade/clusterbuster/segment(loc, payload)//Creates 'segments' that launches a few more payloads - - new /obj/effect/payload_spawner(loc, payload, numspawned)//Launches payload - - playsound(loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) - - qdel(src) - - -////////////////////// -//Clusterbang segment -////////////////////// -/obj/item/weapon/grenade/clusterbuster/segment - desc = "A smaller segment of a clusterbang. Better run." - name = "clusterbang segment" - icon = 'icons/obj/grenade.dmi' - icon_state = "clusterbang_segment" - -/obj/item/weapon/grenade/clusterbuster/segment/New(var/loc, var/payload_type = /obj/item/weapon/grenade/flashbang/cluster) - ..() - icon_state = "clusterbang_segment_active" - payload = payload_type - active = 1 - walk_away(src,loc,rand(1,4)) - spawn(rand(15,60)) - prime() - - -/obj/item/weapon/grenade/clusterbuster/segment/prime() - - new /obj/effect/payload_spawner(loc, payload, rand(4,8)) - - playsound(loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) - - qdel(src) - -////////////////////////////////// -//The payload spawner effect -///////////////////////////////// -/obj/effect/payload_spawner/New(var/turf/newloc,var/type, var/numspawned as num) - - for(var/loop = numspawned ,loop > 0, loop--) - var/obj/item/weapon/grenade/P = new type(loc) - if(istype(P, /obj/item/weapon/grenade)) - P.active = 1 - walk_away(P,loc,rand(1,4)) - - spawn(rand(15,60)) - if(P && isnull(P.gcDestroyed)) - if(istype(P, /obj/item/weapon/grenade)) - P.prime() - qdel(src) - - -////////////////////////////////// -//Custom payload clusterbusters -///////////////////////////////// -/obj/item/weapon/grenade/flashbang/cluster - icon_state = "flashbang_active" - banglet = 1 - -/obj/item/weapon/grenade/clusterbuster/emp - name = "Electromagnetic Storm" - payload = /obj/item/weapon/grenade/empgrenade - -/obj/item/weapon/grenade/clusterbuster/smoke - name = "Ninja Vanish" - payload = /obj/item/weapon/grenade/smokebomb - -/obj/item/weapon/grenade/clusterbuster/metalfoam - name = "Instant Concrete" - payload = /obj/item/weapon/grenade/chem_grenade/metalfoam - -/obj/item/weapon/grenade/clusterbuster/inferno - name = "Inferno" - payload = /obj/item/weapon/grenade/chem_grenade/incendiary - -/obj/item/weapon/grenade/clusterbuster/antiweed - name = "RoundDown" - payload = /obj/item/weapon/grenade/chem_grenade/antiweed - -/obj/item/weapon/grenade/clusterbuster/cleaner - name = "Mr. Proper" - payload = /obj/item/weapon/grenade/chem_grenade/cleaner - -/obj/item/weapon/grenade/clusterbuster/teargas - name = "Oignon Grenade" - payload = /obj/item/weapon/grenade/chem_grenade/teargas - -/obj/item/weapon/grenade/clusterbuster/facid - name = "Aciding Rain" - payload = /obj/item/weapon/grenade/chem_grenade/facid - -/obj/item/weapon/grenade/clusterbuster/syndieminibomb - name = "SyndiWrath" - payload = /obj/item/weapon/grenade/syndieminibomb - -/obj/item/weapon/grenade/clusterbuster/spawner_manhacks - name = "iViscerator" - payload = /obj/item/weapon/grenade/spawnergrenade/manhacks - -/obj/item/weapon/grenade/clusterbuster/spawner_spesscarp - name = "Invasion of the Space Carps" - payload = /obj/item/weapon/grenade/spawnergrenade/spesscarp - -/obj/item/weapon/grenade/clusterbuster/monster - name = "Monster Megabomb" - payload = /obj/item/weapon/grenade/chem_grenade/large/monster - -/obj/item/weapon/grenade/clusterbuster/meat - name = "Mega Meat Grenade" - payload = /obj/item/weapon/grenade/chem_grenade/meat - -/obj/item/weapon/grenade/clusterbuster/megadirt - name = "Megamaid's Revenge Grenade" - payload = /obj/item/weapon/grenade/chem_grenade/dirt - -/obj/item/weapon/grenade/clusterbuster/inferno - name = "Little Boy" - payload = /obj/item/weapon/grenade/chem_grenade/incendiary - -/obj/item/weapon/grenade/clusterbuster/ultima - name = "Earth Shattering Kaboom" - desc = "Contains one Aludium Q-36 explosive space modulator." - payload = /obj/item/weapon/grenade/chem_grenade/explosion - -/obj/item/weapon/grenade/clusterbuster/lube - name = "Newton's First Law" - desc = "An object in motion remains in motion." - payload = /obj/item/weapon/grenade/chem_grenade/lube - -/obj/item/weapon/grenade/clusterbuster/booze - name = "Booze Grenade" - payload = /obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink - -/obj/item/weapon/grenade/clusterbuster/honk - name = "Mega Honk Grenade" - payload = /obj/item/weapon/bananapeel - -/obj/item/weapon/grenade/clusterbuster/xmas - name = "Christmas Miracle" - payload = /obj/item/weapon/a_gift - -/obj/item/weapon/grenade/clusterbuster/dirt - name = "Megamaid's Job Security Grenade" - payload = /obj/effect/decal/cleanable/random - -/obj/item/weapon/grenade/clusterbuster/apocalypsefake - name = "Fun Bomb" - desc = "Not like the other bomb." - payload = /obj/item/toy/spinningtoy - -/obj/item/weapon/grenade/clusterbuster/apocalypse - name = "Apocalypse Bomb" - desc = "No matter what, do not EVER use this." - payload = /obj/singularity - -/obj/item/weapon/grenade/clusterbuster/tools - name = "Quick Repair Grenade" - desc = "An assistant's every dream." - payload = /obj/random/tool - -/obj/item/weapon/grenade/clusterbuster/tools - name = "Engineering Deployment Platfom" - desc = "For the that time when gearing up was just too hard." - payload = /obj/random/tech_supply - -/obj/item/weapon/grenade/clusterbuster/toys - name = "Toy Delivery System" - desc = "Who needs skill at arcades anyway?" - payload = /obj/item/toy/random - -/obj/item/weapon/grenade/clusterbuster/banquet - name = "Bork Bork Bonanza" - desc = "Bork bork bork." - payload = /obj/item/weapon/grenade/clusterbuster/banquet/child - -/obj/item/weapon/grenade/clusterbuster/banquet/child - payload = /obj/item/weapon/grenade/chem_grenade/large/feast - -/obj/item/weapon/grenade/clusterbuster/aviary - name = "Poly-Poly Grenade" - desc = "That's an uncomfortable number of birds." - payload = /mob/living/simple_animal/parrot - -/obj/item/weapon/grenade/clusterbuster/monkey - name = "Barrel of Monkeys" - desc = "Not really that much fun." - payload = /mob/living/carbon/human/monkey - -/obj/item/weapon/grenade/clusterbuster/fluffy - name = "Fluffy Love Bomb" - desc = "Exactly as snuggly as it sounds." - payload = /mob/living/simple_animal/pet/corgi/puppy - -/obj/item/weapon/grenade/clusterbuster/fox - name = "Troublemaking Grenade" - desc = "More trouble than two foxes combined." - payload = /mob/living/simple_animal/pet/fox - -/obj/item/weapon/grenade/clusterbuster/crab - name = "Crab Grenade" - desc = "Reserved for those pesky request." - payload = /mob/living/simple_animal/crab - + return \ No newline at end of file diff --git a/code/modules/reagents/oldchem/reagents/reagents_flammable.dm b/code/modules/reagents/oldchem/reagents/reagents_flammable.dm index 4603aa6c238..4e9d4baa1e9 100644 --- a/code/modules/reagents/oldchem/reagents/reagents_flammable.dm +++ b/code/modules/reagents/oldchem/reagents/reagents_flammable.dm @@ -40,38 +40,6 @@ M.adjustBruteLoss(2) holder.remove_reagent(src.id, 1) - -/datum/reagent/incendiary_fuel //copy-pasta of welding fuel; allow incendiary grenades to function better without the headache of people spraying fuel everywhere with regular welding fuel. - name = "Incendiary fuel" - id = "incendiaryfuel" - description = "A highly flammable compound used in incendiary grenades." - reagent_state = LIQUID - color = "#660000" // rgb: 102, 0, 0 - -/datum/reagent/incendiary_fuel/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)//Splashing people with welding fuel to make them easy to ignite! - if(!istype(M, /mob/living)) - return - if(method == TOUCH) - M.adjust_fire_stacks(volume / 10) - return - -/datum/reagent/incendiary_fuel/reaction_obj(var/obj/O, var/volume) - var/turf/the_turf = get_turf(O) - if(!the_turf) - return //No sense trying to start a fire if you don't have a turf to set on fire. --NEO - new /obj/effect/decal/cleanable/liquid_fuel(the_turf, volume) - -/datum/reagent/incendiary_fuel/reaction_turf(var/turf/T, var/volume) - new /obj/effect/decal/cleanable/liquid_fuel(T, volume) - return - -/datum/reagent/incendiary_fuel/on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.adjustToxLoss(1) - ..() - return - - /datum/reagent/plasma name = "Plasma" id = "plasma" diff --git a/paradise.dme b/paradise.dme index 1100195b20e..8a62cf544d9 100644 --- a/paradise.dme +++ b/paradise.dme @@ -715,7 +715,6 @@ #include "code\game\objects\items\weapons\fireworks.dm" #include "code\game\objects\items\weapons\flamethrower.dm" #include "code\game\objects\items\weapons\gift_wrappaper.dm" -#include "code\game\objects\items\weapons\grenades.dm" #include "code\game\objects\items\weapons\handcuffs.dm" #include "code\game\objects\items\weapons\holosign.dm" #include "code\game\objects\items\weapons\hydroponics.dm" @@ -752,6 +751,8 @@ #include "code\game\objects\items\weapons\grenades\bananade.dm" #include "code\game\objects\items\weapons\grenades\chem_grenade.dm" #include "code\game\objects\items\weapons\grenades\clowngrenade.dm" +#include "code\game\objects\items\weapons\grenades\clusterbuster.dm" +#include "code\game\objects\items\weapons\grenades\custom_grenades.dm" #include "code\game\objects\items\weapons\grenades\emgrenade.dm" #include "code\game\objects\items\weapons\grenades\flashbang.dm" #include "code\game\objects\items\weapons\grenades\ghettobomb.dm" From 9ca7d1002d8ea7f000da0666e90db62c1efe7671 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Tue, 15 Sep 2015 21:48:53 -0400 Subject: [PATCH 5/6] one last grenade --- code/game/objects/items/weapons/grenades/clusterbuster.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/game/objects/items/weapons/grenades/clusterbuster.dm b/code/game/objects/items/weapons/grenades/clusterbuster.dm index 5573ff44d27..05a4c37c9f4 100644 --- a/code/game/objects/items/weapons/grenades/clusterbuster.dm +++ b/code/game/objects/items/weapons/grenades/clusterbuster.dm @@ -165,6 +165,11 @@ desc = "It's righteous, not badminnery." payload = /obj/item/weapon/grenade/chem_grenade/hellwater +/obj/item/weapon/grenade/clusterbuster/divide_by_zero + name = "Divide by Zero Grenade" + desc = "If you're really that dumb, then by all means, use this. ProTip: DON'T EVER ARM THIS!" + payload = /obj/item/weapon/grenade/clusterbuster/divide_by_zero //hue + /obj/item/weapon/grenade/clusterbuster/booze name = "Booze Grenade" payload = /obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink From 311cd79e5c42fea7a157081432f4db4aa8b27ba3 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Wed, 16 Sep 2015 00:00:07 -0400 Subject: [PATCH 6/6] More Grenades --- .../items/weapons/grenades/clusterbuster.dm | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items/weapons/grenades/clusterbuster.dm b/code/game/objects/items/weapons/grenades/clusterbuster.dm index 05a4c37c9f4..a160c99f8c3 100644 --- a/code/game/objects/items/weapons/grenades/clusterbuster.dm +++ b/code/game/objects/items/weapons/grenades/clusterbuster.dm @@ -165,11 +165,6 @@ desc = "It's righteous, not badminnery." payload = /obj/item/weapon/grenade/chem_grenade/hellwater -/obj/item/weapon/grenade/clusterbuster/divide_by_zero - name = "Divide by Zero Grenade" - desc = "If you're really that dumb, then by all means, use this. ProTip: DON'T EVER ARM THIS!" - payload = /obj/item/weapon/grenade/clusterbuster/divide_by_zero //hue - /obj/item/weapon/grenade/clusterbuster/booze name = "Booze Grenade" payload = /obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink @@ -246,4 +241,26 @@ /obj/item/weapon/grenade/clusterbuster/crab name = "Crab Grenade" desc = "Reserved for those pesky request." - payload = /mob/living/simple_animal/crab \ No newline at end of file + payload = /mob/living/simple_animal/crab + +////////////Clusterbuster of Clusterbusters//////////// + +/obj/item/weapon/grenade/clusterbuster/mega_fox + name = "Mega Troublemaking Grenade." + payload = /obj/item/weapon/grenade/clusterbuster/fox + +/obj/item/weapon/grenade/clusterbuster/mega_bang + name = "For when stunlocking is just too short." + payload = /obj/item/weapon/grenade/clusterbuster + +/obj/item/weapon/grenade/clusterbuster/mega_syndieminibomb + name = "Mega SyndiWrath." + payload = /obj/item/weapon/grenade/clusterbuster/syndieminibomb + +/obj/item/weapon/grenade/clusterbuster/mega_honk_evil + name = "Mega Evil Mega Honk Grenade." + payload = /obj/item/weapon/grenade/clusterbuster/honk_evil + +/obj/item/weapon/grenade/clusterbuster/mega_emp + name = "Electromagnetic Storm" + payload = /obj/item/weapon/grenade/clusterbuster/emp