mirror of
https://github.com/Citadel-Station-13/Citadel-Station-13-RP.git
synced 2025-12-11 14:21:09 +00:00
1
This commit is contained in:
63
code/modules/projectiles/projectile/blob.dm
Normal file
63
code/modules/projectiles/projectile/blob.dm
Normal file
@@ -0,0 +1,63 @@
|
||||
/obj/item/projectile/energy/blob //Not super strong.
|
||||
name = "spore"
|
||||
icon_state = "declone"
|
||||
damage = 3
|
||||
armor_penetration = 40
|
||||
damage_type = BRUTE
|
||||
check_armour = "melee"
|
||||
pass_flags = PASSTABLE | PASSBLOB
|
||||
fire_sound = 'sound/effects/slime_squish.ogg'
|
||||
var/splatter = FALSE // Will this make a cloud of reagents?
|
||||
var/splatter_volume = 5 // The volume of its chemical container, for said cloud of reagents.
|
||||
var/list/my_chems = list("mold")
|
||||
|
||||
/obj/item/projectile/energy/blob/splattering
|
||||
splatter = TRUE
|
||||
|
||||
/obj/item/projectile/energy/blob/New()
|
||||
if(splatter)
|
||||
create_reagents(splatter_volume)
|
||||
ready_chemicals()
|
||||
..()
|
||||
|
||||
/obj/item/projectile/energy/blob/Destroy()
|
||||
qdel(reagents)
|
||||
reagents = null
|
||||
..()
|
||||
|
||||
/obj/item/projectile/energy/blob/on_impact(var/atom/A)
|
||||
var/turf/location = get_turf(src)
|
||||
var/datum/effect/effect/system/smoke_spread/chem/S = new /datum/effect/effect/system/smoke_spread/chem
|
||||
S.attach(location)
|
||||
S.set_up(reagents, splatter_volume, 0, location)
|
||||
playsound(location, 'sound/effects/slime_squish.ogg', 30, 1, -3)
|
||||
spawn(0)
|
||||
S.start()
|
||||
..()
|
||||
|
||||
/obj/item/projectile/energy/blob/proc/ready_chemicals()
|
||||
if(reagents)
|
||||
var/reagent_vol = (round((splatter_volume / my_chems.len) * 100) / 100) //Cut it at the hundreds place, please.
|
||||
for(var/reagent in my_chems)
|
||||
reagents.add_reagent(reagent, reagent_vol)
|
||||
|
||||
/obj/item/projectile/energy/blob/toxic
|
||||
damage_type = TOX
|
||||
check_armour = "bio"
|
||||
my_chems = list("amatoxin")
|
||||
|
||||
/obj/item/projectile/energy/blob/toxic/splattering
|
||||
splatter = TRUE
|
||||
|
||||
/obj/item/projectile/energy/blob/acid
|
||||
damage_type = BURN
|
||||
check_armour = "bio"
|
||||
my_chems = list("sacid", "mold")
|
||||
|
||||
/obj/item/projectile/energy/blob/acid/splattering
|
||||
splatter = TRUE
|
||||
|
||||
/obj/item/projectile/energy/blob/combustible
|
||||
splatter = TRUE
|
||||
flammability = 0.25
|
||||
my_chems = list("fuel", "mold")
|
||||
Reference in New Issue
Block a user