115 lines
3.1 KiB
Plaintext
115 lines
3.1 KiB
Plaintext
/obj/item/projectile/bullet/shotgun_slug
|
|
name = "12g shotgun slug"
|
|
damage = 60
|
|
|
|
/obj/item/projectile/bullet/shotgun_beanbag
|
|
name = "beanbag slug"
|
|
damage = 5
|
|
stamina = 70
|
|
|
|
/obj/item/projectile/bullet/incendiary/shotgun
|
|
name = "incendiary slug"
|
|
damage = 20
|
|
|
|
/obj/item/projectile/bullet/incendiary/shotgun/dragonsbreath
|
|
name = "dragonsbreath pellet"
|
|
damage = 5
|
|
|
|
/obj/item/projectile/bullet/shotgun_stunslug
|
|
name = "stunslug"
|
|
damage = 5
|
|
stamina = 30
|
|
stutter = 5
|
|
jitter = 20
|
|
range = 7
|
|
icon_state = "spark"
|
|
color = "#FFFF00"
|
|
var/tase_duration = 50
|
|
|
|
/obj/item/projectile/bullet/shotgun_stunslug/on_hit(atom/target, blocked = FALSE)
|
|
. = ..()
|
|
if(!ismob(target) || blocked >= 100) //Fully blocked by mob or collided with dense object - burst into sparks!
|
|
do_sparks(1, TRUE, src)
|
|
if(iscarbon(target))
|
|
var/mob/living/carbon/C = target
|
|
SEND_SIGNAL(C, COMSIG_ADD_MOOD_EVENT, "tased", /datum/mood_event/tased)
|
|
SEND_SIGNAL(C, COMSIG_LIVING_MINOR_SHOCK)
|
|
C.IgniteMob()
|
|
if(C.dna && C.dna.check_mutation(HULK))
|
|
C.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk")
|
|
else if(tase_duration && (C.status_flags & CANKNOCKDOWN) && !HAS_TRAIT(C, TRAIT_STUNIMMUNE) && !HAS_TRAIT(C, TRAIT_TASED_RESISTANCE))
|
|
C.electrocute_act(15, src, 1, SHOCK_NOSTUN)
|
|
C.apply_status_effect(STATUS_EFFECT_TASED_WEAK, tase_duration)
|
|
|
|
/obj/item/projectile/bullet/shotgun_meteorslug
|
|
name = "meteorslug"
|
|
icon = 'icons/obj/meteor.dmi'
|
|
icon_state = "dust"
|
|
damage = 20
|
|
knockdown = 80
|
|
hitsound = 'sound/effects/meteorimpact.ogg'
|
|
|
|
/obj/item/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)
|
|
|
|
/obj/item/projectile/bullet/shotgun_meteorslug/Initialize()
|
|
. = ..()
|
|
SpinAnimation()
|
|
|
|
/obj/item/projectile/bullet/shotgun_frag12
|
|
name ="frag12 slug"
|
|
damage = 25
|
|
knockdown = 50
|
|
|
|
/obj/item/projectile/bullet/shotgun_frag12/on_hit(atom/target, blocked = FALSE)
|
|
..()
|
|
explosion(target, -1, 0, 1)
|
|
return BULLET_ACT_HIT
|
|
|
|
/obj/item/projectile/bullet/pellet
|
|
var/tile_dropoff = 0.75
|
|
var/tile_dropoff_s = 1.25
|
|
|
|
/obj/item/projectile/bullet/pellet/shotgun_buckshot
|
|
name = "buckshot pellet"
|
|
damage = 12.5
|
|
|
|
/obj/item/projectile/bullet/pellet/shotgun_rubbershot
|
|
name = "rubbershot pellet"
|
|
damage = 2
|
|
stamina = 15
|
|
|
|
/obj/item/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/item/projectile/bullet/pellet/shotgun_improvised
|
|
tile_dropoff = 0.55 //Come on it does 6 damage don't be like that.
|
|
damage = 6
|
|
|
|
/obj/item/projectile/bullet/pellet/shotgun_improvised/Initialize()
|
|
. = ..()
|
|
range = rand(1, 8)
|
|
|
|
/obj/item/projectile/bullet/pellet/shotgun_improvised/on_range()
|
|
do_sparks(1, TRUE, src)
|
|
..()
|
|
|
|
// Mech Scattershots
|
|
|
|
/obj/item/projectile/bullet/scattershot
|
|
damage = 20
|
|
|
|
/obj/item/projectile/bullet/seed
|
|
damage = 4
|
|
stamina = 1
|