Skip to content

Commit

Permalink
[MIRROR] New non lethal gun - P207 + Fixes to the pepperball gun logi…
Browse files Browse the repository at this point in the history
…stics (#5246)

* New non lethal gun - P207 + Fixes to the pepperball gun logistics (#4658)

* Initial Commit

* Fixes the Light and Manufacturer, and adds Trelus as coauthor

Co-Authored-By: Trelus <[email protected]>

* Fixed typos and review errors!

* adds the base icon to the dmi's to stop some issues with CI

* New sprites by the spriter, should fix the ongoing issues

* doing a workaround because git can be funny with filename case

* minor adjustments, review and unified name to type207 so future generations dont hate me.

* Changed name due to creator request and fixed a typo before extramrdo notes it

* fatfingered ctrl z before ctrl s

* adjust decay on bounce to 10% per bounce

* Update modular_nova/modules/modular_weapons/code/company_and_or_faction_based/bolt_fabrications/ammo.dm

Co-authored-by: Bloop <[email protected]>

* Update modular_nova/modules/modular_weapons/code/company_and_or_faction_based/bolt_fabrications/ammo.dm

Co-authored-by: Bloop <[email protected]>

* Update modular_nova/modules/modular_weapons/code/company_and_or_faction_based/bolt_fabrications/ammo.dm

Co-authored-by: Bloop <[email protected]>

* Update modular_nova/modules/modular_weapons/code/company_and_or_faction_based/bolt_fabrications/ammo.dm

Co-authored-by: Bloop <[email protected]>

* Update modular_nova/modules/modular_weapons/code/company_and_or_faction_based/bolt_fabrications/magazine.dm

Co-authored-by: Bloop <[email protected]>

* Update modular_nova/modules/modular_weapons/code/company_and_or_faction_based/bolt_fabrications/magazine.dm

Co-authored-by: Bloop <[email protected]>

* lower case modular ammo boxes

* Revert "lower case modular ammo boxes"

This reverts commit b4fce35efdebdbec6ec25a493930df3c21c1d447.

---------

Co-authored-by: Trelus <[email protected]>
Co-authored-by: Bloop <[email protected]>

* [MIRROR] New non lethal gun - P207 + Fixes to the pepperball gun logistics

---------

Co-authored-by: OrbisAnima <[email protected]>
Co-authored-by: Trelus <[email protected]>
Co-authored-by: Bloop <[email protected]>
Co-authored-by: StealsThePRs <[email protected]>
  • Loading branch information
5 people authored Dec 18, 2024
1 parent 80078d5 commit aa2094c
Show file tree
Hide file tree
Showing 17 changed files with 157 additions and 4 deletions.
6 changes: 5 additions & 1 deletion code/__DEFINES/~nova_defines/projectiles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,8 @@
#define CALIBER_585TRAPPISTE ".585 Trappiste"

/// Caliber used by the pepperball gun
#define CALIBER_PEPPERBALL "pepperball"
#define CALIBER_PEPPERBALL "Pepper Ball"

/// Caliber used by the kinetic gun
#define CALIBER_KINETICBALL "Kinetic Ball"

Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,10 @@
item_type = /obj/item/gun/ballistic/automatic/pistol/sol
cost = PAYCHECK_COMMAND * 4

/datum/armament_entry/company_import/sol_defense/sidearm/type207
item_type = /obj/item/gun/ballistic/automatic/pistol/type207
cost = PAYCHECK_COMMAND * 4

/datum/armament_entry/company_import/sol_defense/sidearm/skild
item_type = /obj/item/gun/ballistic/automatic/pistol/trappiste
cost = PAYCHECK_COMMAND * 6
Expand Down Expand Up @@ -158,6 +162,9 @@
/datum/armament_entry/company_import/sol_defense/magazines/sol_rifle_short
item_type = /obj/item/ammo_box/magazine/c40sol_rifle/starts_empty

/datum/armament_entry/company_import/sol_defense/magazines/kineticballs
item_type = /obj/item/ammo_box/magazine/kineticballs/starts_empty

/datum/armament_entry/company_import/sol_defense/magazines/sol_rifle_standard
item_type = /obj/item/ammo_box/magazine/c40sol_rifle/standard/starts_empty
cost = PAYCHECK_COMMAND
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,9 @@
/datum/armament_entry/company_import/vitezstvi/ammo_boxes/trappiste585_hollowpoint
item_type = /obj/item/ammo_box/c585trappiste/hollowpoint

/datum/armament_entry/company_import/vitezstvi/ammo_boxes/kineticballs
item_type = /obj/item/ammo_box/advanced/kineticballs

// Revolver speedloaders

/datum/armament_entry/company_import/vitezstvi/speedloader
Expand Down
8 changes: 8 additions & 0 deletions modular_nova/modules/modular_vending/code/security.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,12 @@
products_nova = list(
/obj/item/storage/pouch/ammo = 2,
/obj/item/storage/barricade = 4,
/obj/item/ammo_box/magazine/kineticballs = 10,
/obj/item/ammo_box/advanced/kineticballs = 5,
/obj/item/ammo_box/magazine/pepperball = 4,
/obj/item/ammo_box/advanced/pepperballs = 2,
)
premium_nova = list(
/obj/item/gun/ballistic/automatic/pistol/type207 = 5,
/obj/item/gun/ballistic/automatic/pistol/pepperball = 2,
)
6 changes: 6 additions & 0 deletions modular_nova/modules/modular_weapons/code/autolathe_design.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/datum/techweb_node/basic_arms/New()
design_ids += list(
"kineticballs",
"pepperballs",
)
return ..()
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/obj/projectile/bullet/kineticball
name = "kinetic orb"
icon = 'modular_nova/modules/modular_weapons/icons/obj/company_and_or_faction_based/bolt_fabrications/riotrubberbullet.dmi'
icon_state = "riotrubberbullet"
// Used the hive shot stats, with 0 colateral damage, the advantage is that its not weak against armor, and its supposed to bounce a lot.
damage = 0
stamina = 30
shrapnel_type = null
sharpness = NONE
embed_data = null
impact_effect_type = /obj/effect/temp_visual/impact_effect
ricochet_incidence_leeway = 0
ricochets_max = 5
ricochet_chance = 200
ricochet_auto_aim_angle = 60
ricochet_auto_aim_range = 8
ricochet_decay_damage = 0.9
ricochet_decay_chance = 1
wound_bonus = -30
bare_wound_bonus = -10

/obj/item/ammo_casing/kineticball
name = "kinetic ball casing"
desc = "A kinetic ball casing."
icon = 'modular_nova/modules/modular_weapons/icons/obj/company_and_or_faction_based/bolt_fabrications/stingtop.dmi'
icon_state = "stingstop"
ammo_stack_type = /obj/item/ammo_box/magazine/ammo_stack/kineticball
caliber = CALIBER_KINETICBALL
projectile_type = /obj/projectile/bullet/kineticball
harmful = FALSE

/obj/item/ammo_box/magazine/ammo_stack/kineticball
name = "kinetic ball casings"
desc = "A stack of kinetic ball cartridges."
caliber = CALIBER_KINETICBALL
ammo_type = /obj/item/ammo_casing/kineticball
max_ammo = 9
casing_x_positions = list(
-7,
-5,
-3,
-1,
0,
1,
3,
5,
7,
)
casing_y_padding = 6
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/obj/item/ammo_box/magazine/kineticballs
name = "kinetic balls pistol magazine"
desc = "A gun magazine filled with balls. The kind that makes makes people stop, holds eight rounds."
icon = 'modular_nova/modules/modular_weapons/icons/obj/company_and_or_faction_based/bolt_fabrications/type207magazine.dmi'
icon_state = "type207mag"
ammo_type = /obj/item/ammo_casing/kineticball
caliber = CALIBER_KINETICBALL
max_ammo = 8
custom_price = PAYCHECK_CREW * 2
multiple_sprites = AMMO_BOX_FULL_EMPTY

/obj/item/ammo_box/magazine/kineticballs/starts_empty
start_empty = TRUE

/datum/design/kineticballs
name = "Ammo Box (Kinetic Balls)"
id = "kineticballs"
build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE
materials = list(
/datum/material/iron = SHEET_MATERIAL_AMOUNT * 3,
/datum/material/plastic = SHEET_MATERIAL_AMOUNT * 3,
)
build_path = /obj/item/ammo_box/advanced/kineticballs
category = list(
RND_CATEGORY_INITIAL,
RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO,
)
departmental_flags = DEPARTMENT_BITFLAG_SECURITY

/obj/item/ammo_box/advanced/kineticballs
name = "ammo box (kinetic balls)"
icon = 'modular_nova/modules/modular_weapons/icons/obj/company_and_or_faction_based/bolt_fabrications/stingstopbox.dmi'
icon_state = "stingstopbox"
desc = "A box of kinetic balls rounds, holds twenty seven rounds."
custom_price = PAYCHECK_CREW * 2
ammo_type = /obj/item/ammo_casing/kineticball
custom_materials = list(
/datum/material/iron = SHEET_MATERIAL_AMOUNT * 2,
/datum/material/plastic = SHEET_MATERIAL_AMOUNT * 2,
)
max_ammo = 27
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/obj/item/gun/ballistic/automatic/pistol/type207
name = "\improper Type 207 Kinetic Pistol"
desc = "A completly non lethal sidearm used by Sol Fed Peacekeeping forces. It uses kinetic rounds to temporarily disable adversaries, it's also a popular weapon for trick shot competitions."
icon = 'modular_nova/modules/modular_weapons/icons/obj/company_and_or_faction_based/bolt_fabrications/type207.dmi'
icon_state = "type207"
lefthand_file = 'modular_nova/modules/modular_weapons/icons/mob/company_and_or_faction_based/bolt_fabrications/guns_lefthand.dmi'
righthand_file = 'modular_nova/modules/modular_weapons/icons/mob/company_and_or_faction_based/bolt_fabrications/guns_righthand.dmi'
inhand_icon_state = "type207"
w_class = WEIGHT_CLASS_SMALL
accepted_magazine_type = /obj/item/ammo_box/magazine/kineticballs
can_suppress = FALSE
fire_delay = 0.3 SECONDS
fire_sound = 'sound/effects/pop_expl.ogg'
rack_sound = 'sound/items/weapons/gun/pistol/rack.ogg'
lock_back_sound = 'sound/items/weapons/gun/pistol/slide_lock.ogg'
bolt_drop_sound = 'sound/items/weapons/gun/pistol/slide_drop.ogg'
fire_sound_volume = 70
custom_premium_price = PAYCHECK_COMMAND * 5

/obj/item/gun/ballistic/automatic/pistol/type207/give_manufacturer_examine()
AddElement(/datum/element/manufacturer_examine, COMPANY_BOLT)

/obj/item/gun/ballistic/automatic/pistol/type207/add_seclight_point()
AddComponent(/datum/component/seclite_attachable, \
starting_light = new /obj/item/flashlight/seclite(src), \
is_light_removable = FALSE, \
)
10 changes: 7 additions & 3 deletions modular_nova/modules/modular_weapons/code/pepperball_gun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
icon = 'modular_nova/modules/modular_weapons/icons/obj/pepperball/pepperball.dmi'
icon_state = "peppergun"
w_class = WEIGHT_CLASS_SMALL
custom_premium_price = PAYCHECK_COMMAND * 4
accepted_magazine_type = /obj/item/ammo_box/magazine/pepperball
can_suppress = FALSE
fire_sound = 'sound/effects/pop_expl.ogg'
Expand All @@ -20,11 +21,12 @@

/obj/item/ammo_box/magazine/pepperball
name = "pistol magazine (pepperball)"
desc = "A gun magazine filled with balls."
desc = "A gun magazine filled with balls, the kind that make your face itch. Holds eight rounds."
icon = 'modular_nova/modules/modular_weapons/icons/obj/pepperball/pepperball.dmi'
icon_state = "pepperball"
ammo_type = /obj/item/ammo_casing/pepperball
caliber = CALIBER_PEPPERBALL
custom_price = PAYCHECK_CREW * 2
max_ammo = 8
multiple_sprites = AMMO_BOX_FULL_EMPTY

Expand Down Expand Up @@ -59,7 +61,7 @@
/datum/design/pepperballs
name = "Pepperball Ammo Box"
id = "pepperballs"
build_type = AUTOLATHE | PROTOLATHE
build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE
materials = list(
/datum/material/iron = SHEET_MATERIAL_AMOUNT * 3,
)
Expand All @@ -74,8 +76,10 @@
name = "pepperball ammo box"
icon = 'modular_nova/modules/modular_weapons/icons/obj/pepperball/ammoboxes.dmi'
icon_state = "box10x24"
desc = "A box of pepper ball rounds, holds eighteen rounds."
custom_price = PAYCHECK_CREW * 2
ammo_type = /obj/item/ammo_casing/pepperball
custom_materials = list(
/datum/material/iron = SHEET_MATERIAL_AMOUNT * 3,
)
max_ammo = 15
max_ammo = 18
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
4 changes: 4 additions & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -8248,6 +8248,7 @@
#include "modular_nova\modules\modular_vending\code\tool.dm"
#include "modular_nova\modules\modular_vending\code\vending.dm"
#include "modular_nova\modules\modular_vending\code\wardrobes.dm"
#include "modular_nova\modules\modular_weapons\code\autolathe_design.dm"
#include "modular_nova\modules\modular_weapons\code\conversion_kits.dm"
#include "modular_nova\modules\modular_weapons\code\gun_launches_little_guys_element.dm"
#include "modular_nova\modules\modular_weapons\code\gun_racks.dm"
Expand All @@ -8257,6 +8258,9 @@
#include "modular_nova\modules\modular_weapons\code\pepperball_gun.dm"
#include "modular_nova\modules\modular_weapons\code\cargo_crates\armory_guns.dm"
#include "modular_nova\modules\modular_weapons\code\cargo_crates\surplus_crates.dm"
#include "modular_nova\modules\modular_weapons\code\company_and_or_faction_based\bolt_fabrications\ammo.dm"
#include "modular_nova\modules\modular_weapons\code\company_and_or_faction_based\bolt_fabrications\magazine.dm"
#include "modular_nova\modules\modular_weapons\code\company_and_or_faction_based\bolt_fabrications\pistol.dm"
#include "modular_nova\modules\modular_weapons\code\company_and_or_faction_based\carwo_defense_systems\advert.dm"
#include "modular_nova\modules\modular_weapons\code\company_and_or_faction_based\carwo_defense_systems\grenade_launcher.dm"
#include "modular_nova\modules\modular_weapons\code\company_and_or_faction_based\carwo_defense_systems\gunsets.dm"
Expand Down

0 comments on commit aa2094c

Please sign in to comment.