Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.

Commit 6f8ed5e

Browse files
authored
[PORT] Paintball guns!!! (#22406)
* paintball guns * paintball
1 parent c2ab647 commit 6f8ed5e

File tree

7 files changed

+133
-1
lines changed

7 files changed

+133
-1
lines changed

code/modules/cargo/packs.dm

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2847,6 +2847,23 @@
28472847
crate_name = "mech pilot's suit crate"
28482848
crate_type = /obj/structure/closet/crate/wooden
28492849

2850+
/datum/supply_pack/costumes_toys/paintball
2851+
name = "Mixed Paintball Supply Crate"
2852+
desc = "Contains four paintball guns and extra ammo."
2853+
cost = 2500
2854+
contraband = TRUE
2855+
contains = list(/obj/item/gun/ballistic/automatic/toy/paintball/blue,
2856+
/obj/item/gun/ballistic/automatic/toy/paintball/blue,
2857+
/obj/item/gun/ballistic/automatic/toy/paintball,
2858+
/obj/item/gun/ballistic/automatic/toy/paintball,
2859+
/obj/item/ammo_box/magazine/toy/paintball,
2860+
/obj/item/ammo_box/magazine/toy/paintball,
2861+
/obj/item/ammo_box/magazine/toy/paintball,
2862+
/obj/item/ammo_box/magazine/toy/paintball/blue,
2863+
/obj/item/ammo_box/magazine/toy/paintball/blue,
2864+
/obj/item/ammo_box/magazine/toy/paintball/blue)
2865+
crate_name = "mixed paintball supply crate"
2866+
28502867
/datum/supply_pack/costumes_toys/costume_original
28512868
name = "Original Costume Crate"
28522869
desc = "Reenact Shakespearean plays with this assortment of outfits. Contains eight different costumes!"
@@ -2867,6 +2884,25 @@
28672884
crate_name = "original costume crate"
28682885
crate_type = /obj/structure/closet/crate/wooden
28692886

2887+
/datum/supply_pack/costumes_toys/paintball_ammo
2888+
name = "Paintball Ammo Crate"
2889+
desc = "Plenty of paintball ammo in a variety of colors."
2890+
cost = 700
2891+
contraband = TRUE
2892+
contains = list(/obj/item/ammo_box/magazine/toy/paintball,
2893+
/obj/item/ammo_box/magazine/toy/paintball,
2894+
/obj/item/ammo_box/magazine/toy/paintball,
2895+
/obj/item/ammo_box/magazine/toy/paintball/blue,
2896+
/obj/item/ammo_box/magazine/toy/paintball/blue,
2897+
/obj/item/ammo_box/magazine/toy/paintball/blue,
2898+
/obj/item/ammo_box/magazine/toy/paintball/pink,
2899+
/obj/item/ammo_box/magazine/toy/paintball/pink,
2900+
/obj/item/ammo_box/magazine/toy/paintball/purple,
2901+
/obj/item/ammo_box/magazine/toy/paintball/purple,
2902+
/obj/item/ammo_box/magazine/toy/paintball/orange,
2903+
/obj/item/ammo_box/magazine/toy/paintball/orange)
2904+
crate_name = "paintball ammo crate"
2905+
28702906
/datum/supply_pack/costumes_toys/costume
28712907
name = "Standard Costume Crate"
28722908
desc = "Supply the station's entertainers with the equipment of their trade with these Nanotrasen-approved costumes! Contains a full clown and mime outfit, along with a bike horn and a bottle of nothing."

code/modules/projectiles/boxes_magazines/external/toy.dm

Lines changed: 81 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/obj/item/ammo_box/magazine/toy
22
name = "foam force META magazine"
3-
ammo_type = /obj/item/ammo_casing/reusable/foam_dart
3+
ammo_type = /obj/item/ammo_casing/reusable/foam_dart
44
caliber = CALIBER_FOAM
55
var/hugbox = FALSE
66

@@ -81,3 +81,83 @@
8181

8282
/obj/item/ammo_box/magazine/toy/smgm45/hugbox
8383
hugbox = TRUE
84+
85+
//paintballs
86+
/obj/item/ammo_box/magazine/toy/paintball
87+
name = "paintball ammo cartridge (red)"
88+
ammo_type = /obj/item/ammo_casing/paintball
89+
icon_state = "paintballmag"
90+
max_ammo = 20
91+
92+
/obj/item/ammo_box/magazine/toy/paintball/blue
93+
name = "paintball ammo cartridge (blue)"
94+
ammo_type = /obj/item/ammo_casing/paintball/blue
95+
96+
/obj/item/ammo_box/magazine/toy/paintball/pink
97+
name = "paintball ammo cartridge (pink)"
98+
ammo_type = /obj/item/ammo_casing/paintball/pink
99+
100+
/obj/item/ammo_box/magazine/toy/paintball/purple
101+
name = "paintball ammo cartridge (purple)"
102+
ammo_type = /obj/item/ammo_casing/paintball/purple
103+
104+
/obj/item/ammo_box/magazine/toy/paintball/orange
105+
name = "paintball ammo cartridge (orange)"
106+
ammo_type = /obj/item/ammo_casing/paintball/orange
107+
108+
/obj/item/ammo_casing/paintball
109+
name = "paintball"
110+
icon_state = "paintball"
111+
desc = "A red coloured plastic ball filled with paint."
112+
color = "#C73232"
113+
projectile_type = /obj/projectile/bullet/paintball
114+
115+
/obj/item/ammo_casing/paintball/blue
116+
desc = "A blue coloured plastic ball filled with paint."
117+
color = "#5998FF"
118+
projectile_type = /obj/projectile/bullet/paintball/blue
119+
120+
/obj/item/ammo_casing/paintball/pink
121+
desc = "A pink coloured plastic ball filled with paint."
122+
color = "#FF69DA"
123+
projectile_type = /obj/projectile/bullet/paintball/pink
124+
125+
/obj/item/ammo_casing/paintball/purple
126+
desc = "A purple coloured plastic ball filled with paint."
127+
color = "#910AFF"
128+
projectile_type = /obj/projectile/bullet/paintball/purple
129+
130+
/obj/item/ammo_casing/paintball/orange
131+
desc = "An orange coloured plastic ball filled with paint."
132+
color = "#FF9326"
133+
projectile_type = /obj/projectile/bullet/paintball/orange
134+
135+
/obj/projectile/bullet/paintball
136+
damage = 0
137+
icon = 'icons/obj/ammo.dmi'
138+
icon_state = "paintball-live"
139+
color = "#C73232"
140+
141+
/obj/projectile/bullet/paintball/blue
142+
color = "#5998FF"
143+
144+
/obj/projectile/bullet/paintball/pink
145+
color = "#FF69DA"
146+
147+
/obj/projectile/bullet/paintball/purple
148+
color = "#910AFF"
149+
150+
/obj/projectile/bullet/paintball/orange
151+
color = "#FF9326"
152+
153+
/obj/projectile/bullet/paintball/on_hit(atom/target, blocked = FALSE)
154+
if(iscarbon(target))
155+
var/mob/living/carbon/human/H = target
156+
var/image/paintoverlay = image('icons/effects/paintball.dmi')
157+
paintoverlay.color = color
158+
paintoverlay.icon_state = pick("1","2","3","4","5","6","7")
159+
H.overlays += paintoverlay
160+
to_chat(H, span_warning("You feel a sharp sting."))
161+
H.adjustStaminaLoss(5)
162+
else if(isturf(target))
163+
target.color = color //paints walls that it hits with paint

code/modules/projectiles/guns/ballistic/toy.dm

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,19 @@
140140
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted/hugbox
141141
desc = "A bullpup two-round burst toy SMG, designated 'C-20r'. Ages 8 and up. This one feels noticably less fun..."
142142
mag_type = /obj/item/ammo_box/magazine/toy/smgm45/hugbox
143+
144+
//paintballs
145+
/obj/item/gun/ballistic/automatic/toy/paintball
146+
name = "red paintball gun"
147+
desc = "An entry level paintball gun. This one comes in red."
148+
icon_state = "paintball"
149+
mag_type = /obj/item/ammo_box/magazine/toy/paintball
150+
mag_display = TRUE
151+
fire_sound = 'sound/weapons/paintball.ogg'
152+
burst_size = 2
153+
clumsy_check = FALSE
154+
155+
/obj/item/gun/ballistic/automatic/toy/paintball/blue
156+
name = "blue paintball gun"
157+
icon_state = "paintball-blue"
158+
desc = "An entry level paintball gun. This one comes in blue."

icons/effects/paintball.dmi

1 KB
Binary file not shown.

icons/obj/ammo.dmi

1.55 KB
Binary file not shown.

icons/obj/guns/projectile.dmi

3.31 KB
Binary file not shown.

sound/weapons/paintball.ogg

63.2 KB
Binary file not shown.

0 commit comments

Comments
 (0)