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 92f82dd61f1e..ce0622dc3b4a 100644 --- a/code/datums/ammo/shrapnel.dm +++ b/code/datums/ammo/shrapnel.dm @@ -6,25 +6,27 @@ /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_4 + accurate_range = 7 + max_range = 10 + 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/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 + /datum/ammo/bullet/shrapnel/rubber name = "rubber pellets" icon_state = "rubber_pellets" @@ -39,7 +41,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 @@ -59,10 +61,9 @@ 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 + damage = 30 + penetration = ARMOR_PENETRATION_TIER_10 //molten metal pierces your armor /datum/ammo/bullet/shrapnel/incendiary/set_bullet_traits() . = ..() @@ -86,7 +87,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,