From 3aaaad7c955a90431716e57d693f513e5a577095 Mon Sep 17 00:00:00 2001 From: diegoflores31 Date: Tue, 12 Nov 2024 21:57:52 -0500 Subject: [PATCH 1/5] shrap --- code/datums/ammo/rocket.dm | 1 + code/datums/ammo/shrapnel.dm | 19 ++++++------------- code/game/objects/items/explosives/warhead.dm | 2 ++ 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/code/datums/ammo/rocket.dm b/code/datums/ammo/rocket.dm index f6e37abd24f5..ffd28a132dea 100644 --- a/code/datums/ammo/rocket.dm +++ b/code/datums/ammo/rocket.dm @@ -288,6 +288,7 @@ if(rocket.fuel && rocket.fuel.reagents.get_reagent_amount(rocket.fuel_type) >= rocket.fuel_requirement) rocket.forceMove(projectile.loc) rocket.warhead.cause_data = projectile.weapon_cause_data + rocket.warhead.dir = get_dir(launcher, atom) rocket.warhead.prime() qdel(rocket) smoke.set_up(1, get_turf(atom)) diff --git a/code/datums/ammo/shrapnel.dm b/code/datums/ammo/shrapnel.dm index 1db9f7b61631..6680ba78340b 100644 --- a/code/datums/ammo/shrapnel.dm +++ b/code/datums/ammo/shrapnel.dm @@ -6,23 +6,18 @@ /datum/ammo/bullet/shrapnel name = "shrapnel" icon_state = "buckshot" - accurate_range_min = 5 flags_ammo_behavior = AMMO_BALLISTIC|AMMO_STOPPED_BY_COVER - - accuracy = HIT_ACCURACY_TIER_3 - accurate_range = 32 - max_range = 8 - damage = 25 - damage_var_low = -PROJECTILE_VARIANCE_TIER_6 - damage_var_high = PROJECTILE_VARIANCE_TIER_6 - penetration = ARMOR_PENETRATION_TIER_4 + accuracy = HIT_ACCURACY_TIER_6 + accurate_range = 7 + max_range = 14 // 2 screens wide + damage = 30 + penetration = ARMOR_PENETRATION_TIER_2 shell_speed = AMMO_SPEED_TIER_2 - shrapnel_chance = 5 /datum/ammo/bullet/shrapnel/on_hit_obj(obj/O, obj/projectile/P) if(istype(O, /obj/structure/barricade)) var/obj/structure/barricade/B = O - B.health -= rand(2, 5) + B.health -= rand(5, 10) B.update_health(1) /datum/ammo/bullet/shrapnel/rubber @@ -59,7 +54,6 @@ name = "flaming shrapnel" icon_state = "beanbag" // looks suprisingly a lot like flaming shrapnel chunks flags_ammo_behavior = AMMO_STOPPED_BY_COVER - shell_speed = AMMO_SPEED_TIER_1 damage = 20 penetration = ARMOR_PENETRATION_TIER_4 @@ -73,7 +67,6 @@ /datum/ammo/bullet/shrapnel/metal name = "metal shrapnel" icon_state = "shrapnelshot_bit" - flags_ammo_behavior = AMMO_STOPPED_BY_COVER|AMMO_BALLISTIC shell_speed = AMMO_SPEED_TIER_1 damage = 30 shrapnel_chance = 15 diff --git a/code/game/objects/items/explosives/warhead.dm b/code/game/objects/items/explosives/warhead.dm index e026e635fad7..8f55f2448acd 100644 --- a/code/game/objects/items/explosives/warhead.dm +++ b/code/game/objects/items/explosives/warhead.dm @@ -11,6 +11,8 @@ icon_state = "warhead_rocket" max_container_volume = 210 allow_star_shape = FALSE + use_dir = TRUE + angle = 90 matter = list("metal" = 11250) //3 sheets reaction_limits = list( "max_ex_power" = 220, "base_ex_falloff" = 160,"max_ex_shards" = 80, "max_fire_rad" = 4, "max_fire_int" = 45, "max_fire_dur" = 48, From 65cac5d02f14d84f76797c0ac1fb3198808b37a8 Mon Sep 17 00:00:00 2001 From: diegoflores31 Date: Wed, 13 Nov 2024 21:15:34 -0500 Subject: [PATCH 2/5] a --- code/datums/ammo/shrapnel.dm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/code/datums/ammo/shrapnel.dm b/code/datums/ammo/shrapnel.dm index 6680ba78340b..1ce807bcd72f 100644 --- a/code/datums/ammo/shrapnel.dm +++ b/code/datums/ammo/shrapnel.dm @@ -7,9 +7,9 @@ name = "shrapnel" icon_state = "buckshot" flags_ammo_behavior = AMMO_BALLISTIC|AMMO_STOPPED_BY_COVER - accuracy = HIT_ACCURACY_TIER_6 + accuracy = HIT_ACCURACY_TIER_4 accurate_range = 7 - max_range = 14 // 2 screens wide + max_range = 10 damage = 30 penetration = ARMOR_PENETRATION_TIER_2 shell_speed = AMMO_SPEED_TIER_2 @@ -20,6 +20,11 @@ B.health -= rand(5, 10) B.update_health(1) +/datum/ammo/bullet/shrapnel/on_hit_mob(mob/living/carbon/xeno, obj/projectile/projectile, mob/user) + if(isxeno(xeno)) + xeno.apply_effect(4, SLOW) // multiple hits dont stack they just renew the duration + xeno.apply_armoured_damage(damage * 0.6, ARMOR_BULLET, BRUTE) // xenos have a lot of HP + /datum/ammo/bullet/shrapnel/rubber name = "rubber pellets" icon_state = "rubber_pellets" @@ -34,7 +39,7 @@ name = ".22 hornet round" icon_state = "hornet_round" flags_ammo_behavior = AMMO_BALLISTIC - damage = 8 + damage = 10 shrapnel_chance = 0 shell_speed = AMMO_SPEED_TIER_3//she fast af boi penetration = ARMOR_PENETRATION_TIER_5 @@ -55,8 +60,8 @@ icon_state = "beanbag" // looks suprisingly a lot like flaming shrapnel chunks flags_ammo_behavior = AMMO_STOPPED_BY_COVER shell_speed = AMMO_SPEED_TIER_1 - damage = 20 - penetration = ARMOR_PENETRATION_TIER_4 + damage = 30 + penetration = ARMOR_PENETRATION_TIER_10 //molten metal pierces your armor /datum/ammo/bullet/shrapnel/incendiary/set_bullet_traits() . = ..() From 0ea34f9299fe7c5760808da3a793aa4227c4c2c9 Mon Sep 17 00:00:00 2001 From: diegoflores31 Date: Wed, 13 Nov 2024 21:18:18 -0500 Subject: [PATCH 3/5] a --- code/datums/ammo/shrapnel.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/ammo/shrapnel.dm b/code/datums/ammo/shrapnel.dm index 1ce807bcd72f..edd2459e3d10 100644 --- a/code/datums/ammo/shrapnel.dm +++ b/code/datums/ammo/shrapnel.dm @@ -23,7 +23,7 @@ /datum/ammo/bullet/shrapnel/on_hit_mob(mob/living/carbon/xeno, obj/projectile/projectile, mob/user) if(isxeno(xeno)) xeno.apply_effect(4, SLOW) // multiple hits dont stack they just renew the duration - xeno.apply_armoured_damage(damage * 0.6, ARMOR_BULLET, BRUTE) // xenos have a lot of HP + xeno.apply_armoured_damage(damage, ARMOR_BULLET, BRUTE) // xenos have a lot of HP /datum/ammo/bullet/shrapnel/rubber name = "rubber pellets" From 0c105703342d4f7ff9f70244df440cba33577fb7 Mon Sep 17 00:00:00 2001 From: diegoflores31 Date: Wed, 13 Nov 2024 21:20:42 -0500 Subject: [PATCH 4/5] a --- code/datums/ammo/shrapnel.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/ammo/shrapnel.dm b/code/datums/ammo/shrapnel.dm index edd2459e3d10..c0693441d960 100644 --- a/code/datums/ammo/shrapnel.dm +++ b/code/datums/ammo/shrapnel.dm @@ -23,7 +23,7 @@ /datum/ammo/bullet/shrapnel/on_hit_mob(mob/living/carbon/xeno, obj/projectile/projectile, mob/user) if(isxeno(xeno)) xeno.apply_effect(4, SLOW) // multiple hits dont stack they just renew the duration - xeno.apply_armoured_damage(damage, ARMOR_BULLET, BRUTE) // xenos have a lot of HP + xeno.apply_armoured_damage(damage * 0.6, ARMOR_BULLET, BRUTE, , penetration) // xenos have a lot of HP /datum/ammo/bullet/shrapnel/rubber name = "rubber pellets" From b841918c497ba797ef6d5acb9cfbc2d7fa7f52ca Mon Sep 17 00:00:00 2001 From: diegoflores31 Date: Wed, 13 Nov 2024 21:30:27 -0500 Subject: [PATCH 5/5] x --- code/datums/ammo/shrapnel.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/datums/ammo/shrapnel.dm b/code/datums/ammo/shrapnel.dm index c0693441d960..23ef546889fb 100644 --- a/code/datums/ammo/shrapnel.dm +++ b/code/datums/ammo/shrapnel.dm @@ -21,6 +21,8 @@ B.update_health(1) /datum/ammo/bullet/shrapnel/on_hit_mob(mob/living/carbon/xeno, obj/projectile/projectile, mob/user) + if(!shrapnel_chance) // no shrapnell , no special effects + return if(isxeno(xeno)) xeno.apply_effect(4, SLOW) // multiple hits dont stack they just renew the duration xeno.apply_armoured_damage(damage * 0.6, ARMOR_BULLET, BRUTE, , penetration) // xenos have a lot of HP