BayMerge Bugfix; Fixing guns, update computers. (#1263)

Fixes all the snowflake guns unique to our codebase with multiple firemodes so that they now actually behave correctly. Fixes a few bugs relating to computers, and updates modular_computers to use holoscreens.
This commit is contained in:
LordFowl
2016-12-21 14:48:04 -05:00
committed by skull132
parent 3a89d01ea0
commit 5ccb627531
53 changed files with 106 additions and 96 deletions

View File

@@ -129,10 +129,12 @@ obj/item/weapon/gun/energy/retro
origin_tech = "combat=4;magnets=2"
projectile_type = /obj/item/projectile/beam/shotgun
max_shots = 12
firemodes = list(
list(name="diffuse", burst=4, burst_delay = 0, move_delay = 0, fire_delay = 2, dispersion = list(1.0, -1.0, 2.0, -2.0))
)
sel_mode = 1
burst = 4
burst_delay = 0
move_delay = 0
fire_delay = 2
dispersion = list(1.0, -1.0, 2.0, -2.0)
////////Laser Tag////////////////////

View File

@@ -18,13 +18,13 @@
firemodes = list(
list(
name="singleshot",
mode_name="singleshot",
charge_cost=50,
fire_delay=3,
recoil=1
),
list(
name="rapidfire",
mode_name="rapidfire",
charge_cost=150,
fire_delay=3,
recoil=1,
@@ -34,31 +34,31 @@
dispersion = list(0.0, 0.6, 1.0)
),
list(
name="highex",
mode_name="highex",
charge_cost=300,
fire_delay=6,
recoil=3
),
list(
name="stun",
mode_name="stun",
charge_cost=50,
fire_delay=4,
recoil=0
),
list(
name="hotshot",
mode_name="hotshot",
charge_cost=200,
fire_delay=4,
recoil=3
),
list(
name="armorpiercing",
mode_name="armorpiercing",
charge_cost=300,
fire_delay=6,
recoil=3
),
list(
name="pellets",
mode_name="pellets",
charge_cost=300,
fire_delay=6,
recoil=3

View File

@@ -13,6 +13,7 @@
fire_delay_wielded = 1
accuracy_wielded = 0
sel_mode = 1
projectile_type = /obj/item/projectile/beam/stun
matter = list(DEFAULT_WALL_MATERIAL = 2000)
@@ -20,8 +21,8 @@
modifystate = "eriflestun"
firemodes = list(
list(name="stun", projectile_type=/obj/item/projectile/beam/stun, modifystate="eriflestun", fire_sound='sound/weapons/Taser.ogg'),
list(name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="eriflekill", fire_sound='sound/weapons/Laser.ogg')
list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, modifystate="eriflestun", fire_sound='sound/weapons/Taser.ogg'),
list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="eriflekill", fire_sound='sound/weapons/Laser.ogg')
)
//action button for wielding
@@ -81,7 +82,7 @@
modifystate = null
firemodes = list(
list(name="stun", projectile_type=/obj/item/projectile/beam/stun, fire_sound='sound/weapons/Taser.ogg'),
list(name="lethal", projectile_type=/obj/item/projectile/beam, fire_sound='sound/weapons/Laser.ogg'),
list(name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_sound='sound/weapons/pulse.ogg', fire_delay=15, charge_cost=400)
list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, fire_sound='sound/weapons/Taser.ogg'),
list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, fire_sound='sound/weapons/Laser.ogg'),
list(mode_name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_sound='sound/weapons/pulse.ogg', fire_delay=15, charge_cost=400)
)

View File

@@ -110,10 +110,12 @@
projectile_type = /obj/item/projectile/energy/bee
slot_flags = SLOT_BACK
max_shots = 9
firemodes = list(
list(name="EXTERMINATE", burst=3, burst_delay = 1, move_delay = 0, fire_delay = 0, dispersion = list(0.0, 0.2, -0.2))
)
sel_mode = 1
burst = 3
burst_delay = 1
move_delay = 3
fire_delay = 0
dispersion = list(0.0, 0.2, -0.2)
/obj/item/weapon/gun/energy/mousegun
name = "\improper NT \"Arodentia\" Exterminator ray"
@@ -127,10 +129,12 @@
projectile_type = /obj/item/projectile/beam/mousegun
slot_flags = SLOT_HOLSTER | SLOT_BELT
max_shots = 6
firemodes = list(
list(name="EXTERMINATE", burst=3, burst_delay = 1, move_delay = 0, fire_delay = 3, dispersion = list(0.0, 6,0, -6.0))
)
sel_mode = 1
burst = 3
burst_delay = 1
move_delay = 0
fire_delay = 3
dispersion = list(0.0, 6,0, -6.0)
var/lightfail = 0
@@ -173,10 +177,12 @@
projectile_type = /obj/item/projectile/energy/sonic
slot_flags = SLOT_BACK
max_shots = 40
firemodes = list(
list(name="EXTERMINATE", burst=20, burst_delay = 1, move_delay = 20, fire_delay = 40, dispersion = list(3.0, 3.25, 3.5, 3.75, 4.0, 4.25, 4.5, 4.75, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6.0, 6.25))
)
sel_mode = 1
burst = 20
burst_delay = 1
move_delay = 20
fire_delay = 40
dispersion = list(3.0, 3.25, 3.5, 3.75, 4.0, 4.25, 4.5, 4.75, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6.0, 6.25)
/obj/item/weapon/gun/energy/vaurca/gatlinglaser
name = "gatling laser"
@@ -191,10 +197,15 @@
force = 10
projectile_type = /obj/item/projectile/beam/gatlinglaser
max_shots = 80
sel_mode = 1
burst = 10
burst_delay = 1
fire_delay = 10
dispersion = list(0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9)
firemodes = list(
list(name="concentrated burst", burst=10, burst_delay = 1, fire_delay = 10, dispersion = list(0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9)),
list(name="spray", burst=20, burst_delay = 1, move_delay = 5, fire_delay = 30, dispersion = list(0.0, 1.25, 1.5, 1.75, 2.0, 2.25, 2.5, 2.75, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.0, 3.25))
list(mode_name="concentrated burst", burst=10, burst_delay = 1, fire_delay = 10, dispersion = list(0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9)),
list(mode_name="spray", burst=20, burst_delay = 1, move_delay = 5, fire_delay = 30, dispersion = list(0.0, 1.25, 1.5, 1.75, 2.0, 2.25, 2.5, 2.75, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.0, 3.25))
)
action_button_name = "Wield gatling laser"
@@ -235,10 +246,14 @@
force = 10
projectile_type = /obj/item/projectile/energy/blaster
max_shots = 6
sel_mode = 1
burst = 1
burst_delay = 1
fire_delay = 0
firemodes = list(
list(name="single shot", burst=1, burst_delay = 1, fire_delay = 0),
list(name="concentrated burst", burst=3, burst_delay = 1, fire_delay = 5)
list(mode_name="single shot", burst=1, burst_delay = 1, fire_delay = 0),
list(mode_name="concentrated burst", burst=3, burst_delay = 1, fire_delay = 5)
)
/*/obj/item/weapon/gun/energy/vaurca/flamer
@@ -258,7 +273,7 @@
max_shots = 80
firemodes = list(
list(name="spray", burst = 20, burst_delay = -1, fire_delay = 10, dispersion = list(0.5, 0.5, 1.0, 1.0, 1.5, 1.5, 2.0, 2.0, 2.5, 2.5, 3.0, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.0, 6.0))
list(mode_name="spray", burst = 20, burst_delay = -1, fire_delay = 10, dispersion = list(0.5, 0.5, 1.0, 1.0, 1.5, 1.5, 2.0, 2.0, 2.5, 2.5, 3.0, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.0, 6.0)),
)*/
/* Staves */

View File

@@ -11,6 +11,7 @@
ammo_type = /obj/item/ammo_casing/c9mm
multi_aim = 1
burst_delay = 2
sel_mode = 1
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
@@ -98,9 +99,9 @@
allowed_magazines = list(/obj/item/ammo_magazine/c762)
firemodes = list(
list(name="semiauto", burst=1, fire_delay=0),
list(name="3-round bursts", burst=3, move_delay=6, accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.0, 0.6, 0.6)),
list(name="short bursts", burst=5, move_delay=6, accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2))
list(mode_name="semiauto", burst=1, fire_delay=0),
list(mode_name="3-round bursts", burst=3, move_delay=6, accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.0, 0.6, 0.6)),
list(mode_name="short bursts", burst=5, move_delay=6, accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2))
)
//slower to regain aim, more inaccurate if not wielding
@@ -306,6 +307,6 @@
auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg'
firemodes = list(
list(name="single coil", burst=1, move_delay=6, accuracy = list(0)),
list(name="dual coil", burst=2, move_delay=8, accuracy = list(-2,-3), dispersion = list(2.0, 3.0))
list(mode_name="single coil", burst=1, move_delay=6, accuracy = list(0)),
list(mode_name="dual coil", burst=2, move_delay=8, accuracy = list(-2,-3), dispersion = list(2.0, 3.0))
)

View File

@@ -59,10 +59,11 @@
origin_tech = "combat=3;materials=2"
fire_sound = 'sound/weapons/Gunshot_light.ogg'
load_method = MAGAZINE
sel_mode = 1
firemodes = list(
list(name="semiauto", burst=1, fire_delay=0),
list(name="3-round bursts", burst=3, move_delay=4, accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.0, 0.6, 1.0))
list(mode_name="semiauto", burst=1, fire_delay=0),
list(mode_name="3-round bursts", burst=3, move_delay=4, accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.0, 0.6, 1.0))
)
/obj/item/weapon/gun/projectile/tanto/update_icon()