diff --git a/modular_citadel/code/modules/projectiles/ammunition/caseless.dm b/modular_citadel/code/modules/projectiles/ammunition/caseless.dm new file mode 100644 index 0000000000..1a6af79c37 --- /dev/null +++ b/modular_citadel/code/modules/projectiles/ammunition/caseless.dm @@ -0,0 +1,13 @@ +/obj/item/ammo_casing/caseless/foam_dart/tag + name = "lastag foam dart" + desc = "Foam darts fitted with special lights. Compatible with existing laser tag systems. Ages 8 and up." + color = "#FF00FF" + projectile_type = /obj/item/projectile/bullet/reusable/foam_dart/tag +/obj/item/ammo_casing/caseless/foam_dart/tag/red + name = "lastag red foam dart" + color = "#FF0000" + projectile_type = /obj/item/projectile/bullet/reusable/foam_dart/tag/red +/obj/item/ammo_casing/caseless/foam_dart/tag/blue + name = "lastag blue foam dart" + color = "#0000FF" + projectile_type = /obj/item/projectile/bullet/reusable/foam_dart/tag/blue diff --git a/modular_citadel/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/modular_citadel/code/modules/projectiles/boxes_magazines/ammo_boxes.dm new file mode 100644 index 0000000000..67bf0779e3 --- /dev/null +++ b/modular_citadel/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -0,0 +1,23 @@ +/obj/item/ammo_box/foambox/tag + name = "ammo box (Lastag Foam Darts)" + icon = 'icons/obj/guns/toy.dmi' + icon_state = "foambox" + ammo_type = /obj/item/ammo_casing/caseless/foam_dart/tag + max_ammo = 40 + color = "#FF00FF" + +/obj/item/ammo_box/foambox/tag/red + name = "ammo box (Lastag Red Foam Darts)" + icon = 'icons/obj/guns/toy.dmi' + icon_state = "foambox" + ammo_type = /obj/item/ammo_casing/caseless/foam_dart/tag/red + max_ammo = 40 + color = "#FF0000" + +/obj/item/ammo_box/foambox/tag/blue + name = "ammo box (Lastag Blue Foam Darts)" + icon = 'icons/obj/guns/toy.dmi' + icon_state = "foambox" + ammo_type = /obj/item/ammo_casing/caseless/foam_dart/tag/blue + max_ammo = 40 + color = "#0000FF" diff --git a/modular_citadel/code/modules/projectiles/projectiles/reusable.dm b/modular_citadel/code/modules/projectiles/projectiles/reusable.dm new file mode 100644 index 0000000000..a16df93eff --- /dev/null +++ b/modular_citadel/code/modules/projectiles/projectiles/reusable.dm @@ -0,0 +1,22 @@ +/obj/item/projectile/bullet/reusable/foam_dart/tag + name = "lastag foam dart" + var/suit_types = list(/obj/item/clothing/suit/redtag, /obj/item/clothing/suit/bluetag) + +/obj/item/projectile/bullet/reusable/foam_dart/tag/on_hit(atom/target, blocked = FALSE) + . = ..() + if(ishuman(target)) + var/mob/living/carbon/human/M = target + if(istype(M.wear_suit)) + if(M.wear_suit.type in suit_types) + M.adjustStaminaLoss(24) + +/obj/item/projectile/bullet/reusable/foam_dart/tag/red + name = "lastag red foam dart" + color = "#FF0000" + suit_types = list(/obj/item/clothing/suit/bluetag) + ammo_type = /obj/item/ammo_casing/caseless/foam_dart/tag/red +/obj/item/projectile/bullet/reusable/foam_dart/tag/blue + color = "#0000FF" + name = "lastag blue foam dart" + suit_types = list(/obj/item/clothing/suit/redtag) + ammo_type = /obj/item/ammo_casing/caseless/foam_dart/tag/blue diff --git a/modular_citadel/code/modules/research/designs/autoylathe_designs.dm b/modular_citadel/code/modules/research/designs/autoylathe_designs.dm index f0e98a5bfe..f1dcd076d2 100644 --- a/modular_citadel/code/modules/research/designs/autoylathe_designs.dm +++ b/modular_citadel/code/modules/research/designs/autoylathe_designs.dm @@ -561,12 +561,12 @@ build_path = /obj/item/gun/ballistic/automatic/x9/toy category = list("initial", "Rifles") -/datum/design/magfoam_dart - name = "Box of MagFoam Darts" - id = "magfoam_dart" +/datum/design/foam_dart + name = "Box of Foam Darts" + id = "foam_dart" build_type = AUTOYLATHE materials = list(MAT_PLASTIC = 500, MAT_METAL = 100) - build_path = /obj/item/ammo_box/foambox/mag + build_path = /obj/item/ammo_box/foambox category = list("initial", "Misc") /datum/design/foam_magpistol @@ -647,4 +647,68 @@ build_type = AUTOYLATHE materials = list(MAT_METAL = 10, MAT_GLASS = 10) build_path = /obj/item/toy/ammo/gun - category = list("initial", "Misc") \ No newline at end of file + category = list("initial", "Misc") + +/datum/design/foam_smg + name = "Foam Force SMG" + id = "foam_smg" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) + build_path = /obj/item/gun/ballistic/automatic/toy/unrestricted + category = list("initial", "Pistols") + +/datum/design/foam_pistol + name = "Foam Force Pistol" + id = "foam_pistol" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) + build_path = /obj/item/gun/ballistic/automatic/toy/pistol/unrestricted + category = list("initial", "Pistols") + +/datum/design/foam_shotgun + name = "Foam Force Shotgun" + id = "foam_shotgun" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) + build_path = /obj/item/gun/ballistic/shotgun/toy/unrestricted + category = list("initial", "Rifles") + +/datum/design/foam_dartred + name = "Box of Lastag Red Foam Darts" + id = "redfoam_dart" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 500, MAT_METAL = 100) + build_path = /obj/item/ammo_box/foambox/tag/red + category = list("initial", "Misc") + +/datum/design/foam_dartblue + name = "Box of Lastag Blue Foam Darts" + id = "bluefoam_dart" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 500, MAT_METAL = 100) + build_path = /obj/item/ammo_box/foambox/tag/blue + category = list("initial", "Misc") + +/datum/design/foam_bow + name = "Foam Force Crossbow" + id = "foam_bow" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) + build_path = /obj/item/gun/ballistic/shotgun/toy/crossbow + category = list("initial", "Pistols") + +/datum/design/foam_c20 + name = "Donksoft C20R" + id = "foam_c20" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) + build_path = /obj/item/gun/ballistic/automatic/c20r/toy/unrestricted + category = list("hacked", "Rifles") + +/datum/design/foam_l6 + name = "Donksoft LMG" + id = "foam_LMG" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) + build_path = /obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted + category = list("hacked", "Rifles") diff --git a/tgstation.dme b/tgstation.dme index 5f971c4690..503924baea 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2731,6 +2731,8 @@ #include "modular_citadel\code\modules\mob\living\simple_animal\kiwi.dm" #include "modular_citadel\code\modules\power\lighting.dm" #include "modular_citadel\code\modules\projectiles\gun.dm" +#include "modular_citadel\code\modules\projectiles\ammunition\caseless.dm" +#include "modular_citadel\code\modules\projectiles\boxes_magazines\ammo_boxes.dm" #include "modular_citadel\code\modules\projectiles\guns\pumpenergy.dm" #include "modular_citadel\code\modules\projectiles\guns\toys.dm" #include "modular_citadel\code\modules\projectiles\guns\ballistic\flechette.dm" @@ -2742,6 +2744,7 @@ #include "modular_citadel\code\modules\projectiles\guns\energy\energy_gun.dm" #include "modular_citadel\code\modules\projectiles\guns\energy\laser.dm" #include "modular_citadel\code\modules\projectiles\projectile\energy.dm" +#include "modular_citadel\code\modules\projectiles\projectiles\reusable.dm" #include "modular_citadel\code\modules\reagents\chemistry\reagents\other_reagents.dm" #include "modular_citadel\code\modules\reagents\reagent container\cit_kegs.dm" #include "modular_citadel\code\modules\reagents\reagent container\hypospraymkii.dm"