mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-24 05:23:22 +01:00
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:
@@ -1,7 +1,7 @@
|
||||
/obj/machinery/computer/HolodeckControl
|
||||
name = "holodeck control console"
|
||||
desc = "A computer used to control a nearby holodeck."
|
||||
icon_keyboard = "tech_key"
|
||||
|
||||
icon_screen = "holocontrol"
|
||||
|
||||
use_power = 1
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "Maintenance Drone Control"
|
||||
desc = "Used to monitor the station's drone population and the assembler that services them."
|
||||
icon = 'icons/obj/computer.dmi'
|
||||
icon_keyboard = "power_key"
|
||||
|
||||
icon_screen = "power"
|
||||
req_access = list(access_engine_equip)
|
||||
circuit = /obj/item/weapon/circuitboard/drone_control
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
meat_amount = 1
|
||||
var/body_color //brown, gray and white, leave blank for random
|
||||
layer = MOB_LAYER
|
||||
mob_size = MOB_MINISCULE
|
||||
min_oxy = 16 //Require atleast 16kPA oxygen
|
||||
minbodytemp = 223 //Below -50 Degrees Celcius
|
||||
maxbodytemp = 323 //Above 50 Degrees Celcius
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
icon = null
|
||||
icon_state = null
|
||||
var/icon_state_unpowered = null // Icon state when the computer is turned off
|
||||
var/icon_state_unpowered = "nopower" // Icon state when the computer is turned off
|
||||
var/screen_icon_state_menu = "menu" // Icon state overlay when the computer is turned on, but no program is loaded that would override the screen.
|
||||
var/screen_icon_screensaver = "standby" // Icon state overlay when the computer is powered, but not 'switched on'.
|
||||
var/max_hardware_size = 0 // Maximal hardware size. Currently, tablets have 1, laptops 2 and consoles 3. Limits what hardware types can be installed.
|
||||
@@ -42,6 +42,8 @@
|
||||
if(!cpu || !cpu.enabled)
|
||||
if (!(stat & NOPOWER) || battery_powered)
|
||||
overlays.Add(screen_icon_screensaver)
|
||||
else
|
||||
icon_state = icon_state_unpowered
|
||||
return
|
||||
if(cpu.active_program)
|
||||
overlays.Add(cpu.active_program.program_icon_state ? cpu.active_program.program_icon_state : screen_icon_state_menu)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
/obj/machinery/computer/engines
|
||||
name = "engine control console"
|
||||
icon_keyboard = "tech_key"
|
||||
|
||||
icon_screen = "id"
|
||||
var/state = "status"
|
||||
var/list/engines = list()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/obj/machinery/computer/helm
|
||||
name = "helm control console"
|
||||
icon_keyboard = "med_key"
|
||||
|
||||
icon_screen = "id"
|
||||
var/state = "status"
|
||||
var/obj/effect/map/ship/linked //connected overmap object
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
name = "Power Monitoring Console"
|
||||
desc = "Computer designed to remotely monitor power levels around the station"
|
||||
icon = 'icons/obj/computer.dmi'
|
||||
icon_keyboard = "power_key"
|
||||
|
||||
icon_screen = "power"
|
||||
light_color = "#ffcc33"
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
name = "Gas turbine control computer"
|
||||
desc = "A computer to remotely control a gas turbine"
|
||||
icon = 'icons/obj/computer.dmi'
|
||||
icon_keyboard = "tech_key"
|
||||
|
||||
icon_screen = "turbinecomp"
|
||||
circuit = /obj/item/weapon/circuitboard/turbine_control
|
||||
anchored = 1
|
||||
|
||||
@@ -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////////////////////
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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))
|
||||
)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -29,7 +29,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
|
||||
|
||||
/obj/machinery/computer/rdconsole
|
||||
name = "R&D control console"
|
||||
icon_keyboard = "rd_key"
|
||||
|
||||
icon_screen = "rdcomp"
|
||||
light_color = "#a97faa"
|
||||
circuit = /obj/item/weapon/circuitboard/rdconsole
|
||||
|
||||
@@ -151,7 +151,7 @@
|
||||
|
||||
/obj/machinery/computer/rdservercontrol
|
||||
name = "R&D Server Controller"
|
||||
icon_keyboard = "rd_key"
|
||||
|
||||
icon_screen = "rdcomp"
|
||||
light_color = "#a97faa"
|
||||
circuit = /obj/item/weapon/circuitboard/rdservercontrol
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/machinery/computer/shuttle_control
|
||||
name = "shuttle control console"
|
||||
icon = 'icons/obj/computer.dmi'
|
||||
icon_keyboard = "atmos_key"
|
||||
|
||||
icon_screen = "shuttle"
|
||||
circuit = null
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
|
||||
|
||||
/obj/machinery/computer/shuttle_control/multi
|
||||
icon_keyboard = "syndie_key"
|
||||
|
||||
icon_screen = "syndishuttle"
|
||||
|
||||
/obj/machinery/computer/shuttle_control/multi/attack_hand(user as mob)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/machinery/computer/curer
|
||||
name = "cure research machine"
|
||||
icon = 'icons/obj/computer.dmi'
|
||||
icon_keyboard = "med_key"
|
||||
|
||||
icon_screen = "dna"
|
||||
circuit = /obj/item/weapon/circuitboard/curefab
|
||||
var/curing
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/machinery/computer/diseasesplicer
|
||||
name = "disease splicer"
|
||||
icon = 'icons/obj/computer.dmi'
|
||||
icon_keyboard = "med_key"
|
||||
|
||||
icon_screen = "crew"
|
||||
|
||||
var/datum/disease2/effectholder/memorybank = null
|
||||
|
||||
Reference in New Issue
Block a user