mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Confetti cannon
-Adds confetti cannon -Adds grenade object needed to make the cannon work -Makes the cannon printable at RnD
This commit is contained in:
@@ -28,4 +28,24 @@
|
|||||||
sleep(10)
|
sleep(10)
|
||||||
qdel(src)
|
qdel(src)
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/weapon/grenade/confetti/party_ball //Intended to be used only with the confetti cannon.
|
||||||
|
name = "party ball"
|
||||||
|
desc = "Full of !!FUN!!"
|
||||||
|
icon = 'icons/obj/grenade_ch.dmi'
|
||||||
|
icon_state = "party_ball"
|
||||||
|
confetti_strength = 2
|
||||||
|
det_time = 1
|
||||||
|
throwforce = 0 //Confetti cannon is only fun to shoot at people if it deals no damage.
|
||||||
|
|
||||||
|
/obj/item/weapon/grenade/confetti/party_ball/detonate() //Could condense this by making the sound a variable in the parent but I'm lazy.
|
||||||
|
playsound(src.loc, 'sound/effects/confetti_ball.ogg', 50, 1, -3)
|
||||||
|
src.confetti_spread.set_up(10, 0, usr.loc)
|
||||||
|
spawn(0)
|
||||||
|
for(var/i = 1 to confetti_strength)
|
||||||
|
src.confetti_spread.start()
|
||||||
|
sleep(10)
|
||||||
|
qdel(src)
|
||||||
|
|
||||||
return
|
return
|
||||||
51
code/modules/projectiles/guns/launcher/confetti_ch.dm
Normal file
51
code/modules/projectiles/guns/launcher/confetti_ch.dm
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
//The confetti cannon is a simple weapon meant to be a toy. You shoot confetti at people and it makes a funny sound. Don't give this any combat use.
|
||||||
|
/obj/item/weapon/gun/launcher/confetti_cannon
|
||||||
|
name = "confetti cannon"
|
||||||
|
desc = "For those times when you absolutely need colored paper everywhere."
|
||||||
|
icon = 'icons/obj/weapons_ch.dmi'
|
||||||
|
icon_state = "confetti_cannon"
|
||||||
|
item_state = "confetti_cannon"
|
||||||
|
w_class = ITEMSIZE_NORMAL
|
||||||
|
origin_tech = list(TECH_COMBAT = 1, TECH_MATERIAL = 2)
|
||||||
|
var/obj/item/weapon/grenade/confetti/party_ball/chambered = null
|
||||||
|
|
||||||
|
var/confetti_charge = 0
|
||||||
|
var/max_confetti = 20
|
||||||
|
|
||||||
|
/obj/item/weapon/gun/launcher/confetti_cannon/examine(mob/user)
|
||||||
|
. = ..()
|
||||||
|
if(get_dist(user, src) <= 2)
|
||||||
|
. += "<font color='blue'>It's loaded with [confetti_charge] balls of confetti.</font>"
|
||||||
|
|
||||||
|
/obj/item/weapon/gun/launcher/confetti_cannon/attackby(obj/item/I as obj, mob/user as mob)
|
||||||
|
if(istype(I, /obj/item/weapon/paper) || istype(I, /obj/item/weapon/shreddedp))
|
||||||
|
if(confetti_charge < max_confetti)
|
||||||
|
user.drop_item()
|
||||||
|
++confetti_charge
|
||||||
|
to_chat(usr, "<font color='blue'>You put the paper in the [src].</font>")
|
||||||
|
qdel(I)
|
||||||
|
else
|
||||||
|
to_chat(usr, "<font color='red'>[src] cannot hold more paper.</font>")
|
||||||
|
|
||||||
|
/obj/item/weapon/gun/launcher/confetti_cannon/proc/pump(mob/M as mob)
|
||||||
|
playsound(M, 'sound/weapons/shotgunpump.ogg', 60, 1)
|
||||||
|
if(!chambered)
|
||||||
|
if(confetti_charge)
|
||||||
|
chambered = new /obj/item/weapon/grenade/confetti/party_ball
|
||||||
|
--confetti_charge
|
||||||
|
to_chat(usr, "<font color='blue'>You compress a new confetti ball.</font>")
|
||||||
|
else
|
||||||
|
to_chat(usr, "<font color='red'>The [src] is out of confetti!</font>")
|
||||||
|
else
|
||||||
|
to_chat(usr, "<font color='red'>The [src] is already loaded!</font>")
|
||||||
|
|
||||||
|
/obj/item/weapon/gun/launcher/confetti_cannon/attack_self(mob/user)
|
||||||
|
pump(user)
|
||||||
|
|
||||||
|
/obj/item/weapon/gun/launcher/confetti_cannon/consume_next_projectile()
|
||||||
|
if(chambered)
|
||||||
|
chambered.activate(null)
|
||||||
|
return chambered
|
||||||
|
|
||||||
|
/obj/item/weapon/gun/launcher/confetti_cannon/handle_post_fire(mob/user)
|
||||||
|
chambered = null
|
||||||
8
code/modules/research/designs/weapons_ch.dm
Normal file
8
code/modules/research/designs/weapons_ch.dm
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
//Misc weapons
|
||||||
|
/datum/design/item/weapon/gun/launcher/confetti_cannon
|
||||||
|
desc = "Stuff it with paper and shoot! You'll be a hit at every party."
|
||||||
|
id = "confetti_cannon"
|
||||||
|
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
|
||||||
|
materials = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 3000)
|
||||||
|
build_path = /obj/item/weapon/gun/launcher/confetti_cannon
|
||||||
|
sort_string = "MAAVD"
|
||||||
@@ -3338,6 +3338,7 @@
|
|||||||
#include "code\modules\projectiles\guns\energy\cell_loaded_vr\nerd_cells.dm"
|
#include "code\modules\projectiles\guns\energy\cell_loaded_vr\nerd_cells.dm"
|
||||||
#include "code\modules\projectiles\guns\energy\cell_loaded_vr\nsfw.dm"
|
#include "code\modules\projectiles\guns\energy\cell_loaded_vr\nsfw.dm"
|
||||||
#include "code\modules\projectiles\guns\energy\cell_loaded_vr\nsfw_cells.dm"
|
#include "code\modules\projectiles\guns\energy\cell_loaded_vr\nsfw_cells.dm"
|
||||||
|
#include "code\modules\projectiles\guns\launcher\confetti_ch.dm"
|
||||||
#include "code\modules\projectiles\guns\launcher\crossbow.dm"
|
#include "code\modules\projectiles\guns\launcher\crossbow.dm"
|
||||||
#include "code\modules\projectiles\guns\launcher\grenade_launcher.dm"
|
#include "code\modules\projectiles\guns\launcher\grenade_launcher.dm"
|
||||||
#include "code\modules\projectiles\guns\launcher\pneumatic.dm"
|
#include "code\modules\projectiles\guns\launcher\pneumatic.dm"
|
||||||
@@ -3515,6 +3516,7 @@
|
|||||||
#include "code\modules\research\designs\subspace_parts.dm"
|
#include "code\modules\research\designs\subspace_parts.dm"
|
||||||
#include "code\modules\research\designs\tech_disks.dm"
|
#include "code\modules\research\designs\tech_disks.dm"
|
||||||
#include "code\modules\research\designs\weapons.dm"
|
#include "code\modules\research\designs\weapons.dm"
|
||||||
|
#include "code\modules\research\designs\weapons_ch.dm"
|
||||||
#include "code\modules\research\designs\weapons_vr.dm"
|
#include "code\modules\research\designs\weapons_vr.dm"
|
||||||
#include "code\modules\research\designs\weapons_yw.dm"
|
#include "code\modules\research\designs\weapons_yw.dm"
|
||||||
#include "code\modules\research\designs\xenoarch_toys.dm"
|
#include "code\modules\research\designs\xenoarch_toys.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user