Skip to content

Commit

Permalink
Merge pull request #5868 from Trilbyspaceclone/duty_buff
Browse files Browse the repository at this point in the history
Duty retool and WP fix
  • Loading branch information
Trilbyspaceclone authored Nov 25, 2024
2 parents 0bf622f + 4a3b7b7 commit 051286d
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 6 deletions.
2 changes: 1 addition & 1 deletion code/game/objects/effects/effect_system.dm
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@ steam.start() -- spawns the effect
name = "white phosphorous smoke"

/obj/effect/effect/smoke/white_phosphorous/affect(mob/living/carbon/M)
M.fire_stacks += 5
M.adjust_fire_stacks(5)
M.fire_act()

/////////////////////////////////////////////
Expand Down
2 changes: 2 additions & 0 deletions code/game/objects/objs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,8 @@
/obj/proc/add_projectile_penetration(newmult)
armor_divisor = initial(armor_divisor) + newmult

/obj/proc/wound_mult_adder(newmult)

/obj/proc/multiply_pierce_penetration(newmult)

/obj/proc/multiply_projectile_step_delay(newmult)
Expand Down
7 changes: 6 additions & 1 deletion code/modules/projectiles/gun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@
var/auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg' //The sound that places when a mag is dropped

var/damage_multiplier = 1 //Multiplies damage of projectiles fired from this gun
var/wound_mult_addition = 0 //Directly adds the value to the projectiles wound scaling.

var/penetration_multiplier = 1 //Multiplies armor penetration of projectiles fired from this gun
var/pierce_multiplier = 0 //ADDITIVE wall penetration to projectiles fired from this gun
var/extra_damage_mult_scoped = 0 //Adds even more damage mulitplier, when scopped so snipers can sniper
Expand Down Expand Up @@ -557,6 +559,9 @@ For the sake of consistency, I suggest always rounding up on even values when ap
if(extra_proj_wallbangmult)
projectile.multiply_pierce_penetration(extra_proj_wallbangmult)

if(wound_mult_addition)
projectile.wound_mult_adder(wound_mult_addition)

projectile.multiply_pierce_penetration(pierce_multiplier)

if(extra_proj_stepdelaymult)
Expand Down Expand Up @@ -1294,7 +1299,7 @@ For the sake of consistency, I suggest always rounding up on even values when ap
data += list(list("name" = "Overall Damage", "type" = "String", "value" = (P.get_total_damage() * damage_multiplier) + get_total_damage_adjust()))
data += list(list("name" = "Armor Divisor", "type" = "String", "value" = P.armor_divisor * penetration_multiplier))
data += list(list("name" = "Overall Pain", "type" = "String", "value" = (P.get_pain_damage()) * proj_agony_multiplier))
data += list(list("name" = "Wound Scale", "type" = "String", "value" = P.wounding_mult))
data += list(list("name" = "Wound Scale", "type" = "String", "value" = P.wounding_mult + wound_mult_addition))
data += list(list("name" = "Recoil Multiplier", "type" = "String", "value" = P.recoil))

return data
Expand Down
9 changes: 5 additions & 4 deletions code/modules/projectiles/guns/projectile/automatic/duty.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
name = "\"Duty\" carbine"
desc = "The Duty is a carbine designed by Marshal and Blackshield gunsmiths \
to supplement the ancient pattern boltguns as a standard issue rifle of Blackshield, \
having the stopping power of the Kardashev-Mosin but with a faster rate of fire and less recoil. \
boasting a faster rate of fire and more recoil control over other Blackshield weapons. \
The carbine is modernized with a 6,5mm caliber and a light polymer body balanced with heavy steel and plasteel. \
A mass-produced rifle, it has a bayonet for melee engagements \
and it can be reloaded with a stripper clip due to the adapter guide installed on the receiver. \
Overall a solid battle rifle for a Blackshield trooper."
The Duty has a specialized role in taking down groups of lightly armored personnel while still being a solid battle rifle for a Blackshield trooper."
icon = 'icons/obj/guns/projectile/duty.dmi'
icon_state = "duty"
item_state = "duty"
Expand All @@ -16,8 +16,9 @@
load_method = SINGLE_CASING|SPEEDLOADER|MAGAZINE
matter = list(MATERIAL_PLASTEEL = 25, MATERIAL_PLASTIC = 25)
price_tag = 900
penetration_multiplier = 1.2
damage_multiplier = 1.2
penetration_multiplier = 0.8
wound_mult_addition = 0.4
damage_multiplier = 1
init_recoil = CARBINE_RECOIL(1.0)
fire_sound = 'sound/weapons/guns/fire/carbine.ogg'
force = WEAPON_FORCE_ROBUST
Expand Down
10 changes: 10 additions & 0 deletions code/modules/projectiles/guns/projectile/automatic/solmarine.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@
saw_off = TRUE
sawn = /obj/item/gun/projectile/automatic/omnirifle/solmarine/sawn
serial_type = "Sol Fed"
wield_delay = 1 SECOND
wield_delay_factor = 0.3 // 30 vig for insta wield


var/obj/item/gun/projectile/automatic/underslung/shotgun_3/shotgun
var/shotgun_haver = TRUE
Expand Down Expand Up @@ -93,6 +96,8 @@
)

shotgun_haver = FALSE
wield_delay = 0.1 SECOND
wield_delay_factor = 0.1 // 10 vig for insta wield

/obj/item/gun/projectile/automatic/omnirifle/solmarine/shotgunless
name = "\"Saturnian\" carbine"
Expand All @@ -112,6 +117,8 @@
BURST_3_ROUND
)
gun_parts = list(/obj/item/part/gun/frame/solmarine = 1, /obj/item/part/gun/grip/black = 1, /obj/item/part/gun/mechanism/autorifle = 1, /obj/item/part/gun/barrel/srifle = 1)
wield_delay = 0.2 SECOND
wield_delay_factor = 0.2 // 20 vig for insta wield

/obj/item/gun/projectile/automatic/omnirifle/solmarine/shotgunless/update_icon()
..()
Expand Down Expand Up @@ -154,6 +161,9 @@
SEMI_AUTO_NODELAY,
BURST_3_ROUND
)
wield_delay = 0.1 SECOND
wield_delay_factor = 0.01 // 1 vig for insta wield


/obj/item/part/gun/frame/solmarine
name = "Solmarine frame"
Expand Down
3 changes: 3 additions & 0 deletions code/modules/projectiles/projectile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,9 @@
/obj/item/projectile/add_projectile_penetration(newmult)
armor_divisor = initial(armor_divisor) + newmult

/obj/item/projectile/wound_mult_adder(newadd)
wounding_mult += newadd

/obj/item/projectile/multiply_pierce_penetration(newmult)
penetrating = initial(penetrating) + newmult

Expand Down

0 comments on commit 051286d

Please sign in to comment.