Merge pull request #7034 from paprka/nosenseofrightandwrongiguess

Crossbow, speargun, and grenade updates
This commit is contained in:
Swag McYolosteinen
2015-01-16 16:43:50 +01:00
24 changed files with 112 additions and 86 deletions
+2 -2
View File
@@ -796,7 +796,7 @@ var/global/list/g_fancy_list_of_types = null
qdel(briefcase_item)
for(var/i=3, i>0, i--)
sec_briefcase.contents += new /obj/item/weapon/spacecash/c1000
sec_briefcase.contents += new /obj/item/weapon/gun/projectile/automatic/crossbow
sec_briefcase.contents += new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow
sec_briefcase.contents += new /obj/item/weapon/gun/projectile/revolver/mateba
sec_briefcase.contents += new /obj/item/ammo_box/a357
sec_briefcase.contents += new /obj/item/weapon/c4
@@ -1126,4 +1126,4 @@ var/global/list/g_fancy_list_of_types = null
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(M)
L.imp_in = M
L.implanted = 1
M.sec_hud_set_implants()
M.sec_hud_set_implants()
+1 -1
View File
@@ -342,7 +342,7 @@ mob/living/carbon/proc/handle_hallucinations()
return
var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/item/ammo_box/a357,\
/obj/item/weapon/gun/projectile/automatic/crossbow, /obj/item/weapon/melee/energy/sword/saber,\
/obj/item/weapon/gun/energy/kinetic_accelerator/crossbow, /obj/item/weapon/melee/energy/sword/saber,\
/obj/item/weapon/storage/box/syndicate, /obj/item/weapon/storage/box/emps,\
/obj/item/weapon/cartridge/syndicate, /obj/item/clothing/under/chameleon,\
/obj/item/clothing/shoes/syndigaloshes, /obj/item/weapon/card/id/syndicate,\
@@ -166,10 +166,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
@@ -40,12 +40,6 @@
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
/obj/item/ammo_box/a762
name = "stripper clip (7.62mm)"
desc = "A stripper clip."
+11 -1
View File
@@ -142,4 +142,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
/obj/item/ammo_box/magazine/internal/boltaction
name = "bolt action rifle internal magazine"
@@ -121,15 +121,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."
@@ -8,7 +8,7 @@
var/alarmed = 0
can_suppress = 1
burst_size = 3
fire_delay = 1
fire_delay = 2
var/select = 1
action_button_name = "Toggle Firemode"
@@ -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>"
@@ -233,4 +233,5 @@
mag_type = /obj/item/ammo_box/magazine/tommygunm45
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
can_suppress = 0
burst_size = 4
burst_size = 4
fire_delay = 1
@@ -44,45 +44,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
pin = null
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()
..()
@@ -242,7 +242,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
@@ -253,6 +253,7 @@
burst_size = 1
fire_delay = 0
pin = /obj/item/device/firing_pin/implant/pindicate
action_button_name = null
/obj/item/weapon/gun/projectile/automatic/shotgun/bulldog/New()
..()
+3 -11
View File
@@ -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)
..()
@@ -90,8 +90,9 @@
req_tech = list("combat" = 5, "materials" = 5, "engineering" = 3, "biotech" = 4, "syndicate" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 5000, "$glass" = 1500, "$uranium" = 1500, "$silver" = 1500)
build_path = /obj/item/weapon/gun/projectile/automatic/crossbow/large
build_path = /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow/large
category = list("Weapons")
reliability = 76
/datum/design/temp_gun
name = "Temperature Gun"