mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 15:47:15 +01:00
crossbow, speargun, and grenade updates
This commit is contained in:
@@ -165,10 +165,11 @@
|
||||
icon_state = "40mmHE"
|
||||
projectile_type = /obj/item/projectile/bullet/a40mm
|
||||
|
||||
/obj/item/ammo_casing/caseless/bolt //xbow
|
||||
name = "poison crossbow bolt"
|
||||
desc = "A reusable crossbow bolt tipped with specialized carpotoxin."
|
||||
projectile_type = /obj/item/projectile/energy/bolt
|
||||
caliber = "crossbow"
|
||||
icon = 'icons/obj/projectiles.dmi'
|
||||
icon_state = "cbbolt"
|
||||
/obj/item/ammo_casing/caseless/magspear
|
||||
name = "magnetic spear"
|
||||
desc = "A reusable spear that is typically loaded into kinetic spearguns."
|
||||
projectile_type = /obj/item/projectile/bullet/magspear
|
||||
caliber = "speargun"
|
||||
icon_state = "magspear"
|
||||
throwforce = 15 //still deadly when thrown
|
||||
throw_speed = 3
|
||||
@@ -38,10 +38,4 @@
|
||||
icon_state = "40mm"
|
||||
ammo_type = /obj/item/ammo_casing/a40mm
|
||||
max_ammo = 4
|
||||
multiple_sprites = 1
|
||||
|
||||
/obj/item/ammo_box/crossbow
|
||||
name = "ammo box (crossbow bolts)"
|
||||
icon_state = "xbow"
|
||||
ammo_type = /obj/item/ammo_casing/caseless/bolt
|
||||
max_ammo = 4
|
||||
multiple_sprites = 1
|
||||
@@ -124,4 +124,14 @@
|
||||
|
||||
/obj/item/ammo_casing/energy/wormhole/orange
|
||||
projectile_type = /obj/item/projectile/beam/wormhole/orange
|
||||
select_name = "orange"
|
||||
select_name = "orange"
|
||||
|
||||
/obj/item/ammo_casing/energy/bolt
|
||||
projectile_type = /obj/item/projectile/energy/bolt
|
||||
select_name = "bolt"
|
||||
e_cost = 500
|
||||
fire_sound = 'sound/weapons/Genhit.ogg'
|
||||
|
||||
/obj/item/ammo_casing/energy/bolt/large
|
||||
projectile_type = /obj/item/projectile/energy/bolt/large
|
||||
select_name = "heavy bolt"
|
||||
@@ -90,14 +90,11 @@
|
||||
ammo_type = /obj/item/ammo_casing/a40mm
|
||||
max_ammo = 6
|
||||
|
||||
/obj/item/ammo_box/magazine/internal/cylinder/crossbow
|
||||
name = "autocrossbow internal magazine"
|
||||
ammo_type = /obj/item/ammo_casing/caseless/bolt
|
||||
caliber = "crossbow"
|
||||
max_ammo = 10
|
||||
|
||||
/obj/item/ammo_box/magazine/internal/cylinder/crossbow/large
|
||||
max_ammo = 15
|
||||
/obj/item/ammo_box/magazine/internal/cylinder/speargun
|
||||
name = "speargun internal magazine"
|
||||
ammo_type = /obj/item/ammo_casing/caseless/magspear
|
||||
caliber = "speargun"
|
||||
max_ammo = 1
|
||||
|
||||
///////////EXTERNAL MAGAZINES////////////////
|
||||
|
||||
|
||||
@@ -119,15 +119,39 @@
|
||||
recent_reload = 0
|
||||
..()
|
||||
|
||||
/obj/item/weapon/gun/energy/kinetic_accelerator/attack_self(var/mob/living/user/L)
|
||||
/obj/item/weapon/gun/energy/kinetic_accelerator/attack_self(mob/living/user)
|
||||
if(overheat || recent_reload)
|
||||
return
|
||||
power_supply.give(500)
|
||||
playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, 1)
|
||||
if(!suppressed)
|
||||
playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, 1)
|
||||
else
|
||||
playsound(user, 'sound/weapons/kenetic_reload.ogg', 60, 1)
|
||||
recent_reload = 1
|
||||
update_icon()
|
||||
return
|
||||
|
||||
/obj/item/weapon/gun/energy/kinetic_accelerator/crossbow
|
||||
name = "mini energy crossbow"
|
||||
desc = "A weapon favored by syndicate stealth specialists."
|
||||
icon_state = "crossbow"
|
||||
item_state = "crossbow"
|
||||
w_class = 2
|
||||
m_amt = 2000
|
||||
origin_tech = "combat=2;magnets=2;syndicate=5"
|
||||
suppressed = 1
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/bolt)
|
||||
|
||||
/obj/item/weapon/gun/energy/kinetic_accelerator/crossbow/large
|
||||
name = "energy crossbow"
|
||||
desc = "A reverse engineered weapon using syndicate technology."
|
||||
icon_state = "crossbowlarge"
|
||||
w_class = 3
|
||||
m_amt = 4000
|
||||
origin_tech = "combat=2;magnets=2;syndicate=3" //can be further researched for more syndie tech
|
||||
suppressed = 0
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/bolt/large)
|
||||
|
||||
/obj/item/weapon/gun/energy/disabler
|
||||
name = "disabler"
|
||||
desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse."
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
/obj/item/weapon/gun/projectile/automatic/proc/burst_select()
|
||||
var/mob/living/carbon/human/user = usr
|
||||
select = !select
|
||||
if(select)
|
||||
if(!select)
|
||||
burst_size = 1
|
||||
fire_delay = 0
|
||||
user << "<span class='notice'>You switch to semi-automatic.</span>"
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
mag_type = /obj/item/ammo_box/magazine/m75
|
||||
burst_size = 1
|
||||
fire_delay = 0
|
||||
can_suppress = 0
|
||||
action_button_name = null
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/gyropistol/process_chamber(var/eject_casing = 0, var/empty_chamber = 1)
|
||||
@@ -44,44 +45,33 @@
|
||||
icon_state = "[initial(icon_state)][magazine ? "loaded" : ""]"
|
||||
return
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/crossbow
|
||||
name = "mini auto-crossbow"
|
||||
desc = "A weapon favored by syndicate stealth specialists. Fires specialized poison bolts."
|
||||
icon_state = "crossbow"
|
||||
item_state = "crossbow"
|
||||
w_class = 2
|
||||
m_amt = 2000
|
||||
origin_tech = "combat=2;magnets=2;syndicate=5"
|
||||
suppressed = 1
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/crossbow
|
||||
fire_sound = 'sound/weapons/genhit.ogg'
|
||||
/obj/item/weapon/gun/projectile/automatic/speargun
|
||||
name = "kinetic speargun"
|
||||
desc = "A weapon favored by carp hunters. Fires specialized spears using kinetic energy."
|
||||
icon_state = "speargun"
|
||||
item_state = "misteratmos" //professional asset reuse
|
||||
w_class = 4
|
||||
force = 10
|
||||
can_suppress = 0
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/speargun
|
||||
fire_sound = 'sound/weapons/grenadelaunch.ogg'
|
||||
burst_size = 1
|
||||
fire_delay = 0
|
||||
select = 0
|
||||
action_button_name = null
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/crossbow/update_icon()
|
||||
/obj/item/weapon/gun/projectile/automatic/speargun/update_icon()
|
||||
return
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/crossbow/attack_self()
|
||||
/obj/item/weapon/gun/projectile/automatic/speargun/attack_self()
|
||||
return
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/crossbow/process_chamber(var/eject_casing = 0, var/empty_chamber = 1)
|
||||
/obj/item/weapon/gun/projectile/automatic/speargun/process_chamber(var/eject_casing = 0, var/empty_chamber = 1)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/crossbow/attackby(var/obj/item/A, mob/user)
|
||||
/obj/item/weapon/gun/projectile/automatic/speargun/attackby(var/obj/item/A, mob/user)
|
||||
var/num_loaded = magazine.attackby(A, user, 1)
|
||||
if(num_loaded)
|
||||
user << "<span class='notice'>You load [num_loaded] bolt\s into \the [src].</span>"
|
||||
user << "<span class='notice'>You load [num_loaded] spear\s into \the [src].</span>"
|
||||
update_icon()
|
||||
chamber_round()
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/crossbow/large //holds twice the ammo of mini crossbows but can't be pocketed
|
||||
name = "auto crossbow"
|
||||
desc = "A weapon favored by carp hunters. Fires specialized poison bolts."
|
||||
icon_state = "crossbowlarge"
|
||||
w_class = 3
|
||||
force = 10
|
||||
m_amt = 4000
|
||||
suppressed = 0
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/crossbow/large
|
||||
chamber_round()
|
||||
@@ -21,6 +21,7 @@
|
||||
icon_state = "m1911"
|
||||
w_class = 3
|
||||
mag_type = /obj/item/ammo_box/magazine/m45
|
||||
can_suppress = 0
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/pistol/deagle
|
||||
name = "desert eagle"
|
||||
@@ -28,6 +29,7 @@
|
||||
icon_state = "deagle"
|
||||
force = 14
|
||||
mag_type = /obj/item/ammo_box/magazine/m50
|
||||
can_suppress = 0
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/pistol/deagle/update_icon()
|
||||
..()
|
||||
|
||||
@@ -196,7 +196,7 @@
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/shotgun/bulldog
|
||||
name = "syndicate shotgun"
|
||||
desc = "A compact, mag-fed burst-fire shotgun for combat in narrow corridors, nicknamed 'Bulldog' by boarding parties. Compatible only with specialized 8-round drum magazines."
|
||||
desc = "A semi-auto, mag-fed shotgun for combat in narrow corridors, nicknamed 'Bulldog' by boarding parties. Compatible only with specialized 8-round drum magazines."
|
||||
icon_state = "bulldog"
|
||||
item_state = "bulldog"
|
||||
w_class = 3.0
|
||||
@@ -206,22 +206,26 @@
|
||||
can_suppress = 0
|
||||
burst_size = 1
|
||||
fire_delay = 0
|
||||
action_button_name = null
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/shotgun/bulldog/New()
|
||||
..()
|
||||
update_icon()
|
||||
return
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/shotgun/bulldog/proc/update_magazine()
|
||||
if(magazine)
|
||||
src.overlays = 0
|
||||
overlays += "[magazine.icon_state]"
|
||||
return
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/shotgun/bulldog/update_icon()
|
||||
src.overlays = 0
|
||||
update_magazine()
|
||||
icon_state = "bulldog[chambered ? "" : "-e"]"
|
||||
return
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/shotgun/bulldog/afterattack()
|
||||
..()
|
||||
empty_alarm()
|
||||
return
|
||||
return
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
weaken = 5
|
||||
range = 7
|
||||
|
||||
/obj/item/projectile/energy/bolt //xbow bolts
|
||||
/obj/item/projectile/energy/bolt //ebow bolts
|
||||
name = "bolt"
|
||||
icon_state = "cbbolt"
|
||||
damage = 15
|
||||
@@ -61,13 +61,5 @@
|
||||
stutter = 5
|
||||
range = 7
|
||||
|
||||
/obj/item/projectile/energy/bolt/on_hit(var/atom/target, var/blocked = 0) //drop a bolt on hitting basically anything
|
||||
if(!proj_hit)
|
||||
proj_hit = 1
|
||||
new /obj/item/ammo_casing/caseless/bolt(src.loc)
|
||||
..()
|
||||
|
||||
/obj/item/projectile/energy/bolt/on_range() //drop a bolt after 7 tiles
|
||||
if(!proj_hit)
|
||||
new /obj/item/ammo_casing/caseless/bolt(src.loc)
|
||||
..()
|
||||
/obj/item/projectile/energy/bolt/large
|
||||
damage = 20
|
||||
@@ -178,3 +178,20 @@ obj/item/projectile/kinetic/New()
|
||||
name ="explosive slug"
|
||||
damage = 25
|
||||
weaken = 5
|
||||
|
||||
/obj/item/projectile/bullet/magspear
|
||||
name = "magnetic spear"
|
||||
desc = "WHITE WHALE, HOLY GRAIL"
|
||||
damage = 30 //takes 3 spears to kill a mega carp, one to kill a normal carp
|
||||
icon_state = "magspear"
|
||||
|
||||
/obj/item/projectile/bullet/magspear/on_hit(var/atom/target, var/blocked = 0)
|
||||
if(!proj_hit)
|
||||
proj_hit = 1
|
||||
new /obj/item/ammo_casing/caseless/magspear(src.loc)
|
||||
..()
|
||||
|
||||
/obj/item/projectile/bullet/magspear/on_range()
|
||||
if(!proj_hit)
|
||||
new /obj/item/ammo_casing/caseless/magspear(src.loc)
|
||||
..()
|
||||
Reference in New Issue
Block a user