diff --git a/code/__DEFINES/footsteps.dm b/code/__DEFINES/footsteps.dm index fd88a17ce9f5..90fb75a73d5f 100644 --- a/code/__DEFINES/footsteps.dm +++ b/code/__DEFINES/footsteps.dm @@ -29,6 +29,7 @@ #define FOOTSTEP_MOB_RUST "footstep_rust" #define FOOTSTEP_OBJ_MACHINE "footstep_machine" #define FOOTSTEP_OBJ_ROBOT "footstep_robot" +#define FOOTSTEP_OBJ_SILICON "footstep_silicon" //priority defines for the footstep_override element #define STEP_SOUND_NO_PRIORITY 0 diff --git a/code/datums/elements/footstep.dm b/code/datums/elements/footstep.dm index 1bc10f91bd4d..dfc492caacf4 100644 --- a/code/datums/elements/footstep.dm +++ b/code/datums/elements/footstep.dm @@ -44,6 +44,10 @@ footstep_sounds = 'sound/effects/footstep/rustystep1.ogg' if(FOOTSTEP_MOB_SLIME) footstep_sounds = 'sound/effects/footstep/slime1.ogg' + if(FOOTSTEP_OBJ_SILICON) + footstep_sounds = 'sound/effects/footstep/silicon_step.ogg' + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(play_simplestep_machine)) + return if(FOOTSTEP_OBJ_MACHINE) footstep_sounds = 'sound/effects/bang.ogg' RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(play_simplestep_machine)) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 6019e2bfdf83..15ec9cbda3f8 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -17,6 +17,7 @@ set_wires(new /datum/wires/robot(src)) AddElement(/datum/element/empprotection, EMP_PROTECT_WIRES) AddElement(/datum/element/ridable, /datum/component/riding/creature/cyborg) + AddElement(/datum/element/footstep, footstep_type = FOOTSTEP_OBJ_SILICON) RegisterSignal(src, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, PROC_REF(charge)) RegisterSignal(src, COMSIG_LIGHT_EATER_ACT, PROC_REF(on_light_eater)) diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm index f1b33370aa6a..37108b7a52cd 100644 --- a/code/modules/security_levels/keycard_authentication.dm +++ b/code/modules/security_levels/keycard_authentication.dm @@ -54,7 +54,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/keycard_auth, 26) return data /obj/machinery/keycard_auth/ui_status(mob/user) - if(isdrone(user)) + if(isdrone(user) || issilicon(user)) //no more borg red alerts return UI_CLOSE if(!isanimal_or_basicmob(user)) return ..() diff --git a/sound/effects/footstep/silicon_step.ogg b/sound/effects/footstep/silicon_step.ogg new file mode 100644 index 000000000000..4ed55e787397 Binary files /dev/null and b/sound/effects/footstep/silicon_step.ogg differ