mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-23 00:31:57 +00:00
104 lines
3.0 KiB
Plaintext
104 lines
3.0 KiB
Plaintext
/obj/item/gun/projectile/automatic/spikethrower
|
|
name = "\improper Vox spike thrower"
|
|
desc = "A vicious alien projectile weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive."
|
|
icon_state = "spikethrower"
|
|
item_state = "spikethrower"
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
fire_sound_text = "a strange noise"
|
|
mag_type = /obj/item/ammo_box/magazine/internal/spikethrower
|
|
burst_size = 2
|
|
fire_delay = 3
|
|
can_suppress = 0
|
|
var/charge_tick = 0
|
|
var/charge_delay = 15
|
|
restricted_species = list(/datum/species/vox)
|
|
|
|
/obj/item/gun/projectile/automatic/spikethrower/New()
|
|
..()
|
|
processing_objects.Add(src)
|
|
|
|
/obj/item/gun/projectile/automatic/spikethrower/Destroy()
|
|
processing_objects.Remove(src)
|
|
return ..()
|
|
|
|
/obj/item/gun/projectile/automatic/spikethrower/update_icon()
|
|
return
|
|
|
|
/obj/item/gun/projectile/automatic/spikethrower/process()
|
|
charge_tick++
|
|
if(charge_tick < charge_delay || !magazine)
|
|
return
|
|
charge_tick = 0
|
|
var/obj/item/ammo_casing/caseless/spike/S = new(get_turf(src))
|
|
magazine.give_round(S)
|
|
return 1
|
|
|
|
/obj/item/gun/projectile/automatic/spikethrower/attack_self()
|
|
return
|
|
|
|
/obj/item/gun/projectile/automatic/spikethrower/process_chamber(eject_casing = 0, empty_chamber = 1)
|
|
..()
|
|
|
|
/obj/item/ammo_box/magazine/internal/spikethrower
|
|
name = "\improper Vox spikethrower internal magazine"
|
|
ammo_type = /obj/item/ammo_casing/caseless/spike
|
|
caliber = "spike"
|
|
max_ammo = 10
|
|
|
|
/obj/item/ammo_casing/caseless/spike
|
|
name = "alloy spike"
|
|
desc = "A broadhead spike made out of a weird silvery metal."
|
|
projectile_type = /obj/item/projectile/bullet/spike
|
|
throwforce = 5
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
caliber = "spike"
|
|
icon_state = "bolt"
|
|
fire_sound = 'sound/weapons/bladeslice.ogg'
|
|
|
|
/obj/item/projectile/bullet/spike
|
|
name = "alloy spike"
|
|
desc = "It's about a foot of weird silvery metal with a wicked point."
|
|
damage = 25
|
|
stun = 1
|
|
armour_penetration = 30
|
|
icon_state = "magspear"
|
|
|
|
/obj/item/projectile/bullet/spike/on_hit(atom/target, blocked = 0)
|
|
if((blocked != 100) && istype(target, /mob/living/carbon/human))
|
|
var/mob/living/carbon/human/H = target
|
|
H.bleed(50)
|
|
..()
|
|
|
|
//This gun only functions for armalis. The on-sprite is too huge to render properly on other sprites.
|
|
/obj/item/gun/energy/noisecannon
|
|
name = "alien heavy cannon"
|
|
desc = "It's some kind of enormous alien weapon, as long as a man is tall."
|
|
icon_state = "noisecannon"
|
|
item_state = "noisecannon"
|
|
recoil = 1
|
|
force = 10
|
|
ammo_type = list(/obj/item/ammo_casing/energy/sonic)
|
|
cell_type = /obj/item/stock_parts/cell/super
|
|
restricted_species = list(/datum/species/vox/armalis)
|
|
|
|
/obj/item/gun/energy/noisecannon/update_icon()
|
|
return
|
|
|
|
//Casing
|
|
/obj/item/ammo_casing/energy/sonic
|
|
projectile_type = /obj/item/projectile/energy/sonic
|
|
fire_sound = 'sound/effects/basscannon.ogg'
|
|
delay = 40
|
|
|
|
//Projectile.
|
|
/obj/item/projectile/energy/sonic
|
|
name = "distortion"
|
|
icon_state = "particle"
|
|
damage = 60
|
|
damage_type = BRUTE
|
|
flag = "bullet"
|
|
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
|
|
|
|
weaken = 5
|
|
stun = 5
|