mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Merge pull request #5643 from lbnesquik/Kates-Mech-Tweaks
Mech noises update.
This commit is contained in:
@@ -48,6 +48,7 @@
|
|||||||
set popup_menu = 0
|
set popup_menu = 0
|
||||||
if(usr!=src.occupant)
|
if(usr!=src.occupant)
|
||||||
return
|
return
|
||||||
|
playsound(src, 'sound/mecha/duranddefencemode.ogg', 50, 1)
|
||||||
defence = !defence
|
defence = !defence
|
||||||
if(defence)
|
if(defence)
|
||||||
deflect_chance = defence_deflect
|
deflect_chance = defence_deflect
|
||||||
|
|||||||
@@ -37,6 +37,7 @@
|
|||||||
wreckage = /obj/effect/decal/mecha_wreckage/gygax/dark
|
wreckage = /obj/effect/decal/mecha_wreckage/gygax/dark
|
||||||
max_equip = 4
|
max_equip = 4
|
||||||
step_energy_drain = 5
|
step_energy_drain = 5
|
||||||
|
mech_faction = MECH_FACTION_SYNDI
|
||||||
|
|
||||||
max_hull_equip = 1
|
max_hull_equip = 1
|
||||||
max_weapon_equip = 2
|
max_weapon_equip = 2
|
||||||
@@ -84,6 +85,7 @@
|
|||||||
step_energy_drain = step_energy_drain*overload_coeff
|
step_energy_drain = step_energy_drain*overload_coeff
|
||||||
src.occupant_message("<font color='red'>You enable leg actuators overload.</font>")
|
src.occupant_message("<font color='red'>You enable leg actuators overload.</font>")
|
||||||
src.log_message("Toggled leg actuators overload.")
|
src.log_message("Toggled leg actuators overload.")
|
||||||
|
playsound(src, 'sound/mecha/mechanical_toggle.ogg', 50, 1)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/mecha/combat/gygax/dyndomove(direction)
|
/obj/mecha/combat/gygax/dyndomove(direction)
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
internal_damage_threshold = 25
|
internal_damage_threshold = 25
|
||||||
force = 45
|
force = 45
|
||||||
max_equip = 4
|
max_equip = 4
|
||||||
|
mech_faction = MECH_FACTION_NT
|
||||||
|
|
||||||
max_hull_equip = 3
|
max_hull_equip = 3
|
||||||
max_weapon_equip = 3
|
max_weapon_equip = 3
|
||||||
@@ -42,6 +43,7 @@
|
|||||||
force = 55
|
force = 55
|
||||||
max_equip = 5
|
max_equip = 5
|
||||||
|
|
||||||
|
|
||||||
/obj/mecha/combat/marauder/mauler
|
/obj/mecha/combat/marauder/mauler
|
||||||
desc = "Heavy-duty, combat exosuit, developed off of the existing Marauder model."
|
desc = "Heavy-duty, combat exosuit, developed off of the existing Marauder model."
|
||||||
name = "Mauler"
|
name = "Mauler"
|
||||||
@@ -49,6 +51,7 @@
|
|||||||
initial_icon = "mauler"
|
initial_icon = "mauler"
|
||||||
operation_req_access = list(access_syndicate)
|
operation_req_access = list(access_syndicate)
|
||||||
wreckage = /obj/effect/decal/mecha_wreckage/mauler
|
wreckage = /obj/effect/decal/mecha_wreckage/mauler
|
||||||
|
mech_faction = MECH_FACTION_SYNDI
|
||||||
|
|
||||||
/obj/mecha/combat/marauder/New()
|
/obj/mecha/combat/marauder/New()
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -20,10 +20,13 @@
|
|||||||
var/required_type = /obj/mecha //may be either a type or a list of allowed types
|
var/required_type = /obj/mecha //may be either a type or a list of allowed types
|
||||||
var/equip_type = null //mechaequip2
|
var/equip_type = null //mechaequip2
|
||||||
var/allow_duplicate = FALSE
|
var/allow_duplicate = FALSE
|
||||||
|
var/ready_sound = 'sound/mecha/mech_reload_default.ogg' //Sound to play once the fire delay passed.
|
||||||
|
|
||||||
/obj/item/mecha_parts/mecha_equipment/proc/do_after_cooldown(target=1)
|
/obj/item/mecha_parts/mecha_equipment/proc/do_after_cooldown(target=1)
|
||||||
sleep(equip_cooldown)
|
sleep(equip_cooldown)
|
||||||
set_ready_state(1)
|
set_ready_state(1)
|
||||||
|
if(ready_sound) //Kind of like the kinetic accelerator.
|
||||||
|
playsound(loc, ready_sound, 50, 1, -1)
|
||||||
if(target && chassis)
|
if(target && chassis)
|
||||||
return 1
|
return 1
|
||||||
return 0
|
return 0
|
||||||
@@ -69,10 +72,22 @@
|
|||||||
src.update_chassis_page()
|
src.update_chassis_page()
|
||||||
chassis.occupant_message("<font color='red'>The [src] is destroyed!</font>")
|
chassis.occupant_message("<font color='red'>The [src] is destroyed!</font>")
|
||||||
chassis.log_append_to_last("[src] is destroyed.",1)
|
chassis.log_append_to_last("[src] is destroyed.",1)
|
||||||
if(istype(src, /obj/item/mecha_parts/mecha_equipment/weapon))
|
if(istype(src, /obj/item/mecha_parts/mecha_equipment/weapon))//Gun
|
||||||
chassis.occupant << sound('sound/mecha/weapdestr.ogg',volume=50)
|
switch(chassis.mech_faction)
|
||||||
else
|
if(MECH_FACTION_NT)
|
||||||
chassis.occupant << sound('sound/mecha/critdestr.ogg',volume=50)
|
src.chassis.occupant << sound('sound/mecha/weapdestrnano.ogg',volume=70)
|
||||||
|
if(MECH_FACTION_SYNDI)
|
||||||
|
src.chassis.occupant << sound('sound/mecha/weapdestrsyndi.ogg',volume=60)
|
||||||
|
else
|
||||||
|
src.chassis.occupant << sound('sound/mecha/weapdestr.ogg',volume=50)
|
||||||
|
else //Not a gun
|
||||||
|
switch(chassis.mech_faction)
|
||||||
|
if(MECH_FACTION_NT)
|
||||||
|
src.chassis.occupant << sound('sound/mecha/critdestrnano.ogg',volume=70)
|
||||||
|
if(MECH_FACTION_SYNDI)
|
||||||
|
src.chassis.occupant << sound('sound/mecha/critdestrsyndi.ogg',volume=70)
|
||||||
|
else
|
||||||
|
src.chassis.occupant << sound('sound/mecha/critdestr.ogg',volume=50)
|
||||||
spawn
|
spawn
|
||||||
qdel(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -7,6 +7,11 @@
|
|||||||
#define MELEE 1
|
#define MELEE 1
|
||||||
#define RANGED 2
|
#define RANGED 2
|
||||||
|
|
||||||
|
|
||||||
|
#define MECH_FACTION_NT "nano"
|
||||||
|
#define MECH_FACTION_SYNDI "syndi"
|
||||||
|
#define MECH_FACTION_NONE "none"
|
||||||
|
|
||||||
/obj/mecha
|
/obj/mecha
|
||||||
name = "Mecha"
|
name = "Mecha"
|
||||||
desc = "Exosuit"
|
desc = "Exosuit"
|
||||||
@@ -41,6 +46,10 @@
|
|||||||
var/lights_power = 6
|
var/lights_power = 6
|
||||||
var/force = 0
|
var/force = 0
|
||||||
|
|
||||||
|
var/mech_faction = null
|
||||||
|
var/firstactivation = 0 //It's simple. If it's 0, no one entered it yet. Otherwise someone entered it at least once.
|
||||||
|
|
||||||
|
|
||||||
//inner atmos
|
//inner atmos
|
||||||
var/use_internal_tank = 0
|
var/use_internal_tank = 0
|
||||||
var/internal_tank_valve = ONE_ATMOSPHERE
|
var/internal_tank_valve = ONE_ATMOSPHERE
|
||||||
@@ -500,7 +509,7 @@
|
|||||||
internal_damage |= int_dam_flag
|
internal_damage |= int_dam_flag
|
||||||
pr_internal_damage.start()
|
pr_internal_damage.start()
|
||||||
log_append_to_last("Internal damage of type [int_dam_flag].",1)
|
log_append_to_last("Internal damage of type [int_dam_flag].",1)
|
||||||
occupant << sound('sound/machines/warning-buzzer.ogg',wait=0)
|
occupant << sound('sound/mecha/internaldmgalarm.ogg',volume=50) //Better sounding.
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/mecha/proc/clearInternalDamage(int_dam_flag)
|
/obj/mecha/proc/clearInternalDamage(int_dam_flag)
|
||||||
@@ -1008,6 +1017,7 @@
|
|||||||
if(network && !(internal_tank.return_air() in network.gases))
|
if(network && !(internal_tank.return_air() in network.gases))
|
||||||
network.gases += internal_tank.return_air()
|
network.gases += internal_tank.return_air()
|
||||||
network.update = 1
|
network.update = 1
|
||||||
|
playsound(src, 'sound/mecha/gasconnected.ogg', 50, 1)
|
||||||
log_message("Connected to gas port.")
|
log_message("Connected to gas port.")
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
@@ -1021,6 +1031,7 @@
|
|||||||
|
|
||||||
connected_port.connected_device = null
|
connected_port.connected_device = null
|
||||||
connected_port = null
|
connected_port = null
|
||||||
|
playsound(src, 'sound/mecha/gasdisconnected.ogg', 50, 1)
|
||||||
src.log_message("Disconnected from gas port.")
|
src.log_message("Disconnected from gas port.")
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
@@ -1078,6 +1089,7 @@
|
|||||||
else set_light(light_range - lights_power)
|
else set_light(light_range - lights_power)
|
||||||
src.occupant_message("Toggled lights [lights?"on":"off"].")
|
src.occupant_message("Toggled lights [lights?"on":"off"].")
|
||||||
log_message("Toggled lights [lights?"on":"off"].")
|
log_message("Toggled lights [lights?"on":"off"].")
|
||||||
|
playsound(src, 'sound/mecha/heavylightswitch.ogg', 50, 1)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -1176,8 +1188,22 @@
|
|||||||
src.icon_state = src.reset_icon()
|
src.icon_state = src.reset_icon()
|
||||||
set_dir(dir_in)
|
set_dir(dir_in)
|
||||||
playsound(src, 'sound/machines/windowdoor.ogg', 50, 1)
|
playsound(src, 'sound/machines/windowdoor.ogg', 50, 1)
|
||||||
if(!hasInternalDamage())
|
if(!hasInternalDamage()) //Otherwise it's not nominal!
|
||||||
src.occupant << sound('sound/mecha/nominal.ogg',volume=50)
|
switch(mech_faction)
|
||||||
|
if(MECH_FACTION_NT)//The good guys category
|
||||||
|
if(firstactivation)//First time = long activation sound
|
||||||
|
firstactivation = 1
|
||||||
|
src.occupant << sound('sound/mecha/LongNanoActivation.ogg',volume=50)
|
||||||
|
else
|
||||||
|
src.occupant << sound('sound/mecha/nominalnano.ogg',volume=50)
|
||||||
|
if(MECH_FACTION_SYNDI)//Bad guys
|
||||||
|
if(firstactivation)
|
||||||
|
firstactivation = 1
|
||||||
|
src.occupant << sound('sound/mecha/LongSyndiActivation.ogg',volume=50)
|
||||||
|
else
|
||||||
|
src.occupant << sound('sound/mecha/nominalsyndi.ogg',volume=50)
|
||||||
|
else//Everyone else gets the normal noise
|
||||||
|
src.occupant << sound('sound/mecha/nominal.ogg',volume=50)
|
||||||
return 1
|
return 1
|
||||||
else
|
else
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
BIN
sound/mecha/duranddefencemode.ogg
Normal file
BIN
sound/mecha/duranddefencemode.ogg
Normal file
Binary file not shown.
BIN
sound/mecha/gasconnected.ogg
Normal file
BIN
sound/mecha/gasconnected.ogg
Normal file
Binary file not shown.
BIN
sound/mecha/gasdisconnected.ogg
Normal file
BIN
sound/mecha/gasdisconnected.ogg
Normal file
Binary file not shown.
BIN
sound/mecha/heavylightswitch.ogg
Normal file
BIN
sound/mecha/heavylightswitch.ogg
Normal file
Binary file not shown.
BIN
sound/mecha/mech_reload_default.ogg
Normal file
BIN
sound/mecha/mech_reload_default.ogg
Normal file
Binary file not shown.
BIN
sound/mecha/mechanical_toggle.ogg
Normal file
BIN
sound/mecha/mechanical_toggle.ogg
Normal file
Binary file not shown.
Reference in New Issue
Block a user