Skip to content

Commit

Permalink
10x28 changes (#376)
Browse files Browse the repository at this point in the history
Co-authored-by: Doubleumc <[email protected]>
Co-authored-by: private-tristan <[email protected]>
  • Loading branch information
3 people authored Sep 10, 2024
1 parent bb6c359 commit d86de15
Show file tree
Hide file tree
Showing 24 changed files with 234 additions and 214 deletions.
2 changes: 1 addition & 1 deletion code/__DEFINES/guns.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#define AMMO_BAND_COLOR_TRAINING "#FFFFFF"
// Uncommon
#define AMMO_BAND_COLOR_HOLOTARGETING "#276A74"
#define AMMO_BAND_COLOR_RUBBER "#556696"
#define AMMO_BAND_COLOR_RUBBER "#d8d9db"
#define AMMO_BAND_COLOR_HOLLOWPOINT "#BA5D00"
#define AMMO_BAND_COLOR_INCENDIARY "#9C2219"
#define AMMO_BAND_COLOR_IMPACT "#7866FF"
Expand Down
153 changes: 88 additions & 65 deletions code/datums/ammo/bullet/rifle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
//======
*/

//====== 10X24 Pulse Rifle
/datum/ammo/bullet/rifle
name = "rifle bullet"
name = "10x24 bullet"
headshot_state = HEADSHOT_OVERLAY_MEDIUM

damage = 40
penetration = ARMOR_PENETRATION_TIER_1
accurate_range = 16
Expand All @@ -16,25 +16,25 @@
shell_speed = AMMO_SPEED_TIER_6
effective_range_max = 7
damage_falloff = DAMAGE_FALLOFF_TIER_7
max_range = 24 //So S8 users don't have their bullets magically disappaer at 22 tiles (S8 can see 24 tiles)
max_range = 24

/datum/ammo/bullet/rifle/holo_target
name = "holo-targeting rifle bullet"
name = "holo-targeting 10x24 bullet"
damage = 30
var/holo_stacks = 10

/datum/ammo/bullet/rifle/holo_target/on_hit_mob(mob/M, obj/projectile/P)
. = ..()
M.AddComponent(/datum/component/bonus_damage_stack, holo_stacks, world.time)


/datum/ammo/bullet/rifle/holo_target/hunting
name = "holo-targeting hunting bullet"
name = "holo-targeting 10x24 bullet"
damage = 25
holo_stacks = 15

/datum/ammo/bullet/rifle/explosive
name = "explosive rifle bullet"

name = "explosive 10x24 bullet"
damage = 25
accurate_range = 22
accuracy = 0
Expand All @@ -51,15 +51,17 @@
if(T.density)
cell_explosion(T, 80, 40, EXPLOSION_FALLOFF_SHAPE_LINEAR, P.dir, P.weapon_cause_data)


/datum/ammo/bullet/rifle/ap
name = "armor-piercing rifle bullet"
name = "armor-piercing 10x24 bullet"

damage = 30
penetration = ARMOR_PENETRATION_TIER_8


// Basically AP but better. Focused at taking out armour temporarily
/datum/ammo/bullet/rifle/ap/toxin
name = "toxic rifle bullet"
name = "toxic 10x24 bullet"
var/acid_per_hit = 7
var/organic_damage_mult = 3

Expand All @@ -79,7 +81,7 @@


/datum/ammo/bullet/rifle/ap/penetrating
name = "wall-penetrating rifle bullet"
name = "wall-penetrating 10x24 bullet"
shrapnel_chance = 0

damage = 35
Expand All @@ -91,47 +93,93 @@
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_penetrating)
))

/datum/ammo/bullet/rifle/le
name = "armor-shredding rifle bullet"

/datum/ammo/bullet/rifle/le
name = "armor-shredding 10x24 bullet"
damage = 20
penetration = ARMOR_PENETRATION_TIER_4
pen_armor_punch = 5

/datum/ammo/bullet/rifle/heap
name = "high-explosive armor-piercing rifle bullet"

/datum/ammo/bullet/rifle/heap
name = "high-explosive armor-piercing 10x24 bullet"
headshot_state = HEADSHOT_OVERLAY_HEAVY
damage = 55//big damage, doesn't actually blow up because thats stupid.
penetration = ARMOR_PENETRATION_TIER_8
shrapnel_chance = SHRAPNEL_CHANCE_TIER_3

/datum/ammo/bullet/rifle/rubber
name = "rubber rifle bullet"
sound_override = 'sound/weapons/gun_c99.ogg'

damage = 0
/datum/ammo/bullet/rifle/rubber
name = "rubber 10x24 bullet"
damage = 5
stamina_damage = 15
shrapnel_chance = 0

/datum/ammo/bullet/rifle/incendiary
name = "incendiary rifle bullet"
name = "incendiary 10x24 bullet"
damage_type = BURN
shrapnel_chance = 0
flags_ammo_behavior = AMMO_BALLISTIC

damage = 30
shell_speed = AMMO_SPEED_TIER_4
accuracy = -HIT_ACCURACY_TIER_2
damage_falloff = DAMAGE_FALLOFF_TIER_10


/datum/ammo/bullet/rifle/incendiary/set_bullet_traits()
. = ..()
LAZYADD(traits_to_give, list(
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_incendiary)
))

/datum/ammo/bullet/rifle/m4ra
name = "A19 high velocity bullet"
//====== 10X28 Smartgun

/datum/ammo/bullet/rifle/heavy
name = "10x28 bullet"
headshot_state = HEADSHOT_OVERLAY_MEDIUM
damage = 55
penetration = ARMOR_PENETRATION_TIER_3
accuracy = HIT_ACCURACY_TIER_3
shell_speed = AMMO_SPEED_TIER_6
effective_range_max = 10
damage_falloff = DAMAGE_FALLOFF_TIER_9

/datum/ammo/bullet/rifle/heavy/ap
name = "armor-piercing 10x28 bullet"
headshot_state = HEADSHOT_OVERLAY_MEDIUM
damage = 40
penetration = ARMOR_PENETRATION_TIER_8

/datum/ammo/bullet/rifle/heavy/heap
headshot_state = HEADSHOT_OVERLAY_HEAVY
name = "high explosive armor-piercing 10x28 bullet"
headshot_state = HEADSHOT_OVERLAY_MEDIUM
damage = 70
penetration = ARMOR_PENETRATION_TIER_10
shrapnel_chance = SHRAPNEL_CHANCE_TIER_3

/datum/ammo/bullet/rifle/heavy/du
name = "depleted uranium 10x28 bullet"

damage = 60
accurate_range_min = 4
penetration = ARMOR_PENETRATION_TIER_5
scatter = -SCATTER_AMOUNT_TIER_8

/datum/ammo/bullet/rifle/heavy/du/set_bullet_traits()
. = ..()
LAZYADD(traits_to_give, list(
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_penetrating)
))

/datum/ammo/bullet/rifle/heavy/du/on_hit_mob(mob/target, obj/projectile/fired_proj)
target.AddComponent(/datum/component/toxic_buildup)
knockback(target, fired_proj, max_range = 2)

// Custom Specialist M4RA rounds

/datum/ammo/bullet/rifle/heavy/spec
name = "high velocity 10x28 bullet"
shrapnel_chance = 0
damage_falloff = 0
flags_ammo_behavior = AMMO_BALLISTIC
Expand All @@ -142,8 +190,8 @@
penetration= ARMOR_PENETRATION_TIER_7
shell_speed = AMMO_SPEED_TIER_6

/datum/ammo/bullet/rifle/m4ra/incendiary
name = "A19 high velocity incendiary bullet"
/datum/ammo/bullet/rifle/heavy/spec/incendiary
name = "high velocity incendiary 10x28 bullet"
flags_ammo_behavior = AMMO_BALLISTIC

damage = 40
Expand All @@ -152,14 +200,14 @@
penetration= ARMOR_PENETRATION_TIER_5
shell_speed = AMMO_SPEED_TIER_6

/datum/ammo/bullet/rifle/m4ra/incendiary/set_bullet_traits()
/datum/ammo/bullet/rifle/heavy/spec/incendiary/set_bullet_traits()
. = ..()
LAZYADD(traits_to_give, list(
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_incendiary)
))

/datum/ammo/bullet/rifle/m4ra/impact
name = "A19 high velocity impact bullet"
/datum/ammo/bullet/rifle/heavy/spec/impact
name = "high velocity impact 10x28 bullet"
flags_ammo_behavior = AMMO_BALLISTIC

damage = 40
Expand All @@ -168,10 +216,10 @@
penetration = ARMOR_PENETRATION_TIER_10
shell_speed = AMMO_SPEED_TIER_6

/datum/ammo/bullet/rifle/m4ra/impact/on_hit_mob(mob/M, obj/projectile/P)
/datum/ammo/bullet/rifle/heavy/spec/impact/on_hit_mob(mob/M, obj/projectile/P)
knockback(M, P, 32) // Can knockback basically at max range

/datum/ammo/bullet/rifle/m4ra/impact/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile)
/datum/ammo/bullet/rifle/heavy/spec/impact/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile)
if(iscarbonsizexeno(living_mob))
var/mob/living/carbon/xenomorph/target = living_mob
to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!"))
Expand All @@ -186,45 +234,20 @@
to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!"))
living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET)

//====== 10x31 Type 71

// PvE M4RA rounds - pens&does toxin to whomever gets hit by it
/datum/ammo/bullet/rifle/m4ra/du
name = "depleted uranium bullet"
/datum/ammo/bullet/rifle/heavy/upp
name = "10x31 bullet"

damage = 60
penetration = ARMOR_PENETRATION_TIER_5
/datum/ammo/bullet/rifle/heavy/ap/upp
name = "armor-piercing 10x31 bullet"

/datum/ammo/bullet/rifle/m4ra/du/set_bullet_traits()
. = ..()
LAZYADD(traits_to_give, list(
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_penetrating)
))

/datum/ammo/bullet/rifle/m4ra/du/on_hit_mob(mob/target, obj/projectile/fired_proj)
target.AddComponent(/datum/component/toxic_buildup)
knockback(target, fired_proj, max_range = 2)
/datum/ammo/bullet/rifle/heavy/heap/upp
name = "high-explosive armor-piercing 10x31 bullet"

// Misc

/datum/ammo/bullet/rifle/mar40
name = "heavy rifle bullet"

damage = 55

/datum/ammo/bullet/rifle/type71
name = "heavy rifle bullet"

damage = 55
penetration = ARMOR_PENETRATION_TIER_3

/datum/ammo/bullet/rifle/type71/ap
name = "heavy armor-piercing rifle bullet"

damage = 40
penetration = ARMOR_PENETRATION_TIER_10

/datum/ammo/bullet/rifle/type71/heap
name = "heavy high-explosive armor-piercing rifle bullet"

headshot_state = HEADSHOT_OVERLAY_HEAVY
damage = 65
penetration = ARMOR_PENETRATION_TIER_10
name = "7.62x39mm rifle bullet"
damage = 45
penetration = ARMOR_PENETRATION_TIER_2
8 changes: 4 additions & 4 deletions code/datums/factions/upp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,8 @@

list("PRIMARY AMMUNITION", 0, null, null, null),
list("Type 64 Helical Magazine (7.62x19mm)", 5, /obj/item/ammo_magazine/smg/bizon, null, VENDOR_ITEM_REGULAR),
list("Type 71 AP Magazine (5.45x39mm)", 15, /obj/item/ammo_magazine/rifle/type71/ap, null, VENDOR_ITEM_REGULAR),
list("Type 71 Magazine (5.45x39mm)", 5, /obj/item/ammo_magazine/rifle/type71, null, VENDOR_ITEM_REGULAR),
list("Type 71 AP Magazine (10x31mm)", 15, /obj/item/ammo_magazine/rifle/type71/ap, null, VENDOR_ITEM_REGULAR),
list("Type 71 Magazine (10x31mm)", 5, /obj/item/ammo_magazine/rifle/type71, null, VENDOR_ITEM_REGULAR),

list("SIDEARMS", 0, null, null, null),
list("Type 73 Pistol", 25, /obj/item/weapon/gun/pistol/t73, null, VENDOR_ITEM_REGULAR),
Expand Down Expand Up @@ -137,8 +137,8 @@

list("PRIMARY AMMUNITION", -1, null, null),
list("Type 64 Helical Magazine (7.62x19mm)", 60, /obj/item/ammo_magazine/smg/bizon, VENDOR_ITEM_REGULAR),
list("Type 71 AP Magazine (5.45x39mm)", 60, /obj/item/ammo_magazine/rifle/type71/ap, VENDOR_ITEM_REGULAR),
list("Type 71 Magazine (5.45x39mm)", 60, /obj/item/ammo_magazine/rifle/type71, VENDOR_ITEM_REGULAR),
list("Type 71 AP Magazine (10x31mm)", 60, /obj/item/ammo_magazine/rifle/type71/ap, VENDOR_ITEM_REGULAR),
list("Type 71 Magazine (10x31mm)", 60, /obj/item/ammo_magazine/rifle/type71, VENDOR_ITEM_REGULAR),

list("SIDEARMS", -1, null, null),
list("Type 73 Pistol", 20, /obj/item/weapon/gun/pistol/t73, VENDOR_ITEM_REGULAR),
Expand Down
4 changes: 2 additions & 2 deletions code/game/objects/items/stacks/sheets/sheet_types.dm
Original file line number Diff line number Diff line change
Expand Up @@ -293,8 +293,8 @@ var/global/list/datum/stack_recipe/cardboard_recipes = list ( \
new/datum/stack_recipe("empty magazine box (Type71)", /obj/item/ammo_box/magazine/type71/empty), \
new/datum/stack_recipe("empty magazine box (Type71 AP)", /obj/item/ammo_box/magazine/type71/ap/empty), \
null, \
new/datum/stack_recipe("empty rifle ammo box (5.45x39mm)", /obj/item/ammo_box/rounds/type71/empty), \
new/datum/stack_recipe("empty rifle ammo box (5.45x39mm AP)", /obj/item/ammo_box/rounds/type71/ap/empty), \
new/datum/stack_recipe("empty rifle ammo box (10x31mm)", /obj/item/ammo_box/rounds/type71/empty), \
new/datum/stack_recipe("empty rifle ammo box (10x31mm AP)", /obj/item/ammo_box/rounds/type71/ap/empty), \


)) \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,10 +129,6 @@
new /obj/item/storage/belt/gun/smartgunner/garrow(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/clothing/glasses/night/m56_goggles/no_nightvision(src)

/obj/structure/closet/secure_closet/smartgunner_forecon
Expand All @@ -148,10 +144,6 @@
new /obj/item/storage/belt/gun/smartgunner/garrow(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/clothing/glasses/night/m56_goggles/no_nightvision(src)

/obj/structure/closet/cryo/Initialize()
Expand Down
Loading

0 comments on commit d86de15

Please sign in to comment.