mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-27 10:32:08 +00:00
New turret icons & turret code tweaks (#3416)
Adds flooring to the turret with "decorative" conduits. Adds darkening and brightening animation when turret opens/closes to indicate the turret rising up or down. Made new construction phase depicting nearly all steps visually (Apart from adding the prox sensor.) Made sure almost every gun that can be turreted has a relevant sprite. These are based on gun sprites. Changing those might cause turrets to not reflect the gun look. Some guns share sprites, some were made unturretable. Added new set of vars on the /gun/energy level, since the /gun level had few essential vars missing and I am not really looking for any other code rewrites regarding this right now. Should not be hard to move them step up, if ever needed. Turrets that have only one shooting mode have now the changing mode option greyed out. Also removed leftover references to two energy carbine subtypes and removed one global list.
This commit is contained in:
@@ -26,14 +26,6 @@
|
||||
then click where you want to fire. Most energy weapons can fire through windows harmlessly. To switch between stun and lethal, click the weapon \
|
||||
in your hand. To recharge this weapon, use a weapon recharger."
|
||||
|
||||
/obj/item/weapon/gun/energy/gun/taser
|
||||
description_info = "This is an energy weapon. To fire the weapon, ensure your intent is *not* set to 'help', have your gun mode set to 'fire', \
|
||||
then click where you want to fire. Most energy weapons can fire through windows harmlessly. To recharge this weapon, use a weapon recharger."
|
||||
|
||||
/obj/item/weapon/gun/energy/gun/stunrevolver
|
||||
description_info = "This is an energy weapon. To fire the weapon, ensure your intent is *not* set to 'help', have your gun mode set to 'fire', \
|
||||
then click where you want to fire. Most energy weapons can fire through windows harmlessly. To recharge this weapon, use a weapon recharger."
|
||||
|
||||
/obj/item/weapon/gun/energy/gun/nuclear
|
||||
description_info = "This is an energy weapon. To fire the weapon, ensure your intent is *not* set to 'help', have your gun mode set to 'fire', \
|
||||
then click where you want to fire. Most energy weapons can fire through windows harmlessly. To switch between stun and lethal, click the weapon \
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
var/charge_cost = 200 //How much energy is needed to fire.
|
||||
var/max_shots = 10 //Determines the capacity of the weapon's power cell. Specifying a cell_type overrides this value.
|
||||
var/cell_type = null
|
||||
var/projectile_type = /obj/item/projectile/beam/practice
|
||||
var/projectile_type = /obj/item/projectile/beam/practice //also passed to turrets
|
||||
var/modifystate
|
||||
var/charge_meter = 1 //if set, the icon state will be chosen based on the current charge
|
||||
|
||||
@@ -19,6 +19,14 @@
|
||||
var/recharge_time = 4
|
||||
var/charge_tick = 0
|
||||
|
||||
//vars passed to turrets
|
||||
var/can_turret = 0 //1 allows you to attach the gun on a turret
|
||||
var/secondary_projectile_type = null //if null, turret defaults to projectile_type
|
||||
var/secondary_fire_sound = null //if null, turret defaults to fire_sound
|
||||
var/can_switch_modes = 0 //1 allows switching lethal and stun modes
|
||||
var/turret_sprite_set = "carbine" //set of sprites to use for the turret gun
|
||||
var/turret_is_lethal = 1 //is the gun in lethal (secondary) mode by default
|
||||
|
||||
/obj/item/weapon/gun/energy/switch_firemodes()
|
||||
. = ..()
|
||||
if(.)
|
||||
|
||||
@@ -10,11 +10,14 @@
|
||||
origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2)
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 2000)
|
||||
projectile_type = /obj/item/projectile/beam/midlaser
|
||||
can_turret = 1
|
||||
turret_sprite_set = "laser"
|
||||
|
||||
/obj/item/weapon/gun/energy/laser/mounted
|
||||
name = "mounted laser carbine"
|
||||
self_recharge = 1
|
||||
use_external_power = 1
|
||||
can_turret = 0
|
||||
|
||||
/obj/item/weapon/gun/energy/laser/practice
|
||||
name = "practice laser carbine"
|
||||
@@ -31,6 +34,8 @@ obj/item/weapon/gun/energy/retro
|
||||
w_class = 3
|
||||
projectile_type = /obj/item/projectile/beam
|
||||
fire_delay = 10 //old technology
|
||||
can_turret = 1
|
||||
turret_sprite_set = "retro"
|
||||
|
||||
/obj/item/weapon/gun/energy/captain
|
||||
name = "antique laser gun"
|
||||
@@ -45,6 +50,8 @@ obj/item/weapon/gun/energy/retro
|
||||
origin_tech = null
|
||||
max_shots = 5 //to compensate a bit for self-recharging
|
||||
self_recharge = 1
|
||||
can_turret = 1
|
||||
turret_sprite_set = "captain"
|
||||
|
||||
/obj/item/weapon/gun/energy/lasercannon
|
||||
name = "laser cannon"
|
||||
@@ -58,12 +65,15 @@ obj/item/weapon/gun/energy/retro
|
||||
charge_cost = 400
|
||||
max_shots = 5
|
||||
fire_delay = 20
|
||||
can_turret = 1
|
||||
turret_sprite_set = "cannon"
|
||||
|
||||
/obj/item/weapon/gun/energy/lasercannon/mounted
|
||||
name = "mounted laser cannon"
|
||||
self_recharge = 1
|
||||
use_external_power = 1
|
||||
recharge_time = 10
|
||||
can_turret = 0
|
||||
|
||||
/obj/item/weapon/gun/energy/xray
|
||||
name = "xray laser gun"
|
||||
@@ -76,6 +86,8 @@ obj/item/weapon/gun/energy/retro
|
||||
charge_cost = 100
|
||||
max_shots = 20
|
||||
fire_delay = 1
|
||||
can_turret = 1
|
||||
turret_sprite_set = "xray"
|
||||
|
||||
/obj/item/weapon/gun/energy/xray/mounted
|
||||
name = "mounted xray laser gun"
|
||||
@@ -83,6 +95,7 @@ obj/item/weapon/gun/energy/retro
|
||||
self_recharge = 1
|
||||
use_external_power = 1
|
||||
recharge_time = 5
|
||||
can_turret = 0
|
||||
|
||||
/obj/item/weapon/gun/energy/sniperrifle
|
||||
name = "marksman energy rifle"
|
||||
@@ -100,6 +113,8 @@ obj/item/weapon/gun/energy/retro
|
||||
w_class = 4
|
||||
accuracy = -5 //shooting at the hip
|
||||
scoped_accuracy = 0
|
||||
can_turret = 1
|
||||
turret_sprite_set = "sniper"
|
||||
|
||||
fire_delay_wielded = 35
|
||||
accuracy_wielded = -3
|
||||
@@ -143,6 +158,8 @@ obj/item/weapon/gun/energy/retro
|
||||
move_delay = 0
|
||||
fire_delay = 2
|
||||
dispersion = list(1.0, -1.0, 2.0, -2.0)
|
||||
can_turret = 1
|
||||
turret_sprite_set = "laser"
|
||||
|
||||
////////Laser Tag////////////////////
|
||||
|
||||
@@ -169,9 +186,15 @@ obj/item/weapon/gun/energy/retro
|
||||
item_state = "bluetag"
|
||||
projectile_type = /obj/item/projectile/beam/lastertag/blue
|
||||
required_vest = /obj/item/clothing/suit/bluetag
|
||||
can_turret = 1
|
||||
turret_is_lethal = 0
|
||||
turret_sprite_set = "blue"
|
||||
|
||||
/obj/item/weapon/gun/energy/lasertag/red
|
||||
icon_state = "redtag"
|
||||
item_state = "redtag"
|
||||
projectile_type = /obj/item/projectile/beam/lastertag/red
|
||||
required_vest = /obj/item/clothing/suit/redtag
|
||||
can_turret = 1
|
||||
turret_is_lethal = 0
|
||||
turret_sprite_set = "red"
|
||||
|
||||
@@ -6,6 +6,11 @@
|
||||
fire_sound = 'sound/weapons/Taser.ogg'
|
||||
slot_flags = SLOT_BELT
|
||||
max_shots = 10
|
||||
can_turret = 1
|
||||
secondary_projectile_type = /obj/item/projectile/beam
|
||||
secondary_fire_sound = 'sound/weapons/Laser.ogg'
|
||||
can_switch_modes = 1
|
||||
turret_is_lethal = 0
|
||||
|
||||
projectile_type = /obj/item/projectile/beam/stun
|
||||
origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2)
|
||||
@@ -22,6 +27,7 @@
|
||||
name = "mounted energy gun"
|
||||
self_recharge = 1
|
||||
use_external_power = 1
|
||||
can_turret = 0
|
||||
|
||||
/obj/item/weapon/gun/energy/gun/nuclear
|
||||
name = "advanced energy gun"
|
||||
@@ -33,6 +39,7 @@
|
||||
self_recharge = 1
|
||||
modifystate = null
|
||||
var/reliability = 95
|
||||
turret_sprite_set = "nuclear"
|
||||
|
||||
firemodes = list(
|
||||
list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, fire_sound='sound/weapons/Taser.ogg'),
|
||||
@@ -110,6 +117,12 @@
|
||||
slot_flags = SLOT_BELT|SLOT_HOLSTER
|
||||
max_shots = 5
|
||||
fire_delay = 4
|
||||
can_turret = 1
|
||||
secondary_projectile_type = /obj/item/projectile/beam/pistol
|
||||
secondary_fire_sound = 'sound/weapons/Laser.ogg'
|
||||
can_switch_modes = 1
|
||||
turret_sprite_set = "carbine"
|
||||
turret_is_lethal = 0
|
||||
|
||||
projectile_type = /obj/item/projectile/beam/stun
|
||||
origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2)
|
||||
|
||||
@@ -9,6 +9,12 @@
|
||||
projectile_type = /obj/item/projectile/beam
|
||||
sel_mode = 2
|
||||
max_shots = 10
|
||||
can_turret = 1
|
||||
secondary_projectile_type = /obj/item/projectile/beam/pulse
|
||||
secondary_fire_sound = 'sound/weapons/pulse.ogg'
|
||||
can_switch_modes = 0
|
||||
turret_sprite_set = "pulse"
|
||||
turret_is_lethal = 1
|
||||
|
||||
firemodes = list(
|
||||
list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, fire_sound='sound/weapons/Taser.ogg', fire_delay=null, charge_cost=null),
|
||||
@@ -22,6 +28,7 @@
|
||||
self_recharge = 1
|
||||
use_external_power = 1
|
||||
recharge_time = 10
|
||||
can_turret = 0
|
||||
|
||||
/obj/item/weapon/gun/energy/pulse/pistol
|
||||
name = "pulse pistol"
|
||||
|
||||
@@ -10,6 +10,12 @@
|
||||
max_shots = 20
|
||||
fire_delay = 6
|
||||
accuracy = -2
|
||||
can_turret = 1
|
||||
secondary_projectile_type = /obj/item/projectile/beam
|
||||
secondary_fire_sound = 'sound/weapons/Laser.ogg'
|
||||
can_switch_modes = 1
|
||||
turret_sprite_set = "carbine"
|
||||
turret_is_lethal = 0
|
||||
|
||||
fire_delay_wielded = 1
|
||||
accuracy_wielded = 0
|
||||
@@ -50,6 +56,11 @@
|
||||
fire_sound = 'sound/weapons/Laser.ogg'
|
||||
origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2)
|
||||
projectile_type = /obj/item/projectile/beam
|
||||
secondary_projectile_type = null
|
||||
secondary_fire_sound = null
|
||||
can_switch_modes = 0
|
||||
turret_sprite_set = "laser"
|
||||
turret_is_lethal = 1
|
||||
|
||||
firemodes = list()
|
||||
modifystate = null
|
||||
@@ -67,6 +78,11 @@
|
||||
max_shots = 5
|
||||
fire_delay = 40
|
||||
accuracy = -2
|
||||
secondary_projectile_type = null
|
||||
secondary_fire_sound = null
|
||||
can_switch_modes = 0
|
||||
turret_sprite_set = "cannon"
|
||||
turret_is_lethal = 1
|
||||
|
||||
fire_delay_wielded = 20
|
||||
|
||||
@@ -79,7 +95,12 @@
|
||||
projectile_type = /obj/item/projectile/beam/xray
|
||||
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 3, TECH_MAGNET = 2, TECH_ILLEGAL = 2)
|
||||
max_shots = 40
|
||||
|
||||
secondary_projectile_type = null
|
||||
secondary_fire_sound = null
|
||||
can_switch_modes = 0
|
||||
turret_sprite_set = "xray"
|
||||
turret_is_lethal = 1
|
||||
|
||||
/obj/item/weapon/gun/energy/rifle/pulse
|
||||
name = "pulse rifle"
|
||||
desc = "A weapon that uses advanced pulse-based beam generation technology to emit powerful laser blasts. Because of its complexity and cost, it is rarely seen in use except by specialists."
|
||||
@@ -89,7 +110,12 @@
|
||||
projectile_type = /obj/item/projectile/beam
|
||||
sel_mode = 2
|
||||
origin_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 6, TECH_MAGNET = 4)
|
||||
|
||||
secondary_projectile_type = /obj/item/projectile/beam/pulse
|
||||
secondary_fire_sound = 'sound/weapons/pulse.ogg'
|
||||
can_switch_modes = 0
|
||||
turret_sprite_set = "pulse"
|
||||
turret_is_lethal = 1
|
||||
|
||||
modifystate = null
|
||||
|
||||
firemodes = list(
|
||||
@@ -106,6 +132,8 @@
|
||||
burst_delay = 5
|
||||
burst = 3
|
||||
max_shots = 30
|
||||
secondary_projectile_type = null
|
||||
secondary_fire_sound = null
|
||||
|
||||
/obj/item/weapon/gun/energy/rifle/pulse/destroyer/attack_self(mob/living/user as mob)
|
||||
user << "<span class='warning'>[src.name] has three settings, and they are all DESTROY.</span>"
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
charge_cost = 300
|
||||
max_shots = 10
|
||||
projectile_type = /obj/item/projectile/ion
|
||||
can_turret = 1
|
||||
turret_sprite_set = "ion"
|
||||
|
||||
/obj/item/weapon/gun/energy/ionrifle/emp_act(severity)
|
||||
..(max(severity, 2)) //so it doesn't EMP itself, I guess
|
||||
@@ -28,6 +30,7 @@
|
||||
self_recharge = 1
|
||||
use_external_power = 1
|
||||
recharge_time = 10
|
||||
can_turret = 0
|
||||
|
||||
/obj/item/weapon/gun/energy/decloner
|
||||
name = "biological demolecularisor"
|
||||
@@ -77,6 +80,8 @@
|
||||
self_recharge = 1
|
||||
recharge_time = 5 //Time it takes for shots to recharge (in ticks)
|
||||
charge_meter = 0
|
||||
can_turret = 1
|
||||
turret_sprite_set = "meteor"
|
||||
|
||||
/obj/item/weapon/gun/energy/meteorgun/pen
|
||||
name = "meteor pen"
|
||||
@@ -86,6 +91,7 @@
|
||||
item_state = "pen"
|
||||
w_class = 1
|
||||
slot_flags = SLOT_BELT
|
||||
can_turret = 0
|
||||
|
||||
|
||||
/obj/item/weapon/gun/energy/mindflayer
|
||||
@@ -94,6 +100,8 @@
|
||||
icon_state = "xray"
|
||||
projectile_type = /obj/item/projectile/beam/mindflayer
|
||||
fire_sound = 'sound/weapons/Laser.ogg'
|
||||
can_turret = 1
|
||||
turret_sprite_set = "xray"
|
||||
|
||||
/obj/item/weapon/gun/energy/toxgun
|
||||
name = "phoron pistol"
|
||||
@@ -173,12 +181,16 @@
|
||||
w_class = 3
|
||||
max_shots = 4
|
||||
fire_delay = 25
|
||||
can_turret = 1
|
||||
turret_is_lethal = 0
|
||||
turret_sprite_set = "net"
|
||||
|
||||
/obj/item/weapon/gun/energy/net/mounted
|
||||
max_shots = 1
|
||||
self_recharge = 1
|
||||
use_external_power = 1
|
||||
recharge_time = 40
|
||||
can_turret = 0
|
||||
|
||||
/* Vaurca Weapons */
|
||||
|
||||
@@ -283,6 +295,8 @@
|
||||
burst = 1
|
||||
burst_delay = 1
|
||||
fire_delay = 0
|
||||
can_turret = 1
|
||||
turret_sprite_set = "laser"
|
||||
|
||||
firemodes = list(
|
||||
list(mode_name="single shot", burst=1, burst_delay = 1, fire_delay = 0),
|
||||
@@ -406,6 +420,8 @@
|
||||
recharge_time = 1
|
||||
charge_meter = 1
|
||||
charge_cost = 50
|
||||
can_turret = 1
|
||||
turret_sprite_set = "thermaldrill"
|
||||
|
||||
firemodes = list(
|
||||
list(mode_name="2 second burst", burst=10, burst_delay = 1, fire_delay = 20),
|
||||
|
||||
@@ -6,11 +6,15 @@
|
||||
fire_sound = 'sound/weapons/Taser.ogg'
|
||||
max_shots = 5
|
||||
projectile_type = /obj/item/projectile/energy/electrode
|
||||
can_turret = 1
|
||||
turret_sprite_set = "carbine"
|
||||
turret_is_lethal = 0
|
||||
|
||||
/obj/item/weapon/gun/energy/taser/mounted
|
||||
name = "mounted taser gun"
|
||||
self_recharge = 1
|
||||
use_external_power = 1
|
||||
can_turret = 0
|
||||
|
||||
/obj/item/weapon/gun/energy/taser/mounted/cyborg
|
||||
name = "taser gun"
|
||||
@@ -44,6 +48,8 @@
|
||||
max_shots = 5
|
||||
self_recharge = 1
|
||||
charge_meter = 0
|
||||
can_turret = 1
|
||||
turret_sprite_set = "crossbow"
|
||||
|
||||
/obj/item/weapon/gun/energy/crossbow/ninja
|
||||
name = "energy dart thrower"
|
||||
|
||||
@@ -11,6 +11,9 @@
|
||||
slot_flags = SLOT_BELT|SLOT_BACK
|
||||
|
||||
projectile_type = /obj/item/projectile/temp
|
||||
can_turret = 1
|
||||
turret_sprite_set = "temperature"
|
||||
|
||||
cell_type = /obj/item/weapon/cell/crap //WAS High, but brought down to match energy use
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,25 +1,24 @@
|
||||
//snowflake guns for xenoarch because you can't override the update_icon() proc inside the giant mess that is find creation
|
||||
/obj/item/weapon/gun/energy/laser/xenoarch
|
||||
icon = 'icons/obj/xenoarchaeology.dmi'
|
||||
icon_state = "egun3"
|
||||
update_icon()
|
||||
return
|
||||
|
||||
/obj/item/weapon/gun/energy/laser/practice/xenoarch
|
||||
icon = 'icons/obj/xenoarchaeology.dmi'
|
||||
update_icon()
|
||||
return
|
||||
|
||||
/obj/item/weapon/gun/energy/laser/practice/xenoarch
|
||||
icon = 'icons/obj/xenoarchaeology.dmi'
|
||||
icon_state = "egun1"
|
||||
update_icon()
|
||||
return
|
||||
|
||||
/obj/item/weapon/gun/energy/xray/xenoarch
|
||||
icon = 'icons/obj/xenoarchaeology.dmi'
|
||||
icon_state = "egun5"
|
||||
update_icon()
|
||||
return
|
||||
|
||||
/obj/item/weapon/gun/energy/captain/xenoarch
|
||||
icon = 'icons/obj/xenoarchaeology.dmi'
|
||||
icon_state = "egun4"
|
||||
update_icon()
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user