diff --git a/mods/persistence/_persistence.dme b/mods/persistence/_persistence.dme index 88d6b3909a7..44e10a531bf 100644 --- a/mods/persistence/_persistence.dme +++ b/mods/persistence/_persistence.dme @@ -25,13 +25,13 @@ #include "controllers\subsystems\mapping.dm" #include "controllers\subsystems\mining.dm" #include "controllers\subsystems\persistence.dm" +#include "controllers\subsystems\skills.dm" +#include "controllers\subsystems\initialization\chargen.dm" +#include "controllers\subsystems\initialization\fabrication.dm" #include "controllers\subsystems\persistence\persistence_loading.dm" #include "controllers\subsystems\persistence\persistence_saving.dm" #include "controllers\subsystems\persistence\persistence_stats.dm" #include "controllers\subsystems\persistence\persistence_storage.dm" -#include "controllers\subsystems\skills.dm" -#include "controllers\subsystems\initialization\chargen.dm" -#include "controllers\subsystems\initialization\fabrication.dm" #include "controllers\subsystems\processing\specifications.dm" #include "datums\extensions\extensions.dm" #include "datums\extensions\holster.dm" @@ -234,12 +234,16 @@ #include "modules\projectiles\ammunition\12g\magazines.dm" #include "modules\projectiles\ammunition\22_LR\bullets.dm" #include "modules\projectiles\ammunition\22_LR\magazines.dm" +#include "modules\projectiles\ammunition\357\bullets.dm" +#include "modules\projectiles\ammunition\357\magazines.dm" #include "modules\projectiles\ammunition\45\bullets.dm" #include "modules\projectiles\ammunition\45\magazines.dm" #include "modules\projectiles\guns\projectile.dm" #include "modules\projectiles\guns\energy\tier0\lasrifle.dm" #include "modules\projectiles\guns\energy\tier1\laspistol.dm" #include "modules\projectiles\guns\energy\tier1\lasrifle.dm" +#include "modules\projectiles\guns\energy\tier2\laspistol.dm" +#include "modules\projectiles\guns\energy\tier2\lasrifle.dm" #include "modules\projectiles\guns\projectile\tier0\boltaction.dm" #include "modules\projectiles\guns\projectile\tier0\pistol.dm" #include "modules\projectiles\guns\projectile\tier0\revolver.dm" @@ -252,6 +256,12 @@ #include "modules\projectiles\guns\projectile\tier1\shotgun_db.dm" #include "modules\projectiles\guns\projectile\tier1\shotgun_db_sawn.dm" #include "modules\projectiles\guns\projectile\tier1\shotgun_pump.dm" +#include "modules\projectiles\guns\projectile\tier2\boltaction.dm" +#include "modules\projectiles\guns\projectile\tier2\pistol.dm" +#include "modules\projectiles\guns\projectile\tier2\pistol_pocket.dm" +#include "modules\projectiles\guns\projectile\tier2\revolver.dm" +#include "modules\projectiles\guns\projectile\tier2\shotgun_pump.dm" +#include "modules\projectiles\guns\projectile\tier2\smg.dm" #include "modules\reagents\Chemistry-Holder.dm" #include "modules\reagents\chems\chems.dm" #include "modules\reagents\chems\recipes.dm" @@ -282,6 +292,7 @@ #include "modules\surgery\_surgery.dm" #include "modules\world_save\_persistence.dm" #include "modules\world_save\load_cache.dm" +#include "modules\world_save\save_testing.dm" #include "modules\world_save\saved_vars.dm" #include "modules\world_save\saved_vars\matrix.dm" #include "modules\world_save\saved_vars\saved_icon_states.dm" @@ -294,7 +305,6 @@ #include "modules\world_save\serializers\one_off_serializer.dm" #include "modules\world_save\serializers\sql_serializer.dm" #include "modules\world_save\serializers\sql_serializer_db.dm" -#include "modules\world_save\save_testing.dm" #include "modules\world_save\wrappers\_late_wrapper.dm" #include "modules\world_save\wrappers\_wrapper.dm" #include "modules\world_save\wrappers\_wrapper_holder.dm" diff --git a/mods/persistence/icons/obj/ammunition/12g/tier2_buckshot.dmi b/mods/persistence/icons/obj/ammunition/12g/tier2_buckshot.dmi new file mode 100644 index 00000000000..814113fec99 Binary files /dev/null and b/mods/persistence/icons/obj/ammunition/12g/tier2_buckshot.dmi differ diff --git a/mods/persistence/icons/obj/ammunition/12g/tier2_slug.dmi b/mods/persistence/icons/obj/ammunition/12g/tier2_slug.dmi new file mode 100644 index 00000000000..3f3010f8108 Binary files /dev/null and b/mods/persistence/icons/obj/ammunition/12g/tier2_slug.dmi differ diff --git a/mods/persistence/icons/obj/ammunition/22lr/tier2.dmi b/mods/persistence/icons/obj/ammunition/22lr/tier2.dmi new file mode 100644 index 00000000000..40e45074fdf Binary files /dev/null and b/mods/persistence/icons/obj/ammunition/22lr/tier2.dmi differ diff --git a/mods/persistence/icons/obj/ammunition/357/tier0.dmi b/mods/persistence/icons/obj/ammunition/357/tier0.dmi new file mode 100644 index 00000000000..837af305143 Binary files /dev/null and b/mods/persistence/icons/obj/ammunition/357/tier0.dmi differ diff --git a/mods/persistence/icons/obj/ammunition/357/tier1.dmi b/mods/persistence/icons/obj/ammunition/357/tier1.dmi new file mode 100644 index 00000000000..bbe3bd9f3a7 Binary files /dev/null and b/mods/persistence/icons/obj/ammunition/357/tier1.dmi differ diff --git a/mods/persistence/icons/obj/ammunition/357/tier2.dmi b/mods/persistence/icons/obj/ammunition/357/tier2.dmi new file mode 100644 index 00000000000..27119278334 Binary files /dev/null and b/mods/persistence/icons/obj/ammunition/357/tier2.dmi differ diff --git a/mods/persistence/icons/obj/ammunition/45/tier2.dmi b/mods/persistence/icons/obj/ammunition/45/tier2.dmi new file mode 100644 index 00000000000..f099e2f1c3e Binary files /dev/null and b/mods/persistence/icons/obj/ammunition/45/tier2.dmi differ diff --git a/mods/persistence/icons/obj/ammunition/5.56/tier2.dmi b/mods/persistence/icons/obj/ammunition/5.56/tier2.dmi new file mode 100644 index 00000000000..a0861d03f08 Binary files /dev/null and b/mods/persistence/icons/obj/ammunition/5.56/tier2.dmi differ diff --git a/mods/persistence/icons/obj/ammunition/magazines.dmi b/mods/persistence/icons/obj/ammunition/magazines.dmi index 269d93b83d1..2be3753a3df 100644 Binary files a/mods/persistence/icons/obj/ammunition/magazines.dmi and b/mods/persistence/icons/obj/ammunition/magazines.dmi differ diff --git a/mods/persistence/icons/obj/guns/tier0/lasrifle.dmi b/mods/persistence/icons/obj/guns/tier0/lasrifle.dmi index 6f1420b3149..bfc06574530 100644 Binary files a/mods/persistence/icons/obj/guns/tier0/lasrifle.dmi and b/mods/persistence/icons/obj/guns/tier0/lasrifle.dmi differ diff --git a/mods/persistence/icons/obj/guns/tier0/pistol.dmi b/mods/persistence/icons/obj/guns/tier0/pistol.dmi index ee83c001377..4a3e5f7d759 100644 Binary files a/mods/persistence/icons/obj/guns/tier0/pistol.dmi and b/mods/persistence/icons/obj/guns/tier0/pistol.dmi differ diff --git a/mods/persistence/icons/obj/guns/tier1/lasrifle.dmi b/mods/persistence/icons/obj/guns/tier1/lasrifle.dmi index f0d2912ed79..dae5088532e 100644 Binary files a/mods/persistence/icons/obj/guns/tier1/lasrifle.dmi and b/mods/persistence/icons/obj/guns/tier1/lasrifle.dmi differ diff --git a/mods/persistence/icons/obj/guns/tier1/pistol.dmi b/mods/persistence/icons/obj/guns/tier1/pistol.dmi index 22923c7f36b..48df67595e9 100644 Binary files a/mods/persistence/icons/obj/guns/tier1/pistol.dmi and b/mods/persistence/icons/obj/guns/tier1/pistol.dmi differ diff --git a/mods/persistence/icons/obj/guns/tier1/pistol_gold.dmi b/mods/persistence/icons/obj/guns/tier1/pistol_gold.dmi index d774c5b9040..ef46ffa62b9 100644 Binary files a/mods/persistence/icons/obj/guns/tier1/pistol_gold.dmi and b/mods/persistence/icons/obj/guns/tier1/pistol_gold.dmi differ diff --git a/mods/persistence/icons/obj/guns/tier1/pistol_pocket.dmi b/mods/persistence/icons/obj/guns/tier1/pistol_pocket.dmi index 4d865103606..fd195f2c183 100644 Binary files a/mods/persistence/icons/obj/guns/tier1/pistol_pocket.dmi and b/mods/persistence/icons/obj/guns/tier1/pistol_pocket.dmi differ diff --git a/mods/persistence/icons/obj/guns/tier2/boltaction.dmi b/mods/persistence/icons/obj/guns/tier2/boltaction.dmi new file mode 100644 index 00000000000..0c3a4d3f053 Binary files /dev/null and b/mods/persistence/icons/obj/guns/tier2/boltaction.dmi differ diff --git a/mods/persistence/icons/obj/guns/tier2/laspistol.dmi b/mods/persistence/icons/obj/guns/tier2/laspistol.dmi new file mode 100644 index 00000000000..b96cd5733cb Binary files /dev/null and b/mods/persistence/icons/obj/guns/tier2/laspistol.dmi differ diff --git a/mods/persistence/icons/obj/guns/tier2/lasrifle.dmi b/mods/persistence/icons/obj/guns/tier2/lasrifle.dmi new file mode 100644 index 00000000000..46fe5955c70 Binary files /dev/null and b/mods/persistence/icons/obj/guns/tier2/lasrifle.dmi differ diff --git a/mods/persistence/icons/obj/guns/tier2/pistol.dmi b/mods/persistence/icons/obj/guns/tier2/pistol.dmi new file mode 100644 index 00000000000..758da92369d Binary files /dev/null and b/mods/persistence/icons/obj/guns/tier2/pistol.dmi differ diff --git a/mods/persistence/icons/obj/guns/tier2/pistol_pocket.dmi b/mods/persistence/icons/obj/guns/tier2/pistol_pocket.dmi new file mode 100644 index 00000000000..fdacabd5c72 Binary files /dev/null and b/mods/persistence/icons/obj/guns/tier2/pistol_pocket.dmi differ diff --git a/mods/persistence/icons/obj/guns/tier2/revolver.dmi b/mods/persistence/icons/obj/guns/tier2/revolver.dmi new file mode 100644 index 00000000000..a7adadc81eb Binary files /dev/null and b/mods/persistence/icons/obj/guns/tier2/revolver.dmi differ diff --git a/mods/persistence/icons/obj/guns/tier2/shotgun_pump.dmi b/mods/persistence/icons/obj/guns/tier2/shotgun_pump.dmi new file mode 100644 index 00000000000..fc67eedd557 Binary files /dev/null and b/mods/persistence/icons/obj/guns/tier2/shotgun_pump.dmi differ diff --git a/mods/persistence/icons/obj/guns/tier2/smg.dmi b/mods/persistence/icons/obj/guns/tier2/smg.dmi new file mode 100644 index 00000000000..394c7d6634e Binary files /dev/null and b/mods/persistence/icons/obj/guns/tier2/smg.dmi differ diff --git a/mods/persistence/modules/fabrication/designs/protolathe/designs_ammunition.dm b/mods/persistence/modules/fabrication/designs/protolathe/designs_ammunition.dm index fbc10ffab3f..5c5c55324e2 100644 --- a/mods/persistence/modules/fabrication/designs/protolathe/designs_ammunition.dm +++ b/mods/persistence/modules/fabrication/designs/protolathe/designs_ammunition.dm @@ -2,46 +2,82 @@ path = /obj/item/ammo_magazine/fivefiftysix/handmade /datum/fabricator_recipe/protolathe/ammunition/fivefiftysix/box/tier0 - path = /obj/item/ammo_magazine/box/fivefiftysix/handmade + path = /obj/item/ammo_magazine/box_fivefiftysix/handmade /datum/fabricator_recipe/protolathe/ammunition/fivefiftysix/magazine/tier1 path = /obj/item/ammo_magazine/fivefiftysix/simple /datum/fabricator_recipe/protolathe/ammunition/fivefiftysix/box/tier1 - path = /obj/item/ammo_magazine/box/fivefiftysix/simple + path = /obj/item/ammo_magazine/box_fivefiftysix/simple /datum/fabricator_recipe/protolathe/ammunition/twentytwolr/magazine/tier0 path = /obj/item/ammo_magazine/twentytwolr/handmade /datum/fabricator_recipe/protolathe/ammunition/twentytwolr/box/tier0 - path = /obj/item/ammo_magazine/box/twentytwolr/handmade + path = /obj/item/ammo_magazine/box_twentytwolr/handmade /datum/fabricator_recipe/protolathe/ammunition/twentytwolr/magazine/tier1 path = /obj/item/ammo_magazine/twentytwolr/simple /datum/fabricator_recipe/protolathe/ammunition/twentytwolr/box/tier1 - path = /obj/item/ammo_magazine/box/twentytwolr/simple + path = /obj/item/ammo_magazine/box_twentytwolr/simple /datum/fabricator_recipe/protolathe/ammunition/fortyfive/magazine/tier0 path = /obj/item/ammo_magazine/fortyfive/handmade /datum/fabricator_recipe/protolathe/ammunition/fortyfive/box/tier0 - path = /obj/item/ammo_magazine/box/fortyfive/handmade + path = /obj/item/ammo_magazine/box_fortyfive/handmade /datum/fabricator_recipe/protolathe/ammunition/fortyfive/magazine/tier1 path = /obj/item/ammo_magazine/fortyfive/simple /datum/fabricator_recipe/protolathe/ammunition/fortyfive/box/tier1 - path = /obj/item/ammo_magazine/box/fortyfive/simple + path = /obj/item/ammo_magazine/box_fortyfive/simple /datum/fabricator_recipe/protolathe/ammunition/twelvegauge/box/slug/tier0 - path = /obj/item/ammo_magazine/box/twelvegauge/slug/handmade + path = /obj/item/ammo_magazine/box_twelvegauge/slug/handmade /datum/fabricator_recipe/protolathe/ammunition/twelvegauge/box/buckshot/tier0 - path = /obj/item/ammo_magazine/box/twelvegauge/buckshot/handmade + path = /obj/item/ammo_magazine/box_twelvegauge/buckshot/handmade /datum/fabricator_recipe/protolathe/ammunition/twelvegauge/box/slug/tier1 - path = /obj/item/ammo_magazine/box/twelvegauge/slug/simple + path = /obj/item/ammo_magazine/box_twelvegauge/slug/simple /datum/fabricator_recipe/protolathe/ammunition/twelvegauge/box/buckshot/tier1 - path = /obj/item/ammo_magazine/box/twelvegauge/buckshot/simple + path = /obj/item/ammo_magazine/box_twelvegauge/buckshot/simple + +/datum/fabricator_recipe/protolathe/ammunition/threefiftyseven/magazine/tier0 + path = /obj/item/ammo_magazine/threefiftyseven/handmade + +/datum/fabricator_recipe/protolathe/ammunition/threefiftyseven/box/tier0 + path = /obj/item/ammo_magazine/box_threefiftyseven/handmade + +/datum/fabricator_recipe/protolathe/ammunition/threefiftyseven/magazine/tier1 + path = /obj/item/ammo_magazine/threefiftyseven/simple + +/datum/fabricator_recipe/protolathe/ammunition/threefiftyseven/box/tier1 + path = /obj/item/ammo_magazine/box_threefiftyseven/simple + +/datum/fabricator_recipe/protolathe/ammunition/threefiftyseven/magazine/tier2 + path = /obj/item/ammo_magazine/threefiftyseven/advanced + +/datum/fabricator_recipe/protolathe/ammunition/threefiftyseven/box/tier2 + path = /obj/item/ammo_magazine/box_threefiftyseven/advanced + +/datum/fabricator_recipe/protolathe/ammunition/twelvegauge/box/slug/tier2 + path = /obj/item/ammo_magazine/box_twelvegauge/slug/advanced + +/datum/fabricator_recipe/protolathe/ammunition/twelvegauge/box/buckshot/tier2 + path = /obj/item/ammo_magazine/box_twelvegauge/buckshot/advanced + +/datum/fabricator_recipe/protolathe/ammunition/twentytwolr/magazine/tier2 + path = /obj/item/ammo_magazine/twentytwolr/advanced + +/datum/fabricator_recipe/protolathe/ammunition/twentytwolr/box/tier2 + path = /obj/item/ammo_magazine/box_twentytwolr/advanced + +/datum/fabricator_recipe/protolathe/ammunition/fortyfive/magazine/tier2 + path = /obj/item/ammo_magazine/fortyfive/advanced + +/datum/fabricator_recipe/protolathe/ammunition/fortyfive/box/tier2 + path = /obj/item/ammo_magazine/box_fortyfive/advanced \ No newline at end of file diff --git a/mods/persistence/modules/fabrication/designs/protolathe/designs_weapons.dm b/mods/persistence/modules/fabrication/designs/protolathe/designs_weapons.dm index 1d17d7c2c79..c15e907450e 100644 --- a/mods/persistence/modules/fabrication/designs/protolathe/designs_weapons.dm +++ b/mods/persistence/modules/fabrication/designs/protolathe/designs_weapons.dm @@ -42,3 +42,27 @@ /datum/fabricator_recipe/protolathe/weapon/tier1/laser_pistol path = /obj/item/gun/energy/laser/pistol/simple + +/datum/fabricator_recipe/protolathe/weapon/tier2/laser_rifle + path = /obj/item/gun/energy/laser/rifle/advanced + +/datum/fabricator_recipe/protolathe/weapon/tier2/laser_pistol + path = /obj/item/gun/energy/laser/pistol/advanced + +/datum/fabricator_recipe/protolathe/weapon/tier2/bolt_action + path = /obj/item/gun/projectile/bolt_action/advanced/empty + +/datum/fabricator_recipe/protolathe/weapon/tier2/pistol_pocket + path = /obj/item/gun/projectile/pistol_pocket/advanced/empty + +/datum/fabricator_recipe/protolathe/weapon/tier2/pistol + path = /obj/item/gun/projectile/pistol/advanced/empty + +/datum/fabricator_recipe/protolathe/weapon/tier2/revolver + path = /obj/item/gun/projectile/revolver/advanced/empty + +/datum/fabricator_recipe/protolathe/weapon/tier2/smg + path = /obj/item/gun/projectile/automatic/smg/advanced/empty + +/datum/fabricator_recipe/protolathe/weapon/tier2/shotgun_pump + path = /obj/item/gun/projectile/shotgun/pump/advanced/empty \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/ammunition/12g/bullets.dm b/mods/persistence/modules/projectiles/ammunition/12g/bullets.dm index 6aa5e19889b..b8100506aac 100644 --- a/mods/persistence/modules/projectiles/ammunition/12g/bullets.dm +++ b/mods/persistence/modules/projectiles/ammunition/12g/bullets.dm @@ -79,4 +79,28 @@ pellets = 6 range_step = 1 spread_step = 10 - penetration_modifier = 1.3 \ No newline at end of file + penetration_modifier = 1.3 + +/obj/item/ammo_casing/twelvegauge/slug/advanced + name = "advanced 12g slug shell" + desc = "12g slug shell of modern design. Sports good armor penetration capabilities and very high damage, but suffers from unimpressive range." + icon = 'mods/persistence/icons/obj/ammunition/12g/tier2_slug.dmi' + projectile_type = /obj/item/projectile/bullet/twelvegauge/advanced + +/obj/item/projectile/bullet/twelvegauge/advanced + damage = 70 + distance_falloff = 4 + penetration_modifier = 0.85 + +/obj/item/ammo_casing/twelvegauge/buckshot/advanced + name = "advanced 12g buckshot shell" + desc = "12g buckshot shell of modern design. Sports incredibly high damage, but suffers from poor armor penetration and poor range." + icon = 'mods/persistence/icons/obj/ammunition/12g/tier2_buckshot.dmi' + projectile_type = /obj/item/projectile/bullet/pellet/twelvegauge/advanced + +/obj/item/projectile/bullet/pellet/twelvegauge/advanced + damage = 20 + pellets = 6 + range_step = 1 + spread_step = 8 + penetration_modifier = 1.25 \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/ammunition/12g/magazines.dm b/mods/persistence/modules/projectiles/ammunition/12g/magazines.dm index 80b02aba78c..c35c7adc6e0 100644 --- a/mods/persistence/modules/projectiles/ammunition/12g/magazines.dm +++ b/mods/persistence/modules/projectiles/ammunition/12g/magazines.dm @@ -1,4 +1,4 @@ -/obj/item/ammo_magazine/box/twelvegauge +/obj/item/ammo_magazine/box_twelvegauge name = "packet of generic 12g shells" desc = "A packet of unsettlingly generic 12g shells." icon_state = "box_12g1_slug" @@ -8,19 +8,19 @@ ammo_type = /obj/item/ammo_casing/twelvegauge max_ammo = 16 -/obj/item/ammo_magazine/box/twelvegauge/slug +/obj/item/ammo_magazine/box_twelvegauge/slug name = "packet of generic 12g slug shells" desc = "A packet of unsettlingly generic 12g slug shells." icon_state = "box_12g1_slug" ammo_type = /obj/item/ammo_casing/twelvegauge/slug -/obj/item/ammo_magazine/box/twelvegauge/buckshot +/obj/item/ammo_magazine/box_twelvegauge/buckshot name = "packet of generic 12g buckshot shells" desc = "A packet of unsettlingly generic 12g buckshot shells." icon_state = "box_12g1_buckshot" ammo_type = /obj/item/ammo_casing/twelvegauge/buckshot -/obj/item/ammo_magazine/box/twelvegauge/slug/handmade +/obj/item/ammo_magazine/box_twelvegauge/slug/handmade name = "packet of makeshift 12g slug shells" desc = "Container of dubious origin intended for holding loose 12g slug shells." icon_state = "box_12g0_slug" @@ -31,7 +31,7 @@ ) ammo_type = /obj/item/ammo_casing/twelvegauge/slug/handmade -/obj/item/ammo_magazine/box/twelvegauge/buckshot/handmade +/obj/item/ammo_magazine/box_twelvegauge/buckshot/handmade name = "packet of makeshift 12g buckshot shells" desc = "Container of dubious origin intended for holding loose 12g buckshot shells." icon_state = "box_12g0_buckshot" @@ -42,7 +42,7 @@ ) ammo_type = /obj/item/ammo_casing/twelvegauge/buckshot/handmade -/obj/item/ammo_magazine/box/twelvegauge/slug/simple +/obj/item/ammo_magazine/box_twelvegauge/slug/simple name = "packet of standard 12g slug shells" desc = "Container of ancient design intended for holding loose 12g slug shells." icon_state = "box_12g1_slug" @@ -54,7 +54,7 @@ ) ammo_type = /obj/item/ammo_casing/twelvegauge/slug/simple -/obj/item/ammo_magazine/box/twelvegauge/buckshot/simple +/obj/item/ammo_magazine/box_twelvegauge/buckshot/simple name = "packet of standard 12g buckshot shells" desc = "Container of ancient design intended for holding loose 12g buckshot shells." icon_state = "box_12g1_buckshot" @@ -64,4 +64,30 @@ /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/cardboard = MATTER_AMOUNT_TRACE ) - ammo_type = /obj/item/ammo_casing/twelvegauge/buckshot/simple \ No newline at end of file + ammo_type = /obj/item/ammo_casing/twelvegauge/buckshot/simple + +/obj/item/ammo_magazine/box_twelvegauge/slug/advanced + name = "packet of advanced 12g slug shells" + desc = "Container of modern design intended for holding loose 12g slug shells." + icon_state = "box_12g2_slug" + origin_tech = "{'combat':3,'materials':3}" + material = /decl/material/solid/metal/steel + matter = list( + /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/metal/aluminium = MATTER_AMOUNT_TRACE, + /decl/material/solid/cardboard = MATTER_AMOUNT_TRACE + ) + ammo_type = /obj/item/ammo_casing/twelvegauge/slug/advanced + +/obj/item/ammo_magazine/box_twelvegauge/buckshot/advanced + name = "packet of advanced 12g buckshot shells" + desc = "Container of modern design intended for holding loose 12g buckshot shells." + icon_state = "box_12g2_buckshot" + origin_tech = "{'combat':3,'materials':3}" + material = /decl/material/solid/metal/steel + matter = list( + /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/metal/aluminium = MATTER_AMOUNT_TRACE, + /decl/material/solid/cardboard = MATTER_AMOUNT_TRACE + ) + ammo_type = /obj/item/ammo_casing/twelvegauge/buckshot/advanced \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/ammunition/22_LR/bullets.dm b/mods/persistence/modules/projectiles/ammunition/22_LR/bullets.dm index 9e4e8b23cea..10d0c88c495 100644 --- a/mods/persistence/modules/projectiles/ammunition/22_LR/bullets.dm +++ b/mods/persistence/modules/projectiles/ammunition/22_LR/bullets.dm @@ -32,4 +32,14 @@ /obj/item/projectile/bullet/twentytwolr/simple damage = 25 distance_falloff = 4 - penetration_modifier = 1.2 \ No newline at end of file + penetration_modifier = 1.2 + +/obj/item/ammo_casing/twentytwolr/advanced + name = "advanced .22LR round" + desc = ".22 Long Rifle round of ancient design. Sports mediocre range and unimpressive armor penetration due to low velocity." + icon = 'mods/persistence/icons/obj/ammunition/22lr/tier2.dmi' + projectile_type = /obj/item/projectile/bullet/twentytwolr/advanced + +/obj/item/projectile/bullet/twentytwolr/advanced + damage = 30 + distance_falloff = 3 \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/ammunition/22_LR/magazines.dm b/mods/persistence/modules/projectiles/ammunition/22_LR/magazines.dm index 8f88b889a74..bf1d9507465 100644 --- a/mods/persistence/modules/projectiles/ammunition/22_LR/magazines.dm +++ b/mods/persistence/modules/projectiles/ammunition/22_LR/magazines.dm @@ -11,7 +11,7 @@ max_ammo = 0 multiple_sprites = 1 -/obj/item/ammo_magazine/box/twentytwolr +/obj/item/ammo_magazine/box_twentytwolr name = "packet of generic .22LR rounds" desc = "A packet of unsettlingly generic .22LR rounds." icon_state = "box_22lr1" @@ -30,7 +30,7 @@ ammo_type = /obj/item/ammo_casing/twentytwolr/handmade max_ammo = 5 -/obj/item/ammo_magazine/box/twentytwolr/handmade +/obj/item/ammo_magazine/box_twentytwolr/handmade name = "packet of makeshift .22LR rounds" desc = "Container of dubious origin intended for holding loose .22LR rounds." icon_state = "box_22lr0" @@ -53,7 +53,7 @@ ammo_type = /obj/item/ammo_casing/twentytwolr/simple max_ammo = 12 -/obj/item/ammo_magazine/box/twentytwolr/simple +/obj/item/ammo_magazine/box_twentytwolr/simple name = "packet of standard .22LR rounds" desc = "Container of ancient design intended for holding loose .22LR rounds." icon_state = "box_22lr1" @@ -63,4 +63,30 @@ /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/cardboard = MATTER_AMOUNT_TRACE ) - ammo_type = /obj/item/ammo_casing/twentytwolr/simple \ No newline at end of file + ammo_type = /obj/item/ammo_casing/twentytwolr/simple + +/obj/item/ammo_magazine/twentytwolr/advanced + name = "advanced .22LR magazine" + desc = ".22LR magazine of modern design. Good capacity, and can be used well with both handguns and submachine guns alike." + icon_state = "22lr2" + origin_tech = "{'combat':3}" + material = /decl/material/solid/metal/steel + matter = list( + /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/metal/aluminium = MATTER_AMOUNT_REINFORCEMENT + ) + ammo_type = /obj/item/ammo_casing/twentytwolr/advanced + max_ammo = 20 + +/obj/item/ammo_magazine/box_twentytwolr/advanced + name = "packet of advanced .22LR rounds" + desc = "Container of modern design intended for holding loose .22LR rounds." + icon_state = "box_22lr2" + origin_tech = "{'combat':3,'materials':3}" + material = /decl/material/solid/metal/steel + matter = list( + /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/metal/aluminium = MATTER_AMOUNT_TRACE, + /decl/material/solid/cardboard = MATTER_AMOUNT_TRACE + ) + ammo_type = /obj/item/ammo_casing/twentytwolr/advanced \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/ammunition/357/bullets.dm b/mods/persistence/modules/projectiles/ammunition/357/bullets.dm new file mode 100644 index 00000000000..16ac2f51ed6 --- /dev/null +++ b/mods/persistence/modules/projectiles/ammunition/357/bullets.dm @@ -0,0 +1,45 @@ +#define CALIBER_357 ".357" + +/obj/item/ammo_casing/threefiftyseven + name = "generic .357 round" + desc = "An unsettlingly generic .357 round." + icon = 'mods/persistence/icons/obj/ammunition/357/tier1.dmi' + caliber = CALIBER_357 + projectile_type = /obj/item/projectile/bullet/threefiftyseven + +/obj/item/projectile/bullet/threefiftyseven + fire_sound = 'sound/weapons/gunshot/gunshot_strong.ogg' + damage = 30 + distance_falloff = 1 + +/obj/item/ammo_casing/threefiftyseven/handmade + name = "makeshift .357 round" + desc = ".357 round of dubious origin. Sports poor range and poor armor penetration due to shoddy construction." + icon = 'mods/persistence/icons/obj/ammunition/357/tier0.dmi' + projectile_type = /obj/item/projectile/bullet/threefiftyseven/handmade + +/obj/item/projectile/bullet/threefiftyseven/handmade + damage = 40 + distance_falloff = 6 + +/obj/item/ammo_casing/threefiftyseven/simple + name = "standard .357 round" + desc = ".357 round of ancient design. Sports mediocre range due to unimpressive velocity." + icon = 'mods/persistence/icons/obj/ammunition/357/tier1.dmi' + projectile_type = /obj/item/projectile/bullet/threefiftyseven/simple + +/obj/item/projectile/bullet/threefiftyseven/simple + damage = 50 + distance_falloff = 4 + penetration_modifier = 0.9 + +/obj/item/ammo_casing/threefiftyseven/advanced + name = "advanced .357 round" + desc = ".357 round of modern design. Sports middling range and acceptable armor penetration due to modern construction techniques." + icon = 'mods/persistence/icons/obj/ammunition/357/tier2.dmi' + projectile_type = /obj/item/projectile/bullet/threefiftyseven/advanced + +/obj/item/projectile/bullet/threefiftyseven/advanced + damage = 60 + distance_falloff = 3 + penetration_modifier = 0.8 \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/ammunition/357/magazines.dm b/mods/persistence/modules/projectiles/ammunition/357/magazines.dm new file mode 100644 index 00000000000..eb85ebd2434 --- /dev/null +++ b/mods/persistence/modules/projectiles/ammunition/357/magazines.dm @@ -0,0 +1,92 @@ +/obj/item/ammo_magazine/threefiftyseven + name = "generic .357 speedloader" + desc = "An unsettlingly generic .357 speedloader." + icon = 'mods/persistence/icons/obj/ammunition/magazines.dmi' + icon_state = "3571" + mag_type = SPEEDLOADER + caliber = CALIBER_357 + material = /decl/material/solid/metal/steel + ammo_type = /obj/item/ammo_casing/threefiftyseven + initial_ammo = 0 + max_ammo = 0 + multiple_sprites = 1 + +/obj/item/ammo_magazine/box_threefiftyseven + name = "packet of generic .357 rounds" + desc = "A packet of unsettlingly generic .357 rounds." + icon_state = "box_3571" + icon = 'mods/persistence/icons/obj/ammunition/magazines.dmi' + material = /decl/material/solid/metal/steel + caliber = CALIBER_357 + ammo_type = /obj/item/ammo_casing/threefiftyseven + max_ammo = 12 + +/obj/item/ammo_magazine/threefiftyseven/handmade + name = "makeshift .357 speedloader" + desc = ".357 speedloader of dubious origin. Suffers from reduced capacity due to flimsy materials and shoddy craftsmanship." + icon_state = "3570" + origin_tech = "{'combat':1}" + material = /decl/material/solid/plastic + ammo_type = /obj/item/ammo_casing/threefiftyseven/handmade + max_ammo = 3 + +/obj/item/ammo_magazine/box_threefiftyseven/handmade + name = "packet of makeshift .357 rounds" + desc = "Container of dubious origin intended for holding loose .357 rounds." + icon_state = "box_3570" + origin_tech = "{'combat':1,'materials':1}" + material = /decl/material/solid/metal/steel + matter = list( + /decl/material/solid/plastic = MATTER_AMOUNT_TRACE + ) + ammo_type = /obj/item/ammo_casing/threefiftyseven/handmade + +/obj/item/ammo_magazine/threefiftyseven/simple + name = "standard .357 speedloader" + desc = ".357 speedloader of ancient design. Servicable capacity, but outpaced by more modern designs." + icon_state = "3571" + origin_tech = "{'combat':2}" + material = /decl/material/solid/metal/steel + matter = list( + /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT + ) + ammo_type = /obj/item/ammo_casing/threefiftyseven/simple + max_ammo = 4 + +/obj/item/ammo_magazine/box_threefiftyseven/simple + name = "packet of standard .357 rounds" + desc = "Container of ancient design intended for holding loose .357 rounds." + icon_state = "box_3571" + origin_tech = "{'combat':2,'materials':2}" + material = /decl/material/solid/metal/steel + matter = list( + /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/cardboard = MATTER_AMOUNT_TRACE + ) + ammo_type = /obj/item/ammo_casing/threefiftyseven/simple + +/obj/item/ammo_magazine/threefiftyseven/advanced + name = "advanced .357 speedloader" + desc = ".357 speedloader of modern design. Improved capacity over earlier designs." + icon_state = "3572" + origin_tech = "{'combat':3}" + material = /decl/material/solid/metal/steel + matter = list( + /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/cardboard = MATTER_AMOUNT_TRACE + ) + ammo_type = /obj/item/ammo_casing/threefiftyseven/advanced + max_ammo = 5 + +/obj/item/ammo_magazine/box_threefiftyseven/advanced + name = "packet of advanced .357 rounds" + desc = "Container of modern design intended for holding loose .357 rounds." + icon_state = "box_3572" + origin_tech = "{'combat':3,'materials':3}" + material = /decl/material/solid/metal/steel + matter = list( + /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/metal/aluminium = MATTER_AMOUNT_TRACE, + /decl/material/solid/cardboard = MATTER_AMOUNT_TRACE + ) + ammo_type = /obj/item/ammo_casing/threefiftyseven/advanced \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/ammunition/45/bullets.dm b/mods/persistence/modules/projectiles/ammunition/45/bullets.dm index c3b8e894759..4fb672c7e23 100644 --- a/mods/persistence/modules/projectiles/ammunition/45/bullets.dm +++ b/mods/persistence/modules/projectiles/ammunition/45/bullets.dm @@ -31,4 +31,15 @@ /obj/item/projectile/bullet/fortyfive/simple damage = 40 - distance_falloff = 3 \ No newline at end of file + distance_falloff = 3 + +/obj/item/ammo_casing/fortyfive/advanced + name = "advanced .45 round" + desc = ".45 round of modern design. Sports acceptable range and mediocre armor penetration due to modern construction techniques." + icon = 'mods/persistence/icons/obj/ammunition/45/tier2.dmi' + projectile_type = /obj/item/projectile/bullet/fortyfive/advanced + +/obj/item/projectile/bullet/fortyfive/advanced + damage = 50 + distance_falloff = 2 + penetration_modifier = 0.9 \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/ammunition/45/magazines.dm b/mods/persistence/modules/projectiles/ammunition/45/magazines.dm index 29883ae77b9..9bdf95ef3f4 100644 --- a/mods/persistence/modules/projectiles/ammunition/45/magazines.dm +++ b/mods/persistence/modules/projectiles/ammunition/45/magazines.dm @@ -11,7 +11,7 @@ max_ammo = 0 multiple_sprites = 1 -/obj/item/ammo_magazine/box/fortyfive +/obj/item/ammo_magazine/box_fortyfive name = "packet of generic .45 rounds" desc = "A packet of unsettlingly generic .45 rounds." icon_state = "box_451" @@ -30,7 +30,7 @@ ammo_type = /obj/item/ammo_casing/fortyfive/handmade max_ammo = 3 -/obj/item/ammo_magazine/box/fortyfive/handmade +/obj/item/ammo_magazine/box_fortyfive/handmade name = "packet of makeshift .45 rounds" desc = "Container of dubious origin intended for holding loose .45 rounds." icon_state = "box_450" @@ -53,7 +53,7 @@ ammo_type = /obj/item/ammo_casing/fortyfive/simple max_ammo = 7 -/obj/item/ammo_magazine/box/fortyfive/simple +/obj/item/ammo_magazine/box_fortyfive/simple name = "packet of standard .45 rounds" desc = "Container of ancient design intended for holding loose .45 rounds." icon_state = "box_451" @@ -63,4 +63,30 @@ /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/cardboard = MATTER_AMOUNT_TRACE ) - ammo_type = /obj/item/ammo_casing/fortyfive/simple \ No newline at end of file + ammo_type = /obj/item/ammo_casing/fortyfive/simple + +/obj/item/ammo_magazine/fortyfive/advanced + name = "standard .45 magazine" + desc = ".45 magazine of modern design. Improved capacity compared over older versions." + icon_state = "452" + origin_tech = "{'combat':3}" + material = /decl/material/solid/metal/steel + matter = list( + /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/metal/aluminium = MATTER_AMOUNT_REINFORCEMENT + ) + ammo_type = /obj/item/ammo_casing/fortyfive/advanced + max_ammo = 12 + +/obj/item/ammo_magazine/box_fortyfive/advanced + name = "packet of advanced .45 rounds" + desc = "Container of modern design intended for holding loose .45 rounds." + icon_state = "box_452" + origin_tech = "{'combat':3,'materials':3}" + material = /decl/material/solid/metal/steel + matter = list( + /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/metal/aluminium = MATTER_AMOUNT_TRACE, + /decl/material/solid/cardboard = MATTER_AMOUNT_TRACE + ) + ammo_type = /obj/item/ammo_casing/fortyfive/advanced \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/ammunition/5.56/bullets.dm b/mods/persistence/modules/projectiles/ammunition/5.56/bullets.dm index 1d4a139b9c0..0c4dc44019a 100644 --- a/mods/persistence/modules/projectiles/ammunition/5.56/bullets.dm +++ b/mods/persistence/modules/projectiles/ammunition/5.56/bullets.dm @@ -32,4 +32,15 @@ /obj/item/projectile/bullet/fivefiftysix/simple damage = 45 distance_falloff = 2 - penetration_modifier = 0.8 \ No newline at end of file + penetration_modifier = 0.8 + +/obj/item/ammo_casing/fivefiftysix/advanced + name = "advanced 5.56x45mm round" + desc = "5.56x45mm round of modern design. Sports great armor penetration capabilities, but most firearms which use it are bulky." + icon = 'mods/persistence/icons/obj/ammunition/5.56/tier2.dmi' + projectile_type = /obj/item/projectile/bullet/fivefiftysix/advanced + +/obj/item/projectile/bullet/fivefiftysix/advanced + damage = 55 + distance_falloff = 1 + penetration_modifier = 0.7 \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/ammunition/5.56/magazines.dm b/mods/persistence/modules/projectiles/ammunition/5.56/magazines.dm index 13c07dcd20d..7af652ab30e 100644 --- a/mods/persistence/modules/projectiles/ammunition/5.56/magazines.dm +++ b/mods/persistence/modules/projectiles/ammunition/5.56/magazines.dm @@ -11,7 +11,7 @@ max_ammo = 0 multiple_sprites = 1 -/obj/item/ammo_magazine/box/fivefiftysix +/obj/item/ammo_magazine/box_fivefiftysix name = "packet of generic 5.56x45mm rounds" desc = "A packet of unsettlingly generic 5.56x45mm rounds." icon_state = "box_5561" @@ -30,7 +30,7 @@ ammo_type = /obj/item/ammo_casing/fivefiftysix/handmade max_ammo = 12 -/obj/item/ammo_magazine/box/fivefiftysix/handmade +/obj/item/ammo_magazine/box_fivefiftysix/handmade name = "packet of makeshift 5.56x45mm rounds" desc = "Container of dubious origin intended for holding loose 5.56x45mm rounds." icon_state = "box_5560" @@ -53,7 +53,7 @@ ammo_type = /obj/item/ammo_casing/fivefiftysix/simple max_ammo = 20 -/obj/item/ammo_magazine/box/fivefiftysix/simple +/obj/item/ammo_magazine/box_fivefiftysix/simple name = "packet of standard 5.56x45mm rounds" desc = "Container of ancient design intended for holding loose 5.56x45mm rounds." icon_state = "box_5561" @@ -63,4 +63,30 @@ /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/cardboard = MATTER_AMOUNT_TRACE ) + ammo_type = /obj/item/ammo_casing/fivefiftysix/simple + +/obj/item/ammo_magazine/fivefiftysix/advanced + name = "advanced 5.56x45mm magazine" + desc = "5.56x45mm magazine of modern design. Good capacity compared to earlier models." + icon_state = "5562" + origin_tech = "{'combat':3}" + material = /decl/material/solid/metal/steel + matter = list( + /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/metal/aluminium = MATTER_AMOUNT_REINFORCEMENT + ) + ammo_type = /obj/item/ammo_casing/fivefiftysix/simple + max_ammo = 30 + +/obj/item/ammo_magazine/box_fivefiftysix/advanced + name = "packet of advanced 5.56x45mm rounds" + desc = "Container of modern design intended for holding loose 5.56x45mm rounds." + icon_state = "box_5562" + origin_tech = "{'combat':3,'materials':3}" + material = /decl/material/solid/metal/steel + matter = list( + /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/metal/aluminium = MATTER_AMOUNT_TRACE, + /decl/material/solid/cardboard = MATTER_AMOUNT_TRACE + ) ammo_type = /obj/item/ammo_casing/fivefiftysix/simple \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/guns/energy/tier2/laspistol.dm b/mods/persistence/modules/projectiles/guns/energy/tier2/laspistol.dm new file mode 100644 index 00000000000..d078e015b0a --- /dev/null +++ b/mods/persistence/modules/projectiles/guns/energy/tier2/laspistol.dm @@ -0,0 +1,19 @@ +/obj/item/gun/energy/laser/pistol/advanced + name = "Laser 'Martin' EG" + desc = "Laser pistol used by modern high-tech military groups. Compact, quick-firing, and boasts acceptable charge capacity due to advanced construction. Fires Alpha-type laser beams." + icon = 'mods/persistence/icons/obj/guns/tier2/laspistol.dmi' + slot_flags = SLOT_LOWER_BODY + w_class = ITEM_SIZE_NORMAL + one_hand_penalty = 0 + max_shots = 12 + fire_delay = 3 + force = 3 + origin_tech = "{'combat':4,'magnets':3,'engineering':4,'materials':3}" + projectile_type = /obj/item/projectile/beam/smalllaser + material = /decl/material/solid/metal/titanium + matter = list( + /decl/material/solid/glass = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/metal/gold = MATTER_AMOUNT_TRACE, + /decl/material/solid/metal/aluminium = MATTER_AMOUNT_TRACE + ) \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/guns/energy/tier2/lasrifle.dm b/mods/persistence/modules/projectiles/guns/energy/tier2/lasrifle.dm new file mode 100644 index 00000000000..591f3f2c5a0 --- /dev/null +++ b/mods/persistence/modules/projectiles/guns/energy/tier2/lasrifle.dm @@ -0,0 +1,19 @@ +/obj/item/gun/energy/laser/rifle/advanced + name = "Laser 'Frontrunner' EG" + desc = "Laser rifle used by modern high-tech military groups. Powerful compared to previous models of laser weapons, and boasts decent charge capacity. Fires Beta-type laser beams." + icon = 'mods/persistence/icons/obj/guns/tier2/lasrifle.dmi' + slot_flags = SLOT_BACK + w_class = ITEM_SIZE_HUGE + one_hand_penalty = 3 + max_shots = 8 + fire_delay = 12 + force = 10 + origin_tech = "{'combat':4,'magnets':4,'engineering':3,'materials':3}" + projectile_type = /obj/item/projectile/beam/midlaser + material = /decl/material/solid/metal/titanium + matter = list( + /decl/material/solid/glass = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/plastic = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/metal/gold = MATTER_AMOUNT_TRACE, + /decl/material/solid/metal/aluminium = MATTER_AMOUNT_TRACE + ) \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/guns/projectile/tier0/pistol.dm b/mods/persistence/modules/projectiles/guns/projectile/tier0/pistol.dm index e9e9f27af80..96d2629442b 100644 --- a/mods/persistence/modules/projectiles/guns/projectile/tier0/pistol.dm +++ b/mods/persistence/modules/projectiles/guns/projectile/tier0/pistol.dm @@ -6,7 +6,7 @@ force = 5 accuracy = 0 one_hand_penalty = 2 - origin_tech = "{'combat':3,'engineering':2,'materials':2}" + origin_tech = "{'combat':2,'engineering':1,'materials':1}" caliber = CALIBER_22LR ammo_indicator = FALSE w_class = ITEM_SIZE_NORMAL diff --git a/mods/persistence/modules/projectiles/guns/projectile/tier1/pistol_pocket.dm b/mods/persistence/modules/projectiles/guns/projectile/tier1/pistol_pocket.dm index 93315582de1..8c8d11c52f6 100644 --- a/mods/persistence/modules/projectiles/guns/projectile/tier1/pistol_pocket.dm +++ b/mods/persistence/modules/projectiles/guns/projectile/tier1/pistol_pocket.dm @@ -1,4 +1,4 @@ -/obj/item/gun/projectile/pistol_pocket/simple +/obj/item/gun/projectile/pistol/pistol_pocket/simple name = ".22LR 'Rimfire' HG" desc = "Pistol of ancient design. Small enough to store in pockets, but struggles in combat due to weak caliber. Chambered in .22LR." icon = 'mods/persistence/icons/obj/guns/tier1/pistol_pocket.dmi' diff --git a/mods/persistence/modules/projectiles/guns/projectile/tier1/revolver.dm b/mods/persistence/modules/projectiles/guns/projectile/tier1/revolver.dm index 7947ed52b90..385f66bc670 100644 --- a/mods/persistence/modules/projectiles/guns/projectile/tier1/revolver.dm +++ b/mods/persistence/modules/projectiles/guns/projectile/tier1/revolver.dm @@ -1,15 +1,15 @@ /obj/item/gun/projectile/revolver/simple - name = ".45 'Chief' RV" - desc = "Revolver of ancient design. Reliable, but struggles against armored targets. Chambered in .45." + name = ".357 'Chief' RV" + desc = "Revolver of ancient design. Uses high-power rounds, but struggles with a low ammunition capacity and poor armor penetration. Chambered in .357." icon = 'mods/persistence/icons/obj/guns/tier1/revolver.dmi' origin_tech = "{'combat':3,'engineering':2,'materials':2}" - caliber = CALIBER_45 - ammo_type = /obj/item/ammo_casing/fortyfive/simple - max_shells = 5 + caliber = CALIBER_357 + ammo_type = /obj/item/ammo_casing/threefiftyseven/simple + max_shells = 4 w_class = ITEM_SIZE_NORMAL fire_delay = 10 - accuracy = 2 - one_hand_penalty = 1 + accuracy = 0 + one_hand_penalty = 2 force = 5 material = /decl/material/solid/metal/steel matter = list( diff --git a/mods/persistence/modules/projectiles/guns/projectile/tier2/boltaction.dm b/mods/persistence/modules/projectiles/guns/projectile/tier2/boltaction.dm new file mode 100644 index 00000000000..42d43aa00a1 --- /dev/null +++ b/mods/persistence/modules/projectiles/guns/projectile/tier2/boltaction.dm @@ -0,0 +1,27 @@ +/obj/item/gun/projectile/bolt_action/advanced + name = "5.56x45mm 'Deadshot' BA" + desc = "Bolt-action rifle of modern design. Accurate, and comes with a built-in 2x scope alongside an increased ammunition capacity compared to earlier models. Chambered in 5.56x45mm." + icon = 'mods/persistence/icons/obj/guns/tier2/boltaction.dmi' + force = 10 + slot_flags = SLOT_BACK + origin_tech = "{'combat':4,'engineering':4,'materials':3}" + caliber = CALIBER_556 + handle_casings = HOLD_CASINGS + load_method = SINGLE_CASING + max_shells = 7 + w_class = ITEM_SIZE_HUGE + ammo_type = /obj/item/ammo_casing/fivefiftysix + one_hand_penalty = 10 + fire_delay = 10 + accuracy = 2 + scoped_accuracy = 5 + scope_zoom = 2 + material = /decl/material/solid/metal/titanium + matter = list( + /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/plastic = MATTER_AMOUNT_TRACE, + /decl/material/solid/metal/aluminium = MATTER_AMOUNT_TRACE + ) + +/obj/item/gun/projectile/bolt_action/advanced/empty + starts_loaded = FALSE \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/guns/projectile/tier2/pistol.dm b/mods/persistence/modules/projectiles/guns/projectile/tier2/pistol.dm new file mode 100644 index 00000000000..8268ae2a6c3 --- /dev/null +++ b/mods/persistence/modules/projectiles/guns/projectile/tier2/pistol.dm @@ -0,0 +1,23 @@ +/obj/item/gun/projectile/pistol/advanced + name = ".45 'Paco' HG" + desc = "Pistol of modern design. Highly accurate, and boasts a reduced fire delay compared to earlier models. Chambered in .45." + icon = 'mods/persistence/icons/obj/guns/tier2/pistol.dmi' + caliber = CALIBER_45 + fire_delay = 3 + force = 5 + accuracy = 2 + one_hand_penalty = 1 + origin_tech = "{'combat':4,'engineering':3,'materials':4}" + ammo_indicator = FALSE + w_class = ITEM_SIZE_NORMAL + magazine_type = /obj/item/ammo_magazine/fortyfive/advanced + allowed_magazines = /obj/item/ammo_magazine/fortyfive + material = /decl/material/solid/metal/titanium + matter = list( + /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/plastic = MATTER_AMOUNT_TRACE, + /decl/material/solid/metal/aluminium = MATTER_AMOUNT_TRACE + ) + +/obj/item/gun/projectile/pistol/advanced/empty + starts_loaded = FALSE \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/guns/projectile/tier2/pistol_pocket.dm b/mods/persistence/modules/projectiles/guns/projectile/tier2/pistol_pocket.dm new file mode 100644 index 00000000000..4d2fdf1a756 --- /dev/null +++ b/mods/persistence/modules/projectiles/guns/projectile/tier2/pistol_pocket.dm @@ -0,0 +1,27 @@ +/obj/item/gun/projectile/pistol/pistol_pocket/advanced + name = ".22LR 'Triple-Threat' HG" + desc = "Pistol of modern design. Small enough to store in pockets, and possesses both semi-automatic and three-round burst fire modes. Chambered in .22LR." + icon = 'mods/persistence/icons/obj/guns/tier2/pistol_pocket.dmi' + fire_delay = 2 + force = 5 + accuracy = 1 + one_hand_penalty = 0 + origin_tech = "{'combat':4,'engineering':4,'materials':4}" + caliber = CALIBER_22LR + ammo_indicator = FALSE + w_class = ITEM_SIZE_SMALL + magazine_type = /obj/item/ammo_magazine/twentytwolr/advanced + allowed_magazines = /obj/item/ammo_magazine/twentytwolr + material = /decl/material/solid/metal/titanium + matter = list( + /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/plastic = MATTER_AMOUNT_TRACE, + /decl/material/solid/metal/aluminium = MATTER_AMOUNT_TRACE + ) + firemodes = list( + list(mode_name="semi-automatic", burst=1, fire_delay=2, one_hand_penalty=0, burst_accuracy=null, dispersion=null), + list(mode_name="3-round bursts", burst=3, fire_delay=2, one_hand_penalty=1, burst_accuracy=list(1,0,-1), dispersion=list(0.0, 1.6, 2.4, 2.4)), + ) + +/obj/item/gun/projectile/pistol_pocket/advanced/empty + starts_loaded = FALSE \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/guns/projectile/tier2/revolver.dm b/mods/persistence/modules/projectiles/guns/projectile/tier2/revolver.dm new file mode 100644 index 00000000000..702f4eb0f69 --- /dev/null +++ b/mods/persistence/modules/projectiles/guns/projectile/tier2/revolver.dm @@ -0,0 +1,22 @@ +/obj/item/gun/projectile/revolver/advanced + name = ".357 'Officer' RV" + desc = "Revolver of modern design. Uses high-power rounds and has better ammunition capacity and accuracy compared to older models. Chambered in .357." + icon = 'mods/persistence/icons/obj/guns/tier2/revolver.dmi' + origin_tech = "{'combat':4,'engineering':3,'materials':4}" + caliber = CALIBER_357 + ammo_type = /obj/item/ammo_casing/threefiftyseven/advanced + max_shells = 5 + w_class = ITEM_SIZE_NORMAL + fire_delay = 10 + accuracy = 1 + one_hand_penalty = 2 + force = 5 + material = /decl/material/solid/metal/titanium + matter = list( + /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/plastic = MATTER_AMOUNT_TRACE, + /decl/material/solid/metal/aluminium = MATTER_AMOUNT_TRACE + ) + +/obj/item/gun/projectile/revolver/advanced/empty + starts_loaded = FALSE \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/guns/projectile/tier2/shotgun_pump.dm b/mods/persistence/modules/projectiles/guns/projectile/tier2/shotgun_pump.dm new file mode 100644 index 00000000000..c5a67109487 --- /dev/null +++ b/mods/persistence/modules/projectiles/guns/projectile/tier2/shotgun_pump.dm @@ -0,0 +1,24 @@ +/obj/item/gun/projectile/shotgun/pump/advanced + name = "12g 'Gladdy' SG" + desc = "Pump-action shotgun of modern design. Possesses an increased ammunition capacity and shorter fire delay compared to earlier models . Chambered in 12 gauge." + icon = 'mods/persistence/icons/obj/guns/tier2/shotgun_pump.dmi' + max_shells = 7 + fire_delay = 8 + w_class = ITEM_SIZE_HUGE + force = 10 + slot_flags = SLOT_BACK + caliber = CALIBER_12G + origin_tech = "{'combat':4,'engineering':3,'materials':4}" + load_method = SINGLE_CASING + ammo_type = /obj/item/ammo_casing/twelvegauge/slug/advanced + handle_casings = HOLD_CASINGS + one_hand_penalty = 10 + material = /decl/material/solid/metal/titanium + matter = list( + /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/plastic = MATTER_AMOUNT_TRACE, + /decl/material/solid/metal/aluminium = MATTER_AMOUNT_TRACE + ) + +/obj/item/gun/projectile/shotgun/pump/advanced/empty + starts_loaded = FALSE \ No newline at end of file diff --git a/mods/persistence/modules/projectiles/guns/projectile/tier2/smg.dm b/mods/persistence/modules/projectiles/guns/projectile/tier2/smg.dm new file mode 100644 index 00000000000..02bbe4b4554 --- /dev/null +++ b/mods/persistence/modules/projectiles/guns/projectile/tier2/smg.dm @@ -0,0 +1,30 @@ +/obj/item/gun/projectile/automatic/smg/advanced + name = ".22LR 'Junior' SMG" + desc = "Submachine gun of modern design. Somewhat accurate, and boasts both semi-automatic and fully automatic firing modes. Chambered in .22LR." + icon = 'mods/persistence/icons/obj/guns/tier2/smg.dmi' + caliber = CALIBER_22LR + fire_delay = 0 + w_class = ITEM_SIZE_LARGE + slot_flags = SLOT_LOWER_BODY|SLOT_BACK + force = 5 + origin_tech = "{'combat':4,'engineering':4,'materials':3}" + one_hand_penalty = 0 + accuracy = 0 + auto_eject = 0 + magazine_type = /obj/item/ammo_magazine/twentytwolr/advanced + allowed_magazines = /obj/item/ammo_magazine/twentytwolr + material = /decl/material/solid/metal/titanium + matter = list( + /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT, + /decl/material/solid/plastic = MATTER_AMOUNT_TRACE, + /decl/material/solid/metal/aluminium = MATTER_AMOUNT_TRACE + ) + ammo_indicator = FALSE + firemodes = list( + list(mode_name="semi-automatic", burst=1, fire_delay=null, one_hand_penalty=5, burst_accuracy=null, dispersion=null), + list(mode_name="fully-automatic", burst=1, fire_delay=0, burst_delay=1, one_hand_penalty=15, burst_accuracy=list(0,-1,-1,-2,-3), dispersion=list(1.6, 1.6, 2.0, 2.0, 2.4), autofire_enabled=1) + ) + +/obj/item/gun/projectile/automatic/smg/advanced/empty + starts_loaded = FALSE + diff --git a/mods/persistence/modules/projectiles/overrides.dm b/mods/persistence/modules/projectiles/overrides.dm index 5380d7996e0..d64aa983f46 100644 --- a/mods/persistence/modules/projectiles/overrides.dm +++ b/mods/persistence/modules/projectiles/overrides.dm @@ -47,4 +47,22 @@ research_excluded = TRUE /datum/fabricator_recipe/protolathe/ammo/ammo_emp_slug - research_excluded = TRUE \ No newline at end of file + research_excluded = TRUE + +/obj/item/gun/projectile/update_base_icon() // sets streamlined way for mag-fed guns to check they sprites + if(ammo_magazine) + if(ammo_magazine.stored_ammo.len) + icon_state = "[get_world_inventory_state()]-loaded" + else + icon_state = "[get_world_inventory_state()]-empty" + else + icon_state = get_world_inventory_state() + +/obj/item/gun/projectile/pistol/update_base_icon() // pistols have a snowflake method of checking load sprites upstream, so we're making them use the same way as all the other mag-guns via this + if(ammo_magazine) + if(ammo_magazine.stored_ammo.len) + icon_state = "[get_world_inventory_state()]-loaded" + else + icon_state = "[get_world_inventory_state()]-empty" + else + icon_state = get_world_inventory_state() \ No newline at end of file