mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-05 22:43:46 +00:00
* Fixes shotgun meteorslugs not displacing airlocks (#60808) Gives meteorslugs MOVE_FORCE_EXTREMELY_STRONG force. Turns out safe_throw_at was created to fix "situations involving mechas and the clock cult, and meteor slugs moving grav gen" (rip clock clut) and then later some force checks were added that made some movables resist meteorslugs with default force like airlocks. * Fixes shotgun meteorslugs not displacing airlocks Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
125 lines
2.9 KiB
Plaintext
125 lines
2.9 KiB
Plaintext
/obj/projectile/bullet/shotgun_slug
|
|
name = "12g shotgun slug"
|
|
damage = 50
|
|
sharpness = SHARP_POINTY
|
|
wound_bonus = 0
|
|
|
|
/obj/projectile/bullet/shotgun_slug/executioner
|
|
name = "executioner slug" // admin only, can dismember limbs
|
|
sharpness = SHARP_EDGED
|
|
wound_bonus = 80
|
|
|
|
/obj/projectile/bullet/shotgun_slug/pulverizer
|
|
name = "pulverizer slug" // admin only, can crush bones
|
|
sharpness = NONE
|
|
wound_bonus = 80
|
|
|
|
/obj/projectile/bullet/shotgun_beanbag
|
|
name = "beanbag slug"
|
|
damage = 10
|
|
stamina = 55
|
|
wound_bonus = 20
|
|
sharpness = NONE
|
|
embedding = null
|
|
|
|
/obj/projectile/bullet/incendiary/shotgun
|
|
name = "incendiary slug"
|
|
damage = 20
|
|
|
|
/obj/projectile/bullet/incendiary/shotgun/dragonsbreath
|
|
name = "dragonsbreath pellet"
|
|
damage = 5
|
|
|
|
/obj/projectile/bullet/shotgun_stunslug
|
|
name = "stunslug"
|
|
damage = 5
|
|
paralyze = 100
|
|
stutter = 5
|
|
jitter = 20
|
|
range = 7
|
|
icon_state = "spark"
|
|
color = "#FFFF00"
|
|
embedding = null
|
|
|
|
/obj/projectile/bullet/shotgun_meteorslug
|
|
name = "meteorslug"
|
|
icon = 'icons/obj/meteor.dmi'
|
|
icon_state = "dust"
|
|
damage = 30
|
|
paralyze = 15
|
|
knockdown = 80
|
|
hitsound = 'sound/effects/meteorimpact.ogg'
|
|
|
|
/obj/projectile/bullet/shotgun_meteorslug/on_hit(atom/target, blocked = FALSE)
|
|
. = ..()
|
|
if(ismovable(target))
|
|
var/atom/movable/M = target
|
|
var/atom/throw_target = get_edge_target_turf(M, get_dir(src, get_step_away(M, src)))
|
|
M.safe_throw_at(throw_target, 3, 2, force = MOVE_FORCE_EXTREMELY_STRONG)
|
|
|
|
/obj/projectile/bullet/shotgun_meteorslug/Initialize()
|
|
. = ..()
|
|
SpinAnimation()
|
|
|
|
/obj/projectile/bullet/shotgun_frag12
|
|
name ="frag12 slug"
|
|
damage = 15
|
|
paralyze = 10
|
|
|
|
/obj/projectile/bullet/shotgun_frag12/on_hit(atom/target, blocked = FALSE)
|
|
..()
|
|
explosion(target, devastation_range = -1, light_impact_range = 1)
|
|
return BULLET_ACT_HIT
|
|
|
|
/obj/projectile/bullet/pellet
|
|
var/tile_dropoff = 0.45
|
|
var/tile_dropoff_s = 0.5
|
|
|
|
/obj/projectile/bullet/pellet/shotgun_buckshot
|
|
name = "buckshot pellet"
|
|
damage = 7.5
|
|
wound_bonus = 5
|
|
bare_wound_bonus = 5
|
|
wound_falloff_tile = -2.5 // low damage + additional dropoff will already curb wounding potential anything past point blank
|
|
|
|
/obj/projectile/bullet/pellet/shotgun_rubbershot
|
|
name = "rubbershot pellet"
|
|
damage = 3
|
|
stamina = 11
|
|
sharpness = NONE
|
|
embedding = null
|
|
|
|
/obj/projectile/bullet/pellet/shotgun_incapacitate
|
|
name = "incapacitating pellet"
|
|
damage = 1
|
|
stamina = 6
|
|
embedding = null
|
|
|
|
/obj/projectile/bullet/pellet/Range()
|
|
..()
|
|
if(damage > 0)
|
|
damage -= tile_dropoff
|
|
if(stamina > 0)
|
|
stamina -= tile_dropoff_s
|
|
if(damage < 0 && stamina < 0)
|
|
qdel(src)
|
|
|
|
/obj/projectile/bullet/pellet/shotgun_improvised
|
|
tile_dropoff = 0.35 //Come on it does 6 damage don't be like that.
|
|
damage = 6
|
|
wound_bonus = 0
|
|
bare_wound_bonus = 7.5
|
|
|
|
/obj/projectile/bullet/pellet/shotgun_improvised/Initialize()
|
|
. = ..()
|
|
range = rand(1, 8)
|
|
|
|
/obj/projectile/bullet/pellet/shotgun_improvised/on_range()
|
|
do_sparks(1, TRUE, src)
|
|
..()
|
|
|
|
// Mech Scattershot
|
|
|
|
/obj/projectile/bullet/scattershot
|
|
damage = 24
|