Adds confetti shot (#21462)

* CONFETTI CANNON

* proc and contra review

* sprite names

* nukie uplink and lewcc suggestions

* chemical fixed

* fixes party drums cost and chem explosion sound

* Henri review

* renames a datum because I copypasted shit

* changes a name because I copy pasted

* removes an extra space

* things I forgot + bundles + recipe change

* Oopsie + tones down the volume of confetti
This commit is contained in:
DGamerL
2023-07-07 13:44:55 +01:00
committed by GitHub
parent e0ebc106d1
commit 887a5111df
11 changed files with 118 additions and 9 deletions
+10
View File
@@ -423,6 +423,16 @@
category = CAT_WEAPONRY
subcategory = CAT_AMMO
/datum/crafting_recipe/confettishot
name = "Confetti Shot"
result = list(/obj/item/ammo_casing/shotgun/confetti)
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
/datum/reagent/confetti = 10)
tools = list(TOOL_SCREWDRIVER)
time = 5
category = CAT_WEAPONRY
subcategory = CAT_AMMO
/datum/crafting_recipe/ishotgun
name = "Improvised Shotgun"
result = list(/obj/item/gun/projectile/revolver/doublebarrel/improvised)
@@ -111,6 +111,12 @@
icon_state = "buckloader"
ammo_type = /obj/item/ammo_casing/shotgun/buckshot
/obj/item/ammo_box/shotgun/confetti
name = "shotgun speedloader (Confetti)"
icon_state = "partyloader"
ammo_type = /obj/item/ammo_casing/shotgun/confetti
multi_sprite_step = 1
/obj/item/ammo_box/shotgun/dragonsbreath
name = "shotgun speedloader (Dragonsbreath)"
icon_state = "dragonsbreathloader"
@@ -300,6 +300,12 @@
muzzle_flash_range = MUZZLE_FLASH_RANGE_NORMAL
materials = list(MAT_METAL=250)
/obj/item/ammo_casing/shotgun/confetti
name = "confettishot"
desc = "It's party time!"
icon_state = "partyshell"
projectile_type = /obj/item/projectile/bullet/confetti
/obj/item/ammo_casing/a556
desc = "A 5.56mm bullet casing."
caliber = "a556"
@@ -489,6 +489,11 @@
icon_state = "m12gXlDb"
ammo_type = /obj/item/ammo_casing/shotgun/incendiary/dragonsbreath
/obj/item/ammo_box/magazine/m12g/confetti
name = "\improper XL shotgun magazine (12g confetti)"
icon_state = "party_drum"
ammo_type = /obj/item/ammo_casing/shotgun/confetti
/obj/item/ammo_box/magazine/toy
name = "foam force META magazine"
ammo_type = /obj/item/ammo_casing/caseless/foam_dart
@@ -219,6 +219,19 @@
explosion(target, -1, 0, 1)
return TRUE
/obj/item/projectile/bullet/confetti
name = "confetti shot"
damage = 0
range = 3
/obj/item/projectile/bullet/confetti/on_range()
confettisize(src, 7, 3)
..()
/obj/item/projectile/bullet/confetti/on_hit(atom/target, blocked, hit_zone)
confettisize(src, 7, 3)
..()
/obj/item/projectile/plasma
name = "plasma blast"
icon_state = "plasmacutter"
@@ -465,3 +465,14 @@
M.adjust_fire_stacks(volume / 5)
return
..()
/datum/reagent/confetti
name = "Confetti"
id = "confetti"
description = "Pure, liquid confetti. Explodes into a colorful bomb when exposed to heat."
color = "#500064" // rgb: 80, 0, 100
taste_description = "the tears of janitors"
/datum/reagent/confetti/reaction_turf(turf/T, volume)
var/confetti = /obj/effect/decal/cleanable/confetti
new confetti(T)
@@ -389,3 +389,26 @@
result = "thermite"
required_reagents = list("aluminum" = 1, "iron" = 1, "oxygen" = 1)
result_amount = 3
/datum/chemical_reaction/confetti
name = "Confetti"
id = "confetti"
result = "confetti"
required_reagents = list("cyanide" = 1, "colorful_reagent" = 1)
result_amount = 5
mix_message = "The mixture congeals into a dry powder."
/datum/chemical_reaction/confetti/confettibomb
name = "confettibomb"
id = "confettibomb"
required_reagents = list("confetti" = 1)
min_temp = T0C + 300
result = null
mix_sound = 'sound/effects/confetti_partywhistle.ogg'
mix_message = "The powder starts vibrating quickly!"
/datum/chemical_reaction/confetti/confettibomb/on_reaction(datum/reagents/holder, created_volume)
var/turf/T = get_turf(holder.my_atom)
var/confetti_size = CEILING(created_volume / 10, 1)
var/confetti_range = CEILING(confetti_size / 2, 1)
confettisize(T, confetti_size, confetti_range)