mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-10 14:44:05 +01:00
bd2a47eae9
* Add some bonus cleaning grenades * clusterbusters too * blocked chem list * ignore clusters * Update code/game/objects/items/weapons/grenades/chem_grenade.dm Co-authored-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com> --------- Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com> Co-authored-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com>
268 lines
8.4 KiB
Plaintext
268 lines
8.4 KiB
Plaintext
////////////////////
|
|
//Clusterbang
|
|
////////////////////
|
|
/obj/item/grenade/clusterbuster
|
|
name = "clusterbang"
|
|
desc = "Use of this weapon may constitute a war crime in your area, consult your local captain."
|
|
icon = 'icons/obj/grenade.dmi'
|
|
icon_state = "clusterbang"
|
|
item_state = "flashbang"
|
|
var/payload = /obj/item/grenade/flashbang/cluster
|
|
|
|
/obj/item/grenade/clusterbuster/examine(mob/user)
|
|
. = ..()
|
|
. += "<span class='notice'>Upon detonating, this grenade will explode into a shower of bomblets that will all explode individually. Be ready to run away very fast.</span>"
|
|
|
|
/obj/item/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/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, TRUE, -3)
|
|
|
|
qdel(src)
|
|
|
|
|
|
//////////////////////
|
|
//Clusterbang segment
|
|
//////////////////////
|
|
/obj/item/grenade/clusterbuster/segment
|
|
name = "clusterbang bomblet"
|
|
desc = "A bomblet released by a clusterbang. Better run!"
|
|
icon = 'icons/obj/grenade.dmi'
|
|
icon_state = "clusterbang_segment"
|
|
|
|
/obj/item/grenade/clusterbuster/segment/Initialize(mapload, payload_type = /obj/item/grenade/flashbang/cluster)
|
|
. = ..()
|
|
icon_state = "clusterbang_segment_active"
|
|
payload = payload_type
|
|
active = TRUE
|
|
walk_away(src, loc, rand(1,4))
|
|
spawn(rand(15,60))
|
|
prime()
|
|
|
|
|
|
/obj/item/grenade/clusterbuster/segment/prime()
|
|
|
|
new /obj/effect/payload_spawner(loc, payload, rand(4,8))
|
|
|
|
playsound(loc, 'sound/weapons/armbomb.ogg', 75, TRUE, -3)
|
|
|
|
qdel(src)
|
|
|
|
//////////////////////////////////
|
|
//The payload spawner effect
|
|
/////////////////////////////////
|
|
/obj/effect/payload_spawner/New(turf/newloc, type, numspawned as num)
|
|
. = ..()
|
|
for(var/loop = numspawned ,loop > 0, loop--)
|
|
var/obj/item/grenade/P = new type(loc)
|
|
if(istype(P, /obj/item/grenade))
|
|
P.active = TRUE
|
|
walk_away(P,loc,rand(1,4))
|
|
|
|
spawn(rand(15,60))
|
|
if(!QDELETED(P))
|
|
if(istype(P, /obj/item/grenade))
|
|
P.prime()
|
|
qdel(src)
|
|
|
|
|
|
//////////////////////////////////
|
|
//Custom payload clusterbusters
|
|
/////////////////////////////////
|
|
/obj/item/grenade/flashbang/cluster
|
|
icon_state = "flashbang_active"
|
|
|
|
/obj/item/grenade/clusterbuster/emp
|
|
name = "Electromagnetic Storm"
|
|
payload = /obj/item/grenade/empgrenade
|
|
|
|
/obj/item/grenade/clusterbuster/metalfoam
|
|
name = "Instant Concrete"
|
|
payload = /obj/item/grenade/chem_grenade/metalfoam
|
|
|
|
/obj/item/grenade/clusterbuster/inferno
|
|
name = "Inferno"
|
|
payload = /obj/item/grenade/chem_grenade/incendiary
|
|
|
|
/obj/item/grenade/clusterbuster/cleaner
|
|
name = "Mr. Proper"
|
|
payload = /obj/item/grenade/chem_grenade/cleaner
|
|
|
|
/obj/item/grenade/clusterbuster/facid
|
|
name = "Aciding Rain"
|
|
payload = /obj/item/grenade/chem_grenade/facid
|
|
|
|
/obj/item/grenade/clusterbuster/syndieminibomb
|
|
name = "SyndiWrath"
|
|
payload = /obj/item/grenade/syndieminibomb
|
|
|
|
/obj/item/grenade/clusterbuster/spawner_manhacks
|
|
name = "iViscerator"
|
|
payload = /obj/item/grenade/spawnergrenade/manhacks
|
|
|
|
/obj/item/grenade/clusterbuster/spawner_spesscarp
|
|
name = "Invasion of the Space Carps"
|
|
payload = /obj/item/grenade/spawnergrenade/spesscarp
|
|
|
|
/obj/item/grenade/clusterbuster/monster
|
|
name = "\improper Monster Megabomb"
|
|
payload = /obj/item/grenade/chem_grenade/large/monster
|
|
|
|
/obj/item/grenade/clusterbuster/meat
|
|
name = "\improper Mega Meat Grenade"
|
|
payload = /obj/item/grenade/chem_grenade/meat
|
|
|
|
/obj/item/grenade/clusterbuster/megadirt
|
|
name = "\improper Megamaid's Revenge Grenade"
|
|
payload = /obj/item/grenade/chem_grenade/dirt
|
|
|
|
/obj/item/grenade/clusterbuster/ultima
|
|
name = "\improper Earth Shattering Kaboom"
|
|
desc = "Contains one Aludium Q-36 explosive space modulator."
|
|
payload = /obj/item/grenade/chem_grenade/explosion
|
|
|
|
/obj/item/grenade/clusterbuster/lube
|
|
name = "Newton's First Law"
|
|
desc = "An object in motion remains in motion."
|
|
payload = /obj/item/grenade/chem_grenade/lube
|
|
|
|
/obj/item/grenade/clusterbuster/holy
|
|
name = "\improper Purification Grenade"
|
|
desc = "Blessed excessively."
|
|
payload = /obj/item/grenade/chem_grenade/holywater
|
|
|
|
/obj/item/grenade/clusterbuster/booze
|
|
name = "\improper Booze Grenade"
|
|
payload = /obj/item/reagent_containers/drinks/bottle/random_drink
|
|
|
|
/obj/item/grenade/clusterbuster/honk
|
|
name = "\improper Mega Honk Grenade"
|
|
payload = /obj/item/grown/bananapeel
|
|
|
|
/obj/item/grenade/clusterbuster/honk_evil
|
|
name = "\improper Evil Mega Honk Grenade"
|
|
payload = /obj/item/grenade/clown_grenade
|
|
|
|
/obj/item/grenade/clusterbuster/xmas
|
|
name = "\improper Christmas Miracle"
|
|
payload = /obj/item/a_gift
|
|
|
|
/obj/item/grenade/clusterbuster/dirt
|
|
name = "\improper Megamaid's Job Security Grenade"
|
|
payload = /obj/effect/decal/cleanable/random
|
|
|
|
/obj/item/grenade/clusterbuster/apocalypsefake
|
|
name = "\improper Fun Bomb"
|
|
desc = "Not like the other bomb."
|
|
payload = /obj/item/toy/spinningtoy
|
|
|
|
/obj/item/grenade/clusterbuster/apocalypse
|
|
name = "\improper Apocalypse Bomb"
|
|
desc = "No matter what, do not EVER use this."
|
|
payload = /obj/singularity
|
|
|
|
/obj/item/grenade/clusterbuster/tools
|
|
name = "\improper Engineering Deployment Platfom"
|
|
desc = "For the that time when gearing up was just too hard."
|
|
payload = /obj/random/tech_supply
|
|
|
|
/obj/item/grenade/clusterbuster/tide
|
|
name = "\improper Quick Repair Grenade"
|
|
desc = "An assistant's every dream."
|
|
payload = /obj/random/tool
|
|
|
|
/obj/item/grenade/clusterbuster/toys
|
|
name = "\improper Toy Delivery System"
|
|
desc = "Who needs skill at arcades anyway?"
|
|
payload = /obj/item/toy/random
|
|
|
|
/obj/item/grenade/clusterbuster/banquet
|
|
name = "\improper Bork Bork Bonanza"
|
|
desc = "Bork bork bork."
|
|
payload = /obj/item/grenade/clusterbuster/banquet/child
|
|
|
|
/obj/item/grenade/clusterbuster/banquet/child
|
|
payload = /obj/item/grenade/chem_grenade/large/feast
|
|
|
|
/obj/item/grenade/clusterbuster/aviary
|
|
name = "\improper Poly-Poly Grenade"
|
|
desc = "That's an uncomfortable number of birds."
|
|
payload = /mob/living/simple_animal/parrot
|
|
|
|
/obj/item/grenade/clusterbuster/monkey
|
|
name = "\improper Barrel of Monkeys"
|
|
desc = "Not really that much fun."
|
|
payload = /mob/living/carbon/human/monkey
|
|
|
|
/obj/item/grenade/clusterbuster/fluffy
|
|
name = "\improper Fluffy Love Bomb"
|
|
desc = "Exactly as snuggly as it sounds."
|
|
payload = /mob/living/simple_animal/pet/dog/corgi/puppy
|
|
|
|
/obj/item/grenade/clusterbuster/fox
|
|
name = "\improper Troublemaking Grenade"
|
|
desc = "More trouble than two foxes combined."
|
|
payload = /mob/living/simple_animal/pet/dog/fox
|
|
|
|
/obj/item/grenade/clusterbuster/crab
|
|
name = "\improper Crab Grenade"
|
|
desc = "Reserved for those pesky request."
|
|
payload = /mob/living/simple_animal/crab
|
|
|
|
/obj/item/grenade/clusterbuster/plasma
|
|
name = "\improper Plasma Cluster Grenade"
|
|
desc = "For when everything needs to die in a fire."
|
|
payload = /obj/item/grenade/gas
|
|
|
|
/obj/item/grenade/clusterbuster/n2o
|
|
name = "\improper N2O Cluster Grenade"
|
|
desc = "For when you need to knock out EVERYONE."
|
|
payload = /obj/item/grenade/gas/knockout
|
|
|
|
/obj/item/grenade/clusterbuster/ied
|
|
name = "\improper IED Cluster Grenade"
|
|
desc = "For when you need to do something between everything and nothing."
|
|
payload = /obj/item/grenade/iedcasing
|
|
|
|
/obj/item/grenade/clusterbuster/tar
|
|
name = "\improper Sticky Tar Cluster Grenade"
|
|
desc = "Speed limit enforced by goop."
|
|
payload = /obj/item/grenade/chem_grenade/tar
|
|
|
|
////////////Clusterbuster of Clusterbusters////////////
|
|
//As a note: be extrodinarily careful about make the payload clusterbusters as it can quickly destroy the MC/Server
|
|
|
|
/obj/item/grenade/clusterbuster/mega_bang
|
|
name = "For when stunlocking is just too short."
|
|
desc = "Simply owning one of these makes you an active war criminal in all Nian jurisdictions."
|
|
payload = /obj/item/grenade/clusterbuster
|
|
|
|
/obj/item/grenade/clusterbuster/mega_syndieminibomb
|
|
name = "Mega SyndiWrath."
|
|
desc = "Proving once and for all that the maximum bomb explosion radius is just a suggestion."
|
|
payload = /obj/item/grenade/clusterbuster/syndieminibomb
|
|
|
|
/obj/item/grenade/clusterbuster/admincleaner
|
|
desc = "For cleaning <b>really</b> big messes."
|
|
payload = /obj/item/grenade/chem_grenade/cleaner/everything
|
|
|
|
/obj/item/grenade/clusterbuster/admincleaner/organic
|
|
desc = "For cleaning remnants of many, many crime scenes."
|
|
payload = /obj/item/grenade/chem_grenade/cleaner/organic
|
|
|
|
/obj/item/grenade/clusterbuster/admincleaner/object
|
|
desc = "For cleaning up after a typical Nanotrasen office party."
|
|
payload = /obj/item/grenade/chem_grenade/cleaner/object
|