diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 11ee7f27a0f..3cc4b8e28cb 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -5129,6 +5129,9 @@ "bUG" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{dir = 4},/turf/simulated/wall/r_wall{desc = "A specially coated wall that resists temperatures for Science"; max_temperature = 1e+009; name = "Coated Reinforced Wall"},/area/toxins/mixing) "bUH" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/simulated/floor/engine,/area/toxins/mixing) "bUI" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 10},/turf/simulated/floor/engine,/area/toxins/mixing) +"bUJ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/smes/engineering,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/engine/engineering) +"bUK" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/smes/engineering,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/engineering) +"bUL" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/smes/engineering,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engine/engineering) "bUM" = (/turf/simulated/wall,/area/toxins/test_area) "bUN" = (/turf/simulated/wall/r_wall,/area/toxins/test_area) "bUO" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'BOMB RANGE"; name = "BOMB RANGE"},/turf/simulated/wall/r_wall,/area/toxins/test_area) @@ -7202,7 +7205,6 @@ "cMb" = (/turf/simulated/wall,/area/engine/engineering) "cMc" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/light_switch{pixel_x = -27},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/engine/engineering) "cMd" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/engineering) -"cMe" = (/obj/machinery/power/smes{charge = 1e+006},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/engine/engineering) "cMg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/wall/r_wall,/area/engine/engineering) "cMh" = (/turf/simulated/wall/r_wall,/area/atmos) "cMi" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/atmos,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/atmos) @@ -7245,7 +7247,6 @@ "cMW" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{level = 1},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = -32; req_access_txt = "0"},/turf/simulated/floor,/area/engine/engineering) "cMX" = (/obj/machinery/door/firedoor{dir = 1; name = "Firelock North"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/door/airlock/glass_engineering{name = "Engine Room"; req_access_txt = "10"; req_one_access_txt = null},/turf/simulated/floor,/area/engine/engineering) "cMY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cMZ" = (/obj/machinery/power/smes{charge = 1e+006},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/engineering) "cNb" = (/turf/simulated/floor/plating,/area/engine/engineering) "cNc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/engine/engineering) "cNd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/atmos) @@ -7294,7 +7295,6 @@ "cNY" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Singularity"; layer = 2.7; name = "Singularity Blast Doors"; opacity = 0},/obj/machinery/door/airlock/glass_engineering{name = "Engine Room"; req_access_txt = "10"; req_one_access_txt = null},/turf/simulated/floor/plating,/area/engine/engineering) "cOb" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/engine/engineering) "cOc" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall,/area/engine/engineering) -"cOd" = (/obj/machinery/power/smes{charge = 1e+006},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engine/engineering) "cOf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/engine/engineering) "cOg" = (/obj/machinery/camera{c_tag = "Atmospherics West"; dir = 4; network = list("SS13")},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/atmos) "cOh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/atmos) @@ -8141,9 +8141,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaczaczakSaabaabcyYcHUczaaaacyYcHUczaaaacyYcHUczaaabaaaaaaaaaaaaaaaaaaaaaaabaabbCxcCYcCYcCYcCYcHWcHXcHYceHcZVceHceHcEDcIaceHcEEcIbcIccIdcIebGIcIgcIhcIicIjbGRcIlcImcIncIocIpbGRcIrcIscItcIucIvcIwcIxcIycIzcIAcGjcIBcICcIDcIEcIFcIGcIHcIIcIJcIKcILcIMbGVcDKcDLcIPcIOcIOcCDaaaaaaaabcDQcIQcFccIRcDRbIxbIxbIxbIxcDRcIVcIWcIXcIYcIZcJacJbcIYbIBaaacDPcjIcjIcjIcjIcjIcJdcqacJecyMcJfcyMcJgcyMcJhcyMcJibGHaaaaaaaaaaaaamjaaacJkcJkcJkcJkcJkaabcJlaabcJkcJkcJkcJkcJkaaaamjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJmaaaaaaaaacJmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaaaaaaaaaaaaaaacyYcHUczaaabcyYcHUczaaaacyYcHUczaaaaaaaaaaaabaaaaaaaaaaaaaabaabaabaaaaaaaabaabcJncJncJncJncJncJncJncJocJncJncEEcJpcJqcGTcGTbGIbICbGIbJhcJvcDocJwcJxcFZcJycJzcDocJAcDucDrcJBcJCcJDcIxcJEcJFcJGcJHcJIcJJcJKcJHcJLcJMcJNcJOcDAcJPcJQcJRbJCaabcEYcJUcJTcJVcCDaaaaaaaaacDQcDRcJWcJXcDRcJYcJZcKacKbcKccFccKdcKecIYbJEcKgcKhcKibIBaabaaaaaaaaaaaaaaacjIcKkcKlcKmcKncKocKpcKqcKrcKocKpcKscjIaaaaaaaaaaaaamjaabcKtcKucKucKucKucKvcKwcKxcKycKycKycKycKzaabamjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJmcJmcJmcJmcJmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaaaaaaaaaakSaabcyYcHUczaaaacyYcHUczaaaacyYcHUczaaabaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaabaabaabcJncKAcKAcKBcKCcKDcKDcKEcKFcKGcKHcIdcIecGTcGTcGTcKIcGTcGTcGTcDocKJbJVcKLbJWbJXcKOcKPcKQcKRbKhbKhbKhcKVcKWcKXcKYcKZcLacHncCscLbcLccLdcLecLfcDAcJPcLgcLhbKMcLjcDLcLkcIOcIOcCDaabaaaaaacHxcLlcLmcLncLocLpcLqcLpcLpcLrcLscLtcLucLubLscLwcLxcLybLtaabaabaaaaaaaaaaaacjIcLAcLBbLucvWbLEcLEbLUcvWbLVcLHbLWcjIaaaaaaaaaaaaamjaabcLJcLJcLJcLJcLJaaacJlaaacLJcLJcLJcLJcLJaabamjaaaaaaaaaaaacJmaaaaaacJmaaaaaacJmcJmcJmcJmcJmcJmcJmaaaaaacJmaaaaaacJmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaaaaaaaaaakSaabcyYcHUczaaaacyYcHUczaaabcyYcHUczaaabaabaabaaaaabaaaaaaaabaabaaaaaaaaaaabaaaaaacJncKAcKAcKBcLKcLKcLKcLLcLLcLMcEEcLNcLOcLPcLQcLRcLScLTcLUcLUcLVcLWcLXcGTcGTcGTcLYcLZcMacMbcMccMdcMebNdcMgcEEcMhcMhcMicHncCscMjcMkcMlcMmcMncDAcMocMpcMqbNgcMscCDcCDcCDcCDcCDaaaaaaaaacDQcMtcMucMvcMwcMxcMycMxcMxcMzcMAcMBcMCcLybNlcMEcKhcIYbNqaabaabaaaaaaaaaaaacjIcMGcxtcxtcvWcMHcxtcxtcvWcMHcxtcxtcjIaaaaaaaaaaaaamjaaaaabaaaaabaabaabaaacJlaaaaabaaaaabaaaaabaaaamjaaaaaaaaaaaacJmcJmcJmcJmaaacJmcJmcJmcJmcJmcJmcJmcJmcJmaaacJmcJmcJmcJmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaaaaaaaaaalwaabcyYcMIczaaaacyYcMIczaaaacyYcMIczaaabakSaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaabcJncMJcMKcLKcLKcLKcMLcMMcMMcMNcMMcMMcMMcMMcMOcMPcMQcMRcMScMScMScMTcMUcMVcMScMScMScMUcMWcMXcMYcMdcMZbNdcMgcNbcNccNdcNecNfcNgcNhcNicLfcNjcNkcNlcNmcNncNobGVcNpcDLcNqcNrcNrcCDaaaaaaaaacDQcNscNtcNucNvcNwcNxcNycIYcNzcNAcNBcNCcNDbJEcNFcNGcNHbNqaaaaaaaaaaaaaaaaaacjIcNJbTXcxtcvWcNKbTXcxtcvWcNKbTXcxtcjIaaaaaaaaaaaaamjaaacJkcJkcJkcJkcJkaabcJlaabcJkcJkcJkcJkcJkaabamjaaaaaaaaaaaacJmcJmcJmcJmaaacJmcJmcJmcJmcJmcJmcJmcJmcJmaaacJmcJmcJmcJmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaaaaaaaaaakSaaaaabaaaaaaaaaaabaabaabaaaaaaaabaabaaaakSaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaabcJncNLcLKcLKcLKcLKcLKcMMcNMcNNcNOcNPcNQcMMcNRcNScNTcJqcGTcGTcNUcNVbNtbNucNYbNvbNvcObcEEcOccMYcMdcOdbNdcMgcEEcOfcMhcOgcOhcDAcNhcNicOicDAcNkcNlcJPcJQcOjbJCcOkcEYcOlcOmcOncCDaaaaaaaaacOobNwbNwbNwbNwcOscOscOtcOubJEbJEbNxbSSbJEcOzcOzbTicOAcOzaaaaaaaaaaaaaaaaaacjIcxtcxtcxtcvWcOBcxtcxtcvWcOBcxtcxtcjIaaaaaaaaaaaaamjaabcKtcKucKucKucKucKvcKwcKxcKycKycKycKycOCaabamjaaaaaaaaaaaacJmcJmcJmcJmaaacJmcJmcJmcJmcJmcJmcJmcJmcJmaaacJmcJmcJmcJmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaaaaaaaaaakSaabcyYcHUczaaaacyYcHUczaaabcyYcHUczaaabaabaabaaaaabaaaaaaaabaabaaaaaaaaaaabaaaaaacJncKAcKAcKBcLKcLKcLKcLLcLLcLMcEEcLNcLOcLPcLQcLRcLScLTcLUcLUcLVcLWcLXcGTcGTcGTcLYcLZcMacMbcMccMdbUJbNdcMgcEEcMhcMhcMicHncCscMjcMkcMlcMmcMncDAcMocMpcMqbNgcMscCDcCDcCDcCDcCDaaaaaaaaacDQcMtcMucMvcMwcMxcMycMxcMxcMzcMAcMBcMCcLybNlcMEcKhcIYbNqaabaabaaaaaaaaaaaacjIcMGcxtcxtcvWcMHcxtcxtcvWcMHcxtcxtcjIaaaaaaaaaaaaamjaaaaabaaaaabaabaabaaacJlaaaaabaaaaabaaaaabaaaamjaaaaaaaaaaaacJmcJmcJmcJmaaacJmcJmcJmcJmcJmcJmcJmcJmcJmaaacJmcJmcJmcJmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaaaaaaaaaalwaabcyYcMIczaaaacyYcMIczaaaacyYcMIczaaabakSaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaabcJncMJcMKcLKcLKcLKcMLcMMcMMcMNcMMcMMcMMcMMcMOcMPcMQcMRcMScMScMScMTcMUcMVcMScMScMScMUcMWcMXcMYcMdbUKbNdcMgcNbcNccNdcNecNfcNgcNhcNicLfcNjcNkcNlcNmcNncNobGVcNpcDLcNqcNrcNrcCDaaaaaaaaacDQcNscNtcNucNvcNwcNxcNycIYcNzcNAcNBcNCcNDbJEcNFcNGcNHbNqaaaaaaaaaaaaaaaaaacjIcNJbTXcxtcvWcNKbTXcxtcvWcNKbTXcxtcjIaaaaaaaaaaaaamjaaacJkcJkcJkcJkcJkaabcJlaabcJkcJkcJkcJkcJkaabamjaaaaaaaaaaaacJmcJmcJmcJmaaacJmcJmcJmcJmcJmcJmcJmcJmcJmaaacJmcJmcJmcJmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaaaaaaaaaakSaaaaabaaaaaaaaaaabaabaabaaaaaaaabaabaaaakSaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaabcJncNLcLKcLKcLKcLKcLKcMMcNMcNNcNOcNPcNQcMMcNRcNScNTcJqcGTcGTcNUcNVbNtbNucNYbNvbNvcObcEEcOccMYcMdbULbNdcMgcEEcOfcMhcOgcOhcDAcNhcNicOicDAcNkcNlcJPcJQcOjbJCcOkcEYcOlcOmcOncCDaaaaaaaaacOobNwbNwbNwbNwcOscOscOtcOubJEbJEbNxbSSbJEcOzcOzbTicOAcOzaaaaaaaaaaaaaaaaaacjIcxtcxtcxtcvWcOBcxtcxtcvWcOBcxtcxtcjIaaaaaaaaaaaaamjaabcKtcKucKucKucKucKvcKwcKxcKycKycKycKycOCaabamjaaaaaaaaaaaacJmcJmcJmcJmaaacJmcJmcJmcJmcJmcJmcJmcJmcJmaaacJmcJmcJmcJmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaaaaaaaaaaczaczakSaczaczalwakSakSakSakSaczakSakSaczcODaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJncOEcLLcOFcOGcOHcOIcMMcOJcOKcOLcOMcONcOOcOPcOQcORcJqcGTcOScOTcOUcOVcOWcOXcOYcOZcPacPbcNTcJqcPccPdcMbcPecEEcPfcMhcPgcPhcDAcNhcNicLfcDAcPicNlcJPcPjcPkbKMcPlcDLcPmcNrcNrcCDaaaaaaaaacPnaaaaaaaaaaaaaaaaaacDQcPocIYcIYcPpcPqcPrcOzaacbTpbTqcPuaaaaaaaaaaaaaaaaaacjIcjIcjIcjIcjIcjIcjIcjIcjIcPvcPvcPvcjIaaaaaaaaaaaaamjaabcLJcLJcLJcLJcLJaaacJlaabcLJcLJcLJcLJcLJaaaamjaaaaaaaaaaaacJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcJncJncJncPwbNybNybNycMMcPAcPBcPCcPCcPDcPEcMScPFcPGcPHcPIcPJcPJcPKcPLcPMcPNcPOcPPcPKcPQcPRcPScPTcGTcPUcPVcPWcOfcMhcPXcPYcDAcNhcDAcPZcDAcNkcNlcJPcJQcQabJCcOkcCDcCDcCDcCDcCDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDQcQbcIYcIYcKbcQccQdcOzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacPnaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaaaaaaaaaaaaaaaawTaaaaabaaaaabaaaaabaaacQeaaaaabaaaaabaabaabaabamjaaaaaaaaaaaacJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabcQfcQgcQhbNyaabaabcMMcQjcQkcPCcPCcQlcMMcQmcQncQocQpcQqcQrcQscEEcQtcQucQvcGTcQwcEEcQxcQycQzcQpcQpcQAcQBcEEcQCcMhcQDcQEcDAcNhcDAcMjcMkcQFcQGcNmcQHcQIbGVcQJcDLcQKcQLcQLcCDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOocQMcQNcQOcQPcQQcQRcOzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamjaaacJkcJkcJkcJkcJkaabcGIaabcJkcJkcJkcJkcJkaabamjaaaaaaaaaaaacJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmcJmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm index 9aa1a4bbd7c..2227af646e6 100644 --- a/_maps/map_files/cyberiad/z2.dmm +++ b/_maps/map_files/cyberiad/z2.dmm @@ -450,8 +450,8 @@ "iH" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/vox/station) "iI" = (/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 1},/area/space) "iJ" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/vox/station) -"iK" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/twohanded/fireaxe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source) -"iL" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/twohanded/fireaxe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source) +"iK" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/sleeping_carp_scroll,/obj/item/weapon/twohanded/bostaff,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source) +"iL" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/sleeping_carp_scroll,/obj/item/weapon/twohanded/bostaff,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source) "iM" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "iN" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "iO" = (/obj/structure/table/woodentable,/obj/item/trash/tray,/obj/item/weapon/paper/spells,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/wizard_station) @@ -965,6 +965,7 @@ "sC" = (/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/control) "sD" = (/obj/structure/table,/obj/machinery/juicer{pixel_y = 6},/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/control) "sE" = (/obj/effect/spawner/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"sF" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_end"; name = "window"; opacity = 0; tag = "icon-window5_end (NORTH)"},/area/admin) "sG" = (/obj/structure/piano,/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/control) "sH" = (/obj/structure/stool{pixel_y = 8},/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/control) "sI" = (/obj/structure/closet/secure_closet/bar{req_access = null; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control) @@ -985,6 +986,7 @@ "sX" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control) "sY" = (/obj/machinery/door/airlock/centcom{name = "Freezer"; opacity = 1; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/control) "sZ" = (/obj/machinery/door/airlock/centcom{name = "Commander Quarters"; opacity = 1; req_access_txt = "114"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/control) +"ta" = (/obj/machinery/door/airlock/hatch{desc = "Danger: May contain robustness"; name = "Dojo"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) "tb" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control) "tc" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0; pixel_y = 10},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control) "td" = (/obj/structure/table,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/control) @@ -1009,6 +1011,12 @@ "tw" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/specops) "tx" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "ty" = (/obj/machinery/recharge_station/upgraded,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"tz" = (/obj/item/weapon/storage/toolbox/syndicate{desc = "A powerful relic many men worked long and hard to keep safe and away from the forces of evil."; force = 1e+008; name = "toolbox of robustness"},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/table/woodentable,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) +"tA" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/grenade/clusterbuster/smoke,/obj/structure/table/woodentable,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) +"tB" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/table/woodentable,/obj/item/weapon/sleeping_carp_scroll,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) +"tC" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/table/woodentable,/obj/item/weapon/twohanded/bostaff,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) +"tD" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/sleeping_carp_scroll,/obj/item/weapon/twohanded/bostaff,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) +"tE" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/sleeping_carp_scroll,/obj/item/weapon/twohanded/bostaff,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) "tF" = (/obj/effect/landmark{name = "Marauder Exit"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) "tG" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) "tH" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id_tag = "ASSAULT3"; name = "Launch Bay #3"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) @@ -1058,6 +1066,7 @@ "uz" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "uA" = (/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows3"; tag = "icon-fakewindows (WEST)"},/area/centcom/specops) "uB" = (/turf/unsimulated/floor{icon_state = "asteroid6"; name = "sand"},/area/centcom/specops) +"uC" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "thunderdomeaxe"; name = "Specialist Supply"; pixel_x = 0; pixel_y = 5; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin) "uE" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/hypospray/combat/nanites{pixel_x = 3; pixel_y = -3},/obj/item/weapon/reagent_containers/hypospray/combat/nanites,/obj/item/weapon/reagent_containers/hypospray/combat/nanites{pixel_x = -3; pixel_y = 3},/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "uF" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/bodybags,/obj/item/bodybag/cryobag{pixel_y = 5},/obj/item/bodybag/cryobag{pixel_y = 5},/obj/item/bodybag/cryobag{pixel_y = 5},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "uG" = (/obj/machinery/porta_turret{anchored = 0; check_records = 0; enabled = 0; req_one_access = list(109); req_one_access_txt = "109"},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) @@ -1690,12 +1699,9 @@ "Hf" = (/obj/structure/table,/obj/item/weapon/gun/projectile/automatic/pistol,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "Hg" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch to lock down external access to the admin room."; icon_state = "doorctrl0"; id = "ADMINLOCKDOWN"; name = "Lockdown"; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "Hh" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes/syndicate,/obj/item/weapon/reagent_containers/food/drinks/cans/adminbooze,/obj/item/weapon/reagent_containers/food/drinks/cans/badminbrew,/obj/item/weapon/reagent_containers/food/drinks/cans/madminmalt,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"Hi" = (/obj/machinery/door/airlock/hatch{desc = "Danger: May contain robustness"; name = "Dojo"; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) "Hj" = (/obj/machinery/door/airlock/glass{name = "Shuttle Bay"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "Hk" = (/obj/structure/showcase,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"Hl" = (/obj/structure/cult/talisman,/obj/item/weapon/storage/toolbox/syndicate{desc = "A powerful relic many men worked long and hard to keep safe and away from the forces of evil."; force = 1e+008; name = "toolbox of robustness"},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) "Hm" = (/turf/unsimulated/floor{icon_state = "gcircuit"},/area/admin) -"Hn" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/rack,/obj/item/weapon/grenade/clusterbuster/smoke,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) "Ho" = (/obj/structure/ninjatele{pixel_x = -28},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) "Hp" = (/obj/structure/ninjatele{pixel_x = 28},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) "Hq" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) @@ -1732,15 +1738,12 @@ "HV" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; name = "window"; opacity = 0; tag = "icon-window5 (EAST)"},/area/admin) "HW" = (/obj/machinery/door/airlock/hatch{desc = "Uh oh. You'd better hope you aren't going in here!"; name = "Prisoner Treatment"},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) "HX" = (/obj/machinery/door/airlock/hatch{desc = "Uh oh. You'd better hope you aren't going in here!"; name = "Detainment"},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"HY" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/space) "HZ" = (/turf/unsimulated/floor{icon_state = "engine"},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; name = "window"; opacity = 0; tag = "icon-window5"},/area/admin) -"Ia" = (/obj/machinery/gibber,/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/tdome) "Ib" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "Ic" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "Id" = (/obj/structure/table{icon_state = "tabledir"; dir = 2},/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "Ie" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "If" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the Thunderdome."; name = "Thunderdome Telescreen"; network = list("Thunderdome"); pixel_y = 30},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Ig" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "Ih" = (/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "Ii" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "Ij" = (/obj/structure/table/reinforced,/obj/item/weapon/melee/classic_baton/telescopic,/obj/item/weapon/paper/Court,/obj/item/weapon/pen,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) @@ -1760,21 +1763,17 @@ "Ix" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) "Iy" = (/obj/item/device/camera,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "Iz" = (/obj/structure/toilet{dir = 8},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"IA" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/twohanded/fireaxe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) "IB" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/tdome) "IC" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/tdome) "ID" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/tdome) -"IE" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/twohanded/fireaxe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) "IF" = (/obj/machinery/door/poddoor{id_tag = "thunderdomeaxe"; name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) "IG" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/energy/sword/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) "IH" = (/obj/machinery/door/poddoor{id_tag = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) "II" = (/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) -"IJ" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) "IK" = (/obj/machinery/door/poddoor{id_tag = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome/arena) "IL" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/tdome/arena) "IM" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/tdome/arena) "IN" = (/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) -"IO" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) "IP" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/energy/sword/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) "IQ" = (/obj/machinery/door/airlock/hatch{name = "Teleporter Access"; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "IR" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) @@ -1791,7 +1790,6 @@ "Jc" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "Jd" = (/obj/structure/table,/obj/random/technology_scanner,/obj/random/tech_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "Je" = (/obj/machinery/door/poddoor{id_tag = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) -"Jf" = (/obj/machinery/light/spot,/turf/simulated/floor,/area/tdome/arena) "Jg" = (/obj/structure/table,/obj/item/clothing/gloves/color/yellow,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "Jh" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "Ji" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) @@ -1808,7 +1806,6 @@ "Jt" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin) "Ju" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "thunderdomehea"; name = "Ranged Gear"; pixel_x = 0; pixel_y = 5; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin) "Jv" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "thunderdomegen"; name = "General Equiptment"; pixel_x = 0; pixel_y = 5; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin) -"Jw" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "thunderdomeaxe"; name = "Axe Supply"; pixel_x = 0; pixel_y = 5; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin) "Jx" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_rightnostop"; nostop = 1},/turf/space/transit/east/shuttlespace_ew4,/area/space) "Jy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_rightnostop"; nostop = 1},/turf/space/transit/east/shuttlespace_ew3,/area/space) "Jz" = (/turf/space,/area/shuttle/derelict/ship/transit) @@ -2031,7 +2028,7 @@ aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEmEyEjEzEAEBEjECDZEjEjEjEjEjEjEjEDEhaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEEEFEGEjEjEjEGEHDZEIEjEJEjEKEvEwExEEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDZDVDVEjEjEjDVDVDZEjEjEjEjEjEjEjELDZEMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDTaNDZDVDVElENElDVDVDVDVDVElEOElDVDVDVEMaNDSDVEPEQEQEQDVDTaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDTaNDZDVDVElENElDVDVDVDVDVElEOElDVDVDVEMaNDSDVEPEQEQsFDVDTaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDZDVDVEREjEjEjEjEjEjEjEjEjEjEjEjESDZEMaNDSDVETEUEVEWEUEXDVEYaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEZEjFaEjEjEjEjEjEjEjEjEjEjEjEjEjEjDZaNaNaNFbFcFdEUEUEUFeFbaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDZDVDVDVDVDVElFfElDVDVDVDVDVFgEjEjDZaNaNaNFhFiEUEUEUEUFjFhaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN @@ -2048,32 +2045,32 @@ aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEmGSGTEjEjEjEjEjEjEjGLEjEjGMGMGMGMEjEjEjEjEjEjEjEjEjEjGNGuGuGuGuGuGUGVGOGOGUGuGuGWaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEEGXEjEjGYEjEjEjEjEjGLEjEjGMGMGMGMEjEjEjEjEjEjEjEjEjFHDVDVGHDVGZGuGuGUGUGUGuGuHaDZaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFkDZHbHcHdHeHfHgHhFHDZFgEjEjEjEjEjEjFHDVDVFgEjFHDVDVDVDZEMaNFkDVGZGuGuGuGuGuHaDZEMaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFkDVDVDVDVDVDVDVDVDVDVDVFgEjEjFHDVDVDVDVDVHiDVDVDVDZDZaNaNaNFkDVGZGuGuGuHaDVEMaNaNaNaNaNaN +aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFkDVDVDVDVDVDVDVDVDVDVDVFgEjEjFHDVDVDVDVDVtaDVDVDVDZDZaNaNaNFkDVGZGuGuGuHaDVEMaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFkaNaNaNaNaNaNaNaNaNDUDZHjHjDZaNDZFSHkFSFSFSHkFSDZDZaNaNaNaNFkDVGfGgGhDVEMaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDSDVDVDVDVGxEjEjDZaNDZHlFSFSHmFSFSHnDZDZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEhEjEjEjEjEjEjEjDZaNDZFSHmFSFSFSHmFSDZDZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDSDVDVDVDVGxEjEjDZaNDZtzFSFSHmFSFStADZDZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEhEjEjEjEjEjEjEjDZaNDZtBHmFSFSFSHmtCDZDZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEEEjEjEjEjEjEjEjDZaNDZHoFSFSHmFSFSHpDZDZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDSDVDVDTaNFkDWDXDXDYFgEjEjDZaNDZHqFSFSFSFSFSHrDZEMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDSaNaNDSDZHsHtHuDTaNaNaNaNaNEhEjEjDZaNFkDVHvHwHxHwHyDVEMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDSDVDVDVDVDZHzHADZDVDVDVDVDTaNEEEjEjDZaNaNFkDVHBHCHDDVEMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNHEHEHEHEHFHEHEHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDSDZHGHHHIDZHJFSFSHKDZHLHMHNHKDVGxEjEjDZaNaNaNHOHPHQHRHOaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNHEHSHTHTHTHTHUHEHEHEHEHEHEHEHEHFHEHEHEHEHEHEHEHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNHVFSFSFSHWFSFSFSFSHXFSFSFSFSHXEjEjHYDZaNaNFkDVDVHZDVDVEMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNHEHSHTHTHTHTIaHEIbIcIdIcIeIfIgIhIhIfIeIhIeIhIiHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFkDZIjIkIlDZHqFSFSHrDZImInIoHrDVFgEjEjDZaNaNaNFkaNaNaNEMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNHEHSHTHTHTHTHUHEHEHEHEHEHEHEHEHFHEHEHEHEHEHEHEHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNHVFSFSFSHWFSFSFSFSHXFSFSFSFSHXEjEjEjDZaNaNFkDVDVHZDVDVEMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNHEHSHTHTHTHTHUHEIbIcIdIcIeIfIhIhIhIfIeIhIeIhIiHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFkDZIjIkIlDZHqFSFSHrDZImInIoHrDVFgEjEjDZaNaNaNFkaNaNaNEMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNHEIpHTHTHTHTIqHEIhIrIrIrIrIrIhIhIhIrIrIrIrIrIsHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFkDVDVDVDVHuItIuDZDVDVDVDVEMaNEhEjEjDZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNHEIpIvIwIwHTHTIxIhIhIhIyIhIhIhIhIhIhIhIyIhIhIhHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFkaNaNFkDZHsIzDZEMaNaNaNaNaNEEEjEjDZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNHEHEHEHEHEHEHEHEIhIrIrIrIrIrIhIhIhIrIrIrIrIrIhHEHEHEHEHEHEHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFkDVDVEMaNDSDWDXDXDYGxEjEjDZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNHEIAIAIAIAIAHEIBICICICICICICICICICICICICICIDHEIEIEIEIEIEHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEhEjEjEjEjEjEjEjDZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNHEtDtDtDtDtDHEIBICICICICICICICICICICICICICIDHEtEtEtEtEtEHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEhEjEjEjEjEjEjEjDZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNHEHEHEIFIFIFIFIFjbjcjdjdjdjdjdjdjdjdjdjdjdjdjdjcjbIFIFIFIFIFHEHEHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEEEjEjEjEjEjEjFHDZEMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNHEIGIHIIIIIJIIIIIKILjdjdjdjdjdjdjdjdjdjdjdjdjdIMIKININIOININIHIPHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFkDVDVElIQElDVDVEMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNHEIGIHIIIIIIIIIIIKILjdjdjdjdjdjdjdjdjdjdjdjdjdIMIKINININININIHIPHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFkDVDVElIQElDVDVEMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNHEIGIHIIIRIIIRIIIKILjdjdjdjdjdjdjdjdjdjdjdjdjdIMIKINISINISINIHIPHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDZITEjEjEjIUDZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNHEIGIHIIIIIVIIIIIKILjdjdjdjdjdIWIXIWjdjdjdjdjdIMIKININIYININIHIPHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEhEjEjEjEjEjEhaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNHEIGIHIIIRIIIRIIIKILjdjdjdjdjdIWIZIWjdjdjdjdjdIMIKINISINISINIHIPHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEmJaEjEjEjJbEmaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNHEIGIHIIIIIIIIIIIKILjdjdjdjdjdjdjdjdjdjdjdjdjdIMIKINININININIHIPHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEEJcEjEjEjJdEEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNHEHEHEJeJeJeJeJejbjcjdjdjdjdjdjdJfjdjdjdjdjdjdjcjbJeJeJeJeJeHEHEHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFkDVJgJhJiJjJkDVEMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNHEHEHEJeJeJeJeJejbjcjdjdjdjdjdjdjdjdjdjdjdjdjdjcjbJeJeJeJeJeHEHEHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGwGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFkDVJgJhJiJjJkDVEMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNHEJlJlJlJlJlHEIBICICICICICICICICICICICICICIDHEJmJmJmJmJmHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiGiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFkDVDWDXDYDVEMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNHEHEHEHEHEHEHEJnJoJoJoJoJoJpJqJrJoJoJoJoJoJnHEHEHEHEHEHEHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFkaNaNaNEMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNHEJnJnJnJsJnJtJtJtJtJtJnJsJnJnJnHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNHEHEHFHEHEHEHEJuJvJwHEHEHEHEHFHEHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaNaNaNaNaNaNHEHEHFHEHEHEHEJuJvuCHEHEHEHEHFHEHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNHEHEHEHEHEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN diff --git a/code/controllers/ProcessScheduler/core/_stubs.dm b/code/controllers/ProcessScheduler/core/_stubs.dm index 326fd29ac2a..94f4cc1fc4b 100644 --- a/code/controllers/ProcessScheduler/core/_stubs.dm +++ b/code/controllers/ProcessScheduler/core/_stubs.dm @@ -25,14 +25,3 @@ world << "Diary: \[[diaryType]:[type]] [text]" else world << "Log: \[[type]] [text]" - -/** - * var/disposed - * - * In goonstation, disposed is set to 1 after an object enters the delete queue - * or the object is placed in an object pool (effectively out-of-play so to speak) - */ -/datum/var/disposed -// Garbage collection (controller). -/datum/var/gcDestroyed -/datum/var/timeDestroyed \ No newline at end of file diff --git a/code/controllers/ProcessScheduler/core/updateQueueWorker.dm b/code/controllers/ProcessScheduler/core/updateQueueWorker.dm index 66f66bbcc01..39737ef0213 100644 --- a/code/controllers/ProcessScheduler/core/updateQueueWorker.dm +++ b/code/controllers/ProcessScheduler/core/updateQueueWorker.dm @@ -31,7 +31,7 @@ datum/updateQueueWorker/proc/doWork() var/datum/object = objects[objects.len] // Pull out the object objects.len-- // Remove the object from the list - if (istype(object) && !isturf(object) && !object.disposed && isnull(object.gcDestroyed)) // We only work with real objects + if (istype(object) && !isturf(object) && isnull(object.gcDestroyed)) // We only work with real objects call(object, procName)(arglist(arguments)) // If there's nothing left to execute diff --git a/code/controllers/Processes/machinery.dm b/code/controllers/Processes/machinery.dm index 52274a519af..940530ab713 100644 --- a/code/controllers/Processes/machinery.dm +++ b/code/controllers/Processes/machinery.dm @@ -8,7 +8,7 @@ //#endif for(var/obj/machinery/M in machines) - if(M && !M.gcDestroyed) + if(M && isnull(M.gcDestroyed)) #ifdef PROFILE_MACHINES var/time_start = world.timeofday #endif @@ -29,6 +29,7 @@ machine_profiling[M.type] += (time_end - time_start) #endif + else + machines -= M scheck() - diff --git a/code/controllers/Processes/pipenet.dm b/code/controllers/Processes/pipenet.dm index 56a068f54ca..b59373a88a1 100644 --- a/code/controllers/Processes/pipenet.dm +++ b/code/controllers/Processes/pipenet.dm @@ -4,9 +4,9 @@ /datum/controller/process/pipenet/doWork() for(var/datum/pipe_network/pipeNetwork in pipe_networks) - if(istype(pipeNetwork) && !pipeNetwork.disposed) + if(istype(pipeNetwork) && isnull(pipeNetwork.gcDestroyed)) pipeNetwork.process() scheck() continue - - pipe_networks.Remove(pipeNetwork) + else + pipe_networks -= pipeNetwork diff --git a/code/controllers/Processes/power_machinery.dm b/code/controllers/Processes/power_machinery.dm index ce17c0583a6..c7710c8e5bd 100644 --- a/code/controllers/Processes/power_machinery.dm +++ b/code/controllers/Processes/power_machinery.dm @@ -8,18 +8,15 @@ var/global/list/power_machinery_profiling = list() schedule_interval = 20 // every 2 seconds /datum/controller/process/power_machinery/doWork() - for(var/i = 1 to power_machines.len) - if(i > power_machines.len) - break - var/obj/machinery/M = power_machines[i] - if(istype(M) && !M.gcDestroyed) + for(var/obj/machinery/M in power_machines) + if(istype(M) && isnull(M.gcDestroyed)) #ifdef PROFILE_MACHINES var/time_start = world.timeofday #endif if(M.process() == PROCESS_KILL) M.inMachineList = 0 - power_machines.Remove(M) + power_machines -= M continue if(M && M.use_power) @@ -34,12 +31,10 @@ var/global/list/power_machinery_profiling = list() power_machinery_profiling[M.type] += (time_end - time_start) #endif else - if(!power_machines.Remove(M)) - power_machines.Cut(i,i+1) + power_machines -= M else - if(M) + if(istype(M)) M.inMachineList = 0 - if(!power_machines.Remove(M)) - power_machines.Cut(i,i+1) + power_machines -= M scheck() diff --git a/code/controllers/Processes/powernet.dm b/code/controllers/Processes/powernet.dm index 1edf194915a..185dbcf0606 100644 --- a/code/controllers/Processes/powernet.dm +++ b/code/controllers/Processes/powernet.dm @@ -4,9 +4,9 @@ /datum/controller/process/powernet/doWork() for(var/datum/powernet/powerNetwork in powernets) - if(istype(powerNetwork) && !powerNetwork.disposed) + if(istype(powerNetwork) && isnull(powerNetwork.gcDestroyed)) powerNetwork.reset() scheck() continue - - powernets.Remove(powerNetwork) + else + powernets -= powerNetwork diff --git a/code/controllers/garbage.dm b/code/controllers/garbage.dm deleted file mode 100644 index b9f2a2eea75..00000000000 --- a/code/controllers/garbage.dm +++ /dev/null @@ -1,201 +0,0 @@ -#define GC_COLLECTIONS_PER_TICK 300 // Was 100. -#define GC_COLLECTION_TIMEOUT (30 SECONDS) -#define GC_FORCE_DEL_PER_TICK 60 -//#define GC_DEBUG - -var/list/gc_hard_del_types = list() -var/datum/garbage_collector/garbageCollector - -/client/proc/gc_dump_hdl() - set name = "(GC) Hard Del List" - set desc = "List types that are hard del()'d by the GC." - set category = "Debug" - - if(!check_rights(R_DEBUG)) - return - - if(!gc_hard_del_types || !gc_hard_del_types.len) - usr << "No hard del()'d types found." - - for(var/A in gc_hard_del_types) - usr << "[A] = [gc_hard_del_types[A]]" - -/datum/garbage_collector - var/list/queue = new - var/del_everything = 0 - - // To let them know how hardworking am I :^). - var/dels_count = 0 - var/hard_dels = 0 - var/soft_dels = 0 - -/datum/garbage_collector/proc/addTrash(const/atom/movable/AM) - if(!istype(AM)) - return - - if(del_everything) - del(AM) - hard_dels++ - dels_count++ - return - - queue["\ref[AM]"] = world.timeofday - -/datum/garbage_collector/proc/process() - var/remainingCollectionPerTick = GC_COLLECTIONS_PER_TICK - var/remainingForceDelPerTick = GC_FORCE_DEL_PER_TICK - var/collectionTimeScope = world.timeofday - GC_COLLECTION_TIMEOUT - while(queue.len && --remainingCollectionPerTick >= 0) - var/refID = queue[1] - var/destroyedAtTime = queue[refID] - - if(destroyedAtTime > collectionTimeScope) - break - - var/atom/movable/AM = locate(refID) - if(AM) // Something's still referring to the qdel'd object. del it. - if(isnull(AM.gcDestroyed)) - queue -= refID - continue - if(remainingForceDelPerTick <= 0) - break - - #ifdef GC_DEBUG - WARNING("gc process force delete [AM.type]") - #endif - - AM.hard_deleted = 1 - gc_hard_del_types |= AM.type - del AM - - hard_dels++ - remainingForceDelPerTick-- - -#ifdef GC_DEBUG -#undef GC_DEBUG -#endif - -#undef GC_FORCE_DEL_PER_TICK -#undef GC_COLLECTION_TIMEOUT -#undef GC_COLLECTIONS_PER_TICK - -/datum/garbage_collector/proc/dequeue(id) - if (queue) - queue -= id - - dels_count++ - -/datum/garbage_collector/proc/hardDel(const/datum/D) - WARNING("GC hard-delling [D.type].") - gc_hard_del_types |= D.type - del(D) - garbageCollector.hard_dels++ - garbageCollector.dels_count++ - -/* - * NEVER USE THIS FOR ANYTHING OTHER THAN /atom/movable - * OTHER TYPES CANNOT BE QDEL'D BECAUSE THEIR LOC IS LOCKED OR THEY DON'T HAVE ONE. - */ -/proc/qdel(var/datum/D, ignore_pooling = 0) - if(isnull(D)) - return - - if(isnull(garbageCollector)) - del(D) - return - - if(!istype(D)) - WARNING("qdel() passed object of type [D.type]. qdel() can only handle /datum/ types.") - del(D) //no clue what could even do this, but just in case. - return - - if(isnull(D.gcDestroyed)) - // Let our friend know they're about to get fucked up. - var/hint = D.Destroy() - - switch(hint) - if(QDEL_HINT_QUEUE) //qdel should queue the object for deletion - garbageCollector.addTrash(D) - if(QDEL_HINT_LETMELIVE) //qdel should let the object live after calling destroy. - return - if(QDEL_HINT_IWILLGC) //functionally the same as the above. qdel should assume the object will gc on its own, and not check it. - return - if (QDEL_HINT_HARDDEL_NOW) //qdel should assume this object won't gc, and hard del it post haste. - garbageCollector.hardDel(D) - if (QDEL_HINT_PUTINPOOL) //qdel will put this object in the pool. - PlaceInPool(D,0) - else - // world << "WARNING GC DID NOT GET A RETURN VALUE FOR [D], [D.type]!" - garbageCollector.addTrash(D) - -/datum/controller - var/processing = 0 - var/iteration = 0 - var/processing_interval = 0 - -/datum/controller/proc/recover() // If we are replacing an existing controller (due to a crash) we attempt to preserve as much as we can. - -/* - * Like Del(), but for qdel. - * Called BEFORE qdel moves shit. - */ -/datum/proc/Destroy() - return QDEL_HINT_HARDDEL_NOW //qdel can't handle datums, therefore tell it to immediately del - -/client/proc/qdel_toggle() - set name = "Toggle qdel Behavior" - set desc = "Toggle qdel usage between normal and force del()." - set category = "Debug" - - garbageCollector.del_everything = !garbageCollector.del_everything - world << "GC: qdel turned [garbageCollector.del_everything ? "off" : "on"]." - log_admin("[key_name(usr)] turned qdel [garbageCollector.del_everything ? "off" : "on"].") - message_admins("\blue [key_name(usr)] turned qdel [garbageCollector.del_everything ? "off" : "on"].", 1) - -/*/client/var/running_find_references - -/atom/verb/find_references() - set category = "Debug" - set name = "Find References" - set background = 1 - set src in world - - if(!usr || !usr.client) - return - - if(usr.client.running_find_references) - testing("CANCELLED search for references to a [usr.client.running_find_references].") - usr.client.running_find_references = null - return - - if(alert("Running this will create a lot of lag until it finishes. You can cancel it by running it again. Would you like to begin the search?", "Find References", "Yes", "No") == "No") - return - qdel(src) - // Remove this object from the list of things to be auto-deleted. - if(garbageCollector) - garbageCollector.queue -= "\ref[src]" - - usr.client.running_find_references = type - testing("Beginning search for references to a [type].") - var/list/things = list() - for(var/client/thing) - things += thing - for(var/datum/thing) - things += thing - for(var/atom/thing) - things += thing - for(var/event/thing) - things += thing - testing("Collected list of things in search for references to a [type]. ([things.len] Thing\s)") - for(var/datum/thing in things) - if(!usr.client.running_find_references) return - for(var/varname in thing.vars) - var/variable = thing.vars[varname] - if(variable == src) - testing("Found [src.type] \ref[src] in [thing.type]'s [varname] var.") - else if(islist(variable)) - if(src in variable) - testing("Found [src.type] \ref[src] in [thing.type]'s [varname] list var.") - testing("Completed search for references to a [type].") - usr.client.running_find_references = null -*/ \ No newline at end of file diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index e03a20c2f0f..9a9072bb0d4 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -10,6 +10,13 @@ var/global/last_tick_duration = 0 var/global/air_processing_killed = 0 var/global/pipe_processing_killed = 0 +/datum/controller + var/processing = 0 + var/iteration = 0 + var/processing_interval = 0 + +/datum/controller/proc/recover() // If we are replacing an existing controller (due to a crash) we attempt to preserve as much as we can. + datum/controller/game_controller var/breather_ticks = 2 //a somewhat crude attempt to iron over the 'bumps' caused by high-cpu use by letting the MC have a breather for this many ticks after every loop var/minimum_ticks = 20 //The minimum length of time between MC ticks @@ -288,12 +295,13 @@ datum/controller/game_controller/proc/process() /datum/controller/game_controller/proc/process_bots() for(var/obj/machinery/bot/Bot in aibots) - if(!Bot.gc_destroyed) + if(Bot && isnull(Bot.gcDestroyed)) last_thing_processed = Bot.type spawn(0) Bot.bot_process() continue - aibots -= Bot + else + aibots -= Bot /datum/controller/game_controller/proc/processObjects() for (var/obj/Object in processing_objects) diff --git a/code/datums/martial.dm b/code/datums/martial.dm index 1388e088f8c..cfcca8d0a69 100644 --- a/code/datums/martial.dm +++ b/code/datums/martial.dm @@ -305,6 +305,128 @@ basic_hit(A,D) return 1 +#define WRIST_WRENCH_COMBO "DD" +#define BACK_KICK_COMBO "HG" +#define STOMACH_KNEE_COMBO "GH" +#define HEAD_KICK_COMBO "DHH" +#define ELBOW_DROP_COMBO "HDHDH" +/datum/martial_art/the_sleeping_carp + name = "The Sleeping Carp" + +/datum/martial_art/the_sleeping_carp/proc/check_streak(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) + if(findtext(streak,WRIST_WRENCH_COMBO)) + streak = "" + wristWrench(A,D) + return 1 + if(findtext(streak,BACK_KICK_COMBO)) + streak = "" + backKick(A,D) + return 1 + if(findtext(streak,STOMACH_KNEE_COMBO)) + streak = "" + kneeStomach(A,D) + return 1 + if(findtext(streak,HEAD_KICK_COMBO)) + streak = "" + headKick(A,D) + return 1 + if(findtext(streak,ELBOW_DROP_COMBO)) + streak = "" + elbowDrop(A,D) + return 1 + return 0 + +/datum/martial_art/the_sleeping_carp/proc/wristWrench(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) + if(!D.stat && !D.stunned && !D.weakened) + D.visible_message("[A] grabs [D]'s wrist and wrenches it sideways!", \ + "[A] grabs your wrist and violently wrenches it to the side!") + playsound(get_turf(A), 'sound/weapons/thudswoosh.ogg', 50, 1, -1) + D.emote("scream") + D.drop_item() + D.apply_damage(5, BRUTE, pick("l_arm", "r_arm")) + D.Stun(2) + return 1 + return basic_hit(A,D) + +/datum/martial_art/the_sleeping_carp/proc/backKick(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) + if(A.dir == D.dir && !D.stat && !D.weakened) + D.visible_message("[A] kicks [D] in the back!", \ + "[A] kicks you in the back, making you stumble and fall!") + step_to(D,get_step(D,D.dir),1) + D.Weaken(4) + playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, 1, -1) + return 1 + return basic_hit(A,D) + +/datum/martial_art/the_sleeping_carp/proc/kneeStomach(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) + if(!D.stat && !D.weakened) + D.visible_message("[A] knees [D] in the stomach!", \ + "[A] winds you with a knee in the stomach!") + D.audible_message("[D] gags!") + D.losebreath += 3 + D.Stun(1) + playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, 1, -1) + return 1 + return basic_hit(A,D) + +/datum/martial_art/the_sleeping_carp/proc/headKick(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) + if(!D.stat && !D.weakened) + D.visible_message("[A] kicks [D] in the head!", \ + "[A] kicks you in the jaw!") + D.apply_damage(20, BRUTE, "head") + D.drop_item() + playsound(get_turf(D), 'sound/weapons/punch1.ogg', 75, 1, -1) + return 1 + return basic_hit(A,D) + +/datum/martial_art/the_sleeping_carp/proc/elbowDrop(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) + if(D.weakened || D.resting || D.stat) + D.visible_message("[A] elbow drops [D]!", \ + "[A] piledrives you with their elbow!") + if(D.stat) + D.death() //FINISH HIM! + D.apply_damage(50, BRUTE, "chest") + playsound(get_turf(D), 'sound/weapons/punch1.ogg', 100, 1, -1) + return 1 + return basic_hit(A,D) + +/datum/martial_art/the_sleeping_carp/grab_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) + add_to_streak("G") + if(check_streak(A,D)) + return 1 + ..() + var/obj/item/weapon/grab/G = A.get_active_hand() + if(G) + G.state = GRAB_AGGRESSIVE //Instant aggressive grab + +/datum/martial_art/the_sleeping_carp/harm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) + add_to_streak("H") + if(check_streak(A,D)) + return 1 + D.visible_message("[A] [pick("punches", "kicks", "chops", "hits", "slams")] [D]!", \ + "[A] hits you!") + D.apply_damage(10, BRUTE) + playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, 1, -1) + return 1 + + +/datum/martial_art/the_sleeping_carp/disarm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) + add_to_streak("D") + if(check_streak(A,D)) + return 1 + return ..() + +/mob/living/carbon/human/proc/sleeping_carp_help() + set name = "Recall Teachings" + set desc = "Remember the martial techniques of the Sleeping Carp clan." + set category = "Sleeping Carp" + + usr << "You retreat inward and recall the teachings of the Sleeping Carp..." + usr << "Wrist Wrench: Disarm Disarm. Forces opponent to drop item in hand." + usr << "Back Kick: Harm Grab. Opponent must be facing away. Knocks down." + usr << "Stomach Knee: Grab Harm. Knocks the wind out of opponent and stuns." + usr << "Head Kick: Disarm Harm Harm. Decent damage, forces opponent to drop item in hand." + usr << "Elbow Drop: Harm Disarm Harm Disarm Harm. Opponent must be on the ground. Deals huge damage, instantly kills anyone in critical condition." //ITEMS @@ -364,3 +486,102 @@ H << "You learn the PLASMA FIST style." used = 1 desc += "It looks like it's magic was used up." + +/obj/item/weapon/sleeping_carp_scroll + name = "mysterious scroll" + desc = "A scroll filled with strange markings. It seems to be drawings of some sort of martial art." + icon = 'icons/obj/wizard.dmi' + icon_state = "scroll2" + +/obj/item/weapon/sleeping_carp_scroll/attack_self(mob/living/carbon/human/user as mob) + if(!istype(user) || !user) + return + user << "You begin to read the scroll..." + user << "And all at once the secrets of the Sleeping Carp fill your mind. The ancient clan's martial teachings have been imbued into this scroll. As you read through it, \ + these secrets flood into your mind and body. You now know the martial techniques of the Sleeping Carp. Your hand-to-hand combat has become much more effective, and you may now perform powerful \ + combination attacks. To learn more about these combos, use the Recall Teachings ability in the Sleeping Carp tab." + user.verbs += /mob/living/carbon/human/proc/sleeping_carp_help + var/datum/martial_art/the_sleeping_carp/theSleepingCarp = new(null) + theSleepingCarp.teach(user) + user.drop_item() + visible_message("[src] lights up in fire and quickly burns to ash.") + new /obj/effect/decal/cleanable/ash(get_turf(src)) + qdel(src) + + +/obj/item/weapon/twohanded/bostaff + name = "bo staff" + desc = "A long, tall staff made of polished wood. Traditionally used in ancient old-Earth martial arts. Can be wielded to both kill and incapacitate." + force = 8 + w_class = 4 + slot_flags = SLOT_BACK + force_unwielded = 8 + force_wielded = 18 + throwforce = 20 + attack_verb = list("smashed", "slammed", "whacked", "thwacked") + icon = 'icons/obj/weapons.dmi' + icon_override = 'icons/mob/in-hand/staff.dmi' + icon_state = "bostaff0" + + +/obj/item/weapon/twohanded/bostaff/update_icon() + icon_state = "bostaff[wielded]" + return + +/obj/item/weapon/twohanded/bostaff/attack(mob/target, mob/living/user) + add_fingerprint(user) + if((CLUMSY in user.disabilities) && prob(50)) + user << "You club yourself over the head with [src]." + user.Weaken(3) + if(ishuman(user)) + var/mob/living/carbon/human/H = user + H.apply_damage(2*force, BRUTE, "head") + else + user.take_organ_damage(2*force) + return + if(isrobot(target)) + return ..() + if(!isliving(target)) + return ..() + var/mob/living/carbon/C = target + if(C.stat) + user << "It would be dishonorable to attack a foe while they cannot retaliate." + return + switch(user.a_intent) + if("disarm") + if(!wielded) + return ..() + if(!ishuman(target)) + return ..() + var/mob/living/carbon/human/H = target + var/list/fluffmessages = list("[user] clubs [H] with [src]!", \ + "[user] smacks [H] with the butt of [src]!", \ + "[user] broadsides [H] with [src]!", \ + "[user] smashes [H]'s head with [src]!", \ + "[user] beats [H] with front of [src]!", \ + "[user] twirls and slams [H] with [src]!") + H.visible_message("[pick(fluffmessages)]", \ + "[pick(fluffmessages)]") + playsound(get_turf(user), 'sound/effects/woodhit.ogg', 75, 1, -1) + H.adjustStaminaLoss(rand(13,20)) + if(prob(10)) + H.visible_message("[H] collapses!", \ + "Your legs give out!") + H.Weaken(4) + if(H.staminaloss && !H.sleeping) + var/total_health = (H.health - H.staminaloss) + if(total_health <= config.health_threshold_crit && !H.stat) + H.visible_message("[user] delivers a heavy hit to [H]'s head, knocking them out cold!", \ + "[user] knocks you unconscious!") + H.sleeping += 30 + H.adjustBrainLoss(25) + return + else + return ..() + return ..() + +/obj/item/weapon/twohanded/bostaff/IsShield() + if(wielded) + return 1 + else + return 0 \ No newline at end of file diff --git a/code/defines/vox_sounds.dm b/code/defines/vox_sounds.dm index 9ce6154db08..6f9bcf122fd 100644 --- a/code/defines/vox_sounds.dm +++ b/code/defines/vox_sounds.dm @@ -1,811 +1,817 @@ // List is required to compile the resources into the game when it loads. // Dynamically loading it has bad results with sounds overtaking each other, even with the wait variable. -var/list/vox_sounds = list( - "," = 'sound/vox/,.wav', - "." = 'sound/vox/..wav', - "a" = 'sound/vox_fem/a.ogg', - "abortions" = 'sound/vox_fem/abortions.ogg', - "accelerating" = 'sound/vox_fem/accelerating.ogg', - "accelerator" = 'sound/vox_fem/accelerator.ogg', - "accepted" = 'sound/vox_fem/accepted.ogg', - "access" = 'sound/vox_fem/access.ogg', - "acknowledge" = 'sound/vox_fem/acknowledge.ogg', - "acknowledged" = 'sound/vox_fem/acknowledged.ogg', - "acquired" = 'sound/vox_fem/acquired.ogg', - "acquisition" = 'sound/vox_fem/acquisition.ogg', - "across" = 'sound/vox_fem/across.ogg', - "activate" = 'sound/vox_fem/activate.ogg', - "activated" = 'sound/vox_fem/activated.ogg', - "activity" = 'sound/vox_fem/activity.ogg', - "adios" = 'sound/vox_fem/adios.ogg', - "administration" = 'sound/vox_fem/administration.ogg', - "advanced" = 'sound/vox_fem/advanced.ogg', - "aft" = 'sound/vox_fem/aft.ogg', - "after" = 'sound/vox_fem/after.ogg', - "agent" = 'sound/vox_fem/agent.ogg', - "ai" = 'sound/vox_fem/ai.ogg', - "alarm" = 'sound/vox_fem/alarm.ogg', - "alert" = 'sound/vox_fem/alert.ogg', - "alien" = 'sound/vox_fem/alien.ogg', - "aligned" = 'sound/vox_fem/aligned.ogg', - "all" = 'sound/vox_fem/all.ogg', - "alpha" = 'sound/vox_fem/alpha.ogg', - "am" = 'sound/vox_fem/am.ogg', - "amigo" = 'sound/vox_fem/amigo.ogg', - "ammunition" = 'sound/vox_fem/ammunition.ogg', - "an" = 'sound/vox_fem/an.ogg', - "and" = 'sound/vox_fem/and.ogg', - "andy" = 'sound/vox_fem/andy.ogg', - "announcement" = 'sound/vox_fem/announcement.ogg', - "anomalous" = 'sound/vox_fem/anomalous.ogg', - "antenna" = 'sound/vox_fem/antenna.ogg', - "antimov" = 'sound/vox_fem/antimov.ogg', - "any" = 'sound/vox_fem/any.ogg', - "apprehend" = 'sound/vox_fem/apprehend.ogg', - "approach" = 'sound/vox_fem/approach.ogg', - "are" = 'sound/vox_fem/are.ogg', - "area" = 'sound/vox_fem/area.ogg', - "arm" = 'sound/vox_fem/arm.ogg', - "armed" = 'sound/vox_fem/armed.ogg', - "armor" = 'sound/vox_fem/armor.ogg', - "armory" = 'sound/vox_fem/armory.ogg', - "array" = 'sound/vox_fem/array.ogg', - "arrest" = 'sound/vox_fem/arrest.ogg', - "asimov" = 'sound/vox_fem/asimov.ogg', - "ass" = 'sound/vox_fem/ass.ogg', - "asshole" = 'sound/vox_fem/asshole.ogg', - "assholes" = 'sound/vox_fem/assholes.ogg', - "at" = 'sound/vox_fem/at.ogg', - "atmospherics" = 'sound/vox_fem/atmospherics.ogg', - "atomic" = 'sound/vox_fem/atomic.ogg', - "attention" = 'sound/vox_fem/attention.ogg', - "authorize" = 'sound/vox_fem/authorize.ogg', - "authorized" = 'sound/vox_fem/authorized.ogg', - "automatic" = 'sound/vox_fem/automatic.ogg', - "away" = 'sound/vox_fem/away.ogg', - "b" = 'sound/vox_fem/b.ogg', - "back" = 'sound/vox_fem/back.ogg', - "backman" = 'sound/vox_fem/backman.ogg', - "bad" = 'sound/vox_fem/bad.ogg', - "bag" = 'sound/vox_fem/bag.ogg', - "bailey" = 'sound/vox_fem/bailey.ogg', - "bar" = 'sound/vox_fem/bar.ogg', - "barracks" = 'sound/vox_fem/barracks.ogg', - "base" = 'sound/vox_fem/base.ogg', - "bay" = 'sound/vox_fem/bay.ogg', - "be" = 'sound/vox_fem/be.ogg', - "been" = 'sound/vox_fem/been.ogg', - "before" = 'sound/vox_fem/before.ogg', - "beyond" = 'sound/vox_fem/beyond.ogg', - "biohazard" = 'sound/vox_fem/biohazard.ogg', - "biological" = 'sound/vox_fem/biological.ogg', - "birdwell" = 'sound/vox_fem/birdwell.ogg', - "bitch" = 'sound/vox_fem/bitch.ogg', - "bitches" = 'sound/vox_fem/bitches.ogg', - "bizwarn" = 'sound/vox/bizwarn.wav', - "black" = 'sound/vox_fem/black.ogg', - "blast" = 'sound/vox_fem/blast.ogg', - "blocked" = 'sound/vox_fem/blocked.ogg', - "bloop" = 'sound/vox/bloop.wav', - "blue" = 'sound/vox_fem/blue.ogg', - "bomb" = 'sound/vox_fem/bomb.ogg', - "bombs" = 'sound/vox_fem/bombs.ogg', - "borer" = 'sound/vox_fem/borer.ogg', - "borers" = 'sound/vox_fem/borers.ogg', - "botanist" = 'sound/vox_fem/botanist.ogg', - "botanists" = 'sound/vox_fem/botanists.ogg', - "bottom" = 'sound/vox_fem/bottom.ogg', - "brain" = 'sound/vox_fem/brain.ogg', - "brains" = 'sound/vox_fem/brains.ogg', - "bravo" = 'sound/vox_fem/bravo.ogg', - "brawl" = 'sound/vox_fem/brawl.ogg', - "breach" = 'sound/vox_fem/breach.ogg', - "breached" = 'sound/vox_fem/breached.ogg', - "break" = 'sound/vox_fem/break.ogg', - "bridge" = 'sound/vox_fem/bridge.ogg', - "brig" = 'sound/vox_fem/brig.ogg', - "bust" = 'sound/vox_fem/bust.ogg', - "but" = 'sound/vox_fem/but.ogg', - "button" = 'sound/vox_fem/button.ogg', - "buzwarn" = 'sound/vox/buzwarn.wav', - "bypass" = 'sound/vox_fem/bypass.ogg', - "c" = 'sound/vox_fem/c.ogg', - "cable" = 'sound/vox_fem/cable.ogg', - "cage" = 'sound/vox_fem/cage.ogg', - "call" = 'sound/vox_fem/call.ogg', - "called" = 'sound/vox_fem/called.ogg', - "can" = 'sound/vox_fem/can.ogg', - "canal" = 'sound/vox_fem/canal.ogg', - "cancer" = 'sound/vox_fem/cancer.ogg', - "cap" = 'sound/vox_fem/cap.ogg', - "captain" = 'sound/vox_fem/captain.ogg', - "capture" = 'sound/vox_fem/capture.ogg', - "cargo" = 'sound/vox_fem/cargo.ogg', - "catbeast" = 'sound/vox_fem/catbeast.ogg', - "ce" = 'sound/vox_fem/ce.ogg', - "ceiling" = 'sound/vox_fem/ceiling.ogg', - "celsius" = 'sound/vox_fem/celsius.ogg', - "centcomm" = 'sound/vox_fem/centcomm.ogg', - "center" = 'sound/vox_fem/center.ogg', - "centi" = 'sound/vox_fem/centi.ogg', - "central" = 'sound/vox_fem/central.ogg', - "chamber" = 'sound/vox_fem/chamber.ogg', - "changed" = 'sound/vox_fem/changed.ogg', - "changeling" = 'sound/vox_fem/changeling.ogg', - "changelings" = 'sound/vox_fem/changelings.ogg', - "changer" = 'sound/vox_fem/changer.ogg', - "charlie" = 'sound/vox_fem/charlie.ogg', - "check" = 'sound/vox_fem/check.ogg', - "checkpoint" = 'sound/vox_fem/checkpoint.ogg', - "chef" = 'sound/vox_fem/chef.ogg', - "chefs" = 'sound/vox_fem/chefs.ogg', - "chemical" = 'sound/vox_fem/chemical.ogg', - "chemist" = 'sound/vox_fem/chemist.ogg', - "chemists" = 'sound/vox_fem/chemists.ogg', - "cleanup" = 'sound/vox_fem/cleanup.ogg', - "clear" = 'sound/vox_fem/clear.ogg', - "clearance" = 'sound/vox_fem/clearance.ogg', - "close" = 'sound/vox_fem/close.ogg', - "clown" = 'sound/vox_fem/clown.ogg', - "clowns" = 'sound/vox_fem/clowns.ogg', - "cmo" = 'sound/vox_fem/cmo.ogg', - "code" = 'sound/vox_fem/code.ogg', - "coded" = 'sound/vox_fem/coded.ogg', - "collider" = 'sound/vox_fem/collider.ogg', - "comdom" = 'sound/vox_fem/comdom.ogg', - "come" = 'sound/vox_fem/come.ogg', - "command" = 'sound/vox_fem/command.ogg', - "communication" = 'sound/vox_fem/communication.ogg', - "complex" = 'sound/vox_fem/complex.ogg', - "computer" = 'sound/vox_fem/computer.ogg', - "condition" = 'sound/vox_fem/condition.ogg', - "conflict" = 'sound/vox_fem/conflict.ogg', - "connor" = 'sound/vox_fem/connor.ogg', - "containment" = 'sound/vox_fem/containment.ogg', - "contamination" = 'sound/vox_fem/contamination.ogg', - "contraband" = 'sound/vox_fem/contraband.ogg', - "control" = 'sound/vox_fem/control.ogg', - "coolant" = 'sound/vox_fem/coolant.ogg', - "coomer" = 'sound/vox_fem/coomer.ogg', - "core" = 'sound/vox_fem/core.ogg', - "correct" = 'sound/vox_fem/correct.ogg', - "corridor" = 'sound/vox_fem/corridor.ogg', - "court" = 'sound/vox_fem/court.ogg', - "coward" = 'sound/vox_fem/coward.ogg', - "cowards" = 'sound/vox_fem/cowards.ogg', - "crew" = 'sound/vox_fem/crew.ogg', - "cross" = 'sound/vox_fem/cross.ogg', - "cryogenic" = 'sound/vox_fem/cryogenic.ogg', - "cunt" = 'sound/vox_fem/cunt.ogg', - "cunts" = 'sound/vox_fem/cunts.ogg', - "cyborg" = 'sound/vox_fem/cyborg.ogg', - "cyborgs" = 'sound/vox_fem/cyborgs.ogg', - "d" = 'sound/vox_fem/d.ogg', - "dadeda" = 'sound/vox/dadeda.wav', - "damage" = 'sound/vox_fem/damage.ogg', - "damaged" = 'sound/vox_fem/damaged.ogg', - "danger" = 'sound/vox_fem/danger.ogg', - "day" = 'sound/vox_fem/day.ogg', - "deactivated" = 'sound/vox_fem/deactivated.ogg', - "dead" = 'sound/vox_fem/dead.ogg', - "death" = 'sound/vox_fem/death.ogg', - "decompression" = 'sound/vox_fem/decompression.ogg', - "decontamination" = 'sound/vox_fem/decontamination.ogg', - "deeoo" = 'sound/vox_fem/deeoo.ogg', - "defense" = 'sound/vox_fem/defense.ogg', - "degrees" = 'sound/vox_fem/degrees.ogg', - "delta" = 'sound/vox_fem/delta.ogg', - "denied" = 'sound/vox_fem/denied.ogg', - "department" = 'sound/vox_fem/department.ogg', - "departments" = 'sound/vox_fem/departments.ogg', - "deploy" = 'sound/vox_fem/deploy.ogg', - "deployed" = 'sound/vox_fem/deployed.ogg', - "desk" = 'sound/vox_fem/desk.ogg', - "destroy" = 'sound/vox_fem/destroy.ogg', - "destroyed" = 'sound/vox_fem/destroyed.ogg', - "detain" = 'sound/vox_fem/detain.ogg', - "detected" = 'sound/vox_fem/detected.ogg', - "detonation" = 'sound/vox_fem/detonation.ogg', - "device" = 'sound/vox_fem/device.ogg', - "did" = 'sound/vox_fem/did.ogg', - "die" = 'sound/vox_fem/die.ogg', - "dimensional" = 'sound/vox_fem/dimensional.ogg', - "dirt" = 'sound/vox_fem/dirt.ogg', - "disengaged" = 'sound/vox_fem/disengaged.ogg', - "dish" = 'sound/vox_fem/dish.ogg', - "disposal" = 'sound/vox_fem/disposal.ogg', - "distance" = 'sound/vox_fem/distance.ogg', - "distortion" = 'sound/vox_fem/distortion.ogg', - "do" = 'sound/vox_fem/do.ogg', - "doctor" = 'sound/vox_fem/doctor.ogg', - "doctors" = 'sound/vox_fem/doctors.ogg', - "doop" = 'sound/vox/doop.wav', - "door" = 'sound/vox_fem/door.ogg', - "dorms" = 'sound/vox_fem/dorms.ogg', - "down" = 'sound/vox_fem/down.ogg', - "dual" = 'sound/vox_fem/dual.ogg', - "duct" = 'sound/vox_fem/duct.ogg', - "e" = 'sound/vox_fem/e.ogg', - "east" = 'sound/vox_fem/east.ogg', - "echo" = 'sound/vox_fem/echo.ogg', - "ed" = 'sound/vox_fem/ed.ogg', - "effect" = 'sound/vox_fem/effect.ogg', - "egress" = 'sound/vox_fem/egress.ogg', - "eight" = 'sound/vox_fem/eight.ogg', - "eighteen" = 'sound/vox_fem/eighteen.ogg', - "eighty" = 'sound/vox_fem/eighty.ogg', - "electric" = 'sound/vox_fem/electric.ogg', - "electromagnetic" = 'sound/vox_fem/electromagnetic.ogg', - "elevator" = 'sound/vox_fem/elevator.ogg', - "eleven" = 'sound/vox_fem/eleven.ogg', - "eliminate" = 'sound/vox_fem/eliminate.ogg', - "emergency" = 'sound/vox_fem/emergency.ogg', - "energy" = 'sound/vox_fem/energy.ogg', - "engage" = 'sound/vox_fem/engage.ogg', - "engaged" = 'sound/vox_fem/engaged.ogg', - "engine" = 'sound/vox_fem/engine.ogg', - "engineer" = 'sound/vox_fem/engineer.ogg', - "engineering" = 'sound/vox_fem/engineering.ogg', - "engineers" = 'sound/vox_fem/engineers.ogg', - "enter" = 'sound/vox_fem/enter.ogg', - "entry" = 'sound/vox_fem/entry.ogg', - "environment" = 'sound/vox_fem/environment.ogg', - "error" = 'sound/vox_fem/error.ogg', - "escape" = 'sound/vox_fem/escape.ogg', - "evacuate" = 'sound/vox_fem/evacuate.ogg', - "every" = 'sound/vox_fem/every.ogg', - "exchange" = 'sound/vox_fem/exchange.ogg', - "execution" = 'sound/vox_fem/execution.ogg', - "exit" = 'sound/vox_fem/exit.ogg', - "expect" = 'sound/vox_fem/expect.ogg', - "experiment" = 'sound/vox_fem/experiment.ogg', - "experimental" = 'sound/vox_fem/experimental.ogg', - "explode" = 'sound/vox_fem/explode.ogg', - "explosion" = 'sound/vox_fem/explosion.ogg', - "exposure" = 'sound/vox_fem/exposure.ogg', - "exterminate" = 'sound/vox_fem/exterminate.ogg', - "extinguish" = 'sound/vox_fem/extinguish.ogg', - "extinguisher" = 'sound/vox_fem/extinguisher.ogg', - "extreme" = 'sound/vox_fem/extreme.ogg', - "f" = 'sound/vox_fem/f.ogg', - "facility" = 'sound/vox_fem/facility.ogg', - "fahrenheit" = 'sound/vox_fem/fahrenheit.ogg', - "failed" = 'sound/vox_fem/failed.ogg', - "failure" = 'sound/vox_fem/failure.ogg', - "farthest" = 'sound/vox_fem/farthest.ogg', - "fast" = 'sound/vox_fem/fast.ogg', - "feet" = 'sound/vox_fem/feet.ogg', - "field" = 'sound/vox_fem/field.ogg', - "fifteen" = 'sound/vox_fem/fifteen.ogg', - "fifth" = 'sound/vox_fem/fifth.ogg', - "fifty" = 'sound/vox_fem/fifty.ogg', - "final" = 'sound/vox_fem/final.ogg', - "fine" = 'sound/vox_fem/fine.ogg', - "fire" = 'sound/vox_fem/fire.ogg', - "first" = 'sound/vox_fem/first.ogg', - "five" = 'sound/vox_fem/five.ogg', - "flooding" = 'sound/vox_fem/flooding.ogg', - "floor" = 'sound/vox_fem/floor.ogg', - "fool" = 'sound/vox_fem/fool.ogg', - "for" = 'sound/vox_fem/for.ogg', - "forbidden" = 'sound/vox_fem/forbidden.ogg', - "force" = 'sound/vox_fem/force.ogg', - "fore" = 'sound/vox_fem/fore.ogg', - "forms" = 'sound/vox_fem/forms.ogg', - "found" = 'sound/vox_fem/found.ogg', - "four" = 'sound/vox_fem/four.ogg', - "fourteen" = 'sound/vox_fem/fourteen.ogg', - "fourth" = 'sound/vox_fem/fourth.ogg', - "fourty" = 'sound/vox_fem/fourty.ogg', - "foxtrot" = 'sound/vox_fem/foxtrot.ogg', - "freeman" = 'sound/vox_fem/freeman.ogg', - "freezer" = 'sound/vox_fem/freezer.ogg', - "from" = 'sound/vox_fem/from.ogg', - "front" = 'sound/vox_fem/front.ogg', - "fuck" = 'sound/vox_fem/fuck.ogg', - "fucking" = 'sound/vox_fem/fucking.ogg', - "fucks" = 'sound/vox_fem/fucks.ogg', - "fuel" = 'sound/vox_fem/fuel.ogg', - "g" = 'sound/vox_fem/g.ogg', - "gas" = 'sound/vox_fem/gas.ogg', - "get" = 'sound/vox_fem/get.ogg', - "glory" = 'sound/vox_fem/glory.ogg', - "go" = 'sound/vox_fem/go.ogg', - "going" = 'sound/vox_fem/going.ogg', - "good" = 'sound/vox_fem/good.ogg', - "goodbye" = 'sound/vox_fem/goodbye.ogg', - "gordon" = 'sound/vox_fem/gordon.ogg', - "got" = 'sound/vox_fem/got.ogg', - "government" = 'sound/vox_fem/government.ogg', - "granted" = 'sound/vox_fem/granted.ogg', - "gray" = 'sound/vox_fem/gray.ogg', - "great" = 'sound/vox_fem/great.ogg', - "green" = 'sound/vox_fem/green.ogg', - "grenade" = 'sound/vox_fem/grenade.ogg', - "guard" = 'sound/vox_fem/guard.ogg', - "gulf" = 'sound/vox_fem/gulf.ogg', - "gun" = 'sound/vox_fem/gun.ogg', - "guthrie" = 'sound/vox_fem/guthrie.ogg', - "h" = 'sound/vox_fem/h.ogg', - "hacker" = 'sound/vox_fem/hacker.ogg', - "hackers" = 'sound/vox_fem/hackers.ogg', - "hacking" = 'sound/vox_fem/hacking.ogg', - "handling" = 'sound/vox_fem/handling.ogg', - "hangar" = 'sound/vox_fem/hangar.ogg', - "harm" = 'sound/vox_fem/harm.ogg', - "has" = 'sound/vox_fem/has.ogg', - "have" = 'sound/vox_fem/have.ogg', - "hazard" = 'sound/vox_fem/hazard.ogg', - "head" = 'sound/vox_fem/head.ogg', - "health" = 'sound/vox_fem/health.ogg', - "heat" = 'sound/vox_fem/heat.ogg', - "helicopter" = 'sound/vox_fem/helicopter.ogg', - "helium" = 'sound/vox_fem/helium.ogg', - "hello" = 'sound/vox_fem/hello.ogg', - "help" = 'sound/vox_fem/help.ogg', - "here" = 'sound/vox_fem/here.ogg', - "hide" = 'sound/vox_fem/hide.ogg', - "high" = 'sound/vox_fem/high.ogg', - "highest" = 'sound/vox_fem/highest.ogg', - "hit" = 'sound/vox_fem/hit.ogg', - "hole" = 'sound/vox_fem/hole.ogg', - "hop" = 'sound/vox_fem/hop.ogg', - "hos" = 'sound/vox_fem/hos.ogg', - "hostile" = 'sound/vox_fem/hostile.ogg', - "hot" = 'sound/vox_fem/hot.ogg', - "hotel" = 'sound/vox_fem/hotel.ogg', - "hour" = 'sound/vox_fem/hour.ogg', - "hours" = 'sound/vox_fem/hours.ogg', - "human" = 'sound/vox_fem/human.ogg', - "humans" = 'sound/vox_fem/humans.ogg', - "hundred" = 'sound/vox_fem/hundred.ogg', - "hunger" = 'sound/vox_fem/hunger.ogg', - "hydro" = 'sound/vox_fem/hydro.ogg', - "hydroponics" = 'sound/vox_fem/hydroponics.ogg', - "i" = 'sound/vox_fem/i.ogg', - "iaa" = 'sound/vox_fem/iaa.ogg', - "idiot" = 'sound/vox_fem/idiot.ogg', - "illegal" = 'sound/vox_fem/illegal.ogg', - "immediate" = 'sound/vox_fem/immediate.ogg', - "immediately" = 'sound/vox_fem/immediately.ogg', - "in" = 'sound/vox_fem/in.ogg', - "inches" = 'sound/vox_fem/inches.ogg', - "india" = 'sound/vox_fem/india.ogg', - "ing" = 'sound/vox_fem/ing.ogg', - "inoperative" = 'sound/vox_fem/inoperative.ogg', - "inside" = 'sound/vox_fem/inside.ogg', - "inspection" = 'sound/vox_fem/inspection.ogg', - "inspector" = 'sound/vox_fem/inspector.ogg', - "interchange" = 'sound/vox_fem/interchange.ogg', - "intruder" = 'sound/vox_fem/intruder.ogg', - "invalid" = 'sound/vox_fem/invalid.ogg', - "invasion" = 'sound/vox_fem/invasion.ogg', - "is" = 'sound/vox_fem/is.ogg', - "it" = 'sound/vox_fem/it.ogg', - "j" = 'sound/vox_fem/j.ogg', - "johnson" = 'sound/vox_fem/johnson.ogg', - "juliet" = 'sound/vox_fem/juliet.ogg', - "k" = 'sound/vox_fem/k.ogg', - "key" = 'sound/vox_fem/key.ogg', - "kill" = 'sound/vox_fem/kill.ogg', - "kilo" = 'sound/vox_fem/kilo.ogg', - "kit" = 'sound/vox_fem/kit.ogg', - "kitchen" = 'sound/vox_fem/kitchen.ogg', - "l" = 'sound/vox_fem/l.ogg', - "lab" = 'sound/vox_fem/lab.ogg', - "lambda" = 'sound/vox_fem/lambda.ogg', - "laser" = 'sound/vox_fem/laser.ogg', - "last" = 'sound/vox_fem/last.ogg', - "launch" = 'sound/vox_fem/launch.ogg', - "law" = 'sound/vox_fem/law.ogg', - "laws" = 'sound/vox_fem/laws.ogg', - "lawyer" = 'sound/vox_fem/lawyer.ogg', - "leak" = 'sound/vox_fem/leak.ogg', - "leave" = 'sound/vox_fem/leave.ogg', - "left" = 'sound/vox_fem/left.ogg', - "legal" = 'sound/vox_fem/legal.ogg', - "level" = 'sound/vox_fem/level.ogg', - "lever" = 'sound/vox_fem/lever.ogg', - "lie" = 'sound/vox_fem/lie.ogg', - "lieutenant" = 'sound/vox_fem/lieutenant.ogg', - "life" = 'sound/vox_fem/life.ogg', - "light" = 'sound/vox_fem/light.ogg', - "lima" = 'sound/vox_fem/lima.ogg', - "liquid" = 'sound/vox_fem/liquid.ogg', - "lizard" = 'sound/vox_fem/lizard.ogg', - "loading" = 'sound/vox_fem/loading.ogg', - "locate" = 'sound/vox_fem/locate.ogg', - "located" = 'sound/vox_fem/located.ogg', - "location" = 'sound/vox_fem/location.ogg', - "lock" = 'sound/vox_fem/lock.ogg', - "locked" = 'sound/vox_fem/locked.ogg', - "locker" = 'sound/vox_fem/locker.ogg', - "lockout" = 'sound/vox_fem/lockout.ogg', - "loose" = 'sound/vox_fem/loose.ogg', - "love" = 'sound/vox_fem/love.ogg', - "lower" = 'sound/vox_fem/lower.ogg', - "lowest" = 'sound/vox_fem/lowest.ogg', - "m" = 'sound/vox_fem/m.ogg', - "magnetic" = 'sound/vox_fem/magnetic.ogg', - "main" = 'sound/vox_fem/main.ogg', - "maintenance" = 'sound/vox_fem/maintenance.ogg', - "malfunction" = 'sound/vox_fem/malfunction.ogg', - "man" = 'sound/vox_fem/man.ogg', - "mass" = 'sound/vox_fem/mass.ogg', - "materials" = 'sound/vox_fem/materials.ogg', - "maximum" = 'sound/vox_fem/maximum.ogg', - "may" = 'sound/vox_fem/may.ogg', - "me" = 'sound/vox_fem/me.ogg', - "medbay" = 'sound/vox_fem/medbay.ogg', - "medical" = 'sound/vox_fem/medical.ogg', - "men" = 'sound/vox_fem/men.ogg', - "mercy" = 'sound/vox_fem/mercy.ogg', - "mesa" = 'sound/vox_fem/mesa.ogg', - "message" = 'sound/vox_fem/message.ogg', - "meter" = 'sound/vox_fem/meter.ogg', - "micro" = 'sound/vox_fem/micro.ogg', - "middle" = 'sound/vox_fem/middle.ogg', - "mike" = 'sound/vox_fem/mike.ogg', - "miles" = 'sound/vox_fem/miles.ogg', - "military" = 'sound/vox_fem/military.ogg', - "milli" = 'sound/vox_fem/milli.ogg', - "million" = 'sound/vox_fem/million.ogg', - "minefield" = 'sound/vox_fem/minefield.ogg', - "minimum" = 'sound/vox_fem/minimum.ogg', - "minutes" = 'sound/vox_fem/minutes.ogg', - "mister" = 'sound/vox_fem/mister.ogg', - "mode" = 'sound/vox_fem/mode.ogg', - "mommi" = 'sound/vox_fem/mommi.ogg', - "money" = 'sound/vox_fem/money.ogg', - "monkey" = 'sound/vox_fem/monkey.ogg', - "monkeys" = 'sound/vox_fem/monkeys.ogg', - "motor" = 'sound/vox_fem/motor.ogg', - "motorpool" = 'sound/vox_fem/motorpool.ogg', - "move" = 'sound/vox_fem/move.ogg', - "must" = 'sound/vox_fem/must.ogg', - "my" = 'sound/vox_fem/my.ogg', - "n" = 'sound/vox_fem/n.ogg', - "nanotrasen" = 'sound/vox_fem/nanotrasen.ogg', - "nearest" = 'sound/vox_fem/nearest.ogg', - "nice" = 'sound/vox_fem/nice.ogg', - "nine" = 'sound/vox_fem/nine.ogg', - "nineteen" = 'sound/vox_fem/nineteen.ogg', - "ninety" = 'sound/vox_fem/ninety.ogg', - "ninja" = 'sound/vox_fem/ninja.ogg', - "ninjas" = 'sound/vox_fem/ninjas.ogg', - "no" = 'sound/vox_fem/no.ogg', - "nominal" = 'sound/vox_fem/nominal.ogg', - "north" = 'sound/vox_fem/north.ogg', - "not" = 'sound/vox_fem/not.ogg', - "november" = 'sound/vox_fem/november.ogg', - "now" = 'sound/vox_fem/now.ogg', - "number" = 'sound/vox_fem/number.ogg', - "o" = 'sound/vox_fem/o.ogg', - "objective" = 'sound/vox_fem/objective.ogg', - "observation" = 'sound/vox_fem/observation.ogg', - "obtain" = 'sound/vox_fem/obtain.ogg', - "of" = 'sound/vox_fem/of.ogg', - "officer" = 'sound/vox_fem/officer.ogg', - "ok" = 'sound/vox_fem/ok.ogg', - "on" = 'sound/vox_fem/on.ogg', - "one" = 'sound/vox_fem/one.ogg', - "open" = 'sound/vox_fem/open.ogg', - "operating" = 'sound/vox_fem/operating.ogg', - "operations" = 'sound/vox_fem/operations.ogg', - "operative" = 'sound/vox_fem/operative.ogg', - "option" = 'sound/vox_fem/option.ogg', - "or" = 'sound/vox_fem/or.ogg', - "order" = 'sound/vox_fem/order.ogg', - "organic" = 'sound/vox_fem/organic.ogg', - "oscar" = 'sound/vox_fem/oscar.ogg', - "out" = 'sound/vox_fem/out.ogg', - "outside" = 'sound/vox_fem/outside.ogg', - "over" = 'sound/vox_fem/over.ogg', - "overload" = 'sound/vox_fem/overload.ogg', - "override" = 'sound/vox_fem/override.ogg', - "p" = 'sound/vox_fem/p.ogg', - "pacify" = 'sound/vox_fem/pacify.ogg', - "pain" = 'sound/vox_fem/pain.ogg', - "pal" = 'sound/vox_fem/pal.ogg', - "panel" = 'sound/vox_fem/panel.ogg', - "percent" = 'sound/vox_fem/percent.ogg', - "perimeter" = 'sound/vox_fem/perimeter.ogg', - "permitted" = 'sound/vox_fem/permitted.ogg', - "personnel" = 'sound/vox_fem/personnel.ogg', - "pipe" = 'sound/vox_fem/pipe.ogg', - "plant" = 'sound/vox_fem/plant.ogg', - "plasma" = 'sound/vox_fem/plasma.ogg', - "platform" = 'sound/vox_fem/platform.ogg', - "please" = 'sound/vox_fem/please.ogg', - "point" = 'sound/vox_fem/point.ogg', - "port" = 'sound/vox_fem/port.ogg', - "portal" = 'sound/vox_fem/portal.ogg', - "power" = 'sound/vox_fem/power.ogg', - "presence" = 'sound/vox_fem/presence.ogg', - "press" = 'sound/vox_fem/press.ogg', - "primary" = 'sound/vox_fem/primary.ogg', - "proceed" = 'sound/vox_fem/proceed.ogg', - "processing" = 'sound/vox_fem/processing.ogg', - "progress" = 'sound/vox_fem/progress.ogg', - "proper" = 'sound/vox_fem/proper.ogg', - "propulsion" = 'sound/vox_fem/propulsion.ogg', - "prosecute" = 'sound/vox_fem/prosecute.ogg', - "protective" = 'sound/vox_fem/protective.ogg', - "push" = 'sound/vox_fem/push.ogg', - "q" = 'sound/vox_fem/q.ogg', - "qm" = 'sound/vox_fem/qm.ogg', - "quantum" = 'sound/vox_fem/quantum.ogg', - "quarters" = 'sound/vox_fem/quarters.ogg', - "quebec" = 'sound/vox_fem/quebec.ogg', - "queen" = 'sound/vox_fem/queen.ogg', - "question" = 'sound/vox_fem/question.ogg', - "questioning" = 'sound/vox_fem/questioning.ogg', - "quick" = 'sound/vox_fem/quick.ogg', - "quit" = 'sound/vox_fem/quit.ogg', - "r" = 'sound/vox_fem/r.ogg', - "radiation" = 'sound/vox_fem/radiation.ogg', - "radioactive" = 'sound/vox_fem/radioactive.ogg', - "rads" = 'sound/vox_fem/rads.ogg', - "rage" = 'sound/vox_fem/rage.ogg', - "raider" = 'sound/vox_fem/raider.ogg', - "raiders" = 'sound/vox_fem/raiders.ogg', - "rapid" = 'sound/vox_fem/rapid.ogg', - "rd" = 'sound/vox_fem/rd.ogg', - "reach" = 'sound/vox_fem/reach.ogg', - "reached" = 'sound/vox_fem/reached.ogg', - "reactor" = 'sound/vox_fem/reactor.ogg', - "recommend" = 'sound/vox_fem/recommend.ogg', - "red" = 'sound/vox_fem/red.ogg', - "relay" = 'sound/vox_fem/relay.ogg', - "released" = 'sound/vox_fem/released.ogg', - "remaining" = 'sound/vox_fem/remaining.ogg', - "removal" = 'sound/vox_fem/removal.ogg', - "renegade" = 'sound/vox_fem/renegade.ogg', - "repair" = 'sound/vox_fem/repair.ogg', - "report" = 'sound/vox_fem/report.ogg', - "reports" = 'sound/vox_fem/reports.ogg', - "request" = 'sound/vox_fem/request.ogg', - "requested" = 'sound/vox_fem/requested.ogg', - "required" = 'sound/vox_fem/required.ogg', - "research" = 'sound/vox_fem/research.ogg', - "resevoir" = 'sound/vox_fem/resevoir.ogg', - "resistance" = 'sound/vox_fem/resistance.ogg', - "respond" = 'sound/vox_fem/respond.ogg', - "rest" = 'sound/vox_fem/rest.ogg', - "right" = 'sound/vox_fem/right.ogg', - "roboticist" = 'sound/vox_fem/roboticist.ogg', - "robotics" = 'sound/vox_fem/robotics.ogg', - "rocket" = 'sound/vox_fem/rocket.ogg', - "roger" = 'sound/vox_fem/roger.ogg', - "rogue" = 'sound/vox_fem/rogue.ogg', - "romeo" = 'sound/vox_fem/romeo.ogg', - "room" = 'sound/vox_fem/room.ogg', - "round" = 'sound/vox_fem/round.ogg', - "run" = 'sound/vox_fem/run.ogg', - "s" = 'sound/vox_fem/s.ogg', - "safe" = 'sound/vox_fem/safe.ogg', - "safety" = 'sound/vox_fem/safety.ogg', - "sarah" = 'sound/vox_fem/sarah.ogg', - "sargeant" = 'sound/vox_fem/sargeant.ogg', - "satellite" = 'sound/vox_fem/satellite.ogg', - "save" = 'sound/vox_fem/save.ogg', - "science" = 'sound/vox_fem/science.ogg', - "scream" = 'sound/vox_fem/scream.ogg', - "screen" = 'sound/vox_fem/screen.ogg', - "search" = 'sound/vox_fem/search.ogg', - "second" = 'sound/vox_fem/second.ogg', - "secondary" = 'sound/vox_fem/secondary.ogg', - "seconds" = 'sound/vox_fem/seconds.ogg', - "sector" = 'sound/vox_fem/sector.ogg', - "secure" = 'sound/vox_fem/secure.ogg', - "secured" = 'sound/vox_fem/secured.ogg', - "security" = 'sound/vox_fem/security.ogg', - "select" = 'sound/vox_fem/select.ogg', - "selected" = 'sound/vox_fem/selected.ogg', - "sensors" = 'sound/vox_fem/sensors.ogg', - "service" = 'sound/vox_fem/service.ogg', - "seven" = 'sound/vox_fem/seven.ogg', - "seventeen" = 'sound/vox_fem/seventeen.ogg', - "seventy" = 'sound/vox_fem/seventy.ogg', - "severe" = 'sound/vox_fem/severe.ogg', - "sewage" = 'sound/vox_fem/sewage.ogg', - "sewer" = 'sound/vox_fem/sewer.ogg', - "shield" = 'sound/vox_fem/shield.ogg', - "shipment" = 'sound/vox_fem/shipment.ogg', - "shirt" = 'sound/vox_fem/shirt.ogg', - "shirts" = 'sound/vox_fem/shirts.ogg', - "shit" = 'sound/vox_fem/shit.ogg', - "shitcurity" = 'sound/vox_fem/shitcurity.ogg', - "shitlord" = 'sound/vox_fem/shitlord.ogg', - "shits" = 'sound/vox_fem/shits.ogg', - "shitting" = 'sound/vox_fem/shitting.ogg', - "shock" = 'sound/vox_fem/shock.ogg', - "shoot" = 'sound/vox_fem/shoot.ogg', - "shower" = 'sound/vox_fem/shower.ogg', - "shut" = 'sound/vox_fem/shut.ogg', - "shuttle" = 'sound/vox_fem/shuttle.ogg', - "side" = 'sound/vox_fem/side.ogg', - "sierra" = 'sound/vox_fem/sierra.ogg', - "sight" = 'sound/vox_fem/sight.ogg', - "silo" = 'sound/vox_fem/silo.ogg', - "singularity" = 'sound/vox_fem/singularity.ogg', - "six" = 'sound/vox_fem/six.ogg', - "sixteen" = 'sound/vox_fem/sixteen.ogg', - "sixty" = 'sound/vox_fem/sixty.ogg', - "skipjack" = 'sound/vox_fem/skipjack.ogg', - "slime" = 'sound/vox_fem/slime.ogg', - "slow" = 'sound/vox_fem/slow.ogg', - "smoke" = 'sound/vox_fem/smoke.ogg', - "solar" = 'sound/vox_fem/solar.ogg', - "solars" = 'sound/vox_fem/solars.ogg', - "soldier" = 'sound/vox_fem/soldier.ogg', - "some" = 'sound/vox_fem/some.ogg', - "someone" = 'sound/vox_fem/someone.ogg', - "something" = 'sound/vox_fem/something.ogg', - "son" = 'sound/vox_fem/son.ogg', - "sorry" = 'sound/vox_fem/sorry.ogg', - "south" = 'sound/vox_fem/south.ogg', - "squad" = 'sound/vox_fem/squad.ogg', - "square" = 'sound/vox_fem/square.ogg', - "ss13" = 'sound/vox_fem/ss13.ogg', - "stairway" = 'sound/vox_fem/stairway.ogg', - "starboard" = 'sound/vox_fem/starboard.ogg', - "station" = 'sound/vox_fem/station.ogg', - "stations" = 'sound/vox_fem/stations.ogg', - "status" = 'sound/vox_fem/status.ogg', - "sterile" = 'sound/vox_fem/sterile.ogg', - "sterilization" = 'sound/vox_fem/sterilization.ogg', - "storage" = 'sound/vox_fem/storage.ogg', - "stuck" = 'sound/vox_fem/stuck.ogg', - "sub" = 'sound/vox_fem/sub.ogg', - "subsurface" = 'sound/vox_fem/subsurface.ogg', - "sudden" = 'sound/vox_fem/sudden.ogg', - "suffer" = 'sound/vox_fem/suffer.ogg', - "suffering" = 'sound/vox_fem/suffering.ogg', - "suit" = 'sound/vox_fem/suit.ogg', - "superconducting" = 'sound/vox_fem/superconducting.ogg', - "supercooled" = 'sound/vox_fem/supercooled.ogg', - "supply" = 'sound/vox_fem/supply.ogg', - "surface" = 'sound/vox_fem/surface.ogg', - "surrender" = 'sound/vox_fem/surrender.ogg', - "surround" = 'sound/vox_fem/surround.ogg', - "surrounded" = 'sound/vox_fem/surrounded.ogg', - "switch" = 'sound/vox_fem/switch.ogg', - "syndicate" = 'sound/vox_fem/syndicate.ogg', - "system" = 'sound/vox_fem/system.ogg', - "systems" = 'sound/vox_fem/systems.ogg', - "t" = 'sound/vox_fem/t.ogg', - "tactical" = 'sound/vox_fem/tactical.ogg', - "tajaran" = 'sound/vox_fem/tajaran.ogg', - "take" = 'sound/vox_fem/take.ogg', - "talk" = 'sound/vox_fem/talk.ogg', - "tango" = 'sound/vox_fem/tango.ogg', - "tank" = 'sound/vox_fem/tank.ogg', - "target" = 'sound/vox_fem/target.ogg', - "team" = 'sound/vox_fem/team.ogg', - "telecomms" = 'sound/vox_fem/telecomms.ogg', - "temperature" = 'sound/vox_fem/temperature.ogg', - "temporal" = 'sound/vox_fem/temporal.ogg', - "ten" = 'sound/vox_fem/ten.ogg', - "terminal" = 'sound/vox_fem/terminal.ogg', - "terminated" = 'sound/vox_fem/terminated.ogg', - "termination" = 'sound/vox_fem/termination.ogg', - "test" = 'sound/vox_fem/test.ogg', - "that" = 'sound/vox_fem/that.ogg', - "the" = 'sound/vox_fem/the.ogg', - "then" = 'sound/vox_fem/then.ogg', - "there" = 'sound/vox_fem/there.ogg', - "third" = 'sound/vox_fem/third.ogg', - "thirteen" = 'sound/vox_fem/thirteen.ogg', - "thirty" = 'sound/vox_fem/thirty.ogg', - "this" = 'sound/vox_fem/this.ogg', - "those" = 'sound/vox_fem/those.ogg', - "thousand" = 'sound/vox_fem/thousand.ogg', - "threat" = 'sound/vox_fem/threat.ogg', - "three" = 'sound/vox_fem/three.ogg', - "through" = 'sound/vox_fem/through.ogg', - "tide" = 'sound/vox_fem/tide.ogg', - "time" = 'sound/vox_fem/time.ogg', - "to" = 'sound/vox_fem/to.ogg', - "top" = 'sound/vox_fem/top.ogg', - "topside" = 'sound/vox_fem/topside.ogg', - "touch" = 'sound/vox_fem/touch.ogg', - "towards" = 'sound/vox_fem/towards.ogg', - "toxins" = 'sound/vox_fem/toxins.ogg', - "track" = 'sound/vox_fem/track.ogg', - "train" = 'sound/vox_fem/train.ogg', - "traitor" = 'sound/vox_fem/traitor.ogg', - "traitors" = 'sound/vox_fem/traitors.ogg', - "transportation" = 'sound/vox_fem/transportation.ogg', - "truck" = 'sound/vox_fem/truck.ogg', - "tunnel" = 'sound/vox_fem/tunnel.ogg', - "turn" = 'sound/vox_fem/turn.ogg', - "turret" = 'sound/vox_fem/turret.ogg', - "twelve" = 'sound/vox_fem/twelve.ogg', - "twenty" = 'sound/vox_fem/twenty.ogg', - "two" = 'sound/vox_fem/two.ogg', - "u" = 'sound/vox_fem/u.ogg', - "unauthorized" = 'sound/vox_fem/unauthorized.ogg', - "under" = 'sound/vox_fem/under.ogg', - "uniform" = 'sound/vox_fem/uniform.ogg', - "unlocked" = 'sound/vox_fem/unlocked.ogg', - "until" = 'sound/vox_fem/until.ogg', - "up" = 'sound/vox_fem/up.ogg', - "update" = 'sound/vox_fem/update.ogg', - "updated" = 'sound/vox_fem/updated.ogg', - "updating" = 'sound/vox_fem/updating.ogg', - "upload" = 'sound/vox_fem/upload.ogg', - "upper" = 'sound/vox_fem/upper.ogg', - "uranium" = 'sound/vox_fem/uranium.ogg', - "us" = 'sound/vox_fem/us.ogg', - "usa" = 'sound/vox_fem/usa.ogg', - "use" = 'sound/vox_fem/use.ogg', - "used" = 'sound/vox_fem/used.ogg', - "user" = 'sound/vox_fem/user.ogg', - "v" = 'sound/vox_fem/v.ogg', - "vacate" = 'sound/vox_fem/vacate.ogg', - "valid" = 'sound/vox_fem/valid.ogg', - "vampire" = 'sound/vox_fem/vampire.ogg', - "vampires" = 'sound/vox_fem/vampires.ogg', - "vapor" = 'sound/vox_fem/vapor.ogg', - "vent" = 'sound/vox_fem/vent.ogg', - "ventilation" = 'sound/vox_fem/ventilation.ogg', - "victor" = 'sound/vox_fem/victor.ogg', - "violated" = 'sound/vox_fem/violated.ogg', - "violation" = 'sound/vox_fem/violation.ogg', - "virology" = 'sound/vox_fem/virology.ogg', - "voltage" = 'sound/vox_fem/voltage.ogg', - "vox" = 'sound/vox_fem/vox.ogg', - "vox_420" = 'sound/vox_fem/vox_420.ogg', - "voxtest" = 'sound/vox_fem/voxtest.ogg', - "voxtest2" = 'sound/vox_fem/voxtest2.ogg', - "voxtest3" = 'sound/vox_fem/voxtest3.ogg', - "w" = 'sound/vox_fem/w.ogg', - "walk" = 'sound/vox_fem/walk.ogg', - "wall" = 'sound/vox_fem/wall.ogg', - "wanker" = 'sound/vox_fem/wanker.ogg', - "wankers" = 'sound/vox_fem/wankers.ogg', - "want" = 'sound/vox_fem/want.ogg', - "wanted" = 'sound/vox_fem/wanted.ogg', - "warm" = 'sound/vox_fem/warm.ogg', - "warn" = 'sound/vox_fem/warn.ogg', - "warning" = 'sound/vox_fem/warning.ogg', - "waste" = 'sound/vox_fem/waste.ogg', - "water" = 'sound/vox_fem/water.ogg', - "we" = 'sound/vox_fem/we.ogg', - "weapon" = 'sound/vox_fem/weapon.ogg', - "weed" = 'sound/vox_fem/weed.ogg', - "welcome" = 'sound/vox_fem/welcome.ogg', - "west" = 'sound/vox_fem/west.ogg', - "whiskey" = 'sound/vox_fem/whiskey.ogg', - "white" = 'sound/vox_fem/white.ogg', - "wiggle" = 'sound/vox_fem/wiggle.ogg', - "wilco" = 'sound/vox_fem/wilco.ogg', - "will" = 'sound/vox_fem/will.ogg', - "with" = 'sound/vox_fem/with.ogg', - "without" = 'sound/vox_fem/without.ogg', - "wizard" = 'sound/vox_fem/wizard.ogg', - "wizards" = 'sound/vox_fem/wizards.ogg', - "wood" = 'sound/vox_fem/wood.ogg', - "woody" = 'sound/vox_fem/woody.ogg', - "woop" = 'sound/vox/woop.wav', - "x" = 'sound/vox_fem/x.ogg', - "xeno" = 'sound/vox_fem/xeno.ogg', - "xenobiology" = 'sound/vox_fem/xenobiology.ogg', - "xenomorph" = 'sound/vox_fem/xenomorph.ogg', - "xenomorphs" = 'sound/vox_fem/xenomorphs.ogg', - "y" = 'sound/vox_fem/y.ogg', - "yankee" = 'sound/vox_fem/yankee.ogg', - "yards" = 'sound/vox_fem/yards.ogg', - "year" = 'sound/vox_fem/year.ogg', - "yellow" = 'sound/vox_fem/yellow.ogg', - "yes" = 'sound/vox_fem/yes.ogg', - "you" = 'sound/vox_fem/you.ogg', - "your" = 'sound/vox_fem/your.ogg', - "yourself" = 'sound/vox_fem/yourself.ogg', - "z" = 'sound/vox_fem/z.ogg', - "zero" = 'sound/vox_fem/zero.ogg', - "zone" = 'sound/vox_fem/zone.ogg', - "zulu" = 'sound/vox_fem/zulu.ogg', +var/list/vox_sounds = list("," = 'sound/vox_fem/,.ogg', +"." = 'sound/vox_fem/..ogg', +"a" = 'sound/vox_fem/a.ogg', +"abortions" = 'sound/vox_fem/abortions.ogg', +"accelerating" = 'sound/vox_fem/accelerating.ogg', +"accelerator" = 'sound/vox_fem/accelerator.ogg', +"accepted" = 'sound/vox_fem/accepted.ogg', +"access" = 'sound/vox_fem/access.ogg', +"acknowledge" = 'sound/vox_fem/acknowledge.ogg', +"acknowledged" = 'sound/vox_fem/acknowledged.ogg', +"acquired" = 'sound/vox_fem/acquired.ogg', +"acquisition" = 'sound/vox_fem/acquisition.ogg', +"across" = 'sound/vox_fem/across.ogg', +"activate" = 'sound/vox_fem/activate.ogg', +"activated" = 'sound/vox_fem/activated.ogg', +"activity" = 'sound/vox_fem/activity.ogg', +"adios" = 'sound/vox_fem/adios.ogg', +"administration" = 'sound/vox_fem/administration.ogg', +"advanced" = 'sound/vox_fem/advanced.ogg', +"aft" = 'sound/vox_fem/aft.ogg', +"after" = 'sound/vox_fem/after.ogg', +"agent" = 'sound/vox_fem/agent.ogg', +"ai" = 'sound/vox_fem/ai.ogg', +"alarm" = 'sound/vox_fem/alarm.ogg', +"alert" = 'sound/vox_fem/alert.ogg', +"alien" = 'sound/vox_fem/alien.ogg', +"aligned" = 'sound/vox_fem/aligned.ogg', +"all" = 'sound/vox_fem/all.ogg', +"alpha" = 'sound/vox_fem/alpha.ogg', +"am" = 'sound/vox_fem/am.ogg', +"amigo" = 'sound/vox_fem/amigo.ogg', +"ammunition" = 'sound/vox_fem/ammunition.ogg', +"an" = 'sound/vox_fem/an.ogg', +"and" = 'sound/vox_fem/and.ogg', +"andy" = 'sound/vox_fem/andy.ogg', +"announcement" = 'sound/vox_fem/announcement.ogg', +"anomalous" = 'sound/vox_fem/anomalous.ogg', +"antenna" = 'sound/vox_fem/antenna.ogg', +"antimov" = 'sound/vox_fem/antimov.ogg', +"any" = 'sound/vox_fem/any.ogg', +"apprehend" = 'sound/vox_fem/apprehend.ogg', +"approach" = 'sound/vox_fem/approach.ogg', +"are" = 'sound/vox_fem/are.ogg', +"area" = 'sound/vox_fem/area.ogg', +"arm" = 'sound/vox_fem/arm.ogg', +"armed" = 'sound/vox_fem/armed.ogg', +"armor" = 'sound/vox_fem/armor.ogg', +"armory" = 'sound/vox_fem/armory.ogg', +"array" = 'sound/vox_fem/array.ogg', +"arrest" = 'sound/vox_fem/arrest.ogg', +"asimov" = 'sound/vox_fem/asimov.ogg', +"ass" = 'sound/vox_fem/ass.ogg', +"asshole" = 'sound/vox_fem/asshole.ogg', +"assholes" = 'sound/vox_fem/assholes.ogg', +"at" = 'sound/vox_fem/at.ogg', +"atmospherics" = 'sound/vox_fem/atmospherics.ogg', +"atomic" = 'sound/vox_fem/atomic.ogg', +"attention" = 'sound/vox_fem/attention.ogg', +"authorize" = 'sound/vox_fem/authorize.ogg', +"authorized" = 'sound/vox_fem/authorized.ogg', +"automatic" = 'sound/vox_fem/automatic.ogg', +"away" = 'sound/vox_fem/away.ogg', +"b" = 'sound/vox_fem/b.ogg', +"back" = 'sound/vox_fem/back.ogg', +"backman" = 'sound/vox_fem/backman.ogg', +"bad" = 'sound/vox_fem/bad.ogg', +"bag" = 'sound/vox_fem/bag.ogg', +"bailey" = 'sound/vox_fem/bailey.ogg', +"bar" = 'sound/vox_fem/bar.ogg', +"barracks" = 'sound/vox_fem/barracks.ogg', +"base" = 'sound/vox_fem/base.ogg', +"bay" = 'sound/vox_fem/bay.ogg', +"be" = 'sound/vox_fem/be.ogg', +"been" = 'sound/vox_fem/been.ogg', +"before" = 'sound/vox_fem/before.ogg', +"beyond" = 'sound/vox_fem/beyond.ogg', +"biohazard" = 'sound/vox_fem/biohazard.ogg', +"biological" = 'sound/vox_fem/biological.ogg', +"biomass" = 'sound/vox_fem/biomass.ogg', +"birdwell" = 'sound/vox_fem/birdwell.ogg', +"bitch" = 'sound/vox_fem/bitch.ogg', +"bitches" = 'sound/vox_fem/bitches.ogg', +"bizwarn" = 'sound/vox_fem/bizwarn.ogg', +"black" = 'sound/vox_fem/black.ogg', +"blast" = 'sound/vox_fem/blast.ogg', +"blocked" = 'sound/vox_fem/blocked.ogg', +"bloop" = 'sound/vox_fem/bloop.ogg', +"blue" = 'sound/vox_fem/blue.ogg', +"bomb" = 'sound/vox_fem/bomb.ogg', +"bombs" = 'sound/vox_fem/bombs.ogg', +"borer" = 'sound/vox_fem/borer.ogg', +"borers" = 'sound/vox_fem/borers.ogg', +"botanist" = 'sound/vox_fem/botanist.ogg', +"botanists" = 'sound/vox_fem/botanists.ogg', +"bottom" = 'sound/vox_fem/bottom.ogg', +"brain" = 'sound/vox_fem/brain.ogg', +"brains" = 'sound/vox_fem/brains.ogg', +"bravo" = 'sound/vox_fem/bravo.ogg', +"brawl" = 'sound/vox_fem/brawl.ogg', +"breach" = 'sound/vox_fem/breach.ogg', +"breached" = 'sound/vox_fem/breached.ogg', +"break" = 'sound/vox_fem/break.ogg', +"bridge" = 'sound/vox_fem/bridge.ogg', +"brig" = 'sound/vox_fem/brig.ogg', +"bust" = 'sound/vox_fem/bust.ogg', +"but" = 'sound/vox_fem/but.ogg', +"button" = 'sound/vox_fem/button.ogg', +"buzwarn" = 'sound/vox_fem/buzwarn.ogg', +"bypass" = 'sound/vox_fem/bypass.ogg', +"c" = 'sound/vox_fem/c.ogg', +"cable" = 'sound/vox_fem/cable.ogg', +"cage" = 'sound/vox_fem/cage.ogg', +"call" = 'sound/vox_fem/call.ogg', +"called" = 'sound/vox_fem/called.ogg', +"can" = 'sound/vox_fem/can.ogg', +"canal" = 'sound/vox_fem/canal.ogg', +"cancer" = 'sound/vox_fem/cancer.ogg', +"cap" = 'sound/vox_fem/cap.ogg', +"captain" = 'sound/vox_fem/captain.ogg', +"capture" = 'sound/vox_fem/capture.ogg', +"cargo" = 'sound/vox_fem/cargo.ogg', +"catbeast" = 'sound/vox_fem/catbeast.ogg', +"ce" = 'sound/vox_fem/ce.ogg', +"ceiling" = 'sound/vox_fem/ceiling.ogg', +"celsius" = 'sound/vox_fem/celsius.ogg', +"centcom" = 'sound/vox_fem/centcom.ogg', +"center" = 'sound/vox_fem/center.ogg', +"centi" = 'sound/vox_fem/centi.ogg', +"central" = 'sound/vox_fem/central.ogg', +"chamber" = 'sound/vox_fem/chamber.ogg', +"changed" = 'sound/vox_fem/changed.ogg', +"changeling" = 'sound/vox_fem/changeling.ogg', +"changelings" = 'sound/vox_fem/changelings.ogg', +"changer" = 'sound/vox_fem/changer.ogg', +"charlie" = 'sound/vox_fem/charlie.ogg', +"check" = 'sound/vox_fem/check.ogg', +"checkpoint" = 'sound/vox_fem/checkpoint.ogg', +"chef" = 'sound/vox_fem/chef.ogg', +"chefs" = 'sound/vox_fem/chefs.ogg', +"chemical" = 'sound/vox_fem/chemical.ogg', +"chemist" = 'sound/vox_fem/chemist.ogg', +"chemists" = 'sound/vox_fem/chemists.ogg', +"cleanup" = 'sound/vox_fem/cleanup.ogg', +"clear" = 'sound/vox_fem/clear.ogg', +"clearance" = 'sound/vox_fem/clearance.ogg', +"close" = 'sound/vox_fem/close.ogg', +"clown" = 'sound/vox_fem/clown.ogg', +"clowns" = 'sound/vox_fem/clowns.ogg', +"cmo" = 'sound/vox_fem/cmo.ogg', +"code" = 'sound/vox_fem/code.ogg', +"coded" = 'sound/vox_fem/coded.ogg', +"collider" = 'sound/vox_fem/collider.ogg', +"comdom" = 'sound/vox_fem/comdom.ogg', +"come" = 'sound/vox_fem/come.ogg', +"command" = 'sound/vox_fem/command.ogg', +"communication" = 'sound/vox_fem/communication.ogg', +"complex" = 'sound/vox_fem/complex.ogg', +"computer" = 'sound/vox_fem/computer.ogg', +"condition" = 'sound/vox_fem/condition.ogg', +"conflict" = 'sound/vox_fem/conflict.ogg', +"connor" = 'sound/vox_fem/connor.ogg', +"containment" = 'sound/vox_fem/containment.ogg', +"contamination" = 'sound/vox_fem/contamination.ogg', +"contraband" = 'sound/vox_fem/contraband.ogg', +"control" = 'sound/vox_fem/control.ogg', +"coolant" = 'sound/vox_fem/coolant.ogg', +"coomer" = 'sound/vox_fem/coomer.ogg', +"core" = 'sound/vox_fem/core.ogg', +"correct" = 'sound/vox_fem/correct.ogg', +"corridor" = 'sound/vox_fem/corridor.ogg', +"court" = 'sound/vox_fem/court.ogg', +"coward" = 'sound/vox_fem/coward.ogg', +"cowards" = 'sound/vox_fem/cowards.ogg', +"crew" = 'sound/vox_fem/crew.ogg', +"cross" = 'sound/vox_fem/cross.ogg', +"cryogenic" = 'sound/vox_fem/cryogenic.ogg', +"cunt" = 'sound/vox_fem/cunt.ogg', +"cunts" = 'sound/vox_fem/cunts.ogg', +"cyborg" = 'sound/vox_fem/cyborg.ogg', +"cyborgs" = 'sound/vox_fem/cyborgs.ogg', +"d" = 'sound/vox_fem/d.ogg', +"dadeda" = 'sound/vox_fem/dadeda.ogg', +"damage" = 'sound/vox_fem/damage.ogg', +"damaged" = 'sound/vox_fem/damaged.ogg', +"danger" = 'sound/vox_fem/danger.ogg', +"day" = 'sound/vox_fem/day.ogg', +"deactivated" = 'sound/vox_fem/deactivated.ogg', +"dead" = 'sound/vox_fem/dead.ogg', +"death" = 'sound/vox_fem/death.ogg', +"decompression" = 'sound/vox_fem/decompression.ogg', +"decontamination" = 'sound/vox_fem/decontamination.ogg', +"deeoo" = 'sound/vox_fem/deeoo.ogg', +"defense" = 'sound/vox_fem/defense.ogg', +"degrees" = 'sound/vox_fem/degrees.ogg', +"delta" = 'sound/vox_fem/delta.ogg', +"denied" = 'sound/vox_fem/denied.ogg', +"department" = 'sound/vox_fem/department.ogg', +"departments" = 'sound/vox_fem/departments.ogg', +"deploy" = 'sound/vox_fem/deploy.ogg', +"deployed" = 'sound/vox_fem/deployed.ogg', +"desk" = 'sound/vox_fem/desk.ogg', +"destroy" = 'sound/vox_fem/destroy.ogg', +"destroyed" = 'sound/vox_fem/destroyed.ogg', +"detain" = 'sound/vox_fem/detain.ogg', +"detected" = 'sound/vox_fem/detected.ogg', +"detonation" = 'sound/vox_fem/detonation.ogg', +"device" = 'sound/vox_fem/device.ogg', +"did" = 'sound/vox_fem/did.ogg', +"die" = 'sound/vox_fem/die.ogg', +"dimensional" = 'sound/vox_fem/dimensional.ogg', +"dirt" = 'sound/vox_fem/dirt.ogg', +"disengaged" = 'sound/vox_fem/disengaged.ogg', +"dish" = 'sound/vox_fem/dish.ogg', +"disposal" = 'sound/vox_fem/disposal.ogg', +"distance" = 'sound/vox_fem/distance.ogg', +"distortion" = 'sound/vox_fem/distortion.ogg', +"do" = 'sound/vox_fem/do.ogg', +"doctor" = 'sound/vox_fem/doctor.ogg', +"doctors" = 'sound/vox_fem/doctors.ogg', +"doop" = 'sound/vox_fem/doop.ogg', +"door" = 'sound/vox_fem/door.ogg', +"dorms" = 'sound/vox_fem/dorms.ogg', +"down" = 'sound/vox_fem/down.ogg', +"dual" = 'sound/vox_fem/dual.ogg', +"duct" = 'sound/vox_fem/duct.ogg', +"e" = 'sound/vox_fem/e.ogg', +"east" = 'sound/vox_fem/east.ogg', +"echo" = 'sound/vox_fem/echo.ogg', +"ed" = 'sound/vox_fem/ed.ogg', +"effect" = 'sound/vox_fem/effect.ogg', +"egress" = 'sound/vox_fem/egress.ogg', +"eight" = 'sound/vox_fem/eight.ogg', +"eighteen" = 'sound/vox_fem/eighteen.ogg', +"eighty" = 'sound/vox_fem/eighty.ogg', +"electric" = 'sound/vox_fem/electric.ogg', +"electromagnetic" = 'sound/vox_fem/electromagnetic.ogg', +"elevator" = 'sound/vox_fem/elevator.ogg', +"eleven" = 'sound/vox_fem/eleven.ogg', +"eliminate" = 'sound/vox_fem/eliminate.ogg', +"emergency" = 'sound/vox_fem/emergency.ogg', +"energy" = 'sound/vox_fem/energy.ogg', +"engage" = 'sound/vox_fem/engage.ogg', +"engaged" = 'sound/vox_fem/engaged.ogg', +"engine" = 'sound/vox_fem/engine.ogg', +"engineer" = 'sound/vox_fem/engineer.ogg', +"engineering" = 'sound/vox_fem/engineering.ogg', +"engineers" = 'sound/vox_fem/engineers.ogg', +"enter" = 'sound/vox_fem/enter.ogg', +"entry" = 'sound/vox_fem/entry.ogg', +"environment" = 'sound/vox_fem/environment.ogg', +"error" = 'sound/vox_fem/error.ogg', +"escape" = 'sound/vox_fem/escape.ogg', +"evacuate" = 'sound/vox_fem/evacuate.ogg', +"every" = 'sound/vox_fem/every.ogg', +"everywhere" = 'sound/vox_fem/everywhere.ogg', +"exchange" = 'sound/vox_fem/exchange.ogg', +"execution" = 'sound/vox_fem/execution.ogg', +"exit" = 'sound/vox_fem/exit.ogg', +"expect" = 'sound/vox_fem/expect.ogg', +"experiment" = 'sound/vox_fem/experiment.ogg', +"experimental" = 'sound/vox_fem/experimental.ogg', +"explode" = 'sound/vox_fem/explode.ogg', +"explosion" = 'sound/vox_fem/explosion.ogg', +"exposure" = 'sound/vox_fem/exposure.ogg', +"exterminate" = 'sound/vox_fem/exterminate.ogg', +"extinguish" = 'sound/vox_fem/extinguish.ogg', +"extinguisher" = 'sound/vox_fem/extinguisher.ogg', +"extreme" = 'sound/vox_fem/extreme.ogg', +"f" = 'sound/vox_fem/f.ogg', +"facility" = 'sound/vox_fem/facility.ogg', +"fahrenheit" = 'sound/vox_fem/fahrenheit.ogg', +"failed" = 'sound/vox_fem/failed.ogg', +"failure" = 'sound/vox_fem/failure.ogg', +"farthest" = 'sound/vox_fem/farthest.ogg', +"fast" = 'sound/vox_fem/fast.ogg', +"feet" = 'sound/vox_fem/feet.ogg', +"field" = 'sound/vox_fem/field.ogg', +"fifteen" = 'sound/vox_fem/fifteen.ogg', +"fifth" = 'sound/vox_fem/fifth.ogg', +"fifty" = 'sound/vox_fem/fifty.ogg', +"final" = 'sound/vox_fem/final.ogg', +"fine" = 'sound/vox_fem/fine.ogg', +"fire" = 'sound/vox_fem/fire.ogg', +"first" = 'sound/vox_fem/first.ogg', +"five" = 'sound/vox_fem/five.ogg', +"flooding" = 'sound/vox_fem/flooding.ogg', +"floor" = 'sound/vox_fem/floor.ogg', +"fool" = 'sound/vox_fem/fool.ogg', +"for" = 'sound/vox_fem/for.ogg', +"forbidden" = 'sound/vox_fem/forbidden.ogg', +"force" = 'sound/vox_fem/force.ogg', +"fore" = 'sound/vox_fem/fore.ogg', +"forms" = 'sound/vox_fem/forms.ogg', +"found" = 'sound/vox_fem/found.ogg', +"four" = 'sound/vox_fem/four.ogg', +"fourteen" = 'sound/vox_fem/fourteen.ogg', +"fourth" = 'sound/vox_fem/fourth.ogg', +"fourty" = 'sound/vox_fem/fourty.ogg', +"foxtrot" = 'sound/vox_fem/foxtrot.ogg', +"freeman" = 'sound/vox_fem/freeman.ogg', +"freezer" = 'sound/vox_fem/freezer.ogg', +"from" = 'sound/vox_fem/from.ogg', +"front" = 'sound/vox_fem/front.ogg', +"fuck" = 'sound/vox_fem/fuck.ogg', +"fucking" = 'sound/vox_fem/fucking.ogg', +"fucks" = 'sound/vox_fem/fucks.ogg', +"fuel" = 'sound/vox_fem/fuel.ogg', +"g" = 'sound/vox_fem/g.ogg', +"gas" = 'sound/vox_fem/gas.ogg', +"get" = 'sound/vox_fem/get.ogg', +"glory" = 'sound/vox_fem/glory.ogg', +"go" = 'sound/vox_fem/go.ogg', +"going" = 'sound/vox_fem/going.ogg', +"good" = 'sound/vox_fem/good.ogg', +"goodbye" = 'sound/vox_fem/goodbye.ogg', +"gordon" = 'sound/vox_fem/gordon.ogg', +"got" = 'sound/vox_fem/got.ogg', +"government" = 'sound/vox_fem/government.ogg', +"granted" = 'sound/vox_fem/granted.ogg', +"gray" = 'sound/vox_fem/gray.ogg', +"great" = 'sound/vox_fem/great.ogg', +"green" = 'sound/vox_fem/green.ogg', +"grenade" = 'sound/vox_fem/grenade.ogg', +"guard" = 'sound/vox_fem/guard.ogg', +"gulf" = 'sound/vox_fem/gulf.ogg', +"gun" = 'sound/vox_fem/gun.ogg', +"guthrie" = 'sound/vox_fem/guthrie.ogg', +"h" = 'sound/vox_fem/h.ogg', +"hacker" = 'sound/vox_fem/hacker.ogg', +"hackers" = 'sound/vox_fem/hackers.ogg', +"hacking" = 'sound/vox_fem/hacking.ogg', +"handling" = 'sound/vox_fem/handling.ogg', +"hangar" = 'sound/vox_fem/hangar.ogg', +"happening" = 'sound/vox_fem/happening.ogg', +"harm" = 'sound/vox_fem/harm.ogg', +"has" = 'sound/vox_fem/has.ogg', +"have" = 'sound/vox_fem/have.ogg', +"hazard" = 'sound/vox_fem/hazard.ogg', +"head" = 'sound/vox_fem/head.ogg', +"health" = 'sound/vox_fem/health.ogg', +"heat" = 'sound/vox_fem/heat.ogg', +"helicopter" = 'sound/vox_fem/helicopter.ogg', +"helium" = 'sound/vox_fem/helium.ogg', +"hello" = 'sound/vox_fem/hello.ogg', +"help" = 'sound/vox_fem/help.ogg', +"here" = 'sound/vox_fem/here.ogg', +"hide" = 'sound/vox_fem/hide.ogg', +"high" = 'sound/vox_fem/high.ogg', +"highest" = 'sound/vox_fem/highest.ogg', +"hit" = 'sound/vox_fem/hit.ogg', +"hole" = 'sound/vox_fem/hole.ogg', +"hop" = 'sound/vox_fem/hop.ogg', +"hos" = 'sound/vox_fem/hos.ogg', +"hostile" = 'sound/vox_fem/hostile.ogg', +"hot" = 'sound/vox_fem/hot.ogg', +"hotel" = 'sound/vox_fem/hotel.ogg', +"hour" = 'sound/vox_fem/hour.ogg', +"hours" = 'sound/vox_fem/hours.ogg', +"human" = 'sound/vox_fem/human.ogg', +"humans" = 'sound/vox_fem/humans.ogg', +"hundred" = 'sound/vox_fem/hundred.ogg', +"hunger" = 'sound/vox_fem/hunger.ogg', +"hydro" = 'sound/vox_fem/hydro.ogg', +"hydroponics" = 'sound/vox_fem/hydroponics.ogg', +"i" = 'sound/vox_fem/i.ogg', +"iaa" = 'sound/vox_fem/iaa.ogg', +"idiot" = 'sound/vox_fem/idiot.ogg', +"illegal" = 'sound/vox_fem/illegal.ogg', +"immediate" = 'sound/vox_fem/immediate.ogg', +"immediately" = 'sound/vox_fem/immediately.ogg', +"in" = 'sound/vox_fem/in.ogg', +"inches" = 'sound/vox_fem/inches.ogg', +"india" = 'sound/vox_fem/india.ogg', +"ing" = 'sound/vox_fem/ing.ogg', +"inoperative" = 'sound/vox_fem/inoperative.ogg', +"inside" = 'sound/vox_fem/inside.ogg', +"inspection" = 'sound/vox_fem/inspection.ogg', +"inspector" = 'sound/vox_fem/inspector.ogg', +"interchange" = 'sound/vox_fem/interchange.ogg', +"intruder" = 'sound/vox_fem/intruder.ogg', +"invalid" = 'sound/vox_fem/invalid.ogg', +"invasion" = 'sound/vox_fem/invasion.ogg', +"is" = 'sound/vox_fem/is.ogg', +"it" = 'sound/vox_fem/it.ogg', +"j" = 'sound/vox_fem/j.ogg', +"johnson" = 'sound/vox_fem/johnson.ogg', +"juliet" = 'sound/vox_fem/juliet.ogg', +"k" = 'sound/vox_fem/k.ogg', +"key" = 'sound/vox_fem/key.ogg', +"kill" = 'sound/vox_fem/kill.ogg', +"killed" = 'sound/vox_fem/killed.ogg', +"killing" = 'sound/vox_fem/killing.ogg', +"kilo" = 'sound/vox_fem/kilo.ogg', +"kit" = 'sound/vox_fem/kit.ogg', +"kitchen" = 'sound/vox_fem/kitchen.ogg', +"l" = 'sound/vox_fem/l.ogg', +"lab" = 'sound/vox_fem/lab.ogg', +"lambda" = 'sound/vox_fem/lambda.ogg', +"laser" = 'sound/vox_fem/laser.ogg', +"last" = 'sound/vox_fem/last.ogg', +"launch" = 'sound/vox_fem/launch.ogg', +"law" = 'sound/vox_fem/law.ogg', +"laws" = 'sound/vox_fem/laws.ogg', +"lawyer" = 'sound/vox_fem/lawyer.ogg', +"leak" = 'sound/vox_fem/leak.ogg', +"leave" = 'sound/vox_fem/leave.ogg', +"left" = 'sound/vox_fem/left.ogg', +"legal" = 'sound/vox_fem/legal.ogg', +"level" = 'sound/vox_fem/level.ogg', +"lever" = 'sound/vox_fem/lever.ogg', +"lie" = 'sound/vox_fem/lie.ogg', +"lieutenant" = 'sound/vox_fem/lieutenant.ogg', +"life" = 'sound/vox_fem/life.ogg', +"light" = 'sound/vox_fem/light.ogg', +"lima" = 'sound/vox_fem/lima.ogg', +"liquid" = 'sound/vox_fem/liquid.ogg', +"lizard" = 'sound/vox_fem/lizard.ogg', +"loading" = 'sound/vox_fem/loading.ogg', +"locate" = 'sound/vox_fem/locate.ogg', +"located" = 'sound/vox_fem/located.ogg', +"location" = 'sound/vox_fem/location.ogg', +"lock" = 'sound/vox_fem/lock.ogg', +"locked" = 'sound/vox_fem/locked.ogg', +"locker" = 'sound/vox_fem/locker.ogg', +"lockout" = 'sound/vox_fem/lockout.ogg', +"loose" = 'sound/vox_fem/loose.ogg', +"love" = 'sound/vox_fem/love.ogg', +"lower" = 'sound/vox_fem/lower.ogg', +"lowest" = 'sound/vox_fem/lowest.ogg', +"m" = 'sound/vox_fem/m.ogg', +"magnetic" = 'sound/vox_fem/magnetic.ogg', +"main" = 'sound/vox_fem/main.ogg', +"maintenance" = 'sound/vox_fem/maintenance.ogg', +"malf" = 'sound/vox_fem/malf.ogg', +"malfunction" = 'sound/vox_fem/malfunction.ogg', +"malfunctioning" = 'sound/vox_fem/malfunctioning.ogg', +"man" = 'sound/vox_fem/man.ogg', +"mass" = 'sound/vox_fem/mass.ogg', +"materials" = 'sound/vox_fem/materials.ogg', +"maximum" = 'sound/vox_fem/maximum.ogg', +"may" = 'sound/vox_fem/may.ogg', +"me" = 'sound/vox_fem/me.ogg', +"medbay" = 'sound/vox_fem/medbay.ogg', +"medical" = 'sound/vox_fem/medical.ogg', +"men" = 'sound/vox_fem/men.ogg', +"mercy" = 'sound/vox_fem/mercy.ogg', +"mesa" = 'sound/vox_fem/mesa.ogg', +"message" = 'sound/vox_fem/message.ogg', +"meter" = 'sound/vox_fem/meter.ogg', +"micro" = 'sound/vox_fem/micro.ogg', +"middle" = 'sound/vox_fem/middle.ogg', +"mike" = 'sound/vox_fem/mike.ogg', +"miles" = 'sound/vox_fem/miles.ogg', +"military" = 'sound/vox_fem/military.ogg', +"milli" = 'sound/vox_fem/milli.ogg', +"million" = 'sound/vox_fem/million.ogg', +"minefield" = 'sound/vox_fem/minefield.ogg', +"minimum" = 'sound/vox_fem/minimum.ogg', +"minus" = 'sound/vox_fem/minus.ogg', +"minutes" = 'sound/vox_fem/minutes.ogg', +"mister" = 'sound/vox_fem/mister.ogg', +"mode" = 'sound/vox_fem/mode.ogg', +"mommi" = 'sound/vox_fem/mommi.ogg', +"money" = 'sound/vox_fem/money.ogg', +"monkey" = 'sound/vox_fem/monkey.ogg', +"monkeys" = 'sound/vox_fem/monkeys.ogg', +"motor" = 'sound/vox_fem/motor.ogg', +"motorpool" = 'sound/vox_fem/motorpool.ogg', +"move" = 'sound/vox_fem/move.ogg', +"must" = 'sound/vox_fem/must.ogg', +"my" = 'sound/vox_fem/my.ogg', +"n" = 'sound/vox_fem/n.ogg', +"nanotrasen" = 'sound/vox_fem/nanotrasen.ogg', +"nearest" = 'sound/vox_fem/nearest.ogg', +"negative" = 'sound/vox_fem/negative.ogg', +"nice" = 'sound/vox_fem/nice.ogg', +"nine" = 'sound/vox_fem/nine.ogg', +"nineteen" = 'sound/vox_fem/nineteen.ogg', +"ninety" = 'sound/vox_fem/ninety.ogg', +"ninja" = 'sound/vox_fem/ninja.ogg', +"ninjas" = 'sound/vox_fem/ninjas.ogg', +"no" = 'sound/vox_fem/no.ogg', +"nominal" = 'sound/vox_fem/nominal.ogg', +"north" = 'sound/vox_fem/north.ogg', +"not" = 'sound/vox_fem/not.ogg', +"november" = 'sound/vox_fem/november.ogg', +"now" = 'sound/vox_fem/now.ogg', +"number" = 'sound/vox_fem/number.ogg', +"o" = 'sound/vox_fem/o.ogg', +"objective" = 'sound/vox_fem/objective.ogg', +"observation" = 'sound/vox_fem/observation.ogg', +"obtain" = 'sound/vox_fem/obtain.ogg', +"of" = 'sound/vox_fem/of.ogg', +"officer" = 'sound/vox_fem/officer.ogg', +"ok" = 'sound/vox_fem/ok.ogg', +"on" = 'sound/vox_fem/on.ogg', +"one" = 'sound/vox_fem/one.ogg', +"open" = 'sound/vox_fem/open.ogg', +"operating" = 'sound/vox_fem/operating.ogg', +"operations" = 'sound/vox_fem/operations.ogg', +"operative" = 'sound/vox_fem/operative.ogg', +"option" = 'sound/vox_fem/option.ogg', +"or" = 'sound/vox_fem/or.ogg', +"order" = 'sound/vox_fem/order.ogg', +"organic" = 'sound/vox_fem/organic.ogg', +"oscar" = 'sound/vox_fem/oscar.ogg', +"out" = 'sound/vox_fem/out.ogg', +"outside" = 'sound/vox_fem/outside.ogg', +"over" = 'sound/vox_fem/over.ogg', +"overload" = 'sound/vox_fem/overload.ogg', +"override" = 'sound/vox_fem/override.ogg', +"p" = 'sound/vox_fem/p.ogg', +"pacify" = 'sound/vox_fem/pacify.ogg', +"pain" = 'sound/vox_fem/pain.ogg', +"pal" = 'sound/vox_fem/pal.ogg', +"panel" = 'sound/vox_fem/panel.ogg', +"percent" = 'sound/vox_fem/percent.ogg', +"perimeter" = 'sound/vox_fem/perimeter.ogg', +"permitted" = 'sound/vox_fem/permitted.ogg', +"personnel" = 'sound/vox_fem/personnel.ogg', +"pipe" = 'sound/vox_fem/pipe.ogg', +"plant" = 'sound/vox_fem/plant.ogg', +"plasma" = 'sound/vox_fem/plasma.ogg', +"platform" = 'sound/vox_fem/platform.ogg', +"please" = 'sound/vox_fem/please.ogg', +"point" = 'sound/vox_fem/point.ogg', +"port" = 'sound/vox_fem/port.ogg', +"portal" = 'sound/vox_fem/portal.ogg', +"power" = 'sound/vox_fem/power.ogg', +"presence" = 'sound/vox_fem/presence.ogg', +"press" = 'sound/vox_fem/press.ogg', +"primary" = 'sound/vox_fem/primary.ogg', +"proceed" = 'sound/vox_fem/proceed.ogg', +"processing" = 'sound/vox_fem/processing.ogg', +"progress" = 'sound/vox_fem/progress.ogg', +"proper" = 'sound/vox_fem/proper.ogg', +"propulsion" = 'sound/vox_fem/propulsion.ogg', +"prosecute" = 'sound/vox_fem/prosecute.ogg', +"protective" = 'sound/vox_fem/protective.ogg', +"push" = 'sound/vox_fem/push.ogg', +"q" = 'sound/vox_fem/q.ogg', +"qm" = 'sound/vox_fem/qm.ogg', +"quantum" = 'sound/vox_fem/quantum.ogg', +"quarters" = 'sound/vox_fem/quarters.ogg', +"quebec" = 'sound/vox_fem/quebec.ogg', +"queen" = 'sound/vox_fem/queen.ogg', +"question" = 'sound/vox_fem/question.ogg', +"questioning" = 'sound/vox_fem/questioning.ogg', +"quick" = 'sound/vox_fem/quick.ogg', +"quit" = 'sound/vox_fem/quit.ogg', +"r" = 'sound/vox_fem/r.ogg', +"radiation" = 'sound/vox_fem/radiation.ogg', +"radioactive" = 'sound/vox_fem/radioactive.ogg', +"rads" = 'sound/vox_fem/rads.ogg', +"rage" = 'sound/vox_fem/rage.ogg', +"raider" = 'sound/vox_fem/raider.ogg', +"raiders" = 'sound/vox_fem/raiders.ogg', +"rapid" = 'sound/vox_fem/rapid.ogg', +"rd" = 'sound/vox_fem/rd.ogg', +"reach" = 'sound/vox_fem/reach.ogg', +"reached" = 'sound/vox_fem/reached.ogg', +"reactor" = 'sound/vox_fem/reactor.ogg', +"recommend" = 'sound/vox_fem/recommend.ogg', +"red" = 'sound/vox_fem/red.ogg', +"relay" = 'sound/vox_fem/relay.ogg', +"released" = 'sound/vox_fem/released.ogg', +"remaining" = 'sound/vox_fem/remaining.ogg', +"removal" = 'sound/vox_fem/removal.ogg', +"renegade" = 'sound/vox_fem/renegade.ogg', +"repair" = 'sound/vox_fem/repair.ogg', +"report" = 'sound/vox_fem/report.ogg', +"reports" = 'sound/vox_fem/reports.ogg', +"request" = 'sound/vox_fem/request.ogg', +"requested" = 'sound/vox_fem/requested.ogg', +"required" = 'sound/vox_fem/required.ogg', +"research" = 'sound/vox_fem/research.ogg', +"resevoir" = 'sound/vox_fem/resevoir.ogg', +"resistance" = 'sound/vox_fem/resistance.ogg', +"respond" = 'sound/vox_fem/respond.ogg', +"rest" = 'sound/vox_fem/rest.ogg', +"right" = 'sound/vox_fem/right.ogg', +"roboticist" = 'sound/vox_fem/roboticist.ogg', +"robotics" = 'sound/vox_fem/robotics.ogg', +"rocket" = 'sound/vox_fem/rocket.ogg', +"roger" = 'sound/vox_fem/roger.ogg', +"rogue" = 'sound/vox_fem/rogue.ogg', +"romeo" = 'sound/vox_fem/romeo.ogg', +"room" = 'sound/vox_fem/room.ogg', +"round" = 'sound/vox_fem/round.ogg', +"run" = 'sound/vox_fem/run.ogg', +"s" = 'sound/vox_fem/s.ogg', +"safe" = 'sound/vox_fem/safe.ogg', +"safety" = 'sound/vox_fem/safety.ogg', +"sarah" = 'sound/vox_fem/sarah.ogg', +"sargeant" = 'sound/vox_fem/sargeant.ogg', +"satellite" = 'sound/vox_fem/satellite.ogg', +"save" = 'sound/vox_fem/save.ogg', +"science" = 'sound/vox_fem/science.ogg', +"scream" = 'sound/vox_fem/scream.ogg', +"screen" = 'sound/vox_fem/screen.ogg', +"search" = 'sound/vox_fem/search.ogg', +"second" = 'sound/vox_fem/second.ogg', +"secondary" = 'sound/vox_fem/secondary.ogg', +"seconds" = 'sound/vox_fem/seconds.ogg', +"sector" = 'sound/vox_fem/sector.ogg', +"secure" = 'sound/vox_fem/secure.ogg', +"secured" = 'sound/vox_fem/secured.ogg', +"security" = 'sound/vox_fem/security.ogg', +"select" = 'sound/vox_fem/select.ogg', +"selected" = 'sound/vox_fem/selected.ogg', +"sensors" = 'sound/vox_fem/sensors.ogg', +"service" = 'sound/vox_fem/service.ogg', +"seven" = 'sound/vox_fem/seven.ogg', +"seventeen" = 'sound/vox_fem/seventeen.ogg', +"seventy" = 'sound/vox_fem/seventy.ogg', +"severe" = 'sound/vox_fem/severe.ogg', +"sewage" = 'sound/vox_fem/sewage.ogg', +"sewer" = 'sound/vox_fem/sewer.ogg', +"shield" = 'sound/vox_fem/shield.ogg', +"shipment" = 'sound/vox_fem/shipment.ogg', +"shirt" = 'sound/vox_fem/shirt.ogg', +"shirts" = 'sound/vox_fem/shirts.ogg', +"shit" = 'sound/vox_fem/shit.ogg', +"shitcurity" = 'sound/vox_fem/shitcurity.ogg', +"shitlord" = 'sound/vox_fem/shitlord.ogg', +"shits" = 'sound/vox_fem/shits.ogg', +"shitting" = 'sound/vox_fem/shitting.ogg', +"shock" = 'sound/vox_fem/shock.ogg', +"shoot" = 'sound/vox_fem/shoot.ogg', +"shower" = 'sound/vox_fem/shower.ogg', +"shut" = 'sound/vox_fem/shut.ogg', +"shuttle" = 'sound/vox_fem/shuttle.ogg', +"side" = 'sound/vox_fem/side.ogg', +"sierra" = 'sound/vox_fem/sierra.ogg', +"sight" = 'sound/vox_fem/sight.ogg', +"silo" = 'sound/vox_fem/silo.ogg', +"singularity" = 'sound/vox_fem/singularity.ogg', +"six" = 'sound/vox_fem/six.ogg', +"sixteen" = 'sound/vox_fem/sixteen.ogg', +"sixty" = 'sound/vox_fem/sixty.ogg', +"skipjack" = 'sound/vox_fem/skipjack.ogg', +"slime" = 'sound/vox_fem/slime.ogg', +"slow" = 'sound/vox_fem/slow.ogg', +"smoke" = 'sound/vox_fem/smoke.ogg', +"solar" = 'sound/vox_fem/solar.ogg', +"solars" = 'sound/vox_fem/solars.ogg', +"soldier" = 'sound/vox_fem/soldier.ogg', +"some" = 'sound/vox_fem/some.ogg', +"someone" = 'sound/vox_fem/someone.ogg', +"something" = 'sound/vox_fem/something.ogg', +"son" = 'sound/vox_fem/son.ogg', +"sorry" = 'sound/vox_fem/sorry.ogg', +"south" = 'sound/vox_fem/south.ogg', +"squad" = 'sound/vox_fem/squad.ogg', +"square" = 'sound/vox_fem/square.ogg', +"ss13" = 'sound/vox_fem/ss13.ogg', +"stairway" = 'sound/vox_fem/stairway.ogg', +"starboard" = 'sound/vox_fem/starboard.ogg', +"station" = 'sound/vox_fem/station.ogg', +"stations" = 'sound/vox_fem/stations.ogg', +"status" = 'sound/vox_fem/status.ogg', +"sterile" = 'sound/vox_fem/sterile.ogg', +"sterilization" = 'sound/vox_fem/sterilization.ogg', +"storage" = 'sound/vox_fem/storage.ogg', +"stuck" = 'sound/vox_fem/stuck.ogg', +"sub" = 'sound/vox_fem/sub.ogg', +"subsurface" = 'sound/vox_fem/subsurface.ogg', +"sudden" = 'sound/vox_fem/sudden.ogg', +"suffer" = 'sound/vox_fem/suffer.ogg', +"suffering" = 'sound/vox_fem/suffering.ogg', +"suit" = 'sound/vox_fem/suit.ogg', +"superconducting" = 'sound/vox_fem/superconducting.ogg', +"supercooled" = 'sound/vox_fem/supercooled.ogg', +"supply" = 'sound/vox_fem/supply.ogg', +"surface" = 'sound/vox_fem/surface.ogg', +"surrender" = 'sound/vox_fem/surrender.ogg', +"surround" = 'sound/vox_fem/surround.ogg', +"surrounded" = 'sound/vox_fem/surrounded.ogg', +"switch" = 'sound/vox_fem/switch.ogg', +"syndicate" = 'sound/vox_fem/syndicate.ogg', +"system" = 'sound/vox_fem/system.ogg', +"systems" = 'sound/vox_fem/systems.ogg', +"t" = 'sound/vox_fem/t.ogg', +"tactical" = 'sound/vox_fem/tactical.ogg', +"tajaran" = 'sound/vox_fem/tajaran.ogg', +"take" = 'sound/vox_fem/take.ogg', +"talk" = 'sound/vox_fem/talk.ogg', +"tango" = 'sound/vox_fem/tango.ogg', +"tank" = 'sound/vox_fem/tank.ogg', +"target" = 'sound/vox_fem/target.ogg', +"team" = 'sound/vox_fem/team.ogg', +"telecomms" = 'sound/vox_fem/telecomms.ogg', +"temperature" = 'sound/vox_fem/temperature.ogg', +"temporal" = 'sound/vox_fem/temporal.ogg', +"ten" = 'sound/vox_fem/ten.ogg', +"terminal" = 'sound/vox_fem/terminal.ogg', +"terminated" = 'sound/vox_fem/terminated.ogg', +"termination" = 'sound/vox_fem/termination.ogg', +"test" = 'sound/vox_fem/test.ogg', +"that" = 'sound/vox_fem/that.ogg', +"the" = 'sound/vox_fem/the.ogg', +"then" = 'sound/vox_fem/then.ogg', +"there" = 'sound/vox_fem/there.ogg', +"third" = 'sound/vox_fem/third.ogg', +"thirteen" = 'sound/vox_fem/thirteen.ogg', +"thirty" = 'sound/vox_fem/thirty.ogg', +"this" = 'sound/vox_fem/this.ogg', +"those" = 'sound/vox_fem/those.ogg', +"thousand" = 'sound/vox_fem/thousand.ogg', +"threat" = 'sound/vox_fem/threat.ogg', +"three" = 'sound/vox_fem/three.ogg', +"through" = 'sound/vox_fem/through.ogg', +"tide" = 'sound/vox_fem/tide.ogg', +"time" = 'sound/vox_fem/time.ogg', +"to" = 'sound/vox_fem/to.ogg', +"top" = 'sound/vox_fem/top.ogg', +"topside" = 'sound/vox_fem/topside.ogg', +"touch" = 'sound/vox_fem/touch.ogg', +"towards" = 'sound/vox_fem/towards.ogg', +"toxins" = 'sound/vox_fem/toxins.ogg', +"track" = 'sound/vox_fem/track.ogg', +"train" = 'sound/vox_fem/train.ogg', +"traitor" = 'sound/vox_fem/traitor.ogg', +"traitors" = 'sound/vox_fem/traitors.ogg', +"transportation" = 'sound/vox_fem/transportation.ogg', +"triggering" = 'sound/vox_fem/triggering.ogg', +"truck" = 'sound/vox_fem/truck.ogg', +"tunnel" = 'sound/vox_fem/tunnel.ogg', +"turn" = 'sound/vox_fem/turn.ogg', +"turret" = 'sound/vox_fem/turret.ogg', +"twelve" = 'sound/vox_fem/twelve.ogg', +"twenty" = 'sound/vox_fem/twenty.ogg', +"two" = 'sound/vox_fem/two.ogg', +"u" = 'sound/vox_fem/u.ogg', +"unauthorized" = 'sound/vox_fem/unauthorized.ogg', +"under" = 'sound/vox_fem/under.ogg', +"uniform" = 'sound/vox_fem/uniform.ogg', +"unlocked" = 'sound/vox_fem/unlocked.ogg', +"until" = 'sound/vox_fem/until.ogg', +"up" = 'sound/vox_fem/up.ogg', +"update" = 'sound/vox_fem/update.ogg', +"updated" = 'sound/vox_fem/updated.ogg', +"updating" = 'sound/vox_fem/updating.ogg', +"upload" = 'sound/vox_fem/upload.ogg', +"upper" = 'sound/vox_fem/upper.ogg', +"uranium" = 'sound/vox_fem/uranium.ogg', +"us" = 'sound/vox_fem/us.ogg', +"usa" = 'sound/vox_fem/usa.ogg', +"use" = 'sound/vox_fem/use.ogg', +"used" = 'sound/vox_fem/used.ogg', +"user" = 'sound/vox_fem/user.ogg', +"v" = 'sound/vox_fem/v.ogg', +"vacate" = 'sound/vox_fem/vacate.ogg', +"valid" = 'sound/vox_fem/valid.ogg', +"vampire" = 'sound/vox_fem/vampire.ogg', +"vampires" = 'sound/vox_fem/vampires.ogg', +"vapor" = 'sound/vox_fem/vapor.ogg', +"vent" = 'sound/vox_fem/vent.ogg', +"ventilation" = 'sound/vox_fem/ventilation.ogg', +"victor" = 'sound/vox_fem/victor.ogg', +"violated" = 'sound/vox_fem/violated.ogg', +"violation" = 'sound/vox_fem/violation.ogg', +"virology" = 'sound/vox_fem/virology.ogg', +"voltage" = 'sound/vox_fem/voltage.ogg', +"vox" = 'sound/vox_fem/vox.ogg', +"vox_login" = 'sound/vox_fem/vox_login.ogg', +"w" = 'sound/vox_fem/w.ogg', +"walk" = 'sound/vox_fem/walk.ogg', +"wall" = 'sound/vox_fem/wall.ogg', +"wanker" = 'sound/vox_fem/wanker.ogg', +"wankers" = 'sound/vox_fem/wankers.ogg', +"want" = 'sound/vox_fem/want.ogg', +"wanted" = 'sound/vox_fem/wanted.ogg', +"warm" = 'sound/vox_fem/warm.ogg', +"warn" = 'sound/vox_fem/warn.ogg', +"warning" = 'sound/vox_fem/warning.ogg', +"waste" = 'sound/vox_fem/waste.ogg', +"water" = 'sound/vox_fem/water.ogg', +"we" = 'sound/vox_fem/we.ogg', +"weapon" = 'sound/vox_fem/weapon.ogg', +"weed" = 'sound/vox_fem/weed.ogg', +"welcome" = 'sound/vox_fem/welcome.ogg', +"west" = 'sound/vox_fem/west.ogg', +"whiskey" = 'sound/vox_fem/whiskey.ogg', +"white" = 'sound/vox_fem/white.ogg', +"wiggle" = 'sound/vox_fem/wiggle.ogg', +"wilco" = 'sound/vox_fem/wilco.ogg', +"will" = 'sound/vox_fem/will.ogg', +"with" = 'sound/vox_fem/with.ogg', +"without" = 'sound/vox_fem/without.ogg', +"wizard" = 'sound/vox_fem/wizard.ogg', +"wizards" = 'sound/vox_fem/wizards.ogg', +"wood" = 'sound/vox_fem/wood.ogg', +"woody" = 'sound/vox_fem/woody.ogg', +"woop" = 'sound/vox_fem/woop.ogg', +"x" = 'sound/vox_fem/x.ogg', +"xeno" = 'sound/vox_fem/xeno.ogg', +"xenobiology" = 'sound/vox_fem/xenobiology.ogg', +"xenomorph" = 'sound/vox_fem/xenomorph.ogg', +"xenomorphs" = 'sound/vox_fem/xenomorphs.ogg', +"y" = 'sound/vox_fem/y.ogg', +"yankee" = 'sound/vox_fem/yankee.ogg', +"yards" = 'sound/vox_fem/yards.ogg', +"year" = 'sound/vox_fem/year.ogg', +"yellow" = 'sound/vox_fem/yellow.ogg', +"yes" = 'sound/vox_fem/yes.ogg', +"you" = 'sound/vox_fem/you.ogg', +"your" = 'sound/vox_fem/your.ogg', +"yourself" = 'sound/vox_fem/yourself.ogg', +"z" = 'sound/vox_fem/z.ogg', +"zero" = 'sound/vox_fem/zero.ogg', +"zone" = 'sound/vox_fem/zone.ogg', +"zulu" = 'sound/vox_fem/zulu.ogg', ) \ No newline at end of file diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index f80f6885ead..b74473576ea 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -497,6 +497,8 @@ var/list/ghostteleportlocs = list() name = "\improper Thunderdome" icon_state = "thunder" requires_power = 0 + lighting_use_dynamic = 0 + /area/tdome/arena_source name = "\improper Thunderdome Arena Template" diff --git a/code/game/atoms.dm b/code/game/atoms.dm index e73508e2678..67e148b32b3 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1,6 +1,3 @@ -var/global/list/del_profiling = list() -var/global/list/gdel_profiling = list() -var/global/list/ghdel_profiling = list() /atom layer = 2 var/level = 2 @@ -30,9 +27,6 @@ var/global/list/ghdel_profiling = list() //Detective Work, used for the duplicate data points kept in the scanners var/list/original_atom - // Garbage collection - var/gc_destroyed=null - var/allow_spin = 1 //Set this to 1 for a _target_ that is being thrown at; if an atom has this set to 1 then atoms thrown AT it will not spin; currently used for the singularity. -Fox /atom/Destroy() @@ -40,7 +34,7 @@ var/global/list/ghdel_profiling = list() if(reagents) - reagents.Destroy() + qdel(reagents) reagents = null // Idea by ChuckTheSheep to make the object even more unreferencable. diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 25be7e055f1..cceb4db37c3 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -16,7 +16,6 @@ var/mob/pulledby = null var/area/areaMaster - var/hard_deleted = 0 /atom/movable/New() . = ..() @@ -28,41 +27,6 @@ loc = null return QDEL_HINT_QUEUE -/proc/delete_profile(var/type, code = 0) - if(!ticker || !ticker.current_state < 3) return - switch(code) - if(0) - if (!("[type]" in del_profiling)) - del_profiling["[type]"] = 0 - - del_profiling["[type]"] += 1 - if(1) - if (!("[type]" in ghdel_profiling)) - ghdel_profiling["[type]"] = 0 - - ghdel_profiling["[type]"] += 1 - if(2) - if (!("[type]" in gdel_profiling)) - gdel_profiling["[type]"] = 0 - - gdel_profiling["[type]"] += 1 - if(garbageCollector) - garbageCollector.soft_dels++ - -/atom/movable/Del() - if (gcDestroyed) - garbageCollector.dequeue("\ref[src]") - - if (hard_deleted) - delete_profile("[type]", 1) - else - delete_profile("[type]", 2) - else // direct del calls or nulled explicitly. - delete_profile("[type]", 0) - Destroy() - - ..() - // Used in shuttle movement and AI eye stuff. // Primarily used to notify objects being moved by a shuttle/bluespace fuckup. /atom/movable/proc/setLoc(var/T, var/teleported=0) diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm index 5e84aa1cfe9..bbd22e962ab 100644 --- a/code/game/gamemodes/blob/blob.dm +++ b/code/game/gamemodes/blob/blob.dm @@ -176,7 +176,7 @@ var/list/blob_nodes = list() return if (1) - command_announcement.Announce("Nanotrasen has issued a directive 7-10 for [station_name()]. The station is to be considered quarantined.", "Biohazard Alert", new_sound = 'sound/AI/blob_confirmed.ogg') + command_announcement.Announce("Nanotrasen has issued a directive 7-10 for [station_name()]. The station is to be considered quarantined.", "Biohazard Alert", new_sound = 'sound/AI/outbreak7.ogg') return if (2) diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 71bc6e0af21..48e4dc6937a 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -494,7 +494,9 @@ var/global/datum/controller/occupations/job_master var/equipped = H.equip_to_slot_or_del(new /obj/item/clothing/glasses/regular(H), slot_glasses) if(equipped != 1) var/obj/item/clothing/glasses/G = H.glasses - G.prescription = 1 + if(istype(G) && !G.prescription) + G.prescription = 1 + G.name = "prescription [G.name]" // H.update_icons() H.hud_updateflag |= (1 << ID_HUD) diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index b4f60877a8a..13482b9b525 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -206,9 +206,9 @@ dir = 8 var/orient = "LEFT" // "RIGHT" changes the dir suffix to "-r" var/mob/living/carbon/human/occupant = null - var/possible_chems = list(list("epinephrine", "morphine", "salbutamol", "styptic_powder"), - list("epinephrine", "morphine", "salbutamol", "styptic_powder", "oculine"), - list("epinephrine", "morphine", "salbutamol", "styptic_powder", "oculine", "charcoal", "mutadone", "mannitol")) + var/possible_chems = list(list("epinephrine", "ether", "salbutamol", "styptic_powder"), + list("epinephrine", "ether", "salbutamol", "styptic_powder", "oculine"), + list("epinephrine", "ether", "salbutamol", "styptic_powder", "oculine", "charcoal", "mutadone", "mannitol")) var/amounts = list(5, 10) var/obj/item/weapon/reagent_containers/glass/beaker = null var/filtering = 0 diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index 0c4703843c7..e0c10366f77 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -410,7 +410,7 @@ dat += text("[]\tBlood Level %: [] ([] units)
", (blood_volume > 448 ?"" : ""), blood_percent, blood_volume) if(occupant.reagents) dat += text("Epinephrine units: [] units
", occupant.reagents.get_reagent_amount("Epinephrine")) - dat += text("Morphine: [] units
", occupant.reagents.get_reagent_amount("morphine")) + dat += text("Ether: [] units
", occupant.reagents.get_reagent_amount("ether")) dat += text("[]\tSilver Sulfadiazine: [] units

", (occupant.reagents.get_reagent_amount("silver_sulfadiazine") < 30 ? "" : ""), occupant.reagents.get_reagent_amount("silver_sulfadiazine")) dat += text("[]\tStyptic Powder: [] units
", (occupant.reagents.get_reagent_amount("styptic_powder") < 30 ? "" : ""), occupant.reagents.get_reagent_amount("styptic_powder")) dat += text("[]\tsalbutamol: [] units
", (occupant.reagents.get_reagent_amount("salbutamol") < 30 ? "" : ""), occupant.reagents.get_reagent_amount("salbutamol")) diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 43a6eb339f2..9ce5ccc2296 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -170,8 +170,8 @@ if(O.reagents.get_reagent_amount("water") < 50) O.reagents.add_reagent("water", 2 * coeff) if(istype(O,/obj/item/weapon/reagent_containers/spray/alien/stun)) - if(O.reagents.get_reagent_amount("morphine") < 250) - O.reagents.add_reagent("morphine", 2 * coeff) + if(O.reagents.get_reagent_amount("ether") < 250) + O.reagents.add_reagent("ether", 2 * coeff) if(R) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index bf58a6f6129..01fb3ddd701 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -886,7 +886,7 @@ icon_deny = "med-deny" product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?;Ping!" req_access_txt = "5" - products = list(/obj/item/weapon/reagent_containers/glass/bottle/charcoal = 4,/obj/item/weapon/reagent_containers/glass/bottle/morphine = 4,/obj/item/weapon/reagent_containers/glass/bottle/epinephrine = 4, + products = list(/obj/item/weapon/reagent_containers/glass/bottle/charcoal = 4,/obj/item/weapon/reagent_containers/glass/bottle/morphine = 4,/obj/item/weapon/reagent_containers/glass/bottle/ether = 4,/obj/item/weapon/reagent_containers/glass/bottle/epinephrine = 4, /obj/item/weapon/reagent_containers/glass/bottle/toxin = 4,/obj/item/weapon/reagent_containers/syringe/antiviral = 4,/obj/item/weapon/reagent_containers/syringe/insulin = 4, /obj/item/weapon/reagent_containers/syringe = 12,/obj/item/device/healthanalyzer = 5,/obj/item/device/healthupgrade = 5,/obj/item/weapon/reagent_containers/glass/beaker = 4, /obj/item/weapon/reagent_containers/dropper = 2,/obj/item/stack/medical/advanced/bruise_pack = 3, /obj/item/stack/medical/advanced/ointment = 3, diff --git a/code/datums/pizza_bomb.dm b/code/game/objects/items/devices/pizza_bomb.dm similarity index 100% rename from code/datums/pizza_bomb.dm rename to code/game/objects/items/devices/pizza_bomb.dm diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm index 29ad0f0002c..639b6770f9b 100644 --- a/code/game/objects/items/weapons/swords_axes_etc.dm +++ b/code/game/objects/items/weapons/swords_axes_etc.dm @@ -188,11 +188,11 @@ /obj/item/weapon/melee/energy/sword/green New() - _color = "green" + blade_color = "green" /obj/item/weapon/melee/energy/sword/red New() - _color = "red" + blade_color = "red" /obj/item/weapon/melee/energy/blade/New() spark_system = new /datum/effect/effect/system/spark_spread() diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index bce7bb25ea7..b996695dc81 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -368,14 +368,14 @@ obj/item/weapon/twohanded/ icon_override = 'icons/mob/in-hand/swords.dmi' icon_state = "chainsaw0" name = "Chainsaw" - desc = "Perfect for felling trees or fellow spaceman." + desc = "Perfect for felling trees or fellow spacemen." force = 15 throwforce = 15 throw_speed = 1 throw_range = 5 w_class = 4.0 // can't fit in backpacks force_unwielded = 15 //still pretty robust - force_wielded = 50 //you'll gouge their eye out! Or a limb...maybe even their entire body! + force_wielded = 40 //you'll gouge their eye out! Or a limb...maybe even their entire body! wieldsound = 'sound/weapons/chainsawstart.ogg' hitsound = null flags = NOSHIELD @@ -409,11 +409,14 @@ obj/item/weapon/twohanded/ playsound(loc, "swing_hit", 50, 1, -1) return ..() -/obj/item/weapon/twohanded/chainsaw/IsShield() //Disarming someone with a chainsaw should be difficult. - if(wielded) - return 1 - else - return 0 +/obj/item/weapon/twohanded/chainsaw/wield() //you can't disarm an active chainsaw, you crazy person. + ..() + flags |= NODROP + +/obj/item/weapon/twohanded/chainsaw/unwield() + ..() + flags &= ~NODROP + // SINGULOHAMMER diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 5c09ac57c0d..0882cff2921 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -249,7 +249,7 @@ a { /obj/singularity_act() ex_act(1.0) - if(src && isnull(gc_destroyed)) + if(src && isnull(gcDestroyed)) qdel(src) return 2 diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index a3bcb510604..a2bc3cc0f80 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -140,7 +140,7 @@ sleep(2) new /obj/item/clothing/suit/straight_jacket(src) new /obj/item/weapon/reagent_containers/syringe(src) - new /obj/item/weapon/reagent_containers/glass/bottle/morphine(src) + new /obj/item/weapon/reagent_containers/glass/bottle/ether(src) new /obj/item/weapon/storage/pill_bottle/psychiatrist(src) return diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 92d1bf5a331..ed7b5377bc7 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -142,8 +142,10 @@ var/list/admin_verbs_debug = list( /client/proc/callproc, /client/proc/callproc_datum, /client/proc/toggledebuglogs, - /client/proc/qdel_toggle, // /vg/ + /client/proc/qdel_toggle, /client/proc/gc_dump_hdl, + /client/proc/gc_toggle_profiling, + /client/proc/gc_show_del_report, /client/proc/debugNatureMapGenerator, /client/proc/check_bomb_impacts, /client/proc/test_movable_UI, diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index bf381efbd9e..c3f0bdb0b01 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -101,7 +101,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(!lst) return - if(!A || A.gc_destroyed) + if(!A || !isnull(A.gcDestroyed)) usr << "Error: callproc_datum(): owner of proc no longer exists." return if(!hascall(A,procname)) diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 8ddeaf1f513..209ce95acbe 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -8,9 +8,42 @@ //var/darkness_view = 0//Base human is 2 //var/invisa_view = 0 var/prescription = 0 + var/prescription_upgradable = 0 var/see_darkness = 1 var/HUDType = 0 +/obj/item/clothing/glasses/New() + . = ..() + if(prescription_upgradable && prescription) + // Pre-upgraded upgradable glasses + name = "prescription [name]" + +/obj/item/clothing/glasses/attackby(var/obj/item/O as obj, var/mob/user as mob) + if (user.stat || user.restrained() || !ishuman(user)) + return ..() + var/mob/living/carbon/human/H = user + if(prescription_upgradable) + if(istype(O, /obj/item/clothing/glasses/regular)) + if(prescription) + H << "You can't possibly imagine how adding more lenses would improve \the [name]." + return + H.unEquip(O) + O.loc = src // Store the glasses for later removal + H << "You fit \the [name] with lenses from \the [O]." + prescription = 1 + name = "prescription [name]" + return + if(prescription && istype(O, /obj/item/weapon/screwdriver)) + var/obj/item/clothing/glasses/regular/G = locate() in src + if(!G) + G = new(get_turf(H)) + H << "You salvage the prescription lenses from \the [name]." + prescription = 0 + name = initial(name) + H.put_in_hands(G) + return + return ..() + /obj/item/clothing/glasses/meson name = "Optical Meson Scanner" desc = "Used for seeing walls, floors, and stuff through anything." @@ -18,26 +51,12 @@ item_state = "glasses" origin_tech = "magnets=2;engineering=2" vision_flags = SEE_TURFS + prescription_upgradable = 1 species_fit = list("Vox") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/eyes.dmi' ) -/obj/item/clothing/glasses/meson/attackby(var/obj/item/O as obj, var/mob/user as mob) - if (user.stat || user.restrained() || !ishuman(user)) - return - var/mob/living/carbon/human/H = user - if(istype(O, /obj/item/clothing/glasses/regular)) - H.unEquip(src) - H.unEquip(O) - var/obj/item/clothing/glasses/meson/prescription/P = new /obj/item/clothing/glasses/meson/prescription(get_turf(H)) - H << "You fit \the [src.name] with lenses from \the [O.name]." - H.put_in_hands(P) - qdel(O) - qdel(src) - return - ..() - /obj/item/clothing/glasses/meson/night name = "Night Vision Optical Meson Scanner" desc = "An Optical Meson Scanner fitted with an amplified visible light spectrum overlay, providing greater visual clarity in darkness." @@ -45,39 +64,10 @@ item_state = "glasses" darkness_view = 8 see_darkness = 0 - -/obj/item/clothing/glasses/meson/night/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/clothing/glasses/regular)) - user << "\The [src.name] is too complex for you to fit with prescription lenses." - return - ..() + prescription_upgradable = 0 /obj/item/clothing/glasses/meson/prescription - name = "prescription mesons" - desc = "Optical Meson Scanner with prescription lenses." prescription = 1 - species_fit = list("Vox") - sprite_sheets = list( - "Vox" = 'icons/mob/species/vox/eyes.dmi' - ) - -/obj/item/clothing/glasses/meson/prescription/attackby(var/obj/item/O as obj, var/mob/user as mob) - if (user.stat || user.restrained() || !ishuman(user)) - return - var/mob/living/carbon/human/H = user - if(istype(O, /obj/item/clothing/glasses/regular)) - H <<"You can't possibly imagine how adding more lenses would improve \the [src.name]." - return - if(istype(O, /obj/item/weapon/screwdriver)) - H.unEquip(src) - var/obj/item/clothing/glasses/meson/M = new /obj/item/clothing/glasses/meson(get_turf(H)) - var/obj/item/clothing/glasses/regular/R = new /obj/item/clothing/glasses/regular(get_turf(H)) - H << "You salvage the prescription lenses from \the [src.name]." - H.put_in_hands(M) - H.put_in_hands(R) - qdel(src) - return - ..() /obj/item/clothing/glasses/meson/cyber name = "Eye Replacement Implant" @@ -85,6 +75,7 @@ icon_state = "cybereye-green" item_state = "eyepatch" flags = NODROP + prescription_upgradable = 0 /obj/item/clothing/glasses/science name = "Science Goggles" @@ -147,14 +138,14 @@ flags = NODROP /obj/item/clothing/glasses/regular - name = "Prescription Glasses" + name = "prescription glasses" desc = "Made by Nerd. Co." icon_state = "glasses" item_state = "glasses" prescription = 1 /obj/item/clothing/glasses/regular/hipster - name = "Prescription Glasses" + name = "prescription glasses" desc = "Made by Uncool. Co." icon_state = "hipster_glasses" item_state = "hipster_glasses" @@ -179,26 +170,12 @@ darkness_view = 1 flash_protect = 1 tint = 1 + prescription_upgradable = 1 species_fit = list("Vox") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/eyes.dmi' ) -/obj/item/clothing/glasses/sunglasses/attackby(var/obj/item/O as obj, var/mob/user as mob) - if (user.stat || user.restrained() || !ishuman(user)) - return - var/mob/living/carbon/human/H = user - if(istype(O, /obj/item/clothing/glasses/regular)) - H.unEquip(src) - H.unEquip(O) - var/obj/item/clothing/glasses/sunglasses/prescription/P = new /obj/item/clothing/glasses/sunglasses/prescription(get_turf(H)) - H << "You fit \the [src.name] with lenses from \the [O.name]." - H.put_in_hands(P) - qdel(O) - qdel(src) - return - ..() - /obj/item/clothing/glasses/virussunglasses desc = "Strangely ancient technology used to help provide rudimentary eye cover. Enhanced shielding blocks many flashes." name = "sunglasses" @@ -282,42 +259,14 @@ //vision_flags = BLIND flash_protect = 2 tint = 3 //to make them blind + prescription_upgradable = 0 species_fit = list("Vox") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/eyes.dmi' ) -/obj/item/clothing/glasses/sunglasses/blindfold/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/clothing/glasses/regular)) - user << "You doubt you can make a blindfold actually IMPROVE vision." - return - ..() - /obj/item/clothing/glasses/sunglasses/prescription - name = "prescription sunglasses" prescription = 1 - species_fit = list("Vox") - sprite_sheets = list( - "Vox" = 'icons/mob/species/vox/eyes.dmi' - ) - -/obj/item/clothing/glasses/sunglasses/prescription/attackby(var/obj/item/O as obj, var/mob/user as mob) - if (user.stat || user.restrained() || !ishuman(user)) - return - var/mob/living/carbon/human/H = user - if(istype(O, /obj/item/clothing/glasses/regular)) - H <<"You can't possibly imagine how adding more lenses would improve \the [src.name]." - return - if(istype(O, /obj/item/weapon/screwdriver)) - H.unEquip(src) - var/obj/item/clothing/glasses/sunglasses/S = new /obj/item/clothing/glasses/sunglasses(get_turf(H)) - var/obj/item/clothing/glasses/regular/R = new /obj/item/clothing/glasses/regular(get_turf(H)) - H << "You salvage the prescription lenses from \the [src.name]." - H.put_in_hands(S) - H.put_in_hands(R) - qdel(src) - return - ..() /obj/item/clothing/glasses/sunglasses/big desc = "Strangely ancient technology used to help provide rudimentary eye cover. Larger than average enhanced shielding blocks many flashes." @@ -338,51 +287,14 @@ flash_protect = 1 tint = 1 HUDType = SECHUD + prescription_upgradable = 1 species_fit = list("Vox") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/eyes.dmi' ) -/obj/item/clothing/glasses/sunglasses/sechud/attackby(var/obj/item/O as obj, var/mob/user as mob) - if (user.stat || user.restrained() || !ishuman(user)) - return - var/mob/living/carbon/human/H = user - if(istype(O, /obj/item/clothing/glasses/regular)) - H.unEquip(src) - H.unEquip(O) - var/obj/item/clothing/glasses/sunglasses/sechud/prescription/P = new /obj/item/clothing/glasses/sunglasses/sechud/prescription(get_turf(H)) - H << "You fit \the [src.name] with lenses from \the [O.name]." - H.put_in_hands(P) - qdel(O) - qdel(src) - return - ..() - /obj/item/clothing/glasses/sunglasses/sechud/prescription - name = "prescription HUDSunglasses" prescription = 1 - species_fit = list("Vox") - sprite_sheets = list( - "Vox" = 'icons/mob/species/vox/eyes.dmi' - ) - -/obj/item/clothing/glasses/sunglasses/sechud/prescription/attackby(var/obj/item/O as obj, var/mob/user as mob) - if (user.stat || user.restrained() || !ishuman(user)) - return - var/mob/living/carbon/human/H = user - if(istype(O, /obj/item/clothing/glasses/regular)) - H <<"You can't possibly imagine how adding more lenses would improve \the [src.name]." - return - if(istype(O, /obj/item/weapon/screwdriver)) - H.unEquip(src) - var/obj/item/clothing/glasses/sunglasses/sechud/S = new /obj/item/clothing/glasses/sunglasses/sechud(get_turf(H)) - var/obj/item/clothing/glasses/regular/R = new /obj/item/clothing/glasses/regular(get_turf(H)) - H << "You salvage the prescription lenses from \the [src.name]." - H.put_in_hands(S) - H.put_in_hands(R) - qdel(src) - return - ..() /obj/item/clothing/glasses/thermal name = "Optical Thermal Scanner" diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 541eb9321f3..28672d724d5 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -4,6 +4,7 @@ flags = null //doesn't protect eyes because it's a monocle, duh origin_tech = "magnets=3;biotech=2" HUDType = SECHUD + prescription_upgradable = 1 var/list/icon/current = list() //the current hud icons @@ -27,6 +28,7 @@ item_state = "glasses" darkness_view = 8 see_darkness = 0 + prescription_upgradable = 0 /obj/item/clothing/glasses/hud/security @@ -50,3 +52,4 @@ icon_state = "securityhudnight" darkness_view = 8 see_darkness = 0 + prescription_upgradable = 0 diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm index 305d2933ef6..997be868760 100644 --- a/code/modules/clothing/spacesuits/rig.dm +++ b/code/modules/clothing/spacesuits/rig.dm @@ -346,7 +346,7 @@ return on = !on if(on) - user << "You switch your helmet to travel mode." + user << "You switch your helmet to travel mode. It will allow you to stand in zero pressure environments, at the cost of speed and armor." name = "blood-red hardsuit helmet" desc = "A dual-mode advanced helmet designed for work in special operations. It is in travel mode. Property of Gorlex Marauders." flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL @@ -354,7 +354,7 @@ cold_protection = HEAD set_light(brightness_on) else - user << "You switch your helmet to combat mode." + user << "You switch your helmet to combat mode. You will take damage in zero pressure environments, but you are more suited for a fight." name = "blood-red hardsuit helmet (combat)" desc = "A dual-mode advanced helmet designed for work in special operations. It is in combat mode. Property of Gorlex Marauders." flags = BLOCKHAIR @@ -387,7 +387,7 @@ /obj/item/clothing/suit/space/rig/syndi/attack_self(mob/user) on = !on if(on) - user << "You switch your hardsuit to travel mode." + user << "You switch your hardsuit to travel mode. It will allow you to stand in zero pressure environments, at the cost of speed and armor." name = "blood-red hardsuit helmet" desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in travel mode. Property of Gorlex Marauders." slowdown = 1 @@ -395,7 +395,7 @@ flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS else - user << "You switch your hardsuit to combat mode." + user << "You switch your hardsuit to combat mode. You will take damage in zero pressure environments, but you are more suited for a fight." name = "blood-red hardsuit helmet (combat)" desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in combat mode. Property of Gorlex Marauders." slowdown = 0 diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index e2bae061cbe..fa908263eac 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -107,6 +107,13 @@ icon = 'icons/obj/custom_items.dmi' icon_state = "norah_briggs_1" +/obj/item/clothing/head/bearpelt/fluff/polar //Gibson1027: Sploosh + name = "polar bear pelt hat" + desc = "Fuzzy, and also stained with blood." + icon = 'icons/obj/custom_items.dmi' + icon_state = "polarbearpelt" + item_state = "polarbearpelt" + //////////// Suits //////////// /obj/item/clothing/suit/storage/labcoat/fluff/aeneas_rinil //Robotics Labcoat - Aeneas Rinil [APPR] diff --git a/code/modules/events/blob.dm b/code/modules/events/blob.dm index abc3fa87d48..2cf7b397875 100644 --- a/code/modules/events/blob.dm +++ b/code/modules/events/blob.dm @@ -7,8 +7,8 @@ /datum/event/blob/announce() - command_announcement.Announce("Confirmed outbreak of level 7 biohazard aboard [station_name()]. Nanotrasen has issued a directive 7-10. The station is to be considered quarantined.", "Biohazard Alert", new_sound = 'sound/AI/blob_confirmed.ogg') - + command_announcement.Announce("Confirmed outbreak of level 7 biohazard aboard [station_name()]. Nanotrasen has issued a directive 7-10. The station is to be considered quarantined.", "Biohazard Alert", new_sound = 'sound/AI/outbreak7.ogg') + for (var/mob/living/silicon/ai/aiPlayer in player_list) if (aiPlayer.client) var/law = "The station is under quarantine, prevent biological entities from leaving the station at all costs while minimizing collateral damage." @@ -34,16 +34,16 @@ if(!Blob && !blob_cores.len) kill() return - + /datum/event/blob/proc/announce_nuke() var/nukecode = "ERROR" for(var/obj/machinery/nuclearbomb/bomb in world) if(bomb && bomb.r_code && (bomb.z in config.station_levels)) nukecode = bomb.r_code - + command_announcement.Announce("The biohazard has grown out of control and will soon reach critical mass. Activate the nuclear failsafe to maintain quarantine. The Nuclear Authentication Code is [nukecode] ", "Biohazard Alert") set_security_level("gamma") - + var/obj/machinery/door/airlock/vault/V = locate(/obj/machinery/door/airlock/vault) in world if(V && (V.z in config.station_levels)) V.locked = 0 @@ -55,16 +55,16 @@ aiPlayer.set_zeroth_law(law) aiPlayer << "\red You have detected a change in your laws information:" aiPlayer << "Laws Updated: [law]" - - spawn(10) + + spawn(10) world << sound('sound/effects/siren.ogg') - + /datum/event/blob/kill() spawn(10) if(Blob || blob_cores.len) return command_announcement.Announce("The level 7 biohazard aboard [station_name()] has been eliminated. Directive 7-10 has been lifted, and the station is no longer quarantined.", "Biohazard Update") - + for (var/mob/living/silicon/ai/aiPlayer in player_list) if (aiPlayer.client) aiPlayer.clear_zeroth_law() diff --git a/code/modules/events/tgevents/brand_intelligence.dm b/code/modules/events/tgevents/brand_intelligence.dm index 661adb95f0c..30f359417ec 100644 --- a/code/modules/events/tgevents/brand_intelligence.dm +++ b/code/modules/events/tgevents/brand_intelligence.dm @@ -33,7 +33,7 @@ /datum/event/brand_intelligence/tick() - if(!originMachine || originMachine.gc_destroyed || originMachine.shut_up || originMachine.wires.IsAllCut()) //if the original vending machine is missing or has it's voice switch flipped + if(!originMachine || !isnull(originMachine.gcDestroyed) || originMachine.shut_up || originMachine.wires.IsAllCut()) //if the original vending machine is missing or has it's voice switch flipped for(var/obj/machinery/vending/saved in infectedMachines) saved.shoot_inventory = 0 if(originMachine) @@ -44,7 +44,7 @@ if(!vendingMachines.len) //if every machine is infected for(var/obj/machinery/vending/upriser in infectedMachines) - if(prob(70) && !upriser.gc_destroyed) + if(prob(70) && isnull(upriser.gcDestroyed)) var/mob/living/simple_animal/hostile/mimic/copy/M = new(upriser.loc, upriser, null, 1) // it will delete upriser on creation and override any machine checks M.faction = list("profit") M.speak = rampant_speeches.Copy() diff --git a/code/modules/events/tgevents/vent_clog.dm b/code/modules/events/tgevents/vent_clog.dm index 808e4a7e052..4fac3d0f9fa 100755 --- a/code/modules/events/tgevents/vent_clog.dm +++ b/code/modules/events/tgevents/vent_clog.dm @@ -22,7 +22,7 @@ var/list/gunk = list("water","carbon","flour","radium","toxin","cleaner","nutriment","condensedcapsaicin","psilocybin","lube", "atrazine","banana","charcoal","space_drugs","methamphetamine","holywater","ethanol","hot_coco","facid", - "blood","morphine","fluorine","mutadone","mutagen","hydrocodone","fuel", + "blood","morphine","ether","fluorine","mutadone","mutagen","hydrocodone","fuel", "haloperidol","lsd","nanites","lipolicide","frostoil","salglu_solution","beepskysmash", "omnizine", "amanitin", "adminordrazine", "neurotoxin", "synaptizine") var/datum/reagents/R = new/datum/reagents(50) diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 226658e7830..24a1cb6cc16 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -11,7 +11,7 @@ Gunshots/explosions/opening doors/less rare audio (done) */ -mob/living/carbon/ +/mob/living/carbon/ var/image/halimage var/image/halbody var/obj/halitem @@ -19,187 +19,354 @@ mob/living/carbon/ var/handling_hal = 0 var/hal_crit = 0 -mob/living/carbon/proc/handle_hallucinations() +/mob/living/carbon/proc/handle_hallucinations() if(handling_hal) return + + //Least obvious + var/list/minor = list("sounds"=20,"bolts_minor"=10,"whispers"=15,"message"=5) + //Something's wrong here + var/list/medium = list("hudscrew"=15,"items"=15,"dangerflash"=15,"bolts"=10,"flood"=10,"husks"=10,"battle"=10) + //AAAAH + var/list/major = list("fake"=10,"death"=5,"xeno"=10,"singulo"=10,"delusion"=10) + + var/grade = 0 + var/current = list() + var/trip_length = 0 + handling_hal = 1 while(hallucination > 20) sleep(rand(200,500)/(hallucination/25)) - var/halpick = rand(1,100) - switch(halpick) - if(0 to 15) - //Screwy HUD - //src << "Screwy HUD" - hal_screwyhud = pick(1,2,3,3,4,4) - spawn(rand(100,250)) - hal_screwyhud = 0 - if(16 to 25) - //Strange items - //src << "Traitor Items" - if(!halitem) - halitem = new - var/list/slots_free = list(ui_lhand,ui_rhand) - if(l_hand) slots_free -= ui_lhand - if(r_hand) slots_free -= ui_rhand - if(istype(src,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = src - if(!H.belt) slots_free += ui_belt - if(!H.l_store) slots_free += ui_storage1 - if(!H.r_store) slots_free += ui_storage2 - if(slots_free.len) - halitem.screen_loc = pick(slots_free) - halitem.layer = 50 - switch(rand(1,6)) - if(1) //revolver - halitem.icon = 'icons/obj/gun.dmi' - halitem.icon_state = "revolver" - halitem.name = "Revolver" - if(2) //c4 - halitem.icon = 'icons/obj/assemblies.dmi' - halitem.icon_state = "plastic-explosive0" - halitem.name = "Mysterious Package" - if(prob(25)) - halitem.icon_state = "c4small_1" - if(3) //sword - halitem.icon = 'icons/obj/weapons.dmi' - halitem.icon_state = "sword1" - halitem.name = "Sword" - if(4) //stun baton - halitem.icon = 'icons/obj/weapons.dmi' - halitem.icon_state = "stunbaton" - halitem.name = "Stun Baton" - if(5) //emag - halitem.icon = 'icons/obj/card.dmi' - halitem.icon_state = "emag" - halitem.name = "Cryptographic Sequencer" - if(6) //flashbang - halitem.icon = 'icons/obj/grenade.dmi' - halitem.icon_state = "flashbang1" - halitem.name = "Flashbang" - if(client) client.screen += halitem - spawn(rand(100,250)) - qdel(halitem) - if(26 to 40) - //Flashes of danger - //src << "Danger Flash" - if(!halimage) - var/list/possible_points = list() - for(var/turf/simulated/floor/F in view(src,world.view)) - possible_points += F - if(possible_points.len) - var/turf/simulated/floor/target = pick(possible_points) + trip_length += 1 + if(prob(min(20,trip_length*2))) + grade = min(3,grade+1) + if(prob(20)) + continue + current = list() + for(var/a in minor) + current[a] = minor[a] * (grade==0?2:1) + for(var/b in medium) + current[b] = medium[b] * (grade==1?2:1) + for(var/c in major) + current[c] = major[c] * (grade==2?2:1) - switch(rand(1,3)) - if(1) - //src << "Space" - halimage = image('icons/turf/space.dmi',target,"[rand(1,25)]",TURF_LAYER) - if(2) - //src << "Fire" - halimage = image('icons/effects/fire.dmi',target,"1",TURF_LAYER) - if(3) - //src << "C4" - halimage = image('icons/obj/assemblies.dmi',target,"plastic-explosive2",OBJ_LAYER+0.01) + var/halpick = pickweight(current) - - if(client) client.images += halimage - spawn(rand(10,50)) //Only seen for a brief moment. - if(client) client.images -= halimage - halimage = null - - - if(41 to 65) - //Strange audio - //src << "Strange Audio" - switch(rand(1,14)) - if(1) src << 'sound/machines/airlock.ogg' - if(2) - if(prob(50))src << 'sound/effects/Explosion1.ogg' - else src << 'sound/effects/Explosion2.ogg' - if(3) src << 'sound/effects/explosionfar.ogg' - if(4) src << 'sound/effects/Glassbr1.ogg' - if(5) src << 'sound/effects/Glassbr2.ogg' - if(6) src << 'sound/effects/Glassbr3.ogg' - if(7) src << 'sound/machines/twobeep.ogg' - if(8) src << 'sound/machines/windowdoor.ogg' - if(9) - //To make it more realistic, I added two gunshots (enough to kill) - src << 'sound/weapons/Gunshot.ogg' - spawn(rand(10,30)) - src << 'sound/weapons/Gunshot.ogg' - if(10) src << 'sound/weapons/smash.ogg' - if(11) - //Same as above, but with tasers. - src << 'sound/weapons/Taser.ogg' - spawn(rand(10,30)) - src << 'sound/weapons/Taser.ogg' - //Rare audio - if(12) -//These sounds are (mostly) taken from Hidden: Source - var/list/creepyasssounds = list('sound/effects/ghost.ogg', 'sound/effects/ghost2.ogg', 'sound/effects/Heart Beat.ogg', 'sound/effects/screech.ogg',\ - 'sound/hallucinations/behind_you1.ogg', 'sound/hallucinations/behind_you2.ogg', 'sound/hallucinations/far_noise.ogg', 'sound/hallucinations/growl1.ogg', 'sound/hallucinations/growl2.ogg',\ - 'sound/hallucinations/growl3.ogg', 'sound/hallucinations/im_here1.ogg', 'sound/hallucinations/im_here2.ogg', 'sound/hallucinations/i_see_you1.ogg', 'sound/hallucinations/i_see_you2.ogg',\ - 'sound/hallucinations/look_up1.ogg', 'sound/hallucinations/look_up2.ogg', 'sound/hallucinations/over_here1.ogg', 'sound/hallucinations/over_here2.ogg', 'sound/hallucinations/over_here3.ogg',\ - 'sound/hallucinations/turn_around1.ogg', 'sound/hallucinations/turn_around2.ogg', 'sound/hallucinations/veryfar_noise.ogg', 'sound/hallucinations/wail.ogg') - src << pick(creepyasssounds) - if(13) - src << "You feel a tiny prick!" - if(14) - src << "

Priority Announcement

" - src << "

The Emergency Shuttle has docked with the station. You have 3 minutes to board the Emergency Shuttle.

" - src << sound('sound/AI/shuttledock.ogg') - if(66 to 70) - //Flashes of danger - if(!halbody) - var/list/possible_points = list() - for(var/turf/simulated/floor/F in view(src,world.view)) - possible_points += F - if(possible_points.len) - var/turf/simulated/floor/target = pick(possible_points) - switch(rand(1,4)) - if(1) - halbody = image('icons/mob/human.dmi',target,"husk_l",TURF_LAYER) - if(2,3) - halbody = image('icons/mob/human.dmi',target,"husk_s",TURF_LAYER) - if(4) - halbody = image('icons/mob/alien.dmi',target,"alienother",TURF_LAYER) - - if(client) client.images += halbody - spawn(rand(50,80)) //Only seen for a brief moment. - if(client) client.images -= halbody - halbody = null - if(71 to 72) - //Fake death - src.sleeping = 20 - hal_crit = 1 - hal_screwyhud = 1 - spawn(rand(50,100)) - src.sleeping = 0 - hal_crit = 0 - hal_screwyhud = 0 - if(73 to 75) - fake_attack() + hallucinate(halpick) handling_hal = 0 +/obj/effect/hallucination + invisibility = INVISIBILITY_OBSERVER + var/mob/living/carbon/target = null -/mob/living/carbon/proc/fake_attack() -// var/list/possible_clones = new/list() +/obj/effect/hallucination/simple + var/image_icon = 'icons/mob/alien.dmi' + var/image_state = "alienh_pounce" + var/px = 0 + var/py = 0 + var/col_mod = null + var/image/current_image = null + var/image_layer = MOB_LAYER + var/active = 1 //qdelery + +/obj/effect/hallucination/simple/New(loc,var/mob/living/carbon/T) + target = T + current_image = GetImage() + if(target.client) target.client.images |= current_image + return + +/obj/effect/hallucination/simple/proc/GetImage() + var/image/I = image(image_icon,loc,image_state,image_layer,dir=src.dir) + I.pixel_x = px + I.pixel_y = py + if(col_mod) + I.color = col_mod + return I + +/obj/effect/hallucination/simple/proc/Show(var/update=1) + if(active) + if(target.client) target.client.images.Remove(current_image) + if(update) + current_image = GetImage() + if(target.client) target.client.images |= current_image + +/obj/effect/hallucination/simple/update_icon(var/new_state,var/new_icon,var/new_px=0,var/new_py=0) + image_state = new_state + if(new_icon) + image_icon = new_icon + else + image_icon = initial(image_icon) + px = new_px + py = new_py + Show() + +/obj/effect/hallucination/simple/Move() + ..() + Show() + +/obj/effect/hallucination/simple/Destroy() + if(target.client) target.client.images.Remove(current_image) + active = 0 + +#define FAKE_FLOOD_EXPAND_TIME 30 +#define FAKE_FLOOD_MAX_RADIUS 7 + +/obj/effect/hallucination/fake_flood + //Plasma/N2O starts flooding from the nearby vent + var/list/flood_images = list() + var/list/turf/flood_turfs = list() + var/image_icon = 'icons/effects/tile_effects.dmi' + var/image_state = "plasma" + var/radius = 0 + var/next_expand = 0 + +/obj/effect/hallucination/fake_flood/New(loc,var/mob/living/carbon/T) + ..() + target = T + for(var/obj/machinery/atmospherics/unary/vent_pump/U in orange(7,target)) + if(!U.welded) + src.loc = U.loc + break + image_state = pick("plasma","sleeping_agent") + flood_images += image(image_icon,src,image_state,MOB_LAYER) + flood_turfs += get_turf(src.loc) + if(target.client) target.client.images |= flood_images + next_expand = world.time + FAKE_FLOOD_EXPAND_TIME + processing_objects += src + +/obj/effect/hallucination/fake_flood/process() + if(next_expand <= world.time) + radius++ + if(radius > FAKE_FLOOD_MAX_RADIUS) + qdel(src) + Expand() + next_expand = world.time + FAKE_FLOOD_EXPAND_TIME + return + +/obj/effect/hallucination/fake_flood/proc/Expand() + if(!flood_turfs) //for qdel + return + for(var/turf/T in circlerangeturfs(loc,radius)) + if((T in flood_turfs)|| T.blocks_air) + continue + flood_images += image(image_icon,T,image_state,MOB_LAYER) + flood_turfs += T + if(target.client) target.client.images |= flood_images + return + +/obj/effect/hallucination/fake_flood/Destroy() + processing_objects -= src + del(flood_turfs) + if(target.client) target.client.images.Remove(flood_images) + target = null + del(flood_images) + return + +/obj/effect/hallucination/simple/xeno + image_icon = 'icons/mob/alien.dmi' + image_state = "alienh_pounce" + +/obj/effect/hallucination/simple/xeno/New(loc,var/mob/living/carbon/T) + ..() + name = "alien hunter ([rand(1, 1000)])" + return + +/obj/effect/hallucination/simple/xeno/throw_at(atom/target, range, speed) // TODO : Make diagonal trhow into proc/property + if(!target || !src || (flags & NODROP)) return 0 + + src.throwing = 1 + + var/dist_x = abs(target.x - src.x) + var/dist_y = abs(target.y - src.y) + var/dist_travelled = 0 + var/dist_since_sleep = 0 + + var/tdist_x = dist_x; + var/tdist_y = dist_y; + + if(dist_x <= dist_y) + tdist_x = dist_y; + tdist_y = dist_x; + + var/error = tdist_x/2 - tdist_y + while(target && (((((dist_x > dist_y) && ((src.x < target.x) || (src.x > target.x))) || ((dist_x <= dist_y) && ((src.y < target.y) || (src.y > target.y))) || (src.x > target.x)) && dist_travelled < range) || !has_gravity(src))) + + if(!src.throwing) break + if(!istype(src.loc, /turf)) break + + var/atom/step = get_step(src, get_dir(src,target)) + if(!step) + break + src.Move(step, get_dir(src, step)) + hit_check() + error += (error < 0) ? tdist_x : -tdist_y; + dist_travelled++ + dist_since_sleep++ + if(dist_since_sleep >= speed) + dist_since_sleep = 0 + sleep(1) + + + src.throwing = 0 + src.throw_impact(get_turf(src)) + + return 1 + +/obj/effect/hallucination/simple/xeno/throw_impact(A) + update_icon("alienh_pounce") + if(A == target) + target.Weaken(5) + target.visible_message("[target] flails around wildly.","[name] pounces on you!") + +/obj/effect/hallucination/xeno_attack + //Xeno crawls from nearby vent,jumps at you, and goes back in + var/obj/machinery/atmospherics/unary/vent_pump/pump = null + var/obj/effect/hallucination/simple/xeno/xeno = null + +/obj/effect/hallucination/xeno_attack/New(loc,var/mob/living/carbon/T) + target = T + for(var/obj/machinery/atmospherics/unary/vent_pump/U in orange(7,target)) + if(!U.welded) + pump = U + break + if(!pump) return 0 + xeno = new(pump.loc,target) + sleep(10) + if(!xeno) return + xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32) + xeno.throw_at(target,7,1) + sleep(10) + if(!xeno) return + xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32) + xeno.throw_at(pump,7,1) + sleep(10) + if(!xeno) return + var/xeno_name = xeno.name + target << "[xeno_name] begins climbing into the ventilation system..." + sleep(10) + if(!xeno) return + qdel(xeno) + target << "[xeno_name] scrambles into the ventilation ducts!" + qdel(src) + +/obj/effect/hallucination/singularity_scare + //Singularity moving towards you. + //todo Hide where it moved with fake space images + var/obj/effect/hallucination/simple/singularity/s = null + +/obj/effect/hallucination/singularity_scare/New(loc,var/mob/living/carbon/T) + target = T + var/turf/start = T.loc + var/screen_border = pick(SOUTH,EAST,WEST,NORTH) + for(var/i = 0,i<11,i++) + start = get_step(start,screen_border) + s = new(start,target) + for(var/i = 0,i<11,i++) + sleep(5) + s.loc = get_step(get_turf(s),get_dir(s,target)) + s.Show() + s.Eat() + qdel(s) + +/obj/effect/hallucination/simple/singularity + image_icon = 'icons/effects/224x224.dmi' + image_state = "singularity_s7" + image_layer = 6 + px = -96 + py = -96 + +/obj/effect/hallucination/simple/singularity/proc/Eat(atom/OldLoc, Dir) + var/target_dist = get_dist(src,target) + if(target_dist<=3) //"Eaten" + target.sleeping = 20 + target.hal_crit = 1 + target.hal_screwyhud = 1 + spawn(rand(50,100)) + target.sleeping = 0 + target.hal_crit = 0 + target.hal_screwyhud = 0 + +/obj/effect/hallucination/battle + +/obj/effect/hallucination/battle/New(loc,var/mob/living/carbon/T) + target = T + var/hits = rand(3,6) + switch(rand(1,5)) + if(1) //Laser fight + for(var/i=0,i[my_target] has attacked [src]!") src.health -= P.force - - return /obj/effect/fake_attacker/Crossed(var/mob/M, somenumber) @@ -266,20 +430,18 @@ mob/living/carbon/proc/handle_hallucinations() for(var/mob/O in oviewers(world.view , my_target)) O << "[my_target] stumbles around." -/obj/effect/fake_attacker/New() +/obj/effect/fake_attacker/New(loc,var/mob/living/carbon/T) ..() + my_target = T spawn(300) - if(my_target) - my_target.hallucinations -= src qdel(src) step_away(src,my_target,2) - spawn attack_loop() + spawn(0) + attack_loop() /obj/effect/fake_attacker/proc/updateimage() // del src.currentimage - - if(src.dir == NORTH) del src.currentimage src.currentimage = new /image(up,src) @@ -342,7 +504,7 @@ mob/living/carbon/proc/handle_hallucinations() return var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/item/ammo_box/a357,\ - /obj/item/weapon/gun/energy/crossbow, /obj/item/weapon/melee/energy/sword,\ + /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow,\ /obj/item/weapon/storage/box/syndicate, /obj/item/weapon/storage/box/emps,\ /obj/item/weapon/cartridge/syndicate, /obj/item/clothing/under/chameleon,\ /obj/item/clothing/shoes/syndigaloshes, /obj/item/weapon/card/id/syndicate,\ @@ -356,3 +518,251 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/ite /obj/item/clothing/under/rank/captain, /obj/item/device/aicard,\ /obj/item/clothing/shoes/magboots, /obj/item/areaeditor/blueprints, /obj/item/weapon/disk/nuclear,\ /obj/item/clothing/suit/space/nasavoid, /obj/item/weapon/tank) + +/obj/effect/hallucination/bolts + var/list/doors = list() + +/obj/effect/hallucination/bolts/New(loc,var/mob/living/carbon/T,var/door_number=-1) //-1 for sever 1-2 for subtle + target = T + var/image/I = null + var/count = 0 + for(var/obj/machinery/door/airlock/A in range(target,7)) + if(count>door_number && door_number>0) + break + count++ + I = image(A.icon,A,"door_locked",layer=A.layer+0.1) + doors += I + if(target.client) + target.client.images |= I + sleep(2) + sleep(100) + for(var/image/B in doors) + if(target.client) + target.client.images.Remove(B) + qdel(src) + +/obj/effect/hallucination/whispers + +/obj/effect/hallucination/whispers/New(loc,var/mob/living/carbon/T) + target = T + var/speak_messages = list("I'm watching you...","[target.name]!","Go away!","Kchck-Chkck? Kchchck!","Did you hear that?","What did you do ?","Why?","Give me that!","Honk!","HELP!!") + var/radio_messages = list("Xenos!","Singularity loose!","They are arming the nuke!","They butchered Ian!","H-help!","[pick(teleportlocs)]!!","Where's [target.name]?","Call the shuttle!") + + var/list/mob/living/carbon/people = list() + var/list/mob/living/carbon/person = null + for(var/mob/living/carbon/H in view(target)) + if(H == target) + continue + if(!person) + person = H + else + if(get_dist(target,H)The light burns you!", \ + "You don't feel like yourself.", \ + "Unknown has punched [target]!", \ + "You hear something squeezing through the ducts...", \ + "You hear a distant scream.", \ + "You feel invincible, nothing can hurt you!", \ + "[target] sneezes.", \ + "You feel faint.", \ + "You hear a strange, alien voice in your head...[pick("Hiss","Ssss")]", \ + "You can see...everything!") + target << chosen + qdel(src) + +/mob/living/carbon/proc/hallucinate(var/hal_type) // Todo -> proc / defines + switch(hal_type) + if("xeno") + new /obj/effect/hallucination/xeno_attack(src.loc,src) + if("singulo") + new /obj/effect/hallucination/singularity_scare(src.loc,src) + if("battle") + new /obj/effect/hallucination/battle(src.loc,src) + if("flood") + new /obj/effect/hallucination/fake_flood(src.loc,src) + if("delusion") + new /obj/effect/hallucination/delusion(src.loc,src) + if("fake") + new /obj/effect/hallucination/fakeattacker(src.loc,src) + if("bolts") + new /obj/effect/hallucination/bolts(src.loc,src) + if("bolts_minor") + new /obj/effect/hallucination/bolts(src.loc,src,rand(1,2)) + if("whispers") + new /obj/effect/hallucination/whispers(src.loc,src) + if("message") + new /obj/effect/hallucination/message(src.loc,src) + if("sounds") + //Strange audio + //src << "Strange Audio" + switch(rand(1,18)) + if(1) src << 'sound/machines/airlock.ogg' + if(2) + if(prob(50))src << 'sound/effects/Explosion1.ogg' + else src << 'sound/effects/Explosion2.ogg' + if(3) src << 'sound/effects/explosionfar.ogg' + if(4) src << 'sound/effects/Glassbr1.ogg' + if(5) src << 'sound/effects/Glassbr2.ogg' + if(6) src << 'sound/effects/Glassbr3.ogg' + if(7) src << 'sound/machines/twobeep.ogg' + if(8) src << 'sound/machines/windowdoor.ogg' + if(9) + //To make it more realistic, I added two gunshots (enough to kill) + src << 'sound/weapons/Gunshot.ogg' + spawn(rand(10,30)) + src << 'sound/weapons/Gunshot.ogg' + if(10) src << 'sound/weapons/smash.ogg' + if(11) + //Same as above, but with tasers. + src << 'sound/weapons/Taser.ogg' + spawn(rand(10,30)) + src << 'sound/weapons/Taser.ogg' + //Rare audio + if(12) + //These sounds are (mostly) taken from Hidden: Source + var/list/creepyasssounds = list('sound/effects/ghost.ogg', 'sound/effects/ghost2.ogg', 'sound/effects/Heart Beat.ogg', 'sound/effects/screech.ogg',\ + 'sound/hallucinations/behind_you1.ogg', 'sound/hallucinations/behind_you2.ogg', 'sound/hallucinations/far_noise.ogg', 'sound/hallucinations/growl1.ogg', 'sound/hallucinations/growl2.ogg',\ + 'sound/hallucinations/growl3.ogg', 'sound/hallucinations/im_here1.ogg', 'sound/hallucinations/im_here2.ogg', 'sound/hallucinations/i_see_you1.ogg', 'sound/hallucinations/i_see_you2.ogg',\ + 'sound/hallucinations/look_up1.ogg', 'sound/hallucinations/look_up2.ogg', 'sound/hallucinations/over_here1.ogg', 'sound/hallucinations/over_here2.ogg', 'sound/hallucinations/over_here3.ogg',\ + 'sound/hallucinations/turn_around1.ogg', 'sound/hallucinations/turn_around2.ogg', 'sound/hallucinations/veryfar_noise.ogg', 'sound/hallucinations/wail.ogg') + src << pick(creepyasssounds) + if(13) + src << "You feel a tiny prick!" + if(14) + src << "

Priority Announcement

" + src << "

The Emergency Shuttle has docked with the station. You have 3 minutes to board the Emergency Shuttle.

" + src << sound('sound/AI/shuttledock.ogg') + if(15) + src << 'sound/items/Welder.ogg' + if(16) + src << 'sound/items/Screwdriver.ogg' + if(17) + src << 'sound/weapons/saberon.ogg' + if(18) + src << 'sound/weapons/saberoff.ogg' + if("hudscrew") + //Screwy HUD + //src << "Screwy HUD" + hal_screwyhud = pick(1,2,3,3,4,4) + spawn(rand(100,250)) + hal_screwyhud = 0 + if("items") + //Strange items + //src << "Traitor Items" + if(!halitem) + halitem = new + var/list/slots_free = list(ui_lhand,ui_rhand) + if(l_hand) slots_free -= ui_lhand + if(r_hand) slots_free -= ui_rhand + if(istype(src,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = src + if(!H.belt) slots_free += ui_belt + if(!H.l_store) slots_free += ui_storage1 + if(!H.r_store) slots_free += ui_storage2 + if(slots_free.len) + halitem.screen_loc = pick(slots_free) + halitem.layer = 50 + switch(rand(1,6)) + if(1) //revolver + halitem.icon = 'icons/obj/gun.dmi' + halitem.icon_state = "revolver" + halitem.name = "Revolver" + if(2) //c4 + halitem.icon = 'icons/obj/assemblies.dmi' + halitem.icon_state = "plastic-explosive0" + halitem.name = "Mysterious Package" + if(prob(25)) + halitem.icon_state = "c4small_1" + if(3) //sword + halitem.icon = 'icons/obj/weapons.dmi' + halitem.icon_state = "sword1" + halitem.name = "Sword" + if(4) //stun baton + halitem.icon = 'icons/obj/weapons.dmi' + halitem.icon_state = "stunbaton" + halitem.name = "Stun Baton" + if(5) //emag + halitem.icon = 'icons/obj/card.dmi' + halitem.icon_state = "emag" + halitem.name = "Cryptographic Sequencer" + if(6) //flashbang + halitem.icon = 'icons/obj/grenade.dmi' + halitem.icon_state = "flashbang1" + halitem.name = "Flashbang" + if(client) client.screen += halitem + spawn(rand(100,250)) + qdel(halitem) + if("dangerflash") + //Flashes of danger + //src << "Danger Flash" + if(!halimage) + var/list/possible_points = list() + for(var/turf/simulated/floor/F in view(src,world.view)) + possible_points += F + if(possible_points.len) + var/turf/simulated/floor/target = pick(possible_points) + + switch(rand(1,3)) + if(1) + //src << "Space" + halimage = image('icons/turf/space.dmi',target,"[rand(1,25)]",TURF_LAYER) + if(2) + //src << "Fire" + halimage = image('icons/effects/fire.dmi',target,"1",TURF_LAYER) + if(3) + //src << "C4" + halimage = image('icons/obj/assemblies.dmi',target,"plastic-explosive2",OBJ_LAYER+0.01) + + + if(client) client.images += halimage + spawn(rand(10,50)) //Only seen for a brief moment. + if(client) client.images -= halimage + halimage = null + if("death") + //Fake death + src.sleeping = 20 + hal_crit = 1 + hal_screwyhud = 1 + spawn(rand(50,100)) + src.sleeping = 0 + hal_crit = 0 + hal_screwyhud = 0 + if("husks") + if(!halbody) + var/list/possible_points = list() + for(var/turf/simulated/floor/F in view(src,world.view)) + possible_points += F + if(possible_points.len) + var/turf/simulated/floor/target = pick(possible_points) + switch(rand(1,4)) + if(1) + var/image/body = image('icons/mob/human.dmi',target,"husk_s",TURF_LAYER) + var/matrix/M = matrix() + M.Turn(90) + body.transform = M + halbody = body + if(2,3) + halbody = image('icons/mob/human.dmi',target,"husk_s",TURF_LAYER) + if(4) + halbody = image('icons/mob/alien.dmi',target,"alienother",TURF_LAYER) + + if(client) client.images += halbody + spawn(rand(50,80)) //Only seen for a brief moment. + if(client) client.images -= halbody + halbody = null \ No newline at end of file diff --git a/code/modules/garbage collection/__gc_info.dm b/code/modules/garbage collection/__gc_info.dm new file mode 100644 index 00000000000..96e3a0ea8dc --- /dev/null +++ b/code/modules/garbage collection/__gc_info.dm @@ -0,0 +1,69 @@ +/* + +=============================================================================== + How Garbage Collection Works +=============================================================================== + +In BYOND, there are exactly two ways anything gets deleted: + +- A "soft delete", which occurs when an object's reference count hits 0, meaning it is not being referenced by anything + in the world (more on references further down). When an object is unreferenced, nothing can access it, so it has no + reason to exist, and BYOND's garbage collector simply deletes the object. This is fast. + +- A "hard delete", which occurs when the del keyword is used to directly delete an object. This forces BYOND to find + every reference to the object being deleted, and null them all out. This is slow. + +A reference is anything that refers to an object, and can thus be used to access it. A variable on another object, a +variable in a proc, an argument to a proc, the src of a running proc, the locs of contained objects, another object's +contents list (but not the world's automatic contents list), anything. BYOND keeps track of how many references there +are to an object - the reference count goes up when you make a new reference to an object, and back down when that +reference gets set to null, goes out of scope, or is deleted. When the reference count hits 0, there are no remaining +references to the object, and it is deleted by BYOND's garbage collector. + +When you have something that exists in the world, and you want it to stop existing (maybe it got blown up, or eaten by +the singularity, or whatever), it needs to be deleted. You can use the del keyword to make sure it's deleted instantly, +but del is slow, and you want things to be deleted as quickly as possible, especially if you're deleting a whole lot of +them. You want soft deletes. + +That's where the garbage collection system comes in - it prepares things to be soft deleted, and hard deletes anything +that can't be. There are two main procs involved in this process: + +/proc/qdel(datumToDelete) + This is, effectively, a replacement for del that tells an object to prepare itself to be soft deleted by calling its + Destroy() proc. Depending on the qdel hint returned by Destroy(), qdel will queue the object in the garbage collector + (to be hard deleted if it isn't soft deleted), directly delete the object, pool the object, or ignore the object and + assume it will handle deleting itself. An object passed into qdel will have its gcDestroyed var set, so + isnull(gcDestroyed) will be true if an object is not being destroyed, and false if it is (which means you should get + rid of the reference you have to it). + + Note that qdel can only work with datum-based objects, which excludes the world (deleting this shuts down the world), + clients (deleting these disconnect the client), lists, and savefiles. If any of these are passed to qdel, they will + be directly deleted, just as if they had been passed straight to del, so it should never be unsafe to qdel anything + you could del. + +/datum/proc/Destroy() + This is, effectively, a replacement for Del() (with some exceptions) which is also responsible for nulling out + references to or on the object it is called on. Like Del, the Destroy proc will always be called, even if the object + is getting destroyed by a direct del instead of qdel; in that case, isnull(gcDestroyed) will be true, and some + references can safely be ignored. + + The exceptions where Destroy cannot replace Del are for the same non-datum types mentioned under qdel, above. Those + should use a Del proc for any necessary cleanup, as a Destroy proc on them will not automatically get called. + + When called by qdel, Destroy is expected to return a qdel hint, which determines whether the object should be directly + deleted, queued for deletion, pooled, or ignored entirely; which of these are appropriate will vary, though objects + should be pooled or queued whenever possible. The full list of qdel hints are in the code for the qdel proc. + +As mentioned above, gcDestroyed can be used to tell whether an object is being destroyed. This is important, because if +an object is being destroyed, it WILL still exist, and any code that references it should stop referencing it as soon as +possible. In the same places that you check whether a reference still exists, you should also check for something like +isnull(myRefVar.gcDestroyed), which will be false if your object is being destroyed, meaning you should throw out the +reference immediately. + +The inner workings of the GC itself and the stuff related to testing it probably don't need a detailed description - if +you intend to work with them, it would be best to read the code to understand what they do. + +Pooling is related to GC, in that it's meant to reduce deletion overhead, but it does so by re-using objects instead of +deleting them at all. Explaining pooling is outside the scope of this file. + +*/ \ No newline at end of file diff --git a/code/modules/garbage collection/garbage_collector.dm b/code/modules/garbage collection/garbage_collector.dm new file mode 100644 index 00000000000..97d67c30ac8 --- /dev/null +++ b/code/modules/garbage collection/garbage_collector.dm @@ -0,0 +1,166 @@ +// Main garbage collection code + +// For general information about how the GC works and how to use it, see __gc_info.dm + +#define GC_COLLECTIONS_PER_TICK 300 // Was 100. +#define GC_COLLECTION_TIMEOUT (30 SECONDS) +#define GC_FORCE_DEL_PER_TICK 60 +//#define GC_DEBUG + +// A list of types that were queued in the GC, and had to be soft deleted; used in testing +var/list/gc_hard_del_types = list() +var/datum/garbage_collector/garbageCollector + +// The time a datum was destroyed by the GC, or null if it hasn't been +/datum/var/gcDestroyed +// Whether a datum was hard-deleted by the GC; 0 if not, 1 if it was queued, -1 if directly deleted +/datum/var/hard_deleted = 0 + +/datum/garbage_collector + var/list/queue = new + var/del_everything = 0 + + // To let them know how hardworking am I :^). + var/dels_count = 0 + var/hard_dels = 0 + var/soft_dels = 0 + +/datum/garbage_collector/proc/addTrash(var/datum/D) + if(!istype(D) || del_everything) + del(D) + hard_dels++ + dels_count++ + return + + queue -= "\ref[D]" // If this is a re-used ref, remove the old ref from the queue + queue["\ref[D]"] = world.time + +/datum/garbage_collector/proc/process() + var/remainingCollectionPerTick = GC_COLLECTIONS_PER_TICK + var/remainingForceDelPerTick = GC_FORCE_DEL_PER_TICK + var/collectionTimeScope = world.time - GC_COLLECTION_TIMEOUT + while(queue.len && --remainingCollectionPerTick >= 0) + var/refID = queue[1] + var/destroyedAtTime = queue[refID] + + if(destroyedAtTime > collectionTimeScope) + break + + var/datum/D = locate(refID) + // If the object still exists, and it's the same object, hard del it + if(D && D.gcDestroyed == destroyedAtTime) + if(remainingForceDelPerTick <= 0) + break + + #ifdef GC_DEBUG + gcwarning("GC process force delete [D.type]") + #endif + + hardDel(D) + queue.Cut(1, 2) + + remainingForceDelPerTick-- + else // Otherwise, it was GC'd - remove it from the queue + queue.Cut(1, 2) + soft_dels++ + dels_count++ + +#ifdef GC_DEBUG +#undef GC_DEBUG +#endif + +#undef GC_FORCE_DEL_PER_TICK +#undef GC_COLLECTION_TIMEOUT +#undef GC_COLLECTIONS_PER_TICK + +/datum/garbage_collector/proc/hardDel(var/datum/D) + gc_hard_del_types |= D.type + D.hard_deleted = 1 + if(!D.gcDestroyed) + spawn(-1) + D.Destroy() + D.gcDestroyed = world.time + del(D) + hard_dels++ + dels_count++ + +// Effectively replaces del for any datum-based type +/proc/qdel(var/datum/D) + if(isnull(D)) + return + + if(isnull(garbageCollector)) + del(D) + return + + if(!istype(D)) // A non-datum was passed into qdel - just delete it outright. + // warning("qdel() passed object of type [D.type]. qdel() can only handle /datum/ types.") + del(D) + return + + if(isnull(D.gcDestroyed)) + // Let our friend know they're about to get fucked up. + var/hint + D.gcDestroyed = world.time + try + hint = D.Destroy() + catch(var/exception/e) + if(istype(e)) + gcwarning("qdel() caught runtime destroying [D.type]: [e] in [e.file], line [e.line]") + else + gcwarning("qdel() caught runtime destroying [D.type]: [e]") + // Destroy runtimed? Panic! Hard delete! + D.hard_deleted = -1 + del(D) + if(garbageCollector) + garbageCollector.dels_count++ + return + if(!isnull(D.gcDestroyed) && D.gcDestroyed != world.time) + gcwarning("Sleep detected in Destroy() call of [D.type]") + D.gcDestroyed = world.time + + switch(hint) + if(QDEL_HINT_QUEUE) //qdel should queue the object for deletion + garbageCollector.addTrash(D) + if(QDEL_HINT_LETMELIVE) //qdel should let the object live after calling destroy. + return + if(QDEL_HINT_IWILLGC) //functionally the same as the above. qdel should assume the object will gc on its own, and not check it. + return + if (QDEL_HINT_HARDDEL_NOW) //qdel should assume this object won't gc, and hard del it post haste. + D.hard_deleted = -1 // -1 means "this hard del skipped the queue", used for profiling + del(D) + if(garbageCollector) + garbageCollector.dels_count++ + if (QDEL_HINT_PUTINPOOL) //qdel will put this object in the pool. + PlaceInPool(D,0) + else + // world << "WARNING GC DID NOT GET A RETURN VALUE FOR [D], [D.type]!" + garbageCollector.addTrash(D) + +/* + * Like Del(), but for qdel. + * Called BEFORE qdel moves shit. + */ +/datum/proc/Destroy() + tag = null + return QDEL_HINT_HARDDEL_NOW // By default, assume that queueing any given datum is unsafe + +// If something gets deleted directly, make sure its Destroy proc is still called +/datum/Del() + if(isnull(gcDestroyed)) // Not GC'd + try + Destroy() + catch(var/exception/e) + if(istype(e)) + gcwarning("Del() caught runtime destroying [type]: [e] in [e.file], line [e.line]") + else + gcwarning("Del() caught runtime destroying [type]: [e]") + if(del_profiling) + delete_profile(src) + else + if(del_profiling) + delete_profile(src) + return ..() + +/proc/gcwarning(msg) + world.log << "## GC WARNING: [msg]" diff --git a/code/modules/garbage collection/gc_testing.dm b/code/modules/garbage collection/gc_testing.dm new file mode 100644 index 00000000000..34467b15b5a --- /dev/null +++ b/code/modules/garbage collection/gc_testing.dm @@ -0,0 +1,171 @@ +// Garbage collection testing/debugging/profiling code + +/client/proc/qdel_toggle() + set name = "(GC) Toggle Queueing" + set desc = "Toggle qdel usage between normal and force del()." + set category = "Debug" + + if(!check_rights(R_DEBUG)) + return + + garbageCollector.del_everything = !garbageCollector.del_everything + // world << "GC: qdel turned [garbageCollector.del_everything ? "off" : "on"]." + log_admin("[key_name(usr)] turned qdel [garbageCollector.del_everything ? "off" : "on"].") + message_admins("\blue [key_name(usr)] turned qdel [garbageCollector.del_everything ? "off" : "on"].", 1) + +/client/proc/gc_toggle_profiling() + set name = "(GC) Toggle Profiling" + set desc = "Toggle profiling of deletion methods" + set category = "Debug" + + if(!check_rights(R_DEBUG)) + return + + del_profiling = !del_profiling + log_admin("[key_name(usr)] turned deletion profiling [del_profiling ? "on" : "off"].") + message_admins("\blue [key_name(usr)] turned deletion profiling [del_profiling ? "on" : "off"].", 1) + +/client/proc/gc_show_del_report() + set name = "(GC) Show Del Report" + set desc = "Show report of deletions seen while profiling" + set category = "Debug" + + if(!check_rights(R_DEBUG)) + return + + delete_profiler_report() + +/client/proc/gc_dump_hdl() + set name = "(GC) Hard Del List" + set desc = "List types that are hard del()'d by the GC." + set category = "Debug" + + if(!check_rights(R_DEBUG)) + return + + if(!gc_hard_del_types || !gc_hard_del_types.len) + usr << "No hard del()'d types found." + return + + usr << "Types hard del()'d by the GC:" + for(var/A in gc_hard_del_types) + usr << "[A]" + +// Profiling stuff +var/global/del_profiling = 0 +var/global/list/dels_profiled = list() +var/global/list/gdels_profiled = list() +var/global/list/ghdels_profiled = list() + +/proc/delete_profile(var/datum/D) + if(!ticker || (ticker.current_state < 3)) return + var/code = 0 + var/type = D.type + if(isnull(D.gcDestroyed)) + code = 0 + else if(D.hard_deleted == -1) + code = 0 // A non-queued hard deletion is counted as a straight deletion + else if(D.hard_deleted) + code = 1 + else + code = 2 + switch(code) + if(0) // Directly deleted (skipped the GC queue entirely) + if (!("[type]" in dels_profiled)) + dels_profiled["[type]"] = 0 + + dels_profiled["[type]"] += 1 + if(1) // Hard-deleted by the GC + if (!("[type]" in ghdels_profiled)) + ghdels_profiled["[type]"] = 0 + + ghdels_profiled["[type]"] += 1 + if(2) // qdel'd and garbage collected by BYOND + if (!("[type]" in gdels_profiled)) + gdels_profiled["[type]"] = 0 + + gdels_profiled["[type]"] += 1 + +/proc/delete_profiler_report() + var/dat = "Deletion Profiler Report" + if(dels_profiled.len + gdels_profiled.len + ghdels_profiled.len) + dat += "Direct Deletions
" + dat += "GC Soft Deletions
" + dat += "GC Hard Deletions
" + dat += delete_profiler_sortedlist(dels_profiled, "Direct Deletions", "DD") + dat += delete_profiler_sortedlist(gdels_profiled, "GC Soft Deletions", "SD") + dat += delete_profiler_sortedlist(ghdels_profiled, "GC Hard Deletions", "HD") + else + dat += "(No deletions profiled; listing types that have been hard-deleted by GC)
" + dat += "" + for(var/A in gc_hard_del_types) + dat += "" + dat += "
GC Hard Deletion Types
[A]
" + usr << browse(dat, "window=delete_profiler_report;size=600x480") + +/proc/delete_profiler_sortedlist(var/list/L, var/header, var/anchorid) + L = L.Copy() + // Yes, this is a terrible sort, but I'm too lazy to find a good one + var/v,i,j,s + for(i = 1 to L.len-1) + s=i + v = L[L[i]] + for(j = i + 1 to L.len) + if(L[L[j]] > v) + s = j + v = L[L[j]] + L.Swap(i,s) + + var/dat = "" + for (var/t in L) + dat +="" + dat += "
[header]
[L[t]][t]
" + return dat + +/*/client/var/running_find_references + +/atom/verb/find_references() + set category = "Debug" + set name = "Find References" + set background = 1 + set src in world + + if(!usr || !usr.client) + return + + if(usr.client.running_find_references) + testing("CANCELLED search for references to a [usr.client.running_find_references].") + usr.client.running_find_references = null + return + + if(alert("Running this will create a lot of lag until it finishes. You can cancel it by running it again. Would you like to begin the search?", "Find References", "Yes", "No") == "No") + return + qdel(src) + // Remove this object from the list of things to be auto-deleted. + if(garbageCollector) + garbageCollector.queue -= "\ref[src]" + + usr.client.running_find_references = type + testing("Beginning search for references to a [type].") + var/list/things = list() + for(var/client/thing) + things += thing + for(var/datum/thing) + things += thing + for(var/atom/thing) + things += thing + for(var/event/thing) + things += thing + testing("Collected list of things in search for references to a [type]. ([things.len] Thing\s)") + for(var/datum/thing in things) + if(!usr.client.running_find_references) return + for(var/varname in thing.vars) + var/variable = thing.vars[varname] + if(variable == src) + testing("Found [src.type] \ref[src] in [thing.type]'s [varname] var.") + else if(islist(variable)) + if(src in variable) + testing("Found [src.type] \ref[src] in [thing.type]'s [varname] list var.") + testing("Completed search for references to a [type].") + usr.client.running_find_references = null +*/ \ No newline at end of file diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index ac8b5e0d33e..2a4cade7c0c 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -450,7 +450,8 @@ "slimejelly", "cyanide", "lsd", - "morphine" + "morphine", + "ether" ) for(var/x=1;x<=additional_chems;x++) diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index 2fe08928a62..ce005e45482 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -1190,7 +1190,7 @@ name = "gelthi" seed_name = "gelthi" display_name = "gelthi plant" - chems = list("morphine" = list(1,5),"capsaicin" = list(1,5),"plantmatter" = list(1,5)) + chems = list("ether" = list(1,5),"capsaicin" = list(1,5),"plantmatter" = list(1,5)) /datum/seed/gelthi/New() ..() diff --git a/code/modules/jungle/jungle_plants.dm b/code/modules/jungle/jungle_plants.dm index bf7d11529bf..f8caa30bb22 100644 --- a/code/modules/jungle/jungle_plants.dm +++ b/code/modules/jungle/jungle_plants.dm @@ -58,7 +58,7 @@ //*******************************// var/list/fruit_icon_states = list("badrecipe","kudzupod","reishi","lime","grapes","boiledrorocore","chocolateegg") -var/list/reagent_effects = list("toxin","charcoal","morphine","space_drugs","lsd","haloperidol") +var/list/reagent_effects = list("toxin","charcoal","ether","space_drugs","lsd","haloperidol") var/jungle_plants_init = 0 /proc/init_jungle_plants() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 9a8dd644d5a..2cbe1e9f8ce 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -924,16 +924,13 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc else hallucination -= 2 - else - for(var/atom/a in hallucinations) - del a - if(halloss > 100) - src << "You're in too much pain to keep going..." - for(var/mob/O in oviewers(src, null)) - O.show_message("[src] slumps to the ground, too weak to continue fighting.", 1) - Paralyse(10) - setHalLoss(99) + if(halloss > 100) + src << "You're in too much pain to keep going..." + for(var/mob/O in oviewers(src, null)) + O.show_message("[src] slumps to the ground, too weak to continue fighting.", 1) + Paralyse(10) + setHalLoss(99) if(paralysis) AdjustParalysis(-1) @@ -947,7 +944,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc adjustStaminaLoss(-10) adjustHalLoss(-3) if (mind) - //Are they SSD? If so we'll keep them asleep but work off some of that sleep var in case of morphine or similar. + //Are they SSD? If so we'll keep them asleep but work off some of that sleep var in case of ether or similar. if(player_logged) sleeping = max(sleeping-1, 2) else diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 15e62ae56ca..b25ec423316 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -18,7 +18,6 @@ var/staminaloss = 0 //Stamina damage, or exhaustion. You recover it slowly naturally, and are stunned if it gets too high. Holodeck and hallucinations deal this. var/hallucination = 0 //Directly affects how long a mob will hallucinate for - var/list/atom/hallucinations = list() //A list of hallucinated people that try to attack the mob. See /obj/effect/fake_attacker in hallucinations.dm var/last_special = 0 //Used by the resist verb, likely used to prevent players from bypassing next_move by logging in/out. diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 4dd8b65610e..151963855f5 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -373,7 +373,7 @@ src.modules += new /obj/item/device/flash/cyborg/alien(src) src.modules += new /obj/item/borg/sight/thermal/alien(src) var/obj/item/weapon/reagent_containers/spray/alien/stun/S = new /obj/item/weapon/reagent_containers/spray/alien/stun(src) - S.reagents.add_reagent("morphine",250) //nerfed to sleeptoxin to make it less instant drop. + S.reagents.add_reagent("ether",250) //nerfed to sleeptoxin to make it less instant drop. src.modules += S var/obj/item/weapon/reagent_containers/spray/alien/smoke/A = new /obj/item/weapon/reagent_containers/spray/alien/smoke(src) S.reagents.add_reagent("water",50) //Water is used as a dummy reagent for the smoke bombs. More of an ammo counter. diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index ee55f6f2ef2..13e3958b491 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -65,7 +65,7 @@ melee_damage_upper = 10 poison_per_bite = 10 var/atom/cocoon_target - poison_type = "morphine" + poison_type = "ether" var/fed = 0 //hunters have the most poison and move the fastest, so they can find prey diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index d2feb74a12b..2ce8694a7fa 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -18,7 +18,7 @@ var/lastout = 0 var/loaddemand = 0 var/capacity = 5e6 - var/charge = 1e6 + var/charge = 0 var/charging = 0 var/chargemode = 0 var/chargecount = 0 @@ -470,6 +470,9 @@ +/obj/machinery/power/smes/engineering + charge = 1e6 // Engineering starts with some charge for singulo + /obj/machinery/power/smes/magical name = "magical power storage unit" desc = "A high-capacity superconducting magnetic energy storage (SMES) unit. Magically produces power." diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 2f1390e583f..93c1a961073 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -150,7 +150,7 @@ var/list/solars_list = list() /obj/machinery/power/solar/ex_act(severity, target) ..() - if(!gc_destroyed) + if(isnull(gcDestroyed)) switch(severity) if(2) if(prob(50) && broken()) @@ -501,7 +501,7 @@ var/list/solars_list = list() /obj/machinery/power/solar_control/ex_act(severity, target) ..() - if(!gc_destroyed) + if(isnull(gcDestroyed)) switch(severity) if(2) if(prob(50)) diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm index 91392283ac5..b96939ac697 100644 --- a/code/modules/reagents/Chemistry-Holder.dm +++ b/code/modules/reagents/Chemistry-Holder.dm @@ -127,32 +127,6 @@ datum if (!target.reagents || src.total_volume<=0) return - /*var/datum/reagents/R = target.reagents - - var/obj/item/weapon/reagent_containers/glass/beaker/noreact/B = new /obj/item/weapon/reagent_containers/glass/beaker/noreact //temporary holder - - amount = min(min(amount, src.total_volume), R.maximum_volume-R.total_volume) - var/part = amount / src.total_volume - var/trans_data = null - for (var/datum/reagent/current_reagent in src.reagent_list) - if (!current_reagent) - continue - //if (current_reagent.id == "blood" && ishuman(target)) - // var/mob/living/carbon/human/H = target - // H.inject_blood(my_atom, amount) - // continue - var/current_reagent_transfer = current_reagent.volume * part - if(preserve_data) - trans_data = current_reagent.data - - B.add_reagent(current_reagent.id, (current_reagent_transfer * multiplier), trans_data, safety = 1) //safety checks on these so all chemicals are transferred - src.remove_reagent(current_reagent.id, current_reagent_transfer, safety = 1) // to the target container before handling reactions - - src.update_total() - B.update_total() - B.handle_reactions() - src.handle_reactions()*/ - var/obj/item/weapon/reagent_containers/glass/beaker/noreact/B = new /obj/item/weapon/reagent_containers/glass/beaker/noreact //temporary holder B.volume = 1000 @@ -163,9 +137,13 @@ datum src.trans_to(B, amount) - spawn(100) + spawn(-1) + src = null // Survive through deletion of the reagent holder + sleep(100) + if(!target) + return BR.trans_to(target, BR.total_volume) - del(B) + qdel(B) return amount diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index fab92027cc9..ef6d0f4437e 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -234,6 +234,7 @@ datum reagent_state = LIQUID color = "#0064C8" // rgb: 0, 100, 200 var/cooling_temperature = 2 + process_flags = ORGANIC | SYNTHETIC reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) if(!istype(M, /mob/living)) @@ -3238,4 +3239,4 @@ datum holder.reagent_list -= src holder = null - return ..() + return ..() diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index e293ee744ea..533ceb1b555 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -1463,7 +1463,7 @@ datum name = "Neurotoxin" id = "neurotoxin" result = "neurotoxin" - required_reagents = list("gargleblaster" = 1, "morphine" = 1) + required_reagents = list("gargleblaster" = 1, "ether" = 1) result_amount = 2 snowwhite diff --git a/code/modules/reagents/dartgun.dm b/code/modules/reagents/dartgun.dm index ad4f143ae6d..1e483a54e23 100644 --- a/code/modules/reagents/dartgun.dm +++ b/code/modules/reagents/dartgun.dm @@ -297,7 +297,7 @@ starting_chems = list("silver_sulfadiazine","styptic_powder","charcoal") /obj/item/weapon/gun/dartgun/vox/raider - starting_chems = list("space_drugs","morphine","haloperidol") + starting_chems = list("space_drugs","ether","haloperidol") /obj/effect/syringe_gun_dummy //moved this shitty thing here name = "" diff --git a/code/modules/reagents/newchem/medicine.dm b/code/modules/reagents/newchem/medicine.dm index a27dfd98a45..ebba2e3c969 100644 --- a/code/modules/reagents/newchem/medicine.dm +++ b/code/modules/reagents/newchem/medicine.dm @@ -913,6 +913,36 @@ datum/reagent/haloperidol/on_mob_life(var/mob/living/M as mob) result_amount = 4 mix_message = "The chemicals mix into an odd pink slush." + +/datum/reagent/ether + name = "Ether" + id = "ether" + description = "A strong anesthetic and sedative." + reagent_state = LIQUID + color = "#96DEDE" + +/datum/reagent/ether/on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + switch(current_cycle) + if(0 to 15) + if(prob(5)) + M.emote("yawn") + if(16 to 35) + M.drowsyness = max(M.drowsyness, 10) + if(36 to INFINITY) + M.Paralyse(10) + M.drowsyness = max(M.drowsyness, 15) + ..() + return + +/datum/chemical_reaction/ether + name = "Ether" + id = "ether" + result = "ether" + required_reagents = list("sacid" = 1, "ethanol" = 1, "oxygen" = 1) + result_amount = 1 + mix_message = "The mixture yields a pungent odor, which makes you tired." + ////////////////////////////// // Synth-Meds // ////////////////////////////// diff --git a/code/modules/reagents/reagent_containers/food/condiment.dm b/code/modules/reagents/reagent_containers/food/condiment.dm index 948d6abff88..49316a33e92 100644 --- a/code/modules/reagents/reagent_containers/food/condiment.dm +++ b/code/modules/reagents/reagent_containers/food/condiment.dm @@ -35,7 +35,7 @@ M << "\blue You swallow some of contents of the [src]." if(reagents.total_volume) reagents.reaction(M, INGEST) - spawn(5) + spawn(0) reagents.trans_to_ingest(M, 10) playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) @@ -59,7 +59,7 @@ if(reagents.total_volume) reagents.reaction(M, INGEST) - spawn(5) + spawn(0) reagents.trans_to(M, 10) playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm index bc2e1e5dc27..15f585051e6 100644 --- a/code/modules/reagents/reagent_containers/food/drinks.dm +++ b/code/modules/reagents/reagent_containers/food/drinks.dm @@ -37,7 +37,7 @@ M << "\blue You swallow a gulp of [src]." if(reagents.total_volume) reagents.reaction(M, INGEST) - spawn(5) + spawn(0) reagents.trans_to_ingest(M, gulp_size) playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) @@ -65,7 +65,7 @@ if(reagents.total_volume) reagents.reaction(M, INGEST) - spawn(5) + spawn(0) reagents.trans_to_ingest(M, gulp_size) if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 389243486dd..11367d61787 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -100,7 +100,7 @@ playsound(M.loc,'sound/items/eatfood.ogg', rand(10,50), 1) if(reagents.total_volume) reagents.reaction(M, INGEST) - spawn(5) + spawn(0) if(reagents.total_volume > bitesize) /* * I totally cannot understand what this code supposed to do. @@ -675,7 +675,7 @@ New() ..() reagents.add_reagent("nutriment", 12) - reagents.add_reagent("morphine", 3) + reagents.add_reagent("ether", 3) bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/stuffing @@ -3116,7 +3116,7 @@ New() ..() reagents.add_reagent("nutriment", 12) - reagents.add_reagent("morphine", 3) + reagents.add_reagent("ether", 3) bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/stuffing diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm index f6a4d019fc4..202e7be2c69 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle.dm +++ b/code/modules/reagents/reagent_containers/glass/bottle.dm @@ -150,6 +150,15 @@ ..() reagents.add_reagent("morphine", 30) +/obj/item/weapon/reagent_containers/glass/bottle/ether + name = "Ether Bottle" + desc = "A small bottle. Contains ether." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle17" + New() + ..() + reagents.add_reagent("ether", 30) + /obj/item/weapon/reagent_containers/glass/bottle/charcoal name = "Charcoal Bottle" desc = "A small bottle. Contains charcoal." diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index d8800ae3a1e..8ba0779b746 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -21,12 +21,18 @@ return attack(mob/M as mob, mob/user as mob, def_zone) if(M == user) - M << "\blue You [apply_method] [src]." + if(istype(M,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(H.species.flags & IS_SYNTHETIC) + H << "You have a monitor for a head, where do you think you're going to put that?" + return + + M << "You [apply_method] [src]." M.unEquip(src) //icon update if(reagents.total_volume) reagents.reaction(M, apply_type) - spawn(5) - reagents.trans_to(M, reagents.total_volume) + spawn(0) + reagents.trans_to_ingest(M, reagents.total_volume) qdel(src) else qdel(src) @@ -34,14 +40,19 @@ else if(istype(M, /mob/living/carbon/human) ) + var/mob/living/carbon/human/H = M + if(H.species.flags & IS_SYNTHETIC) + user << "They have a monitor for a head, where do you think you're going to put that?" + return + for(var/mob/O in viewers(world.view, user)) - O.show_message("\red [user] attempts to force [M] to [apply_method] [src].", 1) + O.show_message("[user] attempts to force [M] to [apply_method] [src].", 1) if(!do_mob(user, M)) return user.unEquip(src) //icon update for(var/mob/O in viewers(world.view, user)) - O.show_message("\red [user] forces [M] to [apply_method] [src].", 1) + O.show_message("[user] forces [M] to [apply_method] [src].", 1) M.attack_log += text("\[[time_stamp()]\] Has been fed [src.name] by [user.name] ([user.ckey]) Reagents: [reagentlist(src)]") user.attack_log += text("\[[time_stamp()]\] Fed [M.name] by [M.name] ([M.ckey]) Reagents: [reagentlist(src)]") @@ -54,7 +65,7 @@ if(reagents.total_volume) reagents.reaction(M, apply_type) - spawn(5) + spawn(0) reagents.trans_to_ingest(M, reagents.total_volume) qdel(src) else @@ -69,7 +80,7 @@ if(target.is_open_container() != 0 && target.reagents) if(!target.reagents.total_volume) - user << "\red [target] is empty. Cant dissolve [src]." + user << "[target] is empty. Cant dissolve [src]." return // /vg/: Logging transfers of bad things @@ -83,10 +94,10 @@ message_admins("[user.name] ([user.ckey]) added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl] (JMP)") log_game("[user.name] ([user.ckey]) added [reagents.get_reagent_ids(1)] to \a [target] with [src].") - user << "\blue You dissolve [src] in [target]" + user << "You dissolve [src] in [target]." reagents.trans_to(target, reagents.total_volume) for(var/mob/O in viewers(2, user)) - O.show_message("\red [user] puts something in [target].", 1) + O.show_message("[user] puts something in [target].", 1) spawn(5) qdel(src) diff --git a/icons/mob/custom-synthetic.dmi b/icons/mob/custom-synthetic.dmi index 1c61475e89e..8a1655c80f7 100644 Binary files a/icons/mob/custom-synthetic.dmi and b/icons/mob/custom-synthetic.dmi differ diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index aa3ff503440..205e1585911 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/in-hand/staff.dmi b/icons/mob/in-hand/staff.dmi index 6d59d81ecfb..2309136a454 100644 Binary files a/icons/mob/in-hand/staff.dmi and b/icons/mob/in-hand/staff.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 7c5615d1913..16605a55ebd 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/obj/custom_items.dmi b/icons/obj/custom_items.dmi index 8f489c651e8..5c20f2def7d 100644 Binary files a/icons/obj/custom_items.dmi and b/icons/obj/custom_items.dmi differ diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index 041703a632a..fa286d3e12b 100644 Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ diff --git a/paradise.dme b/paradise.dme index 20ef88ec908..bc86ded81f8 100644 --- a/paradise.dme +++ b/paradise.dme @@ -207,7 +207,6 @@ #include "code\controllers\configuration.dm" #include "code\controllers\emergency_shuttle_controller.dm" #include "code\controllers\failsafe.dm" -#include "code\controllers\garbage.dm" #include "code\controllers\hooks-defs.dm" #include "code\controllers\hooks.dm" #include "code\controllers\master_controller.dm" @@ -252,7 +251,6 @@ #include "code\datums\modules.dm" #include "code\datums\organs.dm" #include "code\datums\periodic_news.dm" -#include "code\datums\pizza_bomb.dm" #include "code\datums\recipe.dm" #include "code\datums\spell.dm" #include "code\datums\sun.dm" @@ -707,6 +705,7 @@ #include "code\game\objects\items\devices\paicard.dm" #include "code\game\objects\items\devices\pipe_freezer.dm" #include "code\game\objects\items\devices\pipe_painter.dm" +#include "code\game\objects\items\devices\pizza_bomb.dm" #include "code\game\objects\items\devices\powersink.dm" #include "code\game\objects\items\devices\scanners.dm" #include "code\game\objects\items\devices\sensor_device.dm" @@ -1220,6 +1219,8 @@ #include "code\modules\food\recipes_grill.dm" #include "code\modules\food\recipes_microwave.dm" #include "code\modules\food\recipes_oven.dm" +#include "code\modules\garbage collection\garbage_collector.dm" +#include "code\modules\garbage collection\gc_testing.dm" #include "code\modules\genetics\side_effects.dm" #include "code\modules\holiday\christmas.dm" #include "code\modules\holiday\holiday.dm" diff --git a/sound/AI/blob_confirmed.ogg b/sound/AI/blob_confirmed.ogg deleted file mode 100644 index ddc3d3cd07e..00000000000 Binary files a/sound/AI/blob_confirmed.ogg and /dev/null differ diff --git a/sound/AI/command_report.ogg b/sound/AI/command_report.ogg deleted file mode 100644 index 65a1d82b4ca..00000000000 Binary files a/sound/AI/command_report.ogg and /dev/null differ diff --git a/sound/AI/gravanomalies.ogg b/sound/AI/gravanomalies.ogg deleted file mode 100644 index 05a60d9700f..00000000000 Binary files a/sound/AI/gravanomalies.ogg and /dev/null differ diff --git a/sound/AI/ion_storm.ogg b/sound/AI/ion_storm.ogg deleted file mode 100644 index 0bb2d49903e..00000000000 Binary files a/sound/AI/ion_storm.ogg and /dev/null differ diff --git a/sound/AI/outbreak_after.ogg b/sound/AI/outbreak_after.ogg deleted file mode 100644 index f161150280f..00000000000 Binary files a/sound/AI/outbreak_after.ogg and /dev/null differ diff --git a/sound/AI/outbreak_before.ogg b/sound/AI/outbreak_before.ogg deleted file mode 100644 index 2c2d9727e8d..00000000000 Binary files a/sound/AI/outbreak_before.ogg and /dev/null differ diff --git a/sound/AI/supermatter_danger.ogg b/sound/AI/supermatter_danger.ogg deleted file mode 100644 index 1171e534050..00000000000 Binary files a/sound/AI/supermatter_danger.ogg and /dev/null differ diff --git a/sound/AI/supermatter_delam.ogg b/sound/AI/supermatter_delam.ogg deleted file mode 100644 index a659531f699..00000000000 Binary files a/sound/AI/supermatter_delam.ogg and /dev/null differ diff --git a/sound/AI/supermatter_integrity_after.ogg b/sound/AI/supermatter_integrity_after.ogg deleted file mode 100644 index 16852dc63e5..00000000000 Binary files a/sound/AI/supermatter_integrity_after.ogg and /dev/null differ diff --git a/sound/AI/supermatter_integrity_before.ogg b/sound/AI/supermatter_integrity_before.ogg deleted file mode 100644 index 09bec1703b5..00000000000 Binary files a/sound/AI/supermatter_integrity_before.ogg and /dev/null differ diff --git a/sound/AI/vox_login.ogg b/sound/AI/vox_login.ogg deleted file mode 100644 index 46924df1db2..00000000000 Binary files a/sound/AI/vox_login.ogg and /dev/null differ diff --git a/sound/AI/vox_reminder1.ogg b/sound/AI/vox_reminder1.ogg deleted file mode 100644 index 2626394819c..00000000000 Binary files a/sound/AI/vox_reminder1.ogg and /dev/null differ diff --git a/sound/AI/vox_reminder2.ogg b/sound/AI/vox_reminder2.ogg deleted file mode 100644 index a73aa8f4b48..00000000000 Binary files a/sound/AI/vox_reminder2.ogg and /dev/null differ diff --git a/sound/AI/vox_reminder3.ogg b/sound/AI/vox_reminder3.ogg deleted file mode 100644 index 9fa5c33058b..00000000000 Binary files a/sound/AI/vox_reminder3.ogg and /dev/null differ diff --git a/sound/AI/vox_reminder4.ogg b/sound/AI/vox_reminder4.ogg deleted file mode 100644 index 27661766e7a..00000000000 Binary files a/sound/AI/vox_reminder4.ogg and /dev/null differ diff --git a/sound/AI/vox_reminder5.ogg b/sound/AI/vox_reminder5.ogg deleted file mode 100644 index 4a97bf4afd8..00000000000 Binary files a/sound/AI/vox_reminder5.ogg and /dev/null differ diff --git a/sound/AI/vox_reminder6.ogg b/sound/AI/vox_reminder6.ogg deleted file mode 100644 index 34f606bfba2..00000000000 Binary files a/sound/AI/vox_reminder6.ogg and /dev/null differ diff --git a/sound/AI/vox_reminder7.ogg b/sound/AI/vox_reminder7.ogg deleted file mode 100644 index 944e3303b79..00000000000 Binary files a/sound/AI/vox_reminder7.ogg and /dev/null differ diff --git a/sound/AI/vox_reminder8.ogg b/sound/AI/vox_reminder8.ogg deleted file mode 100644 index 44ce704f9a5..00000000000 Binary files a/sound/AI/vox_reminder8.ogg and /dev/null differ diff --git a/sound/AI/vox_reminder9.ogg b/sound/AI/vox_reminder9.ogg deleted file mode 100644 index 48b40acab1b..00000000000 Binary files a/sound/AI/vox_reminder9.ogg and /dev/null differ diff --git a/sound/vox/,.wav b/sound/vox/,.wav deleted file mode 100644 index 31a47dca600..00000000000 Binary files a/sound/vox/,.wav and /dev/null differ diff --git a/sound/vox/..wav b/sound/vox/..wav deleted file mode 100644 index 7eeb1eb9bc5..00000000000 Binary files a/sound/vox/..wav and /dev/null differ diff --git a/sound/vox/bizwarn.wav b/sound/vox/bizwarn.wav deleted file mode 100644 index ff392b491a0..00000000000 Binary files a/sound/vox/bizwarn.wav and /dev/null differ diff --git a/sound/vox/bloop.wav b/sound/vox/bloop.wav deleted file mode 100644 index 49cf90c5230..00000000000 Binary files a/sound/vox/bloop.wav and /dev/null differ diff --git a/sound/vox/buzwarn.wav b/sound/vox/buzwarn.wav deleted file mode 100644 index 82ddd2cdb37..00000000000 Binary files a/sound/vox/buzwarn.wav and /dev/null differ diff --git a/sound/vox/dadeda.wav b/sound/vox/dadeda.wav deleted file mode 100644 index 2ac0ff589af..00000000000 Binary files a/sound/vox/dadeda.wav and /dev/null differ diff --git a/sound/vox/doop.wav b/sound/vox/doop.wav deleted file mode 100644 index 14bce15cea0..00000000000 Binary files a/sound/vox/doop.wav and /dev/null differ diff --git a/sound/vox/woop.wav b/sound/vox/woop.wav deleted file mode 100644 index 62fa99cb3b7..00000000000 Binary files a/sound/vox/woop.wav and /dev/null differ diff --git a/sound/vox_fem/,.ogg b/sound/vox_fem/,.ogg new file mode 100644 index 00000000000..a94221d0ed6 Binary files /dev/null and b/sound/vox_fem/,.ogg differ diff --git a/sound/vox_fem/..ogg b/sound/vox_fem/..ogg new file mode 100644 index 00000000000..e333dc159b4 Binary files /dev/null and b/sound/vox_fem/..ogg differ diff --git a/sound/vox_fem/a.ogg b/sound/vox_fem/a.ogg index f8586ff3f4f..f91e6de8f29 100644 Binary files a/sound/vox_fem/a.ogg and b/sound/vox_fem/a.ogg differ diff --git a/sound/vox_fem/abortions.ogg b/sound/vox_fem/abortions.ogg index aad0dc8998e..1eecff6c89d 100644 Binary files a/sound/vox_fem/abortions.ogg and b/sound/vox_fem/abortions.ogg differ diff --git a/sound/vox_fem/accelerating.ogg b/sound/vox_fem/accelerating.ogg index ac62ab27570..2ad134d963d 100644 Binary files a/sound/vox_fem/accelerating.ogg and b/sound/vox_fem/accelerating.ogg differ diff --git a/sound/vox_fem/accelerator.ogg b/sound/vox_fem/accelerator.ogg index 5554fdd48b0..3cc4044525a 100644 Binary files a/sound/vox_fem/accelerator.ogg and b/sound/vox_fem/accelerator.ogg differ diff --git a/sound/vox_fem/accepted.ogg b/sound/vox_fem/accepted.ogg index 957c774bb5c..0e93357e9d6 100644 Binary files a/sound/vox_fem/accepted.ogg and b/sound/vox_fem/accepted.ogg differ diff --git a/sound/vox_fem/access.ogg b/sound/vox_fem/access.ogg index 719d03ef016..21c926651cc 100644 Binary files a/sound/vox_fem/access.ogg and b/sound/vox_fem/access.ogg differ diff --git a/sound/vox_fem/acknowledge.ogg b/sound/vox_fem/acknowledge.ogg index ec57ab64d2c..29938de29de 100644 Binary files a/sound/vox_fem/acknowledge.ogg and b/sound/vox_fem/acknowledge.ogg differ diff --git a/sound/vox_fem/acknowledged.ogg b/sound/vox_fem/acknowledged.ogg index 13e4cb19bb7..910a31fc179 100644 Binary files a/sound/vox_fem/acknowledged.ogg and b/sound/vox_fem/acknowledged.ogg differ diff --git a/sound/vox_fem/acquired.ogg b/sound/vox_fem/acquired.ogg index 87fc40864db..8248e057782 100644 Binary files a/sound/vox_fem/acquired.ogg and b/sound/vox_fem/acquired.ogg differ diff --git a/sound/vox_fem/acquisition.ogg b/sound/vox_fem/acquisition.ogg index 7d38f4dc2dc..28d3dc67355 100644 Binary files a/sound/vox_fem/acquisition.ogg and b/sound/vox_fem/acquisition.ogg differ diff --git a/sound/vox_fem/across.ogg b/sound/vox_fem/across.ogg index 9a691d63424..e3a82f7ee9a 100644 Binary files a/sound/vox_fem/across.ogg and b/sound/vox_fem/across.ogg differ diff --git a/sound/vox_fem/activate.ogg b/sound/vox_fem/activate.ogg index dc3d7dd4f2e..662f74e7a51 100644 Binary files a/sound/vox_fem/activate.ogg and b/sound/vox_fem/activate.ogg differ diff --git a/sound/vox_fem/activated.ogg b/sound/vox_fem/activated.ogg index c3a77137444..526352d0bed 100644 Binary files a/sound/vox_fem/activated.ogg and b/sound/vox_fem/activated.ogg differ diff --git a/sound/vox_fem/activity.ogg b/sound/vox_fem/activity.ogg index 024bc60e6e6..b45be28c061 100644 Binary files a/sound/vox_fem/activity.ogg and b/sound/vox_fem/activity.ogg differ diff --git a/sound/vox_fem/adios.ogg b/sound/vox_fem/adios.ogg index 22cc6e2c6c6..d90dec63ab4 100644 Binary files a/sound/vox_fem/adios.ogg and b/sound/vox_fem/adios.ogg differ diff --git a/sound/vox_fem/administration.ogg b/sound/vox_fem/administration.ogg index 64a46a880fd..89df9d6889d 100644 Binary files a/sound/vox_fem/administration.ogg and b/sound/vox_fem/administration.ogg differ diff --git a/sound/vox_fem/advanced.ogg b/sound/vox_fem/advanced.ogg index 5e8228d71e0..04359f62e25 100644 Binary files a/sound/vox_fem/advanced.ogg and b/sound/vox_fem/advanced.ogg differ diff --git a/sound/vox_fem/aft.ogg b/sound/vox_fem/aft.ogg index c204c2cc75e..c7d967e8159 100644 Binary files a/sound/vox_fem/aft.ogg and b/sound/vox_fem/aft.ogg differ diff --git a/sound/vox_fem/after.ogg b/sound/vox_fem/after.ogg index a8723bda749..950e3019b22 100644 Binary files a/sound/vox_fem/after.ogg and b/sound/vox_fem/after.ogg differ diff --git a/sound/vox_fem/agent.ogg b/sound/vox_fem/agent.ogg index 8ec324a5280..0375ccaa700 100644 Binary files a/sound/vox_fem/agent.ogg and b/sound/vox_fem/agent.ogg differ diff --git a/sound/vox_fem/ai.ogg b/sound/vox_fem/ai.ogg index bcfd3b61d4c..af61ae25cec 100644 Binary files a/sound/vox_fem/ai.ogg and b/sound/vox_fem/ai.ogg differ diff --git a/sound/vox_fem/alarm.ogg b/sound/vox_fem/alarm.ogg index 9506d13030f..b3aad597351 100644 Binary files a/sound/vox_fem/alarm.ogg and b/sound/vox_fem/alarm.ogg differ diff --git a/sound/vox_fem/alert.ogg b/sound/vox_fem/alert.ogg index 27f44e2c4d6..9e66d9b1c2d 100644 Binary files a/sound/vox_fem/alert.ogg and b/sound/vox_fem/alert.ogg differ diff --git a/sound/vox_fem/alien.ogg b/sound/vox_fem/alien.ogg index ada5129433b..4895423f5e9 100644 Binary files a/sound/vox_fem/alien.ogg and b/sound/vox_fem/alien.ogg differ diff --git a/sound/vox_fem/aligned.ogg b/sound/vox_fem/aligned.ogg index 9f897e64992..9a427ad6fb7 100644 Binary files a/sound/vox_fem/aligned.ogg and b/sound/vox_fem/aligned.ogg differ diff --git a/sound/vox_fem/all.ogg b/sound/vox_fem/all.ogg index 4f877930fdd..d02fbf8d5b5 100644 Binary files a/sound/vox_fem/all.ogg and b/sound/vox_fem/all.ogg differ diff --git a/sound/vox_fem/alpha.ogg b/sound/vox_fem/alpha.ogg index 267a60099fd..ab5aa85a0f6 100644 Binary files a/sound/vox_fem/alpha.ogg and b/sound/vox_fem/alpha.ogg differ diff --git a/sound/vox_fem/am.ogg b/sound/vox_fem/am.ogg index 672b90fc4cb..a38d05c9356 100644 Binary files a/sound/vox_fem/am.ogg and b/sound/vox_fem/am.ogg differ diff --git a/sound/vox_fem/amigo.ogg b/sound/vox_fem/amigo.ogg index c8893cf80b0..efe51a5568e 100644 Binary files a/sound/vox_fem/amigo.ogg and b/sound/vox_fem/amigo.ogg differ diff --git a/sound/vox_fem/ammunition.ogg b/sound/vox_fem/ammunition.ogg index baddeb63c7a..e13406ab284 100644 Binary files a/sound/vox_fem/ammunition.ogg and b/sound/vox_fem/ammunition.ogg differ diff --git a/sound/vox_fem/an.ogg b/sound/vox_fem/an.ogg index 934edd45030..c371f13ee35 100644 Binary files a/sound/vox_fem/an.ogg and b/sound/vox_fem/an.ogg differ diff --git a/sound/vox_fem/and.ogg b/sound/vox_fem/and.ogg index 43ae135e385..6765aaa98d0 100644 Binary files a/sound/vox_fem/and.ogg and b/sound/vox_fem/and.ogg differ diff --git a/sound/vox_fem/andy.ogg b/sound/vox_fem/andy.ogg index 04202ef19fd..9d203a3e093 100644 Binary files a/sound/vox_fem/andy.ogg and b/sound/vox_fem/andy.ogg differ diff --git a/sound/vox_fem/announcement.ogg b/sound/vox_fem/announcement.ogg index 21b07e81845..16cc4b45710 100644 Binary files a/sound/vox_fem/announcement.ogg and b/sound/vox_fem/announcement.ogg differ diff --git a/sound/vox_fem/anomalous.ogg b/sound/vox_fem/anomalous.ogg index 6a3ec40c2f7..00849a70c75 100644 Binary files a/sound/vox_fem/anomalous.ogg and b/sound/vox_fem/anomalous.ogg differ diff --git a/sound/vox_fem/antenna.ogg b/sound/vox_fem/antenna.ogg index 78dfc7db3b5..65e50cb55d5 100644 Binary files a/sound/vox_fem/antenna.ogg and b/sound/vox_fem/antenna.ogg differ diff --git a/sound/vox_fem/antimov.ogg b/sound/vox_fem/antimov.ogg index a4024f4c86f..703192d9ea5 100644 Binary files a/sound/vox_fem/antimov.ogg and b/sound/vox_fem/antimov.ogg differ diff --git a/sound/vox_fem/any.ogg b/sound/vox_fem/any.ogg index 110cbe5252b..bf10035db98 100644 Binary files a/sound/vox_fem/any.ogg and b/sound/vox_fem/any.ogg differ diff --git a/sound/vox_fem/apprehend.ogg b/sound/vox_fem/apprehend.ogg index 984729387ae..8b84b7b5439 100644 Binary files a/sound/vox_fem/apprehend.ogg and b/sound/vox_fem/apprehend.ogg differ diff --git a/sound/vox_fem/approach.ogg b/sound/vox_fem/approach.ogg index ce830838ae5..e1514d1bded 100644 Binary files a/sound/vox_fem/approach.ogg and b/sound/vox_fem/approach.ogg differ diff --git a/sound/vox_fem/are.ogg b/sound/vox_fem/are.ogg index d4e20feb381..c91427b9760 100644 Binary files a/sound/vox_fem/are.ogg and b/sound/vox_fem/are.ogg differ diff --git a/sound/vox_fem/area.ogg b/sound/vox_fem/area.ogg index 42b7bdcef85..7bb402ba3e8 100644 Binary files a/sound/vox_fem/area.ogg and b/sound/vox_fem/area.ogg differ diff --git a/sound/vox_fem/arm.ogg b/sound/vox_fem/arm.ogg index 054c8e4ed08..270325ca9b6 100644 Binary files a/sound/vox_fem/arm.ogg and b/sound/vox_fem/arm.ogg differ diff --git a/sound/vox_fem/armed.ogg b/sound/vox_fem/armed.ogg index ec533b53e69..6710dc13328 100644 Binary files a/sound/vox_fem/armed.ogg and b/sound/vox_fem/armed.ogg differ diff --git a/sound/vox_fem/armor.ogg b/sound/vox_fem/armor.ogg index 20366b4252e..be00c5c1aed 100644 Binary files a/sound/vox_fem/armor.ogg and b/sound/vox_fem/armor.ogg differ diff --git a/sound/vox_fem/armory.ogg b/sound/vox_fem/armory.ogg index 8b1247980a8..1b8b486713f 100644 Binary files a/sound/vox_fem/armory.ogg and b/sound/vox_fem/armory.ogg differ diff --git a/sound/vox_fem/array.ogg b/sound/vox_fem/array.ogg index 8b3abe58c03..3caabbf9d94 100644 Binary files a/sound/vox_fem/array.ogg and b/sound/vox_fem/array.ogg differ diff --git a/sound/vox_fem/arrest.ogg b/sound/vox_fem/arrest.ogg index ec6ca532849..db4291d93eb 100644 Binary files a/sound/vox_fem/arrest.ogg and b/sound/vox_fem/arrest.ogg differ diff --git a/sound/vox_fem/asimov.ogg b/sound/vox_fem/asimov.ogg index 8aec1470ea6..6665a1c2b6a 100644 Binary files a/sound/vox_fem/asimov.ogg and b/sound/vox_fem/asimov.ogg differ diff --git a/sound/vox_fem/ass.ogg b/sound/vox_fem/ass.ogg index d788bb16ee2..ab51e76032d 100644 Binary files a/sound/vox_fem/ass.ogg and b/sound/vox_fem/ass.ogg differ diff --git a/sound/vox_fem/asshole.ogg b/sound/vox_fem/asshole.ogg index 078f89c074a..d446c21281a 100644 Binary files a/sound/vox_fem/asshole.ogg and b/sound/vox_fem/asshole.ogg differ diff --git a/sound/vox_fem/assholes.ogg b/sound/vox_fem/assholes.ogg index 003ae751065..ce06096ef42 100644 Binary files a/sound/vox_fem/assholes.ogg and b/sound/vox_fem/assholes.ogg differ diff --git a/sound/vox_fem/at.ogg b/sound/vox_fem/at.ogg index d279929a997..446edf47878 100644 Binary files a/sound/vox_fem/at.ogg and b/sound/vox_fem/at.ogg differ diff --git a/sound/vox_fem/atmospherics.ogg b/sound/vox_fem/atmospherics.ogg index af8b5f58d13..f648ab66804 100644 Binary files a/sound/vox_fem/atmospherics.ogg and b/sound/vox_fem/atmospherics.ogg differ diff --git a/sound/vox_fem/atomic.ogg b/sound/vox_fem/atomic.ogg index e3212233859..6d75570f0e8 100644 Binary files a/sound/vox_fem/atomic.ogg and b/sound/vox_fem/atomic.ogg differ diff --git a/sound/vox_fem/attention.ogg b/sound/vox_fem/attention.ogg index 30d23c4745e..1de7b20fca9 100644 Binary files a/sound/vox_fem/attention.ogg and b/sound/vox_fem/attention.ogg differ diff --git a/sound/vox_fem/authorize.ogg b/sound/vox_fem/authorize.ogg index ee93bf4b734..332ed3b3314 100644 Binary files a/sound/vox_fem/authorize.ogg and b/sound/vox_fem/authorize.ogg differ diff --git a/sound/vox_fem/authorized.ogg b/sound/vox_fem/authorized.ogg index 05be5455f69..d7f91f81328 100644 Binary files a/sound/vox_fem/authorized.ogg and b/sound/vox_fem/authorized.ogg differ diff --git a/sound/vox_fem/automatic.ogg b/sound/vox_fem/automatic.ogg index afe4ae20f75..2f7fedada2e 100644 Binary files a/sound/vox_fem/automatic.ogg and b/sound/vox_fem/automatic.ogg differ diff --git a/sound/vox_fem/away.ogg b/sound/vox_fem/away.ogg index c4a2b4d7622..3f482d5ccf3 100644 Binary files a/sound/vox_fem/away.ogg and b/sound/vox_fem/away.ogg differ diff --git a/sound/vox_fem/b.ogg b/sound/vox_fem/b.ogg index 1a5e37614af..9985f7c56aa 100644 Binary files a/sound/vox_fem/b.ogg and b/sound/vox_fem/b.ogg differ diff --git a/sound/vox_fem/back.ogg b/sound/vox_fem/back.ogg index 7b54d32b7fe..87fd5b3cc0d 100644 Binary files a/sound/vox_fem/back.ogg and b/sound/vox_fem/back.ogg differ diff --git a/sound/vox_fem/backman.ogg b/sound/vox_fem/backman.ogg index 21b52af358c..6b3e758e90b 100644 Binary files a/sound/vox_fem/backman.ogg and b/sound/vox_fem/backman.ogg differ diff --git a/sound/vox_fem/bad.ogg b/sound/vox_fem/bad.ogg index 91beddc89a5..3dd4e2cec6b 100644 Binary files a/sound/vox_fem/bad.ogg and b/sound/vox_fem/bad.ogg differ diff --git a/sound/vox_fem/bag.ogg b/sound/vox_fem/bag.ogg index 07a3e628aa9..04d64df9f2f 100644 Binary files a/sound/vox_fem/bag.ogg and b/sound/vox_fem/bag.ogg differ diff --git a/sound/vox_fem/bailey.ogg b/sound/vox_fem/bailey.ogg index eeba1331b29..25fee818440 100644 Binary files a/sound/vox_fem/bailey.ogg and b/sound/vox_fem/bailey.ogg differ diff --git a/sound/vox_fem/bar.ogg b/sound/vox_fem/bar.ogg index cc106c3d35a..f09b2e70446 100644 Binary files a/sound/vox_fem/bar.ogg and b/sound/vox_fem/bar.ogg differ diff --git a/sound/vox_fem/barracks.ogg b/sound/vox_fem/barracks.ogg index 72f373dea52..6f78b3a8202 100644 Binary files a/sound/vox_fem/barracks.ogg and b/sound/vox_fem/barracks.ogg differ diff --git a/sound/vox_fem/base.ogg b/sound/vox_fem/base.ogg index bdebf19e7d8..9706d299453 100644 Binary files a/sound/vox_fem/base.ogg and b/sound/vox_fem/base.ogg differ diff --git a/sound/vox_fem/bay.ogg b/sound/vox_fem/bay.ogg index 39d12d215b2..a4aac8563f3 100644 Binary files a/sound/vox_fem/bay.ogg and b/sound/vox_fem/bay.ogg differ diff --git a/sound/vox_fem/be.ogg b/sound/vox_fem/be.ogg index def3d65e668..e3ee37f2a04 100644 Binary files a/sound/vox_fem/be.ogg and b/sound/vox_fem/be.ogg differ diff --git a/sound/vox_fem/been.ogg b/sound/vox_fem/been.ogg index 3ae1af6ea84..202d8f229cd 100644 Binary files a/sound/vox_fem/been.ogg and b/sound/vox_fem/been.ogg differ diff --git a/sound/vox_fem/before.ogg b/sound/vox_fem/before.ogg index 6ab3bb13d57..9b25bf1d2c6 100644 Binary files a/sound/vox_fem/before.ogg and b/sound/vox_fem/before.ogg differ diff --git a/sound/vox_fem/beyond.ogg b/sound/vox_fem/beyond.ogg index 66cd48042e7..d9064b764a3 100644 Binary files a/sound/vox_fem/beyond.ogg and b/sound/vox_fem/beyond.ogg differ diff --git a/sound/vox_fem/biohazard.ogg b/sound/vox_fem/biohazard.ogg index d7d1ca71429..914a083c5be 100644 Binary files a/sound/vox_fem/biohazard.ogg and b/sound/vox_fem/biohazard.ogg differ diff --git a/sound/vox_fem/biological.ogg b/sound/vox_fem/biological.ogg index 467e7613994..4efbb349702 100644 Binary files a/sound/vox_fem/biological.ogg and b/sound/vox_fem/biological.ogg differ diff --git a/sound/vox_fem/biomass.ogg b/sound/vox_fem/biomass.ogg new file mode 100644 index 00000000000..ffbfa6ac141 Binary files /dev/null and b/sound/vox_fem/biomass.ogg differ diff --git a/sound/vox_fem/birdwell.ogg b/sound/vox_fem/birdwell.ogg index 62fbba5f46d..b291d8d40b2 100644 Binary files a/sound/vox_fem/birdwell.ogg and b/sound/vox_fem/birdwell.ogg differ diff --git a/sound/vox_fem/bitch.ogg b/sound/vox_fem/bitch.ogg index b249183f26c..348715b1517 100644 Binary files a/sound/vox_fem/bitch.ogg and b/sound/vox_fem/bitch.ogg differ diff --git a/sound/vox_fem/bitches.ogg b/sound/vox_fem/bitches.ogg index 59e8278fb67..dab8e1257ab 100644 Binary files a/sound/vox_fem/bitches.ogg and b/sound/vox_fem/bitches.ogg differ diff --git a/sound/vox_fem/bizwarn.ogg b/sound/vox_fem/bizwarn.ogg new file mode 100644 index 00000000000..0657b597e08 Binary files /dev/null and b/sound/vox_fem/bizwarn.ogg differ diff --git a/sound/vox_fem/black.ogg b/sound/vox_fem/black.ogg index 5e56294abc7..9c74790de48 100644 Binary files a/sound/vox_fem/black.ogg and b/sound/vox_fem/black.ogg differ diff --git a/sound/vox_fem/blast.ogg b/sound/vox_fem/blast.ogg index bc426dfb2b6..21d13d1e3ba 100644 Binary files a/sound/vox_fem/blast.ogg and b/sound/vox_fem/blast.ogg differ diff --git a/sound/vox_fem/blocked.ogg b/sound/vox_fem/blocked.ogg index 0607eff176e..0d97cf44e04 100644 Binary files a/sound/vox_fem/blocked.ogg and b/sound/vox_fem/blocked.ogg differ diff --git a/sound/vox_fem/bloop.ogg b/sound/vox_fem/bloop.ogg new file mode 100644 index 00000000000..4c7dee67b23 Binary files /dev/null and b/sound/vox_fem/bloop.ogg differ diff --git a/sound/vox_fem/blue.ogg b/sound/vox_fem/blue.ogg index cb7e31326ab..2bca816f342 100644 Binary files a/sound/vox_fem/blue.ogg and b/sound/vox_fem/blue.ogg differ diff --git a/sound/vox_fem/bomb.ogg b/sound/vox_fem/bomb.ogg index b723e38712b..f2e27ea201b 100644 Binary files a/sound/vox_fem/bomb.ogg and b/sound/vox_fem/bomb.ogg differ diff --git a/sound/vox_fem/bombs.ogg b/sound/vox_fem/bombs.ogg index 2df7fc840ce..6b867dcad1d 100644 Binary files a/sound/vox_fem/bombs.ogg and b/sound/vox_fem/bombs.ogg differ diff --git a/sound/vox_fem/borer.ogg b/sound/vox_fem/borer.ogg index faf996f3447..f3654dcb5e3 100644 Binary files a/sound/vox_fem/borer.ogg and b/sound/vox_fem/borer.ogg differ diff --git a/sound/vox_fem/borers.ogg b/sound/vox_fem/borers.ogg index 84e27c1c199..5cc21340182 100644 Binary files a/sound/vox_fem/borers.ogg and b/sound/vox_fem/borers.ogg differ diff --git a/sound/vox_fem/botanist.ogg b/sound/vox_fem/botanist.ogg index 996e37c7ab9..fae25fc1c56 100644 Binary files a/sound/vox_fem/botanist.ogg and b/sound/vox_fem/botanist.ogg differ diff --git a/sound/vox_fem/botanists.ogg b/sound/vox_fem/botanists.ogg index 69283b2a10d..c9a938a1d0e 100644 Binary files a/sound/vox_fem/botanists.ogg and b/sound/vox_fem/botanists.ogg differ diff --git a/sound/vox_fem/bottom.ogg b/sound/vox_fem/bottom.ogg index 7cdb0c8e8a6..c1850574c58 100644 Binary files a/sound/vox_fem/bottom.ogg and b/sound/vox_fem/bottom.ogg differ diff --git a/sound/vox_fem/brain.ogg b/sound/vox_fem/brain.ogg index eb1dd29e5e8..b6798b5107d 100644 Binary files a/sound/vox_fem/brain.ogg and b/sound/vox_fem/brain.ogg differ diff --git a/sound/vox_fem/brains.ogg b/sound/vox_fem/brains.ogg index 16f1ee923b0..2928339732c 100644 Binary files a/sound/vox_fem/brains.ogg and b/sound/vox_fem/brains.ogg differ diff --git a/sound/vox_fem/bravo.ogg b/sound/vox_fem/bravo.ogg index 83369d0e98e..eaba95e28b6 100644 Binary files a/sound/vox_fem/bravo.ogg and b/sound/vox_fem/bravo.ogg differ diff --git a/sound/vox_fem/brawl.ogg b/sound/vox_fem/brawl.ogg index e8a0767918a..afcaddcf894 100644 Binary files a/sound/vox_fem/brawl.ogg and b/sound/vox_fem/brawl.ogg differ diff --git a/sound/vox_fem/breach.ogg b/sound/vox_fem/breach.ogg index 09461b2ff40..b95f17f8d7c 100644 Binary files a/sound/vox_fem/breach.ogg and b/sound/vox_fem/breach.ogg differ diff --git a/sound/vox_fem/breached.ogg b/sound/vox_fem/breached.ogg index 0d8981f58b6..fd5369c05ac 100644 Binary files a/sound/vox_fem/breached.ogg and b/sound/vox_fem/breached.ogg differ diff --git a/sound/vox_fem/break.ogg b/sound/vox_fem/break.ogg index a5594727d20..7a846fad7f4 100644 Binary files a/sound/vox_fem/break.ogg and b/sound/vox_fem/break.ogg differ diff --git a/sound/vox_fem/bridge.ogg b/sound/vox_fem/bridge.ogg index 2bf7a914416..9d99aaf7067 100644 Binary files a/sound/vox_fem/bridge.ogg and b/sound/vox_fem/bridge.ogg differ diff --git a/sound/vox_fem/brig.ogg b/sound/vox_fem/brig.ogg index 89a606d8828..d6f25e058cb 100644 Binary files a/sound/vox_fem/brig.ogg and b/sound/vox_fem/brig.ogg differ diff --git a/sound/vox_fem/bust.ogg b/sound/vox_fem/bust.ogg index c8767990cb7..eb227024863 100644 Binary files a/sound/vox_fem/bust.ogg and b/sound/vox_fem/bust.ogg differ diff --git a/sound/vox_fem/but.ogg b/sound/vox_fem/but.ogg index 96d17763e3b..a1c80f6d5d7 100644 Binary files a/sound/vox_fem/but.ogg and b/sound/vox_fem/but.ogg differ diff --git a/sound/vox_fem/button.ogg b/sound/vox_fem/button.ogg index e69e53cad5a..b31c342b149 100644 Binary files a/sound/vox_fem/button.ogg and b/sound/vox_fem/button.ogg differ diff --git a/sound/vox_fem/buzwarn.ogg b/sound/vox_fem/buzwarn.ogg new file mode 100644 index 00000000000..eecd2f6a614 Binary files /dev/null and b/sound/vox_fem/buzwarn.ogg differ diff --git a/sound/vox_fem/bypass.ogg b/sound/vox_fem/bypass.ogg index 8f0a9d88c5f..f5e7449143b 100644 Binary files a/sound/vox_fem/bypass.ogg and b/sound/vox_fem/bypass.ogg differ diff --git a/sound/vox_fem/c.ogg b/sound/vox_fem/c.ogg index ca83d3dec41..4fdccce68c4 100644 Binary files a/sound/vox_fem/c.ogg and b/sound/vox_fem/c.ogg differ diff --git a/sound/vox_fem/cable.ogg b/sound/vox_fem/cable.ogg index 2e11b1130ba..d859a727291 100644 Binary files a/sound/vox_fem/cable.ogg and b/sound/vox_fem/cable.ogg differ diff --git a/sound/vox_fem/cage.ogg b/sound/vox_fem/cage.ogg index 3a2bbfa401b..dd2439e5f57 100644 Binary files a/sound/vox_fem/cage.ogg and b/sound/vox_fem/cage.ogg differ diff --git a/sound/vox_fem/call.ogg b/sound/vox_fem/call.ogg index c4586f86e35..9040e35ca1a 100644 Binary files a/sound/vox_fem/call.ogg and b/sound/vox_fem/call.ogg differ diff --git a/sound/vox_fem/called.ogg b/sound/vox_fem/called.ogg index 731e1899afd..b40530537dd 100644 Binary files a/sound/vox_fem/called.ogg and b/sound/vox_fem/called.ogg differ diff --git a/sound/vox_fem/can.ogg b/sound/vox_fem/can.ogg index c8f7e13f91b..3173d4033c9 100644 Binary files a/sound/vox_fem/can.ogg and b/sound/vox_fem/can.ogg differ diff --git a/sound/vox_fem/canal.ogg b/sound/vox_fem/canal.ogg index 492f1213222..74b888be6bf 100644 Binary files a/sound/vox_fem/canal.ogg and b/sound/vox_fem/canal.ogg differ diff --git a/sound/vox_fem/cancer.ogg b/sound/vox_fem/cancer.ogg index 585d2b02e7a..79255907baf 100644 Binary files a/sound/vox_fem/cancer.ogg and b/sound/vox_fem/cancer.ogg differ diff --git a/sound/vox_fem/cap.ogg b/sound/vox_fem/cap.ogg index 5afeaf686ec..842cd36f51a 100644 Binary files a/sound/vox_fem/cap.ogg and b/sound/vox_fem/cap.ogg differ diff --git a/sound/vox_fem/captain.ogg b/sound/vox_fem/captain.ogg index 9283d8d59ba..b3c418cdd33 100644 Binary files a/sound/vox_fem/captain.ogg and b/sound/vox_fem/captain.ogg differ diff --git a/sound/vox_fem/capture.ogg b/sound/vox_fem/capture.ogg index 21329fb4cd2..7ff6e2d303f 100644 Binary files a/sound/vox_fem/capture.ogg and b/sound/vox_fem/capture.ogg differ diff --git a/sound/vox_fem/cargo.ogg b/sound/vox_fem/cargo.ogg index 36971fa0d66..bacb92bcefc 100644 Binary files a/sound/vox_fem/cargo.ogg and b/sound/vox_fem/cargo.ogg differ diff --git a/sound/vox_fem/catbeast.ogg b/sound/vox_fem/catbeast.ogg index b6db3840a76..0d685101f14 100644 Binary files a/sound/vox_fem/catbeast.ogg and b/sound/vox_fem/catbeast.ogg differ diff --git a/sound/vox_fem/ce.ogg b/sound/vox_fem/ce.ogg index 42c5ce8c485..8135a0e75e1 100644 Binary files a/sound/vox_fem/ce.ogg and b/sound/vox_fem/ce.ogg differ diff --git a/sound/vox_fem/ceiling.ogg b/sound/vox_fem/ceiling.ogg index 2f5a4ea9361..23077d3190f 100644 Binary files a/sound/vox_fem/ceiling.ogg and b/sound/vox_fem/ceiling.ogg differ diff --git a/sound/vox_fem/celsius.ogg b/sound/vox_fem/celsius.ogg index 23705c1bcfc..c581b1826c6 100644 Binary files a/sound/vox_fem/celsius.ogg and b/sound/vox_fem/celsius.ogg differ diff --git a/sound/vox_fem/centcom.ogg b/sound/vox_fem/centcom.ogg new file mode 100644 index 00000000000..fa959cf317e Binary files /dev/null and b/sound/vox_fem/centcom.ogg differ diff --git a/sound/vox_fem/centcomm.ogg b/sound/vox_fem/centcomm.ogg deleted file mode 100644 index 43d912a77d3..00000000000 Binary files a/sound/vox_fem/centcomm.ogg and /dev/null differ diff --git a/sound/vox_fem/center.ogg b/sound/vox_fem/center.ogg index 39b8a3fe440..25287989017 100644 Binary files a/sound/vox_fem/center.ogg and b/sound/vox_fem/center.ogg differ diff --git a/sound/vox_fem/centi.ogg b/sound/vox_fem/centi.ogg index 69e9851eaf3..1edbec2af63 100644 Binary files a/sound/vox_fem/centi.ogg and b/sound/vox_fem/centi.ogg differ diff --git a/sound/vox_fem/central.ogg b/sound/vox_fem/central.ogg index cb3832bbea0..46391d79d5f 100644 Binary files a/sound/vox_fem/central.ogg and b/sound/vox_fem/central.ogg differ diff --git a/sound/vox_fem/chamber.ogg b/sound/vox_fem/chamber.ogg index 73950b92f67..2ebe6e95ef8 100644 Binary files a/sound/vox_fem/chamber.ogg and b/sound/vox_fem/chamber.ogg differ diff --git a/sound/vox_fem/changed.ogg b/sound/vox_fem/changed.ogg index 2011896fdf3..a18a7e0bfa9 100644 Binary files a/sound/vox_fem/changed.ogg and b/sound/vox_fem/changed.ogg differ diff --git a/sound/vox_fem/changeling.ogg b/sound/vox_fem/changeling.ogg index 637a086d375..93b121f1bcf 100644 Binary files a/sound/vox_fem/changeling.ogg and b/sound/vox_fem/changeling.ogg differ diff --git a/sound/vox_fem/changelings.ogg b/sound/vox_fem/changelings.ogg index 82abd5871d2..711aa41d6e9 100644 Binary files a/sound/vox_fem/changelings.ogg and b/sound/vox_fem/changelings.ogg differ diff --git a/sound/vox_fem/changer.ogg b/sound/vox_fem/changer.ogg index 16390b9072e..5f8192cc0b7 100644 Binary files a/sound/vox_fem/changer.ogg and b/sound/vox_fem/changer.ogg differ diff --git a/sound/vox_fem/charlie.ogg b/sound/vox_fem/charlie.ogg index 21426cc32fd..0178175604a 100644 Binary files a/sound/vox_fem/charlie.ogg and b/sound/vox_fem/charlie.ogg differ diff --git a/sound/vox_fem/check.ogg b/sound/vox_fem/check.ogg index 41370c8752b..111d71d51aa 100644 Binary files a/sound/vox_fem/check.ogg and b/sound/vox_fem/check.ogg differ diff --git a/sound/vox_fem/checkpoint.ogg b/sound/vox_fem/checkpoint.ogg index 50a94e61e9e..591e4506a73 100644 Binary files a/sound/vox_fem/checkpoint.ogg and b/sound/vox_fem/checkpoint.ogg differ diff --git a/sound/vox_fem/chef.ogg b/sound/vox_fem/chef.ogg index 05cf429c08b..47f0198e0f2 100644 Binary files a/sound/vox_fem/chef.ogg and b/sound/vox_fem/chef.ogg differ diff --git a/sound/vox_fem/chefs.ogg b/sound/vox_fem/chefs.ogg index 6b960377dcd..b9094ee2dad 100644 Binary files a/sound/vox_fem/chefs.ogg and b/sound/vox_fem/chefs.ogg differ diff --git a/sound/vox_fem/chemical.ogg b/sound/vox_fem/chemical.ogg index 14faeee75f5..f79015a82f3 100644 Binary files a/sound/vox_fem/chemical.ogg and b/sound/vox_fem/chemical.ogg differ diff --git a/sound/vox_fem/chemist.ogg b/sound/vox_fem/chemist.ogg index 2c338045d5a..63d3ced716d 100644 Binary files a/sound/vox_fem/chemist.ogg and b/sound/vox_fem/chemist.ogg differ diff --git a/sound/vox_fem/chemists.ogg b/sound/vox_fem/chemists.ogg index 1ec58c6c731..c366abeb7d4 100644 Binary files a/sound/vox_fem/chemists.ogg and b/sound/vox_fem/chemists.ogg differ diff --git a/sound/vox_fem/cleanup.ogg b/sound/vox_fem/cleanup.ogg index 59499613ddf..21bb9439055 100644 Binary files a/sound/vox_fem/cleanup.ogg and b/sound/vox_fem/cleanup.ogg differ diff --git a/sound/vox_fem/clear.ogg b/sound/vox_fem/clear.ogg index 2c34d07d609..28bc282ae23 100644 Binary files a/sound/vox_fem/clear.ogg and b/sound/vox_fem/clear.ogg differ diff --git a/sound/vox_fem/clearance.ogg b/sound/vox_fem/clearance.ogg index 98a7cfb0a97..31e27ea4532 100644 Binary files a/sound/vox_fem/clearance.ogg and b/sound/vox_fem/clearance.ogg differ diff --git a/sound/vox_fem/close.ogg b/sound/vox_fem/close.ogg index 0c4f3818b88..e478f3c2423 100644 Binary files a/sound/vox_fem/close.ogg and b/sound/vox_fem/close.ogg differ diff --git a/sound/vox_fem/clown.ogg b/sound/vox_fem/clown.ogg index 4c305e48598..3d92a003732 100644 Binary files a/sound/vox_fem/clown.ogg and b/sound/vox_fem/clown.ogg differ diff --git a/sound/vox_fem/clowns.ogg b/sound/vox_fem/clowns.ogg index ab50d3eaefb..37ec747f948 100644 Binary files a/sound/vox_fem/clowns.ogg and b/sound/vox_fem/clowns.ogg differ diff --git a/sound/vox_fem/cmo.ogg b/sound/vox_fem/cmo.ogg index 93f2d8962db..76feb26cfe6 100644 Binary files a/sound/vox_fem/cmo.ogg and b/sound/vox_fem/cmo.ogg differ diff --git a/sound/vox_fem/code.ogg b/sound/vox_fem/code.ogg index f26a06203c0..2f4f969e63c 100644 Binary files a/sound/vox_fem/code.ogg and b/sound/vox_fem/code.ogg differ diff --git a/sound/vox_fem/coded.ogg b/sound/vox_fem/coded.ogg index 738ba904c1a..a82df555807 100644 Binary files a/sound/vox_fem/coded.ogg and b/sound/vox_fem/coded.ogg differ diff --git a/sound/vox_fem/collider.ogg b/sound/vox_fem/collider.ogg index 3456aa5ebce..985d715bffe 100644 Binary files a/sound/vox_fem/collider.ogg and b/sound/vox_fem/collider.ogg differ diff --git a/sound/vox_fem/comdom.ogg b/sound/vox_fem/comdom.ogg index f1b0039d54a..9be8470286e 100644 Binary files a/sound/vox_fem/comdom.ogg and b/sound/vox_fem/comdom.ogg differ diff --git a/sound/vox_fem/come.ogg b/sound/vox_fem/come.ogg index f72936fc6c7..d3c414ff984 100644 Binary files a/sound/vox_fem/come.ogg and b/sound/vox_fem/come.ogg differ diff --git a/sound/vox_fem/command.ogg b/sound/vox_fem/command.ogg index a0398b65f4a..4461a7f1a40 100644 Binary files a/sound/vox_fem/command.ogg and b/sound/vox_fem/command.ogg differ diff --git a/sound/vox_fem/communication.ogg b/sound/vox_fem/communication.ogg index 239a1dac32e..1bdea077e1d 100644 Binary files a/sound/vox_fem/communication.ogg and b/sound/vox_fem/communication.ogg differ diff --git a/sound/vox_fem/complex.ogg b/sound/vox_fem/complex.ogg index f5345d73211..baedb710c99 100644 Binary files a/sound/vox_fem/complex.ogg and b/sound/vox_fem/complex.ogg differ diff --git a/sound/vox_fem/computer.ogg b/sound/vox_fem/computer.ogg index ab86a86431a..9582c594bb9 100644 Binary files a/sound/vox_fem/computer.ogg and b/sound/vox_fem/computer.ogg differ diff --git a/sound/vox_fem/condition.ogg b/sound/vox_fem/condition.ogg index 41982da87d6..d6467534104 100644 Binary files a/sound/vox_fem/condition.ogg and b/sound/vox_fem/condition.ogg differ diff --git a/sound/vox_fem/conflict.ogg b/sound/vox_fem/conflict.ogg index 0588cf34989..783c4e18eb6 100644 Binary files a/sound/vox_fem/conflict.ogg and b/sound/vox_fem/conflict.ogg differ diff --git a/sound/vox_fem/connor.ogg b/sound/vox_fem/connor.ogg index f57bc582274..d151e640d31 100644 Binary files a/sound/vox_fem/connor.ogg and b/sound/vox_fem/connor.ogg differ diff --git a/sound/vox_fem/containment.ogg b/sound/vox_fem/containment.ogg index b05866a6d9f..669ab3ebba3 100644 Binary files a/sound/vox_fem/containment.ogg and b/sound/vox_fem/containment.ogg differ diff --git a/sound/vox_fem/contamination.ogg b/sound/vox_fem/contamination.ogg index f41e2e51870..11dd067ace7 100644 Binary files a/sound/vox_fem/contamination.ogg and b/sound/vox_fem/contamination.ogg differ diff --git a/sound/vox_fem/contraband.ogg b/sound/vox_fem/contraband.ogg index e6537bef500..f236049a7cf 100644 Binary files a/sound/vox_fem/contraband.ogg and b/sound/vox_fem/contraband.ogg differ diff --git a/sound/vox_fem/control.ogg b/sound/vox_fem/control.ogg index b0a2905882d..0074e0ffbb5 100644 Binary files a/sound/vox_fem/control.ogg and b/sound/vox_fem/control.ogg differ diff --git a/sound/vox_fem/coolant.ogg b/sound/vox_fem/coolant.ogg index d1287fdd026..dc4065daee3 100644 Binary files a/sound/vox_fem/coolant.ogg and b/sound/vox_fem/coolant.ogg differ diff --git a/sound/vox_fem/coomer.ogg b/sound/vox_fem/coomer.ogg index 1c24b7f0641..4f7f8ca3b94 100644 Binary files a/sound/vox_fem/coomer.ogg and b/sound/vox_fem/coomer.ogg differ diff --git a/sound/vox_fem/core.ogg b/sound/vox_fem/core.ogg index 85b0ae12986..c44383dd591 100644 Binary files a/sound/vox_fem/core.ogg and b/sound/vox_fem/core.ogg differ diff --git a/sound/vox_fem/correct.ogg b/sound/vox_fem/correct.ogg index 0bda763f22a..952bee83563 100644 Binary files a/sound/vox_fem/correct.ogg and b/sound/vox_fem/correct.ogg differ diff --git a/sound/vox_fem/corridor.ogg b/sound/vox_fem/corridor.ogg index 33d854bc343..04227fd5d4e 100644 Binary files a/sound/vox_fem/corridor.ogg and b/sound/vox_fem/corridor.ogg differ diff --git a/sound/vox_fem/court.ogg b/sound/vox_fem/court.ogg index 2b660c43195..8ff398caf46 100644 Binary files a/sound/vox_fem/court.ogg and b/sound/vox_fem/court.ogg differ diff --git a/sound/vox_fem/coward.ogg b/sound/vox_fem/coward.ogg index bee28838473..a343df23f75 100644 Binary files a/sound/vox_fem/coward.ogg and b/sound/vox_fem/coward.ogg differ diff --git a/sound/vox_fem/cowards.ogg b/sound/vox_fem/cowards.ogg index bd2fb752d90..f5dac8813c3 100644 Binary files a/sound/vox_fem/cowards.ogg and b/sound/vox_fem/cowards.ogg differ diff --git a/sound/vox_fem/crew.ogg b/sound/vox_fem/crew.ogg index e5e42a2257e..4a886bbfb71 100644 Binary files a/sound/vox_fem/crew.ogg and b/sound/vox_fem/crew.ogg differ diff --git a/sound/vox_fem/cross.ogg b/sound/vox_fem/cross.ogg index 1c3666cfc68..caaeb7057fb 100644 Binary files a/sound/vox_fem/cross.ogg and b/sound/vox_fem/cross.ogg differ diff --git a/sound/vox_fem/cryogenic.ogg b/sound/vox_fem/cryogenic.ogg index 0eb622193af..04624fe5601 100644 Binary files a/sound/vox_fem/cryogenic.ogg and b/sound/vox_fem/cryogenic.ogg differ diff --git a/sound/vox_fem/cunt.ogg b/sound/vox_fem/cunt.ogg index b00501c576b..37abf11e927 100644 Binary files a/sound/vox_fem/cunt.ogg and b/sound/vox_fem/cunt.ogg differ diff --git a/sound/vox_fem/cunts.ogg b/sound/vox_fem/cunts.ogg index fa386470f1c..3d24af93f74 100644 Binary files a/sound/vox_fem/cunts.ogg and b/sound/vox_fem/cunts.ogg differ diff --git a/sound/vox_fem/cyborg.ogg b/sound/vox_fem/cyborg.ogg index 6cabb268e5d..76ea47f7d27 100644 Binary files a/sound/vox_fem/cyborg.ogg and b/sound/vox_fem/cyborg.ogg differ diff --git a/sound/vox_fem/cyborgs.ogg b/sound/vox_fem/cyborgs.ogg index aea07b4ec74..f05ec68ac08 100644 Binary files a/sound/vox_fem/cyborgs.ogg and b/sound/vox_fem/cyborgs.ogg differ diff --git a/sound/vox_fem/d.ogg b/sound/vox_fem/d.ogg index eab714ec2c2..55a41320604 100644 Binary files a/sound/vox_fem/d.ogg and b/sound/vox_fem/d.ogg differ diff --git a/sound/vox_fem/dadeda.ogg b/sound/vox_fem/dadeda.ogg new file mode 100644 index 00000000000..1383041ab30 Binary files /dev/null and b/sound/vox_fem/dadeda.ogg differ diff --git a/sound/vox_fem/damage.ogg b/sound/vox_fem/damage.ogg index 06ae984c2eb..08b44edc4ec 100644 Binary files a/sound/vox_fem/damage.ogg and b/sound/vox_fem/damage.ogg differ diff --git a/sound/vox_fem/damaged.ogg b/sound/vox_fem/damaged.ogg index ad76c44da1a..dddb8ce9768 100644 Binary files a/sound/vox_fem/damaged.ogg and b/sound/vox_fem/damaged.ogg differ diff --git a/sound/vox_fem/danger.ogg b/sound/vox_fem/danger.ogg index d00aa5ac78d..4e3f77b0eaf 100644 Binary files a/sound/vox_fem/danger.ogg and b/sound/vox_fem/danger.ogg differ diff --git a/sound/vox_fem/day.ogg b/sound/vox_fem/day.ogg index d82a0298bc5..a1ad0c915f3 100644 Binary files a/sound/vox_fem/day.ogg and b/sound/vox_fem/day.ogg differ diff --git a/sound/vox_fem/deactivated.ogg b/sound/vox_fem/deactivated.ogg index af0f9a6e04a..9553b60f797 100644 Binary files a/sound/vox_fem/deactivated.ogg and b/sound/vox_fem/deactivated.ogg differ diff --git a/sound/vox_fem/dead.ogg b/sound/vox_fem/dead.ogg index 7afa6bea2ab..5ac07f080e7 100644 Binary files a/sound/vox_fem/dead.ogg and b/sound/vox_fem/dead.ogg differ diff --git a/sound/vox_fem/death.ogg b/sound/vox_fem/death.ogg index 103bbb08c4d..4ac71df5d5e 100644 Binary files a/sound/vox_fem/death.ogg and b/sound/vox_fem/death.ogg differ diff --git a/sound/vox_fem/decompression.ogg b/sound/vox_fem/decompression.ogg index b71951fd4cc..d6bf99ddf4b 100644 Binary files a/sound/vox_fem/decompression.ogg and b/sound/vox_fem/decompression.ogg differ diff --git a/sound/vox_fem/decontamination.ogg b/sound/vox_fem/decontamination.ogg index 64c26a9b9c2..6c2678fea9d 100644 Binary files a/sound/vox_fem/decontamination.ogg and b/sound/vox_fem/decontamination.ogg differ diff --git a/sound/vox_fem/deeoo.ogg b/sound/vox_fem/deeoo.ogg index f4883a034fd..3a8bbd48aee 100644 Binary files a/sound/vox_fem/deeoo.ogg and b/sound/vox_fem/deeoo.ogg differ diff --git a/sound/vox_fem/defense.ogg b/sound/vox_fem/defense.ogg index 35729420e6a..fb96cc7cce4 100644 Binary files a/sound/vox_fem/defense.ogg and b/sound/vox_fem/defense.ogg differ diff --git a/sound/vox_fem/degrees.ogg b/sound/vox_fem/degrees.ogg index 00b92af1e4a..cb483e04fb7 100644 Binary files a/sound/vox_fem/degrees.ogg and b/sound/vox_fem/degrees.ogg differ diff --git a/sound/vox_fem/delta.ogg b/sound/vox_fem/delta.ogg index f7e9e78a940..63cfcbc64c3 100644 Binary files a/sound/vox_fem/delta.ogg and b/sound/vox_fem/delta.ogg differ diff --git a/sound/vox_fem/denied.ogg b/sound/vox_fem/denied.ogg index 94cd5a0e1c3..b44fc72b8f0 100644 Binary files a/sound/vox_fem/denied.ogg and b/sound/vox_fem/denied.ogg differ diff --git a/sound/vox_fem/department.ogg b/sound/vox_fem/department.ogg index 9dd7ad0dd89..33b6d8da32e 100644 Binary files a/sound/vox_fem/department.ogg and b/sound/vox_fem/department.ogg differ diff --git a/sound/vox_fem/departments.ogg b/sound/vox_fem/departments.ogg index 832e1b58833..b519cbe93fc 100644 Binary files a/sound/vox_fem/departments.ogg and b/sound/vox_fem/departments.ogg differ diff --git a/sound/vox_fem/deploy.ogg b/sound/vox_fem/deploy.ogg index e4580b16c09..1ff0a0e8625 100644 Binary files a/sound/vox_fem/deploy.ogg and b/sound/vox_fem/deploy.ogg differ diff --git a/sound/vox_fem/deployed.ogg b/sound/vox_fem/deployed.ogg index c11ff634cee..28bde2e2769 100644 Binary files a/sound/vox_fem/deployed.ogg and b/sound/vox_fem/deployed.ogg differ diff --git a/sound/vox_fem/desk.ogg b/sound/vox_fem/desk.ogg index 38326422be2..5ea23872233 100644 Binary files a/sound/vox_fem/desk.ogg and b/sound/vox_fem/desk.ogg differ diff --git a/sound/vox_fem/destroy.ogg b/sound/vox_fem/destroy.ogg index 6f91b91fa60..924ec152f6e 100644 Binary files a/sound/vox_fem/destroy.ogg and b/sound/vox_fem/destroy.ogg differ diff --git a/sound/vox_fem/destroyed.ogg b/sound/vox_fem/destroyed.ogg index c2e2f5758af..0cbd8474f99 100644 Binary files a/sound/vox_fem/destroyed.ogg and b/sound/vox_fem/destroyed.ogg differ diff --git a/sound/vox_fem/detain.ogg b/sound/vox_fem/detain.ogg index c65d04c7b1f..3391f7f859b 100644 Binary files a/sound/vox_fem/detain.ogg and b/sound/vox_fem/detain.ogg differ diff --git a/sound/vox_fem/detected.ogg b/sound/vox_fem/detected.ogg index eff7c4a4bc3..b308ce59c97 100644 Binary files a/sound/vox_fem/detected.ogg and b/sound/vox_fem/detected.ogg differ diff --git a/sound/vox_fem/detonation.ogg b/sound/vox_fem/detonation.ogg index 5b5ce5d66a2..835111b1d7d 100644 Binary files a/sound/vox_fem/detonation.ogg and b/sound/vox_fem/detonation.ogg differ diff --git a/sound/vox_fem/device.ogg b/sound/vox_fem/device.ogg index 77dd1d90122..a08e6c3f443 100644 Binary files a/sound/vox_fem/device.ogg and b/sound/vox_fem/device.ogg differ diff --git a/sound/vox_fem/did.ogg b/sound/vox_fem/did.ogg index 8256540731a..3af6acb99ed 100644 Binary files a/sound/vox_fem/did.ogg and b/sound/vox_fem/did.ogg differ diff --git a/sound/vox_fem/die.ogg b/sound/vox_fem/die.ogg index 321b9b6b81d..602cc083ca7 100644 Binary files a/sound/vox_fem/die.ogg and b/sound/vox_fem/die.ogg differ diff --git a/sound/vox_fem/dimensional.ogg b/sound/vox_fem/dimensional.ogg index 6c0f1d9a712..175bfe01074 100644 Binary files a/sound/vox_fem/dimensional.ogg and b/sound/vox_fem/dimensional.ogg differ diff --git a/sound/vox_fem/dirt.ogg b/sound/vox_fem/dirt.ogg index b0f20337dde..39cc18c6163 100644 Binary files a/sound/vox_fem/dirt.ogg and b/sound/vox_fem/dirt.ogg differ diff --git a/sound/vox_fem/disengaged.ogg b/sound/vox_fem/disengaged.ogg index 40df0815703..906350fd67b 100644 Binary files a/sound/vox_fem/disengaged.ogg and b/sound/vox_fem/disengaged.ogg differ diff --git a/sound/vox_fem/dish.ogg b/sound/vox_fem/dish.ogg index 840d33fde07..5dd123050fb 100644 Binary files a/sound/vox_fem/dish.ogg and b/sound/vox_fem/dish.ogg differ diff --git a/sound/vox_fem/disposal.ogg b/sound/vox_fem/disposal.ogg index 18fd4a3d43b..25331eeaf2a 100644 Binary files a/sound/vox_fem/disposal.ogg and b/sound/vox_fem/disposal.ogg differ diff --git a/sound/vox_fem/distance.ogg b/sound/vox_fem/distance.ogg index 738784aec4d..a663a6386b4 100644 Binary files a/sound/vox_fem/distance.ogg and b/sound/vox_fem/distance.ogg differ diff --git a/sound/vox_fem/distortion.ogg b/sound/vox_fem/distortion.ogg index 9c54d772012..825cc558163 100644 Binary files a/sound/vox_fem/distortion.ogg and b/sound/vox_fem/distortion.ogg differ diff --git a/sound/vox_fem/do.ogg b/sound/vox_fem/do.ogg index 171dea1eeb9..6ac7099d0bf 100644 Binary files a/sound/vox_fem/do.ogg and b/sound/vox_fem/do.ogg differ diff --git a/sound/vox_fem/doctor.ogg b/sound/vox_fem/doctor.ogg index 20ed05f1e5c..a0736050219 100644 Binary files a/sound/vox_fem/doctor.ogg and b/sound/vox_fem/doctor.ogg differ diff --git a/sound/vox_fem/doctors.ogg b/sound/vox_fem/doctors.ogg index 294e99ed6aa..669d7aadf55 100644 Binary files a/sound/vox_fem/doctors.ogg and b/sound/vox_fem/doctors.ogg differ diff --git a/sound/vox_fem/doop.ogg b/sound/vox_fem/doop.ogg new file mode 100644 index 00000000000..943c26dcd9b Binary files /dev/null and b/sound/vox_fem/doop.ogg differ diff --git a/sound/vox_fem/door.ogg b/sound/vox_fem/door.ogg index e0f6fc16d9d..4d93d28cd85 100644 Binary files a/sound/vox_fem/door.ogg and b/sound/vox_fem/door.ogg differ diff --git a/sound/vox_fem/dorms.ogg b/sound/vox_fem/dorms.ogg index 4a1803105ec..e2fff1179db 100644 Binary files a/sound/vox_fem/dorms.ogg and b/sound/vox_fem/dorms.ogg differ diff --git a/sound/vox_fem/down.ogg b/sound/vox_fem/down.ogg index d851252d74a..c6a69398b28 100644 Binary files a/sound/vox_fem/down.ogg and b/sound/vox_fem/down.ogg differ diff --git a/sound/vox_fem/dual.ogg b/sound/vox_fem/dual.ogg index 7d1752f4db8..291c5eca450 100644 Binary files a/sound/vox_fem/dual.ogg and b/sound/vox_fem/dual.ogg differ diff --git a/sound/vox_fem/duct.ogg b/sound/vox_fem/duct.ogg index 2a6cf176723..04309950649 100644 Binary files a/sound/vox_fem/duct.ogg and b/sound/vox_fem/duct.ogg differ diff --git a/sound/vox_fem/e.ogg b/sound/vox_fem/e.ogg index 002142ee7c9..7a9af66368a 100644 Binary files a/sound/vox_fem/e.ogg and b/sound/vox_fem/e.ogg differ diff --git a/sound/vox_fem/east.ogg b/sound/vox_fem/east.ogg index 5fe79b45728..6034fcc6412 100644 Binary files a/sound/vox_fem/east.ogg and b/sound/vox_fem/east.ogg differ diff --git a/sound/vox_fem/echo.ogg b/sound/vox_fem/echo.ogg index 0a19d9d6797..6bbf45589f3 100644 Binary files a/sound/vox_fem/echo.ogg and b/sound/vox_fem/echo.ogg differ diff --git a/sound/vox_fem/ed.ogg b/sound/vox_fem/ed.ogg index 79307ee2caf..e4bb08f3e8b 100644 Binary files a/sound/vox_fem/ed.ogg and b/sound/vox_fem/ed.ogg differ diff --git a/sound/vox_fem/effect.ogg b/sound/vox_fem/effect.ogg index e26cf37cd73..5c60751cf3c 100644 Binary files a/sound/vox_fem/effect.ogg and b/sound/vox_fem/effect.ogg differ diff --git a/sound/vox_fem/egress.ogg b/sound/vox_fem/egress.ogg index 3cf7a618e5e..b7b6a29d0d5 100644 Binary files a/sound/vox_fem/egress.ogg and b/sound/vox_fem/egress.ogg differ diff --git a/sound/vox_fem/eight.ogg b/sound/vox_fem/eight.ogg index 57cb5ff4ddd..ecf7111a42e 100644 Binary files a/sound/vox_fem/eight.ogg and b/sound/vox_fem/eight.ogg differ diff --git a/sound/vox_fem/eighteen.ogg b/sound/vox_fem/eighteen.ogg index 9b12dcb1542..b9c239faf62 100644 Binary files a/sound/vox_fem/eighteen.ogg and b/sound/vox_fem/eighteen.ogg differ diff --git a/sound/vox_fem/eighty.ogg b/sound/vox_fem/eighty.ogg index eeebd08ab30..c9b2f0ac5f8 100644 Binary files a/sound/vox_fem/eighty.ogg and b/sound/vox_fem/eighty.ogg differ diff --git a/sound/vox_fem/electric.ogg b/sound/vox_fem/electric.ogg index 972961242d0..58788723d23 100644 Binary files a/sound/vox_fem/electric.ogg and b/sound/vox_fem/electric.ogg differ diff --git a/sound/vox_fem/electromagnetic.ogg b/sound/vox_fem/electromagnetic.ogg index dd941baab27..bec4c9d2f90 100644 Binary files a/sound/vox_fem/electromagnetic.ogg and b/sound/vox_fem/electromagnetic.ogg differ diff --git a/sound/vox_fem/elevator.ogg b/sound/vox_fem/elevator.ogg index 998c7c455d0..d4383ba9089 100644 Binary files a/sound/vox_fem/elevator.ogg and b/sound/vox_fem/elevator.ogg differ diff --git a/sound/vox_fem/eleven.ogg b/sound/vox_fem/eleven.ogg index e91e308f0de..ea38113247a 100644 Binary files a/sound/vox_fem/eleven.ogg and b/sound/vox_fem/eleven.ogg differ diff --git a/sound/vox_fem/eliminate.ogg b/sound/vox_fem/eliminate.ogg index 9ff699141dc..1e2bc8cc658 100644 Binary files a/sound/vox_fem/eliminate.ogg and b/sound/vox_fem/eliminate.ogg differ diff --git a/sound/vox_fem/emergency.ogg b/sound/vox_fem/emergency.ogg index 4ab396aeec1..5289a375caa 100644 Binary files a/sound/vox_fem/emergency.ogg and b/sound/vox_fem/emergency.ogg differ diff --git a/sound/vox_fem/energy.ogg b/sound/vox_fem/energy.ogg index 9a19496a488..d0e52f084b0 100644 Binary files a/sound/vox_fem/energy.ogg and b/sound/vox_fem/energy.ogg differ diff --git a/sound/vox_fem/engage.ogg b/sound/vox_fem/engage.ogg index 4375abd2410..ee7d2112b87 100644 Binary files a/sound/vox_fem/engage.ogg and b/sound/vox_fem/engage.ogg differ diff --git a/sound/vox_fem/engaged.ogg b/sound/vox_fem/engaged.ogg index c863a5f75e8..358d13f1061 100644 Binary files a/sound/vox_fem/engaged.ogg and b/sound/vox_fem/engaged.ogg differ diff --git a/sound/vox_fem/engine.ogg b/sound/vox_fem/engine.ogg index b114e6e01e7..1936b115cc1 100644 Binary files a/sound/vox_fem/engine.ogg and b/sound/vox_fem/engine.ogg differ diff --git a/sound/vox_fem/engineer.ogg b/sound/vox_fem/engineer.ogg index 55a94ae21ec..d798773bf58 100644 Binary files a/sound/vox_fem/engineer.ogg and b/sound/vox_fem/engineer.ogg differ diff --git a/sound/vox_fem/engineering.ogg b/sound/vox_fem/engineering.ogg index e04bc217a53..958279f78a9 100644 Binary files a/sound/vox_fem/engineering.ogg and b/sound/vox_fem/engineering.ogg differ diff --git a/sound/vox_fem/engineers.ogg b/sound/vox_fem/engineers.ogg index 567bbd18eb9..39205c4601c 100644 Binary files a/sound/vox_fem/engineers.ogg and b/sound/vox_fem/engineers.ogg differ diff --git a/sound/vox_fem/enter.ogg b/sound/vox_fem/enter.ogg index 9f65e688615..93d796ca9c0 100644 Binary files a/sound/vox_fem/enter.ogg and b/sound/vox_fem/enter.ogg differ diff --git a/sound/vox_fem/entry.ogg b/sound/vox_fem/entry.ogg index 93cb2972a19..a11ed9be4ec 100644 Binary files a/sound/vox_fem/entry.ogg and b/sound/vox_fem/entry.ogg differ diff --git a/sound/vox_fem/environment.ogg b/sound/vox_fem/environment.ogg index b3675d51531..02a2a172cf1 100644 Binary files a/sound/vox_fem/environment.ogg and b/sound/vox_fem/environment.ogg differ diff --git a/sound/vox_fem/error.ogg b/sound/vox_fem/error.ogg index 37395ef9028..44c45e4a99b 100644 Binary files a/sound/vox_fem/error.ogg and b/sound/vox_fem/error.ogg differ diff --git a/sound/vox_fem/escape.ogg b/sound/vox_fem/escape.ogg index 494f3cdd0c4..5567566d5ae 100644 Binary files a/sound/vox_fem/escape.ogg and b/sound/vox_fem/escape.ogg differ diff --git a/sound/vox_fem/evacuate.ogg b/sound/vox_fem/evacuate.ogg index 6c9b0dcdad1..929f5514a3b 100644 Binary files a/sound/vox_fem/evacuate.ogg and b/sound/vox_fem/evacuate.ogg differ diff --git a/sound/vox_fem/every.ogg b/sound/vox_fem/every.ogg index 91896877552..1da7713f678 100644 Binary files a/sound/vox_fem/every.ogg and b/sound/vox_fem/every.ogg differ diff --git a/sound/vox_fem/everywhere.ogg b/sound/vox_fem/everywhere.ogg new file mode 100644 index 00000000000..f53a8e46442 Binary files /dev/null and b/sound/vox_fem/everywhere.ogg differ diff --git a/sound/vox_fem/exchange.ogg b/sound/vox_fem/exchange.ogg index 36b2f7ba8b8..844fd8e7bbe 100644 Binary files a/sound/vox_fem/exchange.ogg and b/sound/vox_fem/exchange.ogg differ diff --git a/sound/vox_fem/execution.ogg b/sound/vox_fem/execution.ogg index 6a17ea97a41..1c7025b412e 100644 Binary files a/sound/vox_fem/execution.ogg and b/sound/vox_fem/execution.ogg differ diff --git a/sound/vox_fem/exit.ogg b/sound/vox_fem/exit.ogg index 0ae960a3459..7a6f5048870 100644 Binary files a/sound/vox_fem/exit.ogg and b/sound/vox_fem/exit.ogg differ diff --git a/sound/vox_fem/expect.ogg b/sound/vox_fem/expect.ogg index 73d293a3909..e02d7913169 100644 Binary files a/sound/vox_fem/expect.ogg and b/sound/vox_fem/expect.ogg differ diff --git a/sound/vox_fem/experiment.ogg b/sound/vox_fem/experiment.ogg index 30d4f3f1ff6..7937c16d4d3 100644 Binary files a/sound/vox_fem/experiment.ogg and b/sound/vox_fem/experiment.ogg differ diff --git a/sound/vox_fem/experimental.ogg b/sound/vox_fem/experimental.ogg index 364049d236b..d9b1312603e 100644 Binary files a/sound/vox_fem/experimental.ogg and b/sound/vox_fem/experimental.ogg differ diff --git a/sound/vox_fem/explode.ogg b/sound/vox_fem/explode.ogg index d1e3d8da468..ad026fe0038 100644 Binary files a/sound/vox_fem/explode.ogg and b/sound/vox_fem/explode.ogg differ diff --git a/sound/vox_fem/explosion.ogg b/sound/vox_fem/explosion.ogg index dc4f00655e6..717f55ad63a 100644 Binary files a/sound/vox_fem/explosion.ogg and b/sound/vox_fem/explosion.ogg differ diff --git a/sound/vox_fem/exposure.ogg b/sound/vox_fem/exposure.ogg index fa41d0ecda3..c10c8a621da 100644 Binary files a/sound/vox_fem/exposure.ogg and b/sound/vox_fem/exposure.ogg differ diff --git a/sound/vox_fem/exterminate.ogg b/sound/vox_fem/exterminate.ogg index 2bc6bf6c6cd..476f16484f5 100644 Binary files a/sound/vox_fem/exterminate.ogg and b/sound/vox_fem/exterminate.ogg differ diff --git a/sound/vox_fem/extinguish.ogg b/sound/vox_fem/extinguish.ogg index 82c3b16cdde..184541bf630 100644 Binary files a/sound/vox_fem/extinguish.ogg and b/sound/vox_fem/extinguish.ogg differ diff --git a/sound/vox_fem/extinguisher.ogg b/sound/vox_fem/extinguisher.ogg index 487cca3799b..53afe9584ba 100644 Binary files a/sound/vox_fem/extinguisher.ogg and b/sound/vox_fem/extinguisher.ogg differ diff --git a/sound/vox_fem/extreme.ogg b/sound/vox_fem/extreme.ogg index dae64f3457f..73bd6d769fa 100644 Binary files a/sound/vox_fem/extreme.ogg and b/sound/vox_fem/extreme.ogg differ diff --git a/sound/vox_fem/f.ogg b/sound/vox_fem/f.ogg index a6e90595d19..edf6d8aa2ed 100644 Binary files a/sound/vox_fem/f.ogg and b/sound/vox_fem/f.ogg differ diff --git a/sound/vox_fem/facility.ogg b/sound/vox_fem/facility.ogg index 011eae5951d..a9a6992ee9e 100644 Binary files a/sound/vox_fem/facility.ogg and b/sound/vox_fem/facility.ogg differ diff --git a/sound/vox_fem/fahrenheit.ogg b/sound/vox_fem/fahrenheit.ogg index 1dbce5c4974..5a49a31a29e 100644 Binary files a/sound/vox_fem/fahrenheit.ogg and b/sound/vox_fem/fahrenheit.ogg differ diff --git a/sound/vox_fem/failed.ogg b/sound/vox_fem/failed.ogg index 6fcae03f3d9..1914ade3c4e 100644 Binary files a/sound/vox_fem/failed.ogg and b/sound/vox_fem/failed.ogg differ diff --git a/sound/vox_fem/failure.ogg b/sound/vox_fem/failure.ogg index b211190b6d0..352bce6e45a 100644 Binary files a/sound/vox_fem/failure.ogg and b/sound/vox_fem/failure.ogg differ diff --git a/sound/vox_fem/farthest.ogg b/sound/vox_fem/farthest.ogg index 1b27e27052e..74216b9a2e1 100644 Binary files a/sound/vox_fem/farthest.ogg and b/sound/vox_fem/farthest.ogg differ diff --git a/sound/vox_fem/fast.ogg b/sound/vox_fem/fast.ogg index 2f44ccdb4e2..80f7468142c 100644 Binary files a/sound/vox_fem/fast.ogg and b/sound/vox_fem/fast.ogg differ diff --git a/sound/vox_fem/feet.ogg b/sound/vox_fem/feet.ogg index 53ee80b77bc..b94c99517cd 100644 Binary files a/sound/vox_fem/feet.ogg and b/sound/vox_fem/feet.ogg differ diff --git a/sound/vox_fem/field.ogg b/sound/vox_fem/field.ogg index 8cb1d464b86..89cc50ea826 100644 Binary files a/sound/vox_fem/field.ogg and b/sound/vox_fem/field.ogg differ diff --git a/sound/vox_fem/fifteen.ogg b/sound/vox_fem/fifteen.ogg index 8325d1664de..0343d6b3ffe 100644 Binary files a/sound/vox_fem/fifteen.ogg and b/sound/vox_fem/fifteen.ogg differ diff --git a/sound/vox_fem/fifth.ogg b/sound/vox_fem/fifth.ogg index 836faf95e11..b8255dad441 100644 Binary files a/sound/vox_fem/fifth.ogg and b/sound/vox_fem/fifth.ogg differ diff --git a/sound/vox_fem/fifty.ogg b/sound/vox_fem/fifty.ogg index c3b460f5721..b71757c7c11 100644 Binary files a/sound/vox_fem/fifty.ogg and b/sound/vox_fem/fifty.ogg differ diff --git a/sound/vox_fem/final.ogg b/sound/vox_fem/final.ogg index 3d960bb4d3f..d1dc9e44ec1 100644 Binary files a/sound/vox_fem/final.ogg and b/sound/vox_fem/final.ogg differ diff --git a/sound/vox_fem/fine.ogg b/sound/vox_fem/fine.ogg index 4fccc1103bc..4737c4259a8 100644 Binary files a/sound/vox_fem/fine.ogg and b/sound/vox_fem/fine.ogg differ diff --git a/sound/vox_fem/fire.ogg b/sound/vox_fem/fire.ogg index a5031a51a3c..db52a769179 100644 Binary files a/sound/vox_fem/fire.ogg and b/sound/vox_fem/fire.ogg differ diff --git a/sound/vox_fem/first.ogg b/sound/vox_fem/first.ogg index 8aefd94238f..9ef771b1671 100644 Binary files a/sound/vox_fem/first.ogg and b/sound/vox_fem/first.ogg differ diff --git a/sound/vox_fem/five.ogg b/sound/vox_fem/five.ogg index 231f03a2f94..014b7d4251e 100644 Binary files a/sound/vox_fem/five.ogg and b/sound/vox_fem/five.ogg differ diff --git a/sound/vox_fem/flooding.ogg b/sound/vox_fem/flooding.ogg index 065ecf5e696..a1019a56b99 100644 Binary files a/sound/vox_fem/flooding.ogg and b/sound/vox_fem/flooding.ogg differ diff --git a/sound/vox_fem/floor.ogg b/sound/vox_fem/floor.ogg index f27ec6ab939..d5d501d4756 100644 Binary files a/sound/vox_fem/floor.ogg and b/sound/vox_fem/floor.ogg differ diff --git a/sound/vox_fem/fool.ogg b/sound/vox_fem/fool.ogg index ef2be822a08..6b3f5e0fa32 100644 Binary files a/sound/vox_fem/fool.ogg and b/sound/vox_fem/fool.ogg differ diff --git a/sound/vox_fem/for.ogg b/sound/vox_fem/for.ogg index af1ab86c10f..eaf89e5f782 100644 Binary files a/sound/vox_fem/for.ogg and b/sound/vox_fem/for.ogg differ diff --git a/sound/vox_fem/forbidden.ogg b/sound/vox_fem/forbidden.ogg index 80121fdd4a7..4f5fc36bbe7 100644 Binary files a/sound/vox_fem/forbidden.ogg and b/sound/vox_fem/forbidden.ogg differ diff --git a/sound/vox_fem/force.ogg b/sound/vox_fem/force.ogg index 76db62f7f36..575ffb613ed 100644 Binary files a/sound/vox_fem/force.ogg and b/sound/vox_fem/force.ogg differ diff --git a/sound/vox_fem/fore.ogg b/sound/vox_fem/fore.ogg index d81524f34e7..61f995103b8 100644 Binary files a/sound/vox_fem/fore.ogg and b/sound/vox_fem/fore.ogg differ diff --git a/sound/vox_fem/forms.ogg b/sound/vox_fem/forms.ogg index 292021261b3..2de5796c8d0 100644 Binary files a/sound/vox_fem/forms.ogg and b/sound/vox_fem/forms.ogg differ diff --git a/sound/vox_fem/found.ogg b/sound/vox_fem/found.ogg index 796945b9fbe..e6ff55b2421 100644 Binary files a/sound/vox_fem/found.ogg and b/sound/vox_fem/found.ogg differ diff --git a/sound/vox_fem/four.ogg b/sound/vox_fem/four.ogg index 2443e96fb20..a7f16e38ec3 100644 Binary files a/sound/vox_fem/four.ogg and b/sound/vox_fem/four.ogg differ diff --git a/sound/vox_fem/fourteen.ogg b/sound/vox_fem/fourteen.ogg index ecd7c4ff29b..268b18abf95 100644 Binary files a/sound/vox_fem/fourteen.ogg and b/sound/vox_fem/fourteen.ogg differ diff --git a/sound/vox_fem/fourth.ogg b/sound/vox_fem/fourth.ogg index 40ca1a131b5..5c867743b5c 100644 Binary files a/sound/vox_fem/fourth.ogg and b/sound/vox_fem/fourth.ogg differ diff --git a/sound/vox_fem/fourty.ogg b/sound/vox_fem/fourty.ogg index a3dd3924a85..5280d49b2fb 100644 Binary files a/sound/vox_fem/fourty.ogg and b/sound/vox_fem/fourty.ogg differ diff --git a/sound/vox_fem/foxtrot.ogg b/sound/vox_fem/foxtrot.ogg index 2f5b69de500..4f64b89c489 100644 Binary files a/sound/vox_fem/foxtrot.ogg and b/sound/vox_fem/foxtrot.ogg differ diff --git a/sound/vox_fem/freeman.ogg b/sound/vox_fem/freeman.ogg index 9b4a0653351..e94c55fbf21 100644 Binary files a/sound/vox_fem/freeman.ogg and b/sound/vox_fem/freeman.ogg differ diff --git a/sound/vox_fem/freezer.ogg b/sound/vox_fem/freezer.ogg index b895470f62a..f2f5362b3ed 100644 Binary files a/sound/vox_fem/freezer.ogg and b/sound/vox_fem/freezer.ogg differ diff --git a/sound/vox_fem/from.ogg b/sound/vox_fem/from.ogg index 79372be52e4..eacf7a7c01c 100644 Binary files a/sound/vox_fem/from.ogg and b/sound/vox_fem/from.ogg differ diff --git a/sound/vox_fem/front.ogg b/sound/vox_fem/front.ogg index c9a434cf24f..748d021e33d 100644 Binary files a/sound/vox_fem/front.ogg and b/sound/vox_fem/front.ogg differ diff --git a/sound/vox_fem/fuck.ogg b/sound/vox_fem/fuck.ogg index 3caea9f9fdb..adc5e48c9ff 100644 Binary files a/sound/vox_fem/fuck.ogg and b/sound/vox_fem/fuck.ogg differ diff --git a/sound/vox_fem/fucking.ogg b/sound/vox_fem/fucking.ogg index 14d49d1ee27..1c877c01298 100644 Binary files a/sound/vox_fem/fucking.ogg and b/sound/vox_fem/fucking.ogg differ diff --git a/sound/vox_fem/fucks.ogg b/sound/vox_fem/fucks.ogg index 18446ecb267..2b4c0102655 100644 Binary files a/sound/vox_fem/fucks.ogg and b/sound/vox_fem/fucks.ogg differ diff --git a/sound/vox_fem/fuel.ogg b/sound/vox_fem/fuel.ogg index e4f0e800139..3604ce4c913 100644 Binary files a/sound/vox_fem/fuel.ogg and b/sound/vox_fem/fuel.ogg differ diff --git a/sound/vox_fem/g.ogg b/sound/vox_fem/g.ogg index 99f0b078dbc..fccf3f566ad 100644 Binary files a/sound/vox_fem/g.ogg and b/sound/vox_fem/g.ogg differ diff --git a/sound/vox_fem/gas.ogg b/sound/vox_fem/gas.ogg index 0666d7947be..a65a8b11b0b 100644 Binary files a/sound/vox_fem/gas.ogg and b/sound/vox_fem/gas.ogg differ diff --git a/sound/vox_fem/get.ogg b/sound/vox_fem/get.ogg index 6d9d72ec08a..9ae01e8c997 100644 Binary files a/sound/vox_fem/get.ogg and b/sound/vox_fem/get.ogg differ diff --git a/sound/vox_fem/glory.ogg b/sound/vox_fem/glory.ogg index fca6924a82d..4bf9738844f 100644 Binary files a/sound/vox_fem/glory.ogg and b/sound/vox_fem/glory.ogg differ diff --git a/sound/vox_fem/go.ogg b/sound/vox_fem/go.ogg index c462e616360..e8ace3d943a 100644 Binary files a/sound/vox_fem/go.ogg and b/sound/vox_fem/go.ogg differ diff --git a/sound/vox_fem/going.ogg b/sound/vox_fem/going.ogg index eb5a6baa44e..3f21184de93 100644 Binary files a/sound/vox_fem/going.ogg and b/sound/vox_fem/going.ogg differ diff --git a/sound/vox_fem/good.ogg b/sound/vox_fem/good.ogg index 139d7b4e66f..63760754d50 100644 Binary files a/sound/vox_fem/good.ogg and b/sound/vox_fem/good.ogg differ diff --git a/sound/vox_fem/goodbye.ogg b/sound/vox_fem/goodbye.ogg index 85363999c94..9be827d7a47 100644 Binary files a/sound/vox_fem/goodbye.ogg and b/sound/vox_fem/goodbye.ogg differ diff --git a/sound/vox_fem/gordon.ogg b/sound/vox_fem/gordon.ogg index 9f281ef72b8..586f15063df 100644 Binary files a/sound/vox_fem/gordon.ogg and b/sound/vox_fem/gordon.ogg differ diff --git a/sound/vox_fem/got.ogg b/sound/vox_fem/got.ogg index d3ef815a9f2..893e9a15697 100644 Binary files a/sound/vox_fem/got.ogg and b/sound/vox_fem/got.ogg differ diff --git a/sound/vox_fem/government.ogg b/sound/vox_fem/government.ogg index c383ecc91d0..581e92c9184 100644 Binary files a/sound/vox_fem/government.ogg and b/sound/vox_fem/government.ogg differ diff --git a/sound/vox_fem/granted.ogg b/sound/vox_fem/granted.ogg index e6155a2c625..f7d73456073 100644 Binary files a/sound/vox_fem/granted.ogg and b/sound/vox_fem/granted.ogg differ diff --git a/sound/vox_fem/gray.ogg b/sound/vox_fem/gray.ogg index 4d341910d24..11e2e143f29 100644 Binary files a/sound/vox_fem/gray.ogg and b/sound/vox_fem/gray.ogg differ diff --git a/sound/vox_fem/great.ogg b/sound/vox_fem/great.ogg index b9dac513c3e..b88d5eb40d4 100644 Binary files a/sound/vox_fem/great.ogg and b/sound/vox_fem/great.ogg differ diff --git a/sound/vox_fem/green.ogg b/sound/vox_fem/green.ogg index d34572d60c4..45d82c59c92 100644 Binary files a/sound/vox_fem/green.ogg and b/sound/vox_fem/green.ogg differ diff --git a/sound/vox_fem/grenade.ogg b/sound/vox_fem/grenade.ogg index acb4c34e84b..de9050bc91c 100644 Binary files a/sound/vox_fem/grenade.ogg and b/sound/vox_fem/grenade.ogg differ diff --git a/sound/vox_fem/guard.ogg b/sound/vox_fem/guard.ogg index 6d10b3fff2c..1fc69a3499a 100644 Binary files a/sound/vox_fem/guard.ogg and b/sound/vox_fem/guard.ogg differ diff --git a/sound/vox_fem/gulf.ogg b/sound/vox_fem/gulf.ogg index cfbbaa266b8..0237ae19c05 100644 Binary files a/sound/vox_fem/gulf.ogg and b/sound/vox_fem/gulf.ogg differ diff --git a/sound/vox_fem/gun.ogg b/sound/vox_fem/gun.ogg index 7ddaabebfa6..7d2195b4c5d 100644 Binary files a/sound/vox_fem/gun.ogg and b/sound/vox_fem/gun.ogg differ diff --git a/sound/vox_fem/guthrie.ogg b/sound/vox_fem/guthrie.ogg index fa51d7ce73f..1b7e5b6ae47 100644 Binary files a/sound/vox_fem/guthrie.ogg and b/sound/vox_fem/guthrie.ogg differ diff --git a/sound/vox_fem/h.ogg b/sound/vox_fem/h.ogg index c051f641ea8..837d5ce44ce 100644 Binary files a/sound/vox_fem/h.ogg and b/sound/vox_fem/h.ogg differ diff --git a/sound/vox_fem/hacker.ogg b/sound/vox_fem/hacker.ogg index 6f6def9a1bf..16e1fbffebc 100644 Binary files a/sound/vox_fem/hacker.ogg and b/sound/vox_fem/hacker.ogg differ diff --git a/sound/vox_fem/hackers.ogg b/sound/vox_fem/hackers.ogg index fc53c017348..f2d1a8b5e67 100644 Binary files a/sound/vox_fem/hackers.ogg and b/sound/vox_fem/hackers.ogg differ diff --git a/sound/vox_fem/hacking.ogg b/sound/vox_fem/hacking.ogg index e51ea127b46..5dd89794749 100644 Binary files a/sound/vox_fem/hacking.ogg and b/sound/vox_fem/hacking.ogg differ diff --git a/sound/vox_fem/handling.ogg b/sound/vox_fem/handling.ogg index 725c6820386..91d6e879bae 100644 Binary files a/sound/vox_fem/handling.ogg and b/sound/vox_fem/handling.ogg differ diff --git a/sound/vox_fem/hangar.ogg b/sound/vox_fem/hangar.ogg index a06147a8d61..c7add659889 100644 Binary files a/sound/vox_fem/hangar.ogg and b/sound/vox_fem/hangar.ogg differ diff --git a/sound/vox_fem/happening.ogg b/sound/vox_fem/happening.ogg new file mode 100644 index 00000000000..9b9c3338ef5 Binary files /dev/null and b/sound/vox_fem/happening.ogg differ diff --git a/sound/vox_fem/harm.ogg b/sound/vox_fem/harm.ogg index 2adabbdf847..777935ecf39 100644 Binary files a/sound/vox_fem/harm.ogg and b/sound/vox_fem/harm.ogg differ diff --git a/sound/vox_fem/has.ogg b/sound/vox_fem/has.ogg index f8eb6671481..a094d6017de 100644 Binary files a/sound/vox_fem/has.ogg and b/sound/vox_fem/has.ogg differ diff --git a/sound/vox_fem/have.ogg b/sound/vox_fem/have.ogg index 696bcb9f4fd..df454d1168c 100644 Binary files a/sound/vox_fem/have.ogg and b/sound/vox_fem/have.ogg differ diff --git a/sound/vox_fem/hazard.ogg b/sound/vox_fem/hazard.ogg index cfc83cb85f8..864acfd0b0f 100644 Binary files a/sound/vox_fem/hazard.ogg and b/sound/vox_fem/hazard.ogg differ diff --git a/sound/vox_fem/head.ogg b/sound/vox_fem/head.ogg index 16c796ca2ca..ae99aaf3fab 100644 Binary files a/sound/vox_fem/head.ogg and b/sound/vox_fem/head.ogg differ diff --git a/sound/vox_fem/health.ogg b/sound/vox_fem/health.ogg index f49edacd31c..23022948442 100644 Binary files a/sound/vox_fem/health.ogg and b/sound/vox_fem/health.ogg differ diff --git a/sound/vox_fem/heat.ogg b/sound/vox_fem/heat.ogg index 95ac2eeaf7e..d83892a4c3d 100644 Binary files a/sound/vox_fem/heat.ogg and b/sound/vox_fem/heat.ogg differ diff --git a/sound/vox_fem/helicopter.ogg b/sound/vox_fem/helicopter.ogg index bd32370a75f..3e7ecac435f 100644 Binary files a/sound/vox_fem/helicopter.ogg and b/sound/vox_fem/helicopter.ogg differ diff --git a/sound/vox_fem/helium.ogg b/sound/vox_fem/helium.ogg index 894926ae870..3cf5c1638a2 100644 Binary files a/sound/vox_fem/helium.ogg and b/sound/vox_fem/helium.ogg differ diff --git a/sound/vox_fem/hello.ogg b/sound/vox_fem/hello.ogg index e33c603fb92..3122f275113 100644 Binary files a/sound/vox_fem/hello.ogg and b/sound/vox_fem/hello.ogg differ diff --git a/sound/vox_fem/help.ogg b/sound/vox_fem/help.ogg index 6c7caab9c14..221aec588ad 100644 Binary files a/sound/vox_fem/help.ogg and b/sound/vox_fem/help.ogg differ diff --git a/sound/vox_fem/here.ogg b/sound/vox_fem/here.ogg index 3240d0c4271..974c80b862a 100644 Binary files a/sound/vox_fem/here.ogg and b/sound/vox_fem/here.ogg differ diff --git a/sound/vox_fem/hide.ogg b/sound/vox_fem/hide.ogg index 5ac5fe1359f..41a3556c359 100644 Binary files a/sound/vox_fem/hide.ogg and b/sound/vox_fem/hide.ogg differ diff --git a/sound/vox_fem/high.ogg b/sound/vox_fem/high.ogg index 13285ef9262..29569f6a7ae 100644 Binary files a/sound/vox_fem/high.ogg and b/sound/vox_fem/high.ogg differ diff --git a/sound/vox_fem/highest.ogg b/sound/vox_fem/highest.ogg index a4d56286424..c59ff592164 100644 Binary files a/sound/vox_fem/highest.ogg and b/sound/vox_fem/highest.ogg differ diff --git a/sound/vox_fem/hit.ogg b/sound/vox_fem/hit.ogg index 718e31fdad7..47cbbab958d 100644 Binary files a/sound/vox_fem/hit.ogg and b/sound/vox_fem/hit.ogg differ diff --git a/sound/vox_fem/hole.ogg b/sound/vox_fem/hole.ogg index 2164d4b51f3..4507339b197 100644 Binary files a/sound/vox_fem/hole.ogg and b/sound/vox_fem/hole.ogg differ diff --git a/sound/vox_fem/hop.ogg b/sound/vox_fem/hop.ogg index 35fdbd54f3d..8b21062dad6 100644 Binary files a/sound/vox_fem/hop.ogg and b/sound/vox_fem/hop.ogg differ diff --git a/sound/vox_fem/hos.ogg b/sound/vox_fem/hos.ogg index 6c104542624..cb9ad84fba7 100644 Binary files a/sound/vox_fem/hos.ogg and b/sound/vox_fem/hos.ogg differ diff --git a/sound/vox_fem/hostile.ogg b/sound/vox_fem/hostile.ogg index 024ff2fdaa3..cad5232be5c 100644 Binary files a/sound/vox_fem/hostile.ogg and b/sound/vox_fem/hostile.ogg differ diff --git a/sound/vox_fem/hot.ogg b/sound/vox_fem/hot.ogg index c7e85a34f72..b56cab99425 100644 Binary files a/sound/vox_fem/hot.ogg and b/sound/vox_fem/hot.ogg differ diff --git a/sound/vox_fem/hotel.ogg b/sound/vox_fem/hotel.ogg index 915f0d72157..54f3297485a 100644 Binary files a/sound/vox_fem/hotel.ogg and b/sound/vox_fem/hotel.ogg differ diff --git a/sound/vox_fem/hour.ogg b/sound/vox_fem/hour.ogg index 6d937b71750..963b2a1f119 100644 Binary files a/sound/vox_fem/hour.ogg and b/sound/vox_fem/hour.ogg differ diff --git a/sound/vox_fem/hours.ogg b/sound/vox_fem/hours.ogg index 2e335ef91b8..516adc16fad 100644 Binary files a/sound/vox_fem/hours.ogg and b/sound/vox_fem/hours.ogg differ diff --git a/sound/vox_fem/human.ogg b/sound/vox_fem/human.ogg index 0dcc3372836..247164486f2 100644 Binary files a/sound/vox_fem/human.ogg and b/sound/vox_fem/human.ogg differ diff --git a/sound/vox_fem/humans.ogg b/sound/vox_fem/humans.ogg index 9be645dcddf..ff8d0d35079 100644 Binary files a/sound/vox_fem/humans.ogg and b/sound/vox_fem/humans.ogg differ diff --git a/sound/vox_fem/hundred.ogg b/sound/vox_fem/hundred.ogg index bd4183444fa..bdee8e497f4 100644 Binary files a/sound/vox_fem/hundred.ogg and b/sound/vox_fem/hundred.ogg differ diff --git a/sound/vox_fem/hunger.ogg b/sound/vox_fem/hunger.ogg index 95ea9443011..52de984e6ea 100644 Binary files a/sound/vox_fem/hunger.ogg and b/sound/vox_fem/hunger.ogg differ diff --git a/sound/vox_fem/hydro.ogg b/sound/vox_fem/hydro.ogg index 0cb8f0c1c4c..e371348a803 100644 Binary files a/sound/vox_fem/hydro.ogg and b/sound/vox_fem/hydro.ogg differ diff --git a/sound/vox_fem/hydroponics.ogg b/sound/vox_fem/hydroponics.ogg index bd3304706b8..b82884ad7de 100644 Binary files a/sound/vox_fem/hydroponics.ogg and b/sound/vox_fem/hydroponics.ogg differ diff --git a/sound/vox_fem/i.ogg b/sound/vox_fem/i.ogg index 18953dff067..4184feccea2 100644 Binary files a/sound/vox_fem/i.ogg and b/sound/vox_fem/i.ogg differ diff --git a/sound/vox_fem/iaa.ogg b/sound/vox_fem/iaa.ogg index ebd147609c1..6a85cdf495b 100644 Binary files a/sound/vox_fem/iaa.ogg and b/sound/vox_fem/iaa.ogg differ diff --git a/sound/vox_fem/idiot.ogg b/sound/vox_fem/idiot.ogg index ca3e96f2097..54539dc84db 100644 Binary files a/sound/vox_fem/idiot.ogg and b/sound/vox_fem/idiot.ogg differ diff --git a/sound/vox_fem/illegal.ogg b/sound/vox_fem/illegal.ogg index 52e3e4b7848..efc7a24f31c 100644 Binary files a/sound/vox_fem/illegal.ogg and b/sound/vox_fem/illegal.ogg differ diff --git a/sound/vox_fem/immediate.ogg b/sound/vox_fem/immediate.ogg index b7728322676..589cb64d425 100644 Binary files a/sound/vox_fem/immediate.ogg and b/sound/vox_fem/immediate.ogg differ diff --git a/sound/vox_fem/immediately.ogg b/sound/vox_fem/immediately.ogg index f43f2616960..0fb1a653e13 100644 Binary files a/sound/vox_fem/immediately.ogg and b/sound/vox_fem/immediately.ogg differ diff --git a/sound/vox_fem/in.ogg b/sound/vox_fem/in.ogg index b7b4cc40a0b..5620518d9f0 100644 Binary files a/sound/vox_fem/in.ogg and b/sound/vox_fem/in.ogg differ diff --git a/sound/vox_fem/inches.ogg b/sound/vox_fem/inches.ogg index 42340038630..77a5a9f8ed9 100644 Binary files a/sound/vox_fem/inches.ogg and b/sound/vox_fem/inches.ogg differ diff --git a/sound/vox_fem/india.ogg b/sound/vox_fem/india.ogg index f07bb6514da..c9db0e71a1c 100644 Binary files a/sound/vox_fem/india.ogg and b/sound/vox_fem/india.ogg differ diff --git a/sound/vox_fem/ing.ogg b/sound/vox_fem/ing.ogg index 014697918c3..9373505f277 100644 Binary files a/sound/vox_fem/ing.ogg and b/sound/vox_fem/ing.ogg differ diff --git a/sound/vox_fem/inoperative.ogg b/sound/vox_fem/inoperative.ogg index b71176b5408..09db3ab0625 100644 Binary files a/sound/vox_fem/inoperative.ogg and b/sound/vox_fem/inoperative.ogg differ diff --git a/sound/vox_fem/inside.ogg b/sound/vox_fem/inside.ogg index bf0761e124d..4524e2b4529 100644 Binary files a/sound/vox_fem/inside.ogg and b/sound/vox_fem/inside.ogg differ diff --git a/sound/vox_fem/inspection.ogg b/sound/vox_fem/inspection.ogg index 6e45c50671b..93af36a4157 100644 Binary files a/sound/vox_fem/inspection.ogg and b/sound/vox_fem/inspection.ogg differ diff --git a/sound/vox_fem/inspector.ogg b/sound/vox_fem/inspector.ogg index b4f158cf774..b18db6ab2bf 100644 Binary files a/sound/vox_fem/inspector.ogg and b/sound/vox_fem/inspector.ogg differ diff --git a/sound/vox_fem/interchange.ogg b/sound/vox_fem/interchange.ogg index bee11f89c2e..29028b2223a 100644 Binary files a/sound/vox_fem/interchange.ogg and b/sound/vox_fem/interchange.ogg differ diff --git a/sound/vox_fem/intruder.ogg b/sound/vox_fem/intruder.ogg index 50afa47acb6..766980da4b0 100644 Binary files a/sound/vox_fem/intruder.ogg and b/sound/vox_fem/intruder.ogg differ diff --git a/sound/vox_fem/invalid.ogg b/sound/vox_fem/invalid.ogg index 785209e8416..beb8b66e8e8 100644 Binary files a/sound/vox_fem/invalid.ogg and b/sound/vox_fem/invalid.ogg differ diff --git a/sound/vox_fem/invasion.ogg b/sound/vox_fem/invasion.ogg index 0bd5f5b34fa..9a73e827f8b 100644 Binary files a/sound/vox_fem/invasion.ogg and b/sound/vox_fem/invasion.ogg differ diff --git a/sound/vox_fem/is.ogg b/sound/vox_fem/is.ogg index 18aff866ed3..d8b1d6a1e7c 100644 Binary files a/sound/vox_fem/is.ogg and b/sound/vox_fem/is.ogg differ diff --git a/sound/vox_fem/it.ogg b/sound/vox_fem/it.ogg index 54d54ec16a0..f0a09d7083c 100644 Binary files a/sound/vox_fem/it.ogg and b/sound/vox_fem/it.ogg differ diff --git a/sound/vox_fem/j.ogg b/sound/vox_fem/j.ogg index 623c99dc269..bcf17e34a18 100644 Binary files a/sound/vox_fem/j.ogg and b/sound/vox_fem/j.ogg differ diff --git a/sound/vox_fem/johnson.ogg b/sound/vox_fem/johnson.ogg index aaf1588e72b..4b95210e8ff 100644 Binary files a/sound/vox_fem/johnson.ogg and b/sound/vox_fem/johnson.ogg differ diff --git a/sound/vox_fem/juliet.ogg b/sound/vox_fem/juliet.ogg index 1a480c2664a..c93e5a453bc 100644 Binary files a/sound/vox_fem/juliet.ogg and b/sound/vox_fem/juliet.ogg differ diff --git a/sound/vox_fem/k.ogg b/sound/vox_fem/k.ogg index 94113827bdb..4e791416bd4 100644 Binary files a/sound/vox_fem/k.ogg and b/sound/vox_fem/k.ogg differ diff --git a/sound/vox_fem/key.ogg b/sound/vox_fem/key.ogg index 760f1087d0d..d4abd3cdbdd 100644 Binary files a/sound/vox_fem/key.ogg and b/sound/vox_fem/key.ogg differ diff --git a/sound/vox_fem/kill.ogg b/sound/vox_fem/kill.ogg index 9e06a03b06f..3d9d0f58fce 100644 Binary files a/sound/vox_fem/kill.ogg and b/sound/vox_fem/kill.ogg differ diff --git a/sound/vox_fem/killed.ogg b/sound/vox_fem/killed.ogg new file mode 100644 index 00000000000..a4db099a021 Binary files /dev/null and b/sound/vox_fem/killed.ogg differ diff --git a/sound/vox_fem/killing.ogg b/sound/vox_fem/killing.ogg new file mode 100644 index 00000000000..02bd56929b8 Binary files /dev/null and b/sound/vox_fem/killing.ogg differ diff --git a/sound/vox_fem/kilo.ogg b/sound/vox_fem/kilo.ogg index 3b4356527df..b00875f0ea7 100644 Binary files a/sound/vox_fem/kilo.ogg and b/sound/vox_fem/kilo.ogg differ diff --git a/sound/vox_fem/kit.ogg b/sound/vox_fem/kit.ogg index 6e41b7477d4..9f9b0fee205 100644 Binary files a/sound/vox_fem/kit.ogg and b/sound/vox_fem/kit.ogg differ diff --git a/sound/vox_fem/kitchen.ogg b/sound/vox_fem/kitchen.ogg index 3a37fa8a886..9342dd5e413 100644 Binary files a/sound/vox_fem/kitchen.ogg and b/sound/vox_fem/kitchen.ogg differ diff --git a/sound/vox_fem/l.ogg b/sound/vox_fem/l.ogg index b8703bd6761..d32e84f8b6f 100644 Binary files a/sound/vox_fem/l.ogg and b/sound/vox_fem/l.ogg differ diff --git a/sound/vox_fem/lab.ogg b/sound/vox_fem/lab.ogg index 6060b17e25c..1e5e48f4ddc 100644 Binary files a/sound/vox_fem/lab.ogg and b/sound/vox_fem/lab.ogg differ diff --git a/sound/vox_fem/lambda.ogg b/sound/vox_fem/lambda.ogg index 9795ea251aa..111041cb521 100644 Binary files a/sound/vox_fem/lambda.ogg and b/sound/vox_fem/lambda.ogg differ diff --git a/sound/vox_fem/laser.ogg b/sound/vox_fem/laser.ogg index 4e397bfb188..93b5d9fd5b9 100644 Binary files a/sound/vox_fem/laser.ogg and b/sound/vox_fem/laser.ogg differ diff --git a/sound/vox_fem/last.ogg b/sound/vox_fem/last.ogg index 95f5cb97e36..a9e1703d78c 100644 Binary files a/sound/vox_fem/last.ogg and b/sound/vox_fem/last.ogg differ diff --git a/sound/vox_fem/launch.ogg b/sound/vox_fem/launch.ogg index 0420989e2da..03319bb3a8f 100644 Binary files a/sound/vox_fem/launch.ogg and b/sound/vox_fem/launch.ogg differ diff --git a/sound/vox_fem/law.ogg b/sound/vox_fem/law.ogg index 7eb5540e4dc..1d78bb78c91 100644 Binary files a/sound/vox_fem/law.ogg and b/sound/vox_fem/law.ogg differ diff --git a/sound/vox_fem/laws.ogg b/sound/vox_fem/laws.ogg index ec119ab8c2f..78064715860 100644 Binary files a/sound/vox_fem/laws.ogg and b/sound/vox_fem/laws.ogg differ diff --git a/sound/vox_fem/lawyer.ogg b/sound/vox_fem/lawyer.ogg index 3621e7ac007..b6a3d2c5d66 100644 Binary files a/sound/vox_fem/lawyer.ogg and b/sound/vox_fem/lawyer.ogg differ diff --git a/sound/vox_fem/leak.ogg b/sound/vox_fem/leak.ogg index faeb75fafa5..ac2966daffb 100644 Binary files a/sound/vox_fem/leak.ogg and b/sound/vox_fem/leak.ogg differ diff --git a/sound/vox_fem/leave.ogg b/sound/vox_fem/leave.ogg index ade9fc6072e..023d6ccec9d 100644 Binary files a/sound/vox_fem/leave.ogg and b/sound/vox_fem/leave.ogg differ diff --git a/sound/vox_fem/left.ogg b/sound/vox_fem/left.ogg index 7ae2b6a910e..bab8c25f963 100644 Binary files a/sound/vox_fem/left.ogg and b/sound/vox_fem/left.ogg differ diff --git a/sound/vox_fem/legal.ogg b/sound/vox_fem/legal.ogg index 258adf1e74a..89d11ae6a1e 100644 Binary files a/sound/vox_fem/legal.ogg and b/sound/vox_fem/legal.ogg differ diff --git a/sound/vox_fem/level.ogg b/sound/vox_fem/level.ogg index 65489b89528..d2a38d01605 100644 Binary files a/sound/vox_fem/level.ogg and b/sound/vox_fem/level.ogg differ diff --git a/sound/vox_fem/lever.ogg b/sound/vox_fem/lever.ogg index 01a29de9d27..e21aa7521d8 100644 Binary files a/sound/vox_fem/lever.ogg and b/sound/vox_fem/lever.ogg differ diff --git a/sound/vox_fem/lie.ogg b/sound/vox_fem/lie.ogg index 66ca11481b4..bf78bfde8bc 100644 Binary files a/sound/vox_fem/lie.ogg and b/sound/vox_fem/lie.ogg differ diff --git a/sound/vox_fem/lieutenant.ogg b/sound/vox_fem/lieutenant.ogg index cdd7f5f6d11..bdc3aa05ef1 100644 Binary files a/sound/vox_fem/lieutenant.ogg and b/sound/vox_fem/lieutenant.ogg differ diff --git a/sound/vox_fem/life.ogg b/sound/vox_fem/life.ogg index 3bda0132fd5..a445c04df42 100644 Binary files a/sound/vox_fem/life.ogg and b/sound/vox_fem/life.ogg differ diff --git a/sound/vox_fem/light.ogg b/sound/vox_fem/light.ogg index a47e384fac6..b3514dfc55a 100644 Binary files a/sound/vox_fem/light.ogg and b/sound/vox_fem/light.ogg differ diff --git a/sound/vox_fem/lima.ogg b/sound/vox_fem/lima.ogg index 8bdc9f37cc0..4870bbe9505 100644 Binary files a/sound/vox_fem/lima.ogg and b/sound/vox_fem/lima.ogg differ diff --git a/sound/vox_fem/liquid.ogg b/sound/vox_fem/liquid.ogg index 91d5400c22b..8c071731257 100644 Binary files a/sound/vox_fem/liquid.ogg and b/sound/vox_fem/liquid.ogg differ diff --git a/sound/vox_fem/lizard.ogg b/sound/vox_fem/lizard.ogg index e278900b053..37986599b2c 100644 Binary files a/sound/vox_fem/lizard.ogg and b/sound/vox_fem/lizard.ogg differ diff --git a/sound/vox_fem/loading.ogg b/sound/vox_fem/loading.ogg index c5bb77977ad..f3cca6e4827 100644 Binary files a/sound/vox_fem/loading.ogg and b/sound/vox_fem/loading.ogg differ diff --git a/sound/vox_fem/locate.ogg b/sound/vox_fem/locate.ogg index d59e079ecf4..47d4e442bfb 100644 Binary files a/sound/vox_fem/locate.ogg and b/sound/vox_fem/locate.ogg differ diff --git a/sound/vox_fem/located.ogg b/sound/vox_fem/located.ogg index 30c76005ef4..2bf7cc84cb0 100644 Binary files a/sound/vox_fem/located.ogg and b/sound/vox_fem/located.ogg differ diff --git a/sound/vox_fem/location.ogg b/sound/vox_fem/location.ogg index 8c5defd6438..5b9466f5e2a 100644 Binary files a/sound/vox_fem/location.ogg and b/sound/vox_fem/location.ogg differ diff --git a/sound/vox_fem/lock.ogg b/sound/vox_fem/lock.ogg index cd5b96d0e5b..1e6b9e66c55 100644 Binary files a/sound/vox_fem/lock.ogg and b/sound/vox_fem/lock.ogg differ diff --git a/sound/vox_fem/locked.ogg b/sound/vox_fem/locked.ogg index f4a4ef388f4..e704c91cd57 100644 Binary files a/sound/vox_fem/locked.ogg and b/sound/vox_fem/locked.ogg differ diff --git a/sound/vox_fem/locker.ogg b/sound/vox_fem/locker.ogg index dd37c7c1661..33a4d8172bf 100644 Binary files a/sound/vox_fem/locker.ogg and b/sound/vox_fem/locker.ogg differ diff --git a/sound/vox_fem/lockout.ogg b/sound/vox_fem/lockout.ogg index daaf5170dfb..a49f98b0ccb 100644 Binary files a/sound/vox_fem/lockout.ogg and b/sound/vox_fem/lockout.ogg differ diff --git a/sound/vox_fem/loose.ogg b/sound/vox_fem/loose.ogg index 944be6290bb..99434ebf140 100644 Binary files a/sound/vox_fem/loose.ogg and b/sound/vox_fem/loose.ogg differ diff --git a/sound/vox_fem/love.ogg b/sound/vox_fem/love.ogg index cebc419c0b4..563d28b547f 100644 Binary files a/sound/vox_fem/love.ogg and b/sound/vox_fem/love.ogg differ diff --git a/sound/vox_fem/lower.ogg b/sound/vox_fem/lower.ogg index e18bbbbe76e..30b78e0e175 100644 Binary files a/sound/vox_fem/lower.ogg and b/sound/vox_fem/lower.ogg differ diff --git a/sound/vox_fem/lowest.ogg b/sound/vox_fem/lowest.ogg index 6bcbbc8f502..bac548f7c80 100644 Binary files a/sound/vox_fem/lowest.ogg and b/sound/vox_fem/lowest.ogg differ diff --git a/sound/vox_fem/m.ogg b/sound/vox_fem/m.ogg index a9d83f6e04a..f80354f00d2 100644 Binary files a/sound/vox_fem/m.ogg and b/sound/vox_fem/m.ogg differ diff --git a/sound/vox_fem/magnetic.ogg b/sound/vox_fem/magnetic.ogg index 47d8b5bd6e6..453363e076d 100644 Binary files a/sound/vox_fem/magnetic.ogg and b/sound/vox_fem/magnetic.ogg differ diff --git a/sound/vox_fem/main.ogg b/sound/vox_fem/main.ogg index b6bc851e6c9..f95b10ddd5c 100644 Binary files a/sound/vox_fem/main.ogg and b/sound/vox_fem/main.ogg differ diff --git a/sound/vox_fem/maintenance.ogg b/sound/vox_fem/maintenance.ogg index 7db03c7a355..7dd53dc47fb 100644 Binary files a/sound/vox_fem/maintenance.ogg and b/sound/vox_fem/maintenance.ogg differ diff --git a/sound/vox_fem/malf.ogg b/sound/vox_fem/malf.ogg new file mode 100644 index 00000000000..f19bbf398a8 Binary files /dev/null and b/sound/vox_fem/malf.ogg differ diff --git a/sound/vox_fem/malfunction.ogg b/sound/vox_fem/malfunction.ogg index 91fa4429754..df1655ca064 100644 Binary files a/sound/vox_fem/malfunction.ogg and b/sound/vox_fem/malfunction.ogg differ diff --git a/sound/vox_fem/malfunctioning.ogg b/sound/vox_fem/malfunctioning.ogg new file mode 100644 index 00000000000..c92cc13973e Binary files /dev/null and b/sound/vox_fem/malfunctioning.ogg differ diff --git a/sound/vox_fem/man.ogg b/sound/vox_fem/man.ogg index 091feed4987..ec48fe61cb3 100644 Binary files a/sound/vox_fem/man.ogg and b/sound/vox_fem/man.ogg differ diff --git a/sound/vox_fem/mass.ogg b/sound/vox_fem/mass.ogg index 9cb08635c90..5a71a33f07f 100644 Binary files a/sound/vox_fem/mass.ogg and b/sound/vox_fem/mass.ogg differ diff --git a/sound/vox_fem/materials.ogg b/sound/vox_fem/materials.ogg index 29066696ec8..250e678114a 100644 Binary files a/sound/vox_fem/materials.ogg and b/sound/vox_fem/materials.ogg differ diff --git a/sound/vox_fem/maximum.ogg b/sound/vox_fem/maximum.ogg index b4a0938bfd7..6b39bf1614d 100644 Binary files a/sound/vox_fem/maximum.ogg and b/sound/vox_fem/maximum.ogg differ diff --git a/sound/vox_fem/may.ogg b/sound/vox_fem/may.ogg index ad00af655b6..0739b28b26b 100644 Binary files a/sound/vox_fem/may.ogg and b/sound/vox_fem/may.ogg differ diff --git a/sound/vox_fem/me.ogg b/sound/vox_fem/me.ogg index 9889d70a63b..c96355b58d6 100644 Binary files a/sound/vox_fem/me.ogg and b/sound/vox_fem/me.ogg differ diff --git a/sound/vox_fem/medbay.ogg b/sound/vox_fem/medbay.ogg index 86efb4715da..e16b458ab67 100644 Binary files a/sound/vox_fem/medbay.ogg and b/sound/vox_fem/medbay.ogg differ diff --git a/sound/vox_fem/medical.ogg b/sound/vox_fem/medical.ogg index 0106ed1adfe..66b24a5d3f1 100644 Binary files a/sound/vox_fem/medical.ogg and b/sound/vox_fem/medical.ogg differ diff --git a/sound/vox_fem/men.ogg b/sound/vox_fem/men.ogg index 0d06bfe4798..f3a9588adab 100644 Binary files a/sound/vox_fem/men.ogg and b/sound/vox_fem/men.ogg differ diff --git a/sound/vox_fem/mercy.ogg b/sound/vox_fem/mercy.ogg index 3bd0106097a..8cdba6a2571 100644 Binary files a/sound/vox_fem/mercy.ogg and b/sound/vox_fem/mercy.ogg differ diff --git a/sound/vox_fem/mesa.ogg b/sound/vox_fem/mesa.ogg index 99d3cb3afef..de69e00c8f3 100644 Binary files a/sound/vox_fem/mesa.ogg and b/sound/vox_fem/mesa.ogg differ diff --git a/sound/vox_fem/message.ogg b/sound/vox_fem/message.ogg index ce7690b8b74..83eeb175d07 100644 Binary files a/sound/vox_fem/message.ogg and b/sound/vox_fem/message.ogg differ diff --git a/sound/vox_fem/meter.ogg b/sound/vox_fem/meter.ogg index f893d3e2329..ba0e43ab9b7 100644 Binary files a/sound/vox_fem/meter.ogg and b/sound/vox_fem/meter.ogg differ diff --git a/sound/vox_fem/micro.ogg b/sound/vox_fem/micro.ogg index 3288b6c658c..502bce58aae 100644 Binary files a/sound/vox_fem/micro.ogg and b/sound/vox_fem/micro.ogg differ diff --git a/sound/vox_fem/middle.ogg b/sound/vox_fem/middle.ogg index f5bfa83bca3..429b39857f8 100644 Binary files a/sound/vox_fem/middle.ogg and b/sound/vox_fem/middle.ogg differ diff --git a/sound/vox_fem/mike.ogg b/sound/vox_fem/mike.ogg index 0efcc3330b1..75a1549c6fa 100644 Binary files a/sound/vox_fem/mike.ogg and b/sound/vox_fem/mike.ogg differ diff --git a/sound/vox_fem/miles.ogg b/sound/vox_fem/miles.ogg index 0aeb597975f..0de3bd36c71 100644 Binary files a/sound/vox_fem/miles.ogg and b/sound/vox_fem/miles.ogg differ diff --git a/sound/vox_fem/military.ogg b/sound/vox_fem/military.ogg index 8566254d4a7..0ff33b82340 100644 Binary files a/sound/vox_fem/military.ogg and b/sound/vox_fem/military.ogg differ diff --git a/sound/vox_fem/milli.ogg b/sound/vox_fem/milli.ogg index e241c80188c..4713bac1cdb 100644 Binary files a/sound/vox_fem/milli.ogg and b/sound/vox_fem/milli.ogg differ diff --git a/sound/vox_fem/million.ogg b/sound/vox_fem/million.ogg index 462ad16d387..dadcffc3ff9 100644 Binary files a/sound/vox_fem/million.ogg and b/sound/vox_fem/million.ogg differ diff --git a/sound/vox_fem/minefield.ogg b/sound/vox_fem/minefield.ogg index 44ebdfd04ff..b4f1d013709 100644 Binary files a/sound/vox_fem/minefield.ogg and b/sound/vox_fem/minefield.ogg differ diff --git a/sound/vox_fem/minimum.ogg b/sound/vox_fem/minimum.ogg index 980312930bb..39b7e1439c8 100644 Binary files a/sound/vox_fem/minimum.ogg and b/sound/vox_fem/minimum.ogg differ diff --git a/sound/vox_fem/minus.ogg b/sound/vox_fem/minus.ogg new file mode 100644 index 00000000000..8606d441296 Binary files /dev/null and b/sound/vox_fem/minus.ogg differ diff --git a/sound/vox_fem/minutes.ogg b/sound/vox_fem/minutes.ogg index 472436cad8f..f1eb19eb742 100644 Binary files a/sound/vox_fem/minutes.ogg and b/sound/vox_fem/minutes.ogg differ diff --git a/sound/vox_fem/mister.ogg b/sound/vox_fem/mister.ogg index 8793c97191a..97fdde4c188 100644 Binary files a/sound/vox_fem/mister.ogg and b/sound/vox_fem/mister.ogg differ diff --git a/sound/vox_fem/mode.ogg b/sound/vox_fem/mode.ogg index 3407d4d90d0..b585fc4a097 100644 Binary files a/sound/vox_fem/mode.ogg and b/sound/vox_fem/mode.ogg differ diff --git a/sound/vox_fem/mommi.ogg b/sound/vox_fem/mommi.ogg index c7041755038..c3dbdd15bd2 100644 Binary files a/sound/vox_fem/mommi.ogg and b/sound/vox_fem/mommi.ogg differ diff --git a/sound/vox_fem/money.ogg b/sound/vox_fem/money.ogg index 13f02f5cfc8..ad054a71301 100644 Binary files a/sound/vox_fem/money.ogg and b/sound/vox_fem/money.ogg differ diff --git a/sound/vox_fem/monkey.ogg b/sound/vox_fem/monkey.ogg index 89097b70692..a123a393a83 100644 Binary files a/sound/vox_fem/monkey.ogg and b/sound/vox_fem/monkey.ogg differ diff --git a/sound/vox_fem/monkeys.ogg b/sound/vox_fem/monkeys.ogg index 24085f7c430..8e54acf7ef1 100644 Binary files a/sound/vox_fem/monkeys.ogg and b/sound/vox_fem/monkeys.ogg differ diff --git a/sound/vox_fem/motor.ogg b/sound/vox_fem/motor.ogg index 680516d9486..9a78193b464 100644 Binary files a/sound/vox_fem/motor.ogg and b/sound/vox_fem/motor.ogg differ diff --git a/sound/vox_fem/motorpool.ogg b/sound/vox_fem/motorpool.ogg index f3fb7f1ed84..4dcbdc6e9d3 100644 Binary files a/sound/vox_fem/motorpool.ogg and b/sound/vox_fem/motorpool.ogg differ diff --git a/sound/vox_fem/move.ogg b/sound/vox_fem/move.ogg index 8405d80aef2..1f9ef74e546 100644 Binary files a/sound/vox_fem/move.ogg and b/sound/vox_fem/move.ogg differ diff --git a/sound/vox_fem/must.ogg b/sound/vox_fem/must.ogg index 9acb3218989..54d4ffe53a5 100644 Binary files a/sound/vox_fem/must.ogg and b/sound/vox_fem/must.ogg differ diff --git a/sound/vox_fem/my.ogg b/sound/vox_fem/my.ogg index b5a0a46d435..fc6ae2366a0 100644 Binary files a/sound/vox_fem/my.ogg and b/sound/vox_fem/my.ogg differ diff --git a/sound/vox_fem/n.ogg b/sound/vox_fem/n.ogg index a1628ca9daa..e0c396f5476 100644 Binary files a/sound/vox_fem/n.ogg and b/sound/vox_fem/n.ogg differ diff --git a/sound/vox_fem/nanotrasen.ogg b/sound/vox_fem/nanotrasen.ogg index cf95f99060b..10aa196c4ed 100644 Binary files a/sound/vox_fem/nanotrasen.ogg and b/sound/vox_fem/nanotrasen.ogg differ diff --git a/sound/vox_fem/nearest.ogg b/sound/vox_fem/nearest.ogg index 80e973068ea..c11a89d9953 100644 Binary files a/sound/vox_fem/nearest.ogg and b/sound/vox_fem/nearest.ogg differ diff --git a/sound/vox_fem/negative.ogg b/sound/vox_fem/negative.ogg new file mode 100644 index 00000000000..ffcfc925daf Binary files /dev/null and b/sound/vox_fem/negative.ogg differ diff --git a/sound/vox_fem/nice.ogg b/sound/vox_fem/nice.ogg index 665e6c124e5..e800e84d00f 100644 Binary files a/sound/vox_fem/nice.ogg and b/sound/vox_fem/nice.ogg differ diff --git a/sound/vox_fem/nine.ogg b/sound/vox_fem/nine.ogg index 85919145a6f..86601bfa1ec 100644 Binary files a/sound/vox_fem/nine.ogg and b/sound/vox_fem/nine.ogg differ diff --git a/sound/vox_fem/nineteen.ogg b/sound/vox_fem/nineteen.ogg index 8a7f496e9a4..d28d7b15b64 100644 Binary files a/sound/vox_fem/nineteen.ogg and b/sound/vox_fem/nineteen.ogg differ diff --git a/sound/vox_fem/ninety.ogg b/sound/vox_fem/ninety.ogg index 7230ac88a3a..ad5a1c1b42d 100644 Binary files a/sound/vox_fem/ninety.ogg and b/sound/vox_fem/ninety.ogg differ diff --git a/sound/vox_fem/ninja.ogg b/sound/vox_fem/ninja.ogg index 556c0045272..f8b1efe63e8 100644 Binary files a/sound/vox_fem/ninja.ogg and b/sound/vox_fem/ninja.ogg differ diff --git a/sound/vox_fem/ninjas.ogg b/sound/vox_fem/ninjas.ogg index 77e657e705e..abb15716fce 100644 Binary files a/sound/vox_fem/ninjas.ogg and b/sound/vox_fem/ninjas.ogg differ diff --git a/sound/vox_fem/no.ogg b/sound/vox_fem/no.ogg index a7ffc7f41f2..8eee9df35fb 100644 Binary files a/sound/vox_fem/no.ogg and b/sound/vox_fem/no.ogg differ diff --git a/sound/vox_fem/nominal.ogg b/sound/vox_fem/nominal.ogg index 6ad8c3c56c3..f6fb6736e71 100644 Binary files a/sound/vox_fem/nominal.ogg and b/sound/vox_fem/nominal.ogg differ diff --git a/sound/vox_fem/north.ogg b/sound/vox_fem/north.ogg index 952fcdac8b1..7efef865cf8 100644 Binary files a/sound/vox_fem/north.ogg and b/sound/vox_fem/north.ogg differ diff --git a/sound/vox_fem/not.ogg b/sound/vox_fem/not.ogg index fd86373c207..b5cd9e5f55a 100644 Binary files a/sound/vox_fem/not.ogg and b/sound/vox_fem/not.ogg differ diff --git a/sound/vox_fem/november.ogg b/sound/vox_fem/november.ogg index 8fea289c80f..403b9160f7a 100644 Binary files a/sound/vox_fem/november.ogg and b/sound/vox_fem/november.ogg differ diff --git a/sound/vox_fem/now.ogg b/sound/vox_fem/now.ogg index 889abe3c0e0..f5d4df71936 100644 Binary files a/sound/vox_fem/now.ogg and b/sound/vox_fem/now.ogg differ diff --git a/sound/vox_fem/number.ogg b/sound/vox_fem/number.ogg index 5da72771b94..afa6bb45950 100644 Binary files a/sound/vox_fem/number.ogg and b/sound/vox_fem/number.ogg differ diff --git a/sound/vox_fem/o.ogg b/sound/vox_fem/o.ogg index ff26d51320b..09fc769dd98 100644 Binary files a/sound/vox_fem/o.ogg and b/sound/vox_fem/o.ogg differ diff --git a/sound/vox_fem/objective.ogg b/sound/vox_fem/objective.ogg index 5737b2e7cac..ecfacb733ec 100644 Binary files a/sound/vox_fem/objective.ogg and b/sound/vox_fem/objective.ogg differ diff --git a/sound/vox_fem/observation.ogg b/sound/vox_fem/observation.ogg index f7acd4fd569..653c31e346d 100644 Binary files a/sound/vox_fem/observation.ogg and b/sound/vox_fem/observation.ogg differ diff --git a/sound/vox_fem/obtain.ogg b/sound/vox_fem/obtain.ogg index 1ddbf9ba321..ae28974e404 100644 Binary files a/sound/vox_fem/obtain.ogg and b/sound/vox_fem/obtain.ogg differ diff --git a/sound/vox_fem/of.ogg b/sound/vox_fem/of.ogg index 3acc2cb7bd2..5bf24883419 100644 Binary files a/sound/vox_fem/of.ogg and b/sound/vox_fem/of.ogg differ diff --git a/sound/vox_fem/officer.ogg b/sound/vox_fem/officer.ogg index 127a1326ebf..4f80dd195a0 100644 Binary files a/sound/vox_fem/officer.ogg and b/sound/vox_fem/officer.ogg differ diff --git a/sound/vox_fem/ok.ogg b/sound/vox_fem/ok.ogg index 36a377efca0..072a208af95 100644 Binary files a/sound/vox_fem/ok.ogg and b/sound/vox_fem/ok.ogg differ diff --git a/sound/vox_fem/on.ogg b/sound/vox_fem/on.ogg index 1ff936f278e..be42780f461 100644 Binary files a/sound/vox_fem/on.ogg and b/sound/vox_fem/on.ogg differ diff --git a/sound/vox_fem/one.ogg b/sound/vox_fem/one.ogg index 37a9fe1b553..749a9e5be9d 100644 Binary files a/sound/vox_fem/one.ogg and b/sound/vox_fem/one.ogg differ diff --git a/sound/vox_fem/open.ogg b/sound/vox_fem/open.ogg index e5edd08276e..96806dc3296 100644 Binary files a/sound/vox_fem/open.ogg and b/sound/vox_fem/open.ogg differ diff --git a/sound/vox_fem/operating.ogg b/sound/vox_fem/operating.ogg index 476880802a8..5404634ab13 100644 Binary files a/sound/vox_fem/operating.ogg and b/sound/vox_fem/operating.ogg differ diff --git a/sound/vox_fem/operations.ogg b/sound/vox_fem/operations.ogg index 96449c95e8b..114c603ed05 100644 Binary files a/sound/vox_fem/operations.ogg and b/sound/vox_fem/operations.ogg differ diff --git a/sound/vox_fem/operative.ogg b/sound/vox_fem/operative.ogg index 2fe7ffc2653..d93b6534364 100644 Binary files a/sound/vox_fem/operative.ogg and b/sound/vox_fem/operative.ogg differ diff --git a/sound/vox_fem/option.ogg b/sound/vox_fem/option.ogg index fc5ef3f8116..c9d163c3bbf 100644 Binary files a/sound/vox_fem/option.ogg and b/sound/vox_fem/option.ogg differ diff --git a/sound/vox_fem/or.ogg b/sound/vox_fem/or.ogg index e67a306b81d..ce1bbdc52a2 100644 Binary files a/sound/vox_fem/or.ogg and b/sound/vox_fem/or.ogg differ diff --git a/sound/vox_fem/order.ogg b/sound/vox_fem/order.ogg index 8dfd45891d9..fc19d3311a9 100644 Binary files a/sound/vox_fem/order.ogg and b/sound/vox_fem/order.ogg differ diff --git a/sound/vox_fem/organic.ogg b/sound/vox_fem/organic.ogg index 2c56b41d291..0ad410030a5 100644 Binary files a/sound/vox_fem/organic.ogg and b/sound/vox_fem/organic.ogg differ diff --git a/sound/vox_fem/oscar.ogg b/sound/vox_fem/oscar.ogg index 5605abde31e..ae2dea023ff 100644 Binary files a/sound/vox_fem/oscar.ogg and b/sound/vox_fem/oscar.ogg differ diff --git a/sound/vox_fem/out.ogg b/sound/vox_fem/out.ogg index b6f95084a7e..005b7e204ec 100644 Binary files a/sound/vox_fem/out.ogg and b/sound/vox_fem/out.ogg differ diff --git a/sound/vox_fem/outside.ogg b/sound/vox_fem/outside.ogg index f548118621a..5c6f721dc0c 100644 Binary files a/sound/vox_fem/outside.ogg and b/sound/vox_fem/outside.ogg differ diff --git a/sound/vox_fem/over.ogg b/sound/vox_fem/over.ogg index 8fc9615e1a5..567bb69431d 100644 Binary files a/sound/vox_fem/over.ogg and b/sound/vox_fem/over.ogg differ diff --git a/sound/vox_fem/overload.ogg b/sound/vox_fem/overload.ogg index 6f5fc29940f..d9ab530b1ec 100644 Binary files a/sound/vox_fem/overload.ogg and b/sound/vox_fem/overload.ogg differ diff --git a/sound/vox_fem/override.ogg b/sound/vox_fem/override.ogg index b20e8038e61..fcc285fb8bd 100644 Binary files a/sound/vox_fem/override.ogg and b/sound/vox_fem/override.ogg differ diff --git a/sound/vox_fem/p.ogg b/sound/vox_fem/p.ogg index 61035971696..98eacdf5498 100644 Binary files a/sound/vox_fem/p.ogg and b/sound/vox_fem/p.ogg differ diff --git a/sound/vox_fem/pacify.ogg b/sound/vox_fem/pacify.ogg index 656f2d1eeb0..15747e8d935 100644 Binary files a/sound/vox_fem/pacify.ogg and b/sound/vox_fem/pacify.ogg differ diff --git a/sound/vox_fem/pain.ogg b/sound/vox_fem/pain.ogg index b24be21cda5..23ec6e2b7be 100644 Binary files a/sound/vox_fem/pain.ogg and b/sound/vox_fem/pain.ogg differ diff --git a/sound/vox_fem/pal.ogg b/sound/vox_fem/pal.ogg index 5af5a3f74d6..d9eaecc16d9 100644 Binary files a/sound/vox_fem/pal.ogg and b/sound/vox_fem/pal.ogg differ diff --git a/sound/vox_fem/panel.ogg b/sound/vox_fem/panel.ogg index 5a469f5fd7f..c68029951d8 100644 Binary files a/sound/vox_fem/panel.ogg and b/sound/vox_fem/panel.ogg differ diff --git a/sound/vox_fem/percent.ogg b/sound/vox_fem/percent.ogg index 58465d2a98e..5c7432454d9 100644 Binary files a/sound/vox_fem/percent.ogg and b/sound/vox_fem/percent.ogg differ diff --git a/sound/vox_fem/perimeter.ogg b/sound/vox_fem/perimeter.ogg index ede8509b8a1..f4d5cebad9e 100644 Binary files a/sound/vox_fem/perimeter.ogg and b/sound/vox_fem/perimeter.ogg differ diff --git a/sound/vox_fem/permitted.ogg b/sound/vox_fem/permitted.ogg index 04fd9f2bae7..39ebc8678a4 100644 Binary files a/sound/vox_fem/permitted.ogg and b/sound/vox_fem/permitted.ogg differ diff --git a/sound/vox_fem/personnel.ogg b/sound/vox_fem/personnel.ogg index 9a699c73de2..9eba8eab376 100644 Binary files a/sound/vox_fem/personnel.ogg and b/sound/vox_fem/personnel.ogg differ diff --git a/sound/vox_fem/pipe.ogg b/sound/vox_fem/pipe.ogg index ad592f74ffc..54f6d7cd528 100644 Binary files a/sound/vox_fem/pipe.ogg and b/sound/vox_fem/pipe.ogg differ diff --git a/sound/vox_fem/plant.ogg b/sound/vox_fem/plant.ogg index b2bdbb1ef55..4b693d75bc9 100644 Binary files a/sound/vox_fem/plant.ogg and b/sound/vox_fem/plant.ogg differ diff --git a/sound/vox_fem/plasma.ogg b/sound/vox_fem/plasma.ogg index 9538a642e5b..4187d273d8c 100644 Binary files a/sound/vox_fem/plasma.ogg and b/sound/vox_fem/plasma.ogg differ diff --git a/sound/vox_fem/platform.ogg b/sound/vox_fem/platform.ogg index 78503ba68fc..ede9921a167 100644 Binary files a/sound/vox_fem/platform.ogg and b/sound/vox_fem/platform.ogg differ diff --git a/sound/vox_fem/please.ogg b/sound/vox_fem/please.ogg index 95fa9da5cd3..829119d817c 100644 Binary files a/sound/vox_fem/please.ogg and b/sound/vox_fem/please.ogg differ diff --git a/sound/vox_fem/point.ogg b/sound/vox_fem/point.ogg index 6d1bf7ce85c..c837b25f763 100644 Binary files a/sound/vox_fem/point.ogg and b/sound/vox_fem/point.ogg differ diff --git a/sound/vox_fem/port.ogg b/sound/vox_fem/port.ogg index b5bca1502b2..aa2c783b50a 100644 Binary files a/sound/vox_fem/port.ogg and b/sound/vox_fem/port.ogg differ diff --git a/sound/vox_fem/portal.ogg b/sound/vox_fem/portal.ogg index 3af47d6fbcd..fa1345c3dc4 100644 Binary files a/sound/vox_fem/portal.ogg and b/sound/vox_fem/portal.ogg differ diff --git a/sound/vox_fem/power.ogg b/sound/vox_fem/power.ogg index ddb56ca3f9d..8c7f8f147a9 100644 Binary files a/sound/vox_fem/power.ogg and b/sound/vox_fem/power.ogg differ diff --git a/sound/vox_fem/presence.ogg b/sound/vox_fem/presence.ogg index a2da7024c9f..7f8cb296d73 100644 Binary files a/sound/vox_fem/presence.ogg and b/sound/vox_fem/presence.ogg differ diff --git a/sound/vox_fem/press.ogg b/sound/vox_fem/press.ogg index 35a0ab806e1..a3e52593a3d 100644 Binary files a/sound/vox_fem/press.ogg and b/sound/vox_fem/press.ogg differ diff --git a/sound/vox_fem/primary.ogg b/sound/vox_fem/primary.ogg index bb1fd697395..0452d8f00e5 100644 Binary files a/sound/vox_fem/primary.ogg and b/sound/vox_fem/primary.ogg differ diff --git a/sound/vox_fem/proceed.ogg b/sound/vox_fem/proceed.ogg index fe962d74fcc..13d301240de 100644 Binary files a/sound/vox_fem/proceed.ogg and b/sound/vox_fem/proceed.ogg differ diff --git a/sound/vox_fem/processing.ogg b/sound/vox_fem/processing.ogg index 7e050b00dc4..c31af991ab1 100644 Binary files a/sound/vox_fem/processing.ogg and b/sound/vox_fem/processing.ogg differ diff --git a/sound/vox_fem/progress.ogg b/sound/vox_fem/progress.ogg index e5cb73ac36b..deefb0e56a7 100644 Binary files a/sound/vox_fem/progress.ogg and b/sound/vox_fem/progress.ogg differ diff --git a/sound/vox_fem/proper.ogg b/sound/vox_fem/proper.ogg index 564ec364d6a..4564070d09a 100644 Binary files a/sound/vox_fem/proper.ogg and b/sound/vox_fem/proper.ogg differ diff --git a/sound/vox_fem/propulsion.ogg b/sound/vox_fem/propulsion.ogg index ce3e8381ea6..b6f532b55ce 100644 Binary files a/sound/vox_fem/propulsion.ogg and b/sound/vox_fem/propulsion.ogg differ diff --git a/sound/vox_fem/prosecute.ogg b/sound/vox_fem/prosecute.ogg index 12e2cc43e93..98478476fe5 100644 Binary files a/sound/vox_fem/prosecute.ogg and b/sound/vox_fem/prosecute.ogg differ diff --git a/sound/vox_fem/protective.ogg b/sound/vox_fem/protective.ogg index c8cd2cf960f..c0f8ccc63e3 100644 Binary files a/sound/vox_fem/protective.ogg and b/sound/vox_fem/protective.ogg differ diff --git a/sound/vox_fem/push.ogg b/sound/vox_fem/push.ogg index ec03ce77d53..9c15d2dd3e8 100644 Binary files a/sound/vox_fem/push.ogg and b/sound/vox_fem/push.ogg differ diff --git a/sound/vox_fem/q.ogg b/sound/vox_fem/q.ogg index fe357934ba3..1763bb631a2 100644 Binary files a/sound/vox_fem/q.ogg and b/sound/vox_fem/q.ogg differ diff --git a/sound/vox_fem/qm.ogg b/sound/vox_fem/qm.ogg index 7442b140cc9..cbc0945fa37 100644 Binary files a/sound/vox_fem/qm.ogg and b/sound/vox_fem/qm.ogg differ diff --git a/sound/vox_fem/quantum.ogg b/sound/vox_fem/quantum.ogg index f2cdd151dfc..57a03c9e823 100644 Binary files a/sound/vox_fem/quantum.ogg and b/sound/vox_fem/quantum.ogg differ diff --git a/sound/vox_fem/quarters.ogg b/sound/vox_fem/quarters.ogg index 4a34fe9aa43..b0eae14253e 100644 Binary files a/sound/vox_fem/quarters.ogg and b/sound/vox_fem/quarters.ogg differ diff --git a/sound/vox_fem/quebec.ogg b/sound/vox_fem/quebec.ogg index ba4c9c55ced..7234289c360 100644 Binary files a/sound/vox_fem/quebec.ogg and b/sound/vox_fem/quebec.ogg differ diff --git a/sound/vox_fem/queen.ogg b/sound/vox_fem/queen.ogg index cbe2eae140b..468d2eaf31a 100644 Binary files a/sound/vox_fem/queen.ogg and b/sound/vox_fem/queen.ogg differ diff --git a/sound/vox_fem/question.ogg b/sound/vox_fem/question.ogg index 3f529c51038..b849d536b0c 100644 Binary files a/sound/vox_fem/question.ogg and b/sound/vox_fem/question.ogg differ diff --git a/sound/vox_fem/questioning.ogg b/sound/vox_fem/questioning.ogg index baef56285cd..fed35a84644 100644 Binary files a/sound/vox_fem/questioning.ogg and b/sound/vox_fem/questioning.ogg differ diff --git a/sound/vox_fem/quick.ogg b/sound/vox_fem/quick.ogg index 8b4c06f6376..efd970ea193 100644 Binary files a/sound/vox_fem/quick.ogg and b/sound/vox_fem/quick.ogg differ diff --git a/sound/vox_fem/quit.ogg b/sound/vox_fem/quit.ogg index df9573826c6..ad3af8c4621 100644 Binary files a/sound/vox_fem/quit.ogg and b/sound/vox_fem/quit.ogg differ diff --git a/sound/vox_fem/r.ogg b/sound/vox_fem/r.ogg index a2c7cebedd6..ee0c442249b 100644 Binary files a/sound/vox_fem/r.ogg and b/sound/vox_fem/r.ogg differ diff --git a/sound/vox_fem/radiation.ogg b/sound/vox_fem/radiation.ogg index d0e9645c50e..83c42936576 100644 Binary files a/sound/vox_fem/radiation.ogg and b/sound/vox_fem/radiation.ogg differ diff --git a/sound/vox_fem/radioactive.ogg b/sound/vox_fem/radioactive.ogg index 27ace72c9ba..73dcd7f0ee8 100644 Binary files a/sound/vox_fem/radioactive.ogg and b/sound/vox_fem/radioactive.ogg differ diff --git a/sound/vox_fem/rads.ogg b/sound/vox_fem/rads.ogg index 44135240f5e..a5d1e631f6f 100644 Binary files a/sound/vox_fem/rads.ogg and b/sound/vox_fem/rads.ogg differ diff --git a/sound/vox_fem/rage.ogg b/sound/vox_fem/rage.ogg index 83ba84abdd0..5e016ed2c91 100644 Binary files a/sound/vox_fem/rage.ogg and b/sound/vox_fem/rage.ogg differ diff --git a/sound/vox_fem/raider.ogg b/sound/vox_fem/raider.ogg index c6537ff1f93..a14a2eaf0bd 100644 Binary files a/sound/vox_fem/raider.ogg and b/sound/vox_fem/raider.ogg differ diff --git a/sound/vox_fem/raiders.ogg b/sound/vox_fem/raiders.ogg index c64ec155752..5d4e6689791 100644 Binary files a/sound/vox_fem/raiders.ogg and b/sound/vox_fem/raiders.ogg differ diff --git a/sound/vox_fem/rapid.ogg b/sound/vox_fem/rapid.ogg index 1bcae8be21c..17bcad6f12f 100644 Binary files a/sound/vox_fem/rapid.ogg and b/sound/vox_fem/rapid.ogg differ diff --git a/sound/vox_fem/rd.ogg b/sound/vox_fem/rd.ogg index 8336683ca19..ff8b9d205a9 100644 Binary files a/sound/vox_fem/rd.ogg and b/sound/vox_fem/rd.ogg differ diff --git a/sound/vox_fem/reach.ogg b/sound/vox_fem/reach.ogg index 8c239894958..c3cb81cc39f 100644 Binary files a/sound/vox_fem/reach.ogg and b/sound/vox_fem/reach.ogg differ diff --git a/sound/vox_fem/reached.ogg b/sound/vox_fem/reached.ogg index 808fc15435c..2fe07542c79 100644 Binary files a/sound/vox_fem/reached.ogg and b/sound/vox_fem/reached.ogg differ diff --git a/sound/vox_fem/reactor.ogg b/sound/vox_fem/reactor.ogg index a7ad43c04db..ea05564d415 100644 Binary files a/sound/vox_fem/reactor.ogg and b/sound/vox_fem/reactor.ogg differ diff --git a/sound/vox_fem/recommend.ogg b/sound/vox_fem/recommend.ogg index a8468e0599f..3874ce592a8 100644 Binary files a/sound/vox_fem/recommend.ogg and b/sound/vox_fem/recommend.ogg differ diff --git a/sound/vox_fem/red.ogg b/sound/vox_fem/red.ogg index d831ff23919..4d7226a0b13 100644 Binary files a/sound/vox_fem/red.ogg and b/sound/vox_fem/red.ogg differ diff --git a/sound/vox_fem/relay.ogg b/sound/vox_fem/relay.ogg index b3b95c9cfab..2f661b9c5e0 100644 Binary files a/sound/vox_fem/relay.ogg and b/sound/vox_fem/relay.ogg differ diff --git a/sound/vox_fem/released.ogg b/sound/vox_fem/released.ogg index 2a15eedc5a0..d7be271f41c 100644 Binary files a/sound/vox_fem/released.ogg and b/sound/vox_fem/released.ogg differ diff --git a/sound/vox_fem/remaining.ogg b/sound/vox_fem/remaining.ogg index 5306f7208ae..a59165e1a51 100644 Binary files a/sound/vox_fem/remaining.ogg and b/sound/vox_fem/remaining.ogg differ diff --git a/sound/vox_fem/removal.ogg b/sound/vox_fem/removal.ogg index f2e3f631512..cb4c68c4b70 100644 Binary files a/sound/vox_fem/removal.ogg and b/sound/vox_fem/removal.ogg differ diff --git a/sound/vox_fem/renegade.ogg b/sound/vox_fem/renegade.ogg index 089f4428e03..3c25e933fb6 100644 Binary files a/sound/vox_fem/renegade.ogg and b/sound/vox_fem/renegade.ogg differ diff --git a/sound/vox_fem/repair.ogg b/sound/vox_fem/repair.ogg index 3b322b09fb5..ee6f0921912 100644 Binary files a/sound/vox_fem/repair.ogg and b/sound/vox_fem/repair.ogg differ diff --git a/sound/vox_fem/report.ogg b/sound/vox_fem/report.ogg index fcd34a79cb1..13a3dcf6137 100644 Binary files a/sound/vox_fem/report.ogg and b/sound/vox_fem/report.ogg differ diff --git a/sound/vox_fem/reports.ogg b/sound/vox_fem/reports.ogg index 1a45c6a3bab..d4317a29c08 100644 Binary files a/sound/vox_fem/reports.ogg and b/sound/vox_fem/reports.ogg differ diff --git a/sound/vox_fem/request.ogg b/sound/vox_fem/request.ogg index 8983e2be9bd..87c0c30d32f 100644 Binary files a/sound/vox_fem/request.ogg and b/sound/vox_fem/request.ogg differ diff --git a/sound/vox_fem/requested.ogg b/sound/vox_fem/requested.ogg index 7f0cd575ba0..9d350466248 100644 Binary files a/sound/vox_fem/requested.ogg and b/sound/vox_fem/requested.ogg differ diff --git a/sound/vox_fem/required.ogg b/sound/vox_fem/required.ogg index 86ceddad10c..89fe4af635f 100644 Binary files a/sound/vox_fem/required.ogg and b/sound/vox_fem/required.ogg differ diff --git a/sound/vox_fem/research.ogg b/sound/vox_fem/research.ogg index 16ea0d971e6..b7426ed6577 100644 Binary files a/sound/vox_fem/research.ogg and b/sound/vox_fem/research.ogg differ diff --git a/sound/vox_fem/resevoir.ogg b/sound/vox_fem/resevoir.ogg index a78ca293f82..b021c4b0b46 100644 Binary files a/sound/vox_fem/resevoir.ogg and b/sound/vox_fem/resevoir.ogg differ diff --git a/sound/vox_fem/resistance.ogg b/sound/vox_fem/resistance.ogg index b9841c0f440..3abbe8c3831 100644 Binary files a/sound/vox_fem/resistance.ogg and b/sound/vox_fem/resistance.ogg differ diff --git a/sound/vox_fem/respond.ogg b/sound/vox_fem/respond.ogg index 51fc117d97d..ff684f33d91 100644 Binary files a/sound/vox_fem/respond.ogg and b/sound/vox_fem/respond.ogg differ diff --git a/sound/vox_fem/rest.ogg b/sound/vox_fem/rest.ogg index fd17fbeb4b6..e41daa22d81 100644 Binary files a/sound/vox_fem/rest.ogg and b/sound/vox_fem/rest.ogg differ diff --git a/sound/vox_fem/right.ogg b/sound/vox_fem/right.ogg index 00e7d7d4397..b515afdfe14 100644 Binary files a/sound/vox_fem/right.ogg and b/sound/vox_fem/right.ogg differ diff --git a/sound/vox_fem/roboticist.ogg b/sound/vox_fem/roboticist.ogg index 791d8fa5590..762449c1392 100644 Binary files a/sound/vox_fem/roboticist.ogg and b/sound/vox_fem/roboticist.ogg differ diff --git a/sound/vox_fem/robotics.ogg b/sound/vox_fem/robotics.ogg index 11513d64a36..0f930bc1cca 100644 Binary files a/sound/vox_fem/robotics.ogg and b/sound/vox_fem/robotics.ogg differ diff --git a/sound/vox_fem/rocket.ogg b/sound/vox_fem/rocket.ogg index d7af48073b7..ef56fb7397d 100644 Binary files a/sound/vox_fem/rocket.ogg and b/sound/vox_fem/rocket.ogg differ diff --git a/sound/vox_fem/roger.ogg b/sound/vox_fem/roger.ogg index e2f45d0a920..ae9d841daaf 100644 Binary files a/sound/vox_fem/roger.ogg and b/sound/vox_fem/roger.ogg differ diff --git a/sound/vox_fem/rogue.ogg b/sound/vox_fem/rogue.ogg index 8571eb4d13a..3b3a5eae828 100644 Binary files a/sound/vox_fem/rogue.ogg and b/sound/vox_fem/rogue.ogg differ diff --git a/sound/vox_fem/romeo.ogg b/sound/vox_fem/romeo.ogg index eecbee4f57d..e5e5586d501 100644 Binary files a/sound/vox_fem/romeo.ogg and b/sound/vox_fem/romeo.ogg differ diff --git a/sound/vox_fem/room.ogg b/sound/vox_fem/room.ogg index 430b8b1de48..6f72372f88f 100644 Binary files a/sound/vox_fem/room.ogg and b/sound/vox_fem/room.ogg differ diff --git a/sound/vox_fem/round.ogg b/sound/vox_fem/round.ogg index 9061e11a262..b5ed3e15cec 100644 Binary files a/sound/vox_fem/round.ogg and b/sound/vox_fem/round.ogg differ diff --git a/sound/vox_fem/run.ogg b/sound/vox_fem/run.ogg index 5a4b48cee4a..edfde382d30 100644 Binary files a/sound/vox_fem/run.ogg and b/sound/vox_fem/run.ogg differ diff --git a/sound/vox_fem/s.ogg b/sound/vox_fem/s.ogg index 6f2a784d5af..40d08fa599d 100644 Binary files a/sound/vox_fem/s.ogg and b/sound/vox_fem/s.ogg differ diff --git a/sound/vox_fem/safe.ogg b/sound/vox_fem/safe.ogg index 8d259d96829..b7ffe4245b3 100644 Binary files a/sound/vox_fem/safe.ogg and b/sound/vox_fem/safe.ogg differ diff --git a/sound/vox_fem/safety.ogg b/sound/vox_fem/safety.ogg index 0d3d75a7641..4535a175afd 100644 Binary files a/sound/vox_fem/safety.ogg and b/sound/vox_fem/safety.ogg differ diff --git a/sound/vox_fem/sarah.ogg b/sound/vox_fem/sarah.ogg index b237c83969d..caece78a0bf 100644 Binary files a/sound/vox_fem/sarah.ogg and b/sound/vox_fem/sarah.ogg differ diff --git a/sound/vox_fem/sargeant.ogg b/sound/vox_fem/sargeant.ogg index c37c728eec9..6e1c38a9430 100644 Binary files a/sound/vox_fem/sargeant.ogg and b/sound/vox_fem/sargeant.ogg differ diff --git a/sound/vox_fem/satellite.ogg b/sound/vox_fem/satellite.ogg index 2fcf9c72ef5..95a8b7043a2 100644 Binary files a/sound/vox_fem/satellite.ogg and b/sound/vox_fem/satellite.ogg differ diff --git a/sound/vox_fem/save.ogg b/sound/vox_fem/save.ogg index b5d79bbcb68..7a91a6429d4 100644 Binary files a/sound/vox_fem/save.ogg and b/sound/vox_fem/save.ogg differ diff --git a/sound/vox_fem/science.ogg b/sound/vox_fem/science.ogg index 0849264d2ab..72c62bfcbfc 100644 Binary files a/sound/vox_fem/science.ogg and b/sound/vox_fem/science.ogg differ diff --git a/sound/vox_fem/scream.ogg b/sound/vox_fem/scream.ogg index 2271483dbef..2e7a12a6dbe 100644 Binary files a/sound/vox_fem/scream.ogg and b/sound/vox_fem/scream.ogg differ diff --git a/sound/vox_fem/screen.ogg b/sound/vox_fem/screen.ogg index bb1d2d66371..0303f1e3982 100644 Binary files a/sound/vox_fem/screen.ogg and b/sound/vox_fem/screen.ogg differ diff --git a/sound/vox_fem/search.ogg b/sound/vox_fem/search.ogg index 6f34a9e9e1c..a1153e1baba 100644 Binary files a/sound/vox_fem/search.ogg and b/sound/vox_fem/search.ogg differ diff --git a/sound/vox_fem/second.ogg b/sound/vox_fem/second.ogg index 076c55ac114..6e13ef40477 100644 Binary files a/sound/vox_fem/second.ogg and b/sound/vox_fem/second.ogg differ diff --git a/sound/vox_fem/secondary.ogg b/sound/vox_fem/secondary.ogg index aaddbc2e100..bdbadfa27ed 100644 Binary files a/sound/vox_fem/secondary.ogg and b/sound/vox_fem/secondary.ogg differ diff --git a/sound/vox_fem/seconds.ogg b/sound/vox_fem/seconds.ogg index 236a9cb1dc7..29d22cae9e2 100644 Binary files a/sound/vox_fem/seconds.ogg and b/sound/vox_fem/seconds.ogg differ diff --git a/sound/vox_fem/sector.ogg b/sound/vox_fem/sector.ogg index 8d612645b03..f80294a8162 100644 Binary files a/sound/vox_fem/sector.ogg and b/sound/vox_fem/sector.ogg differ diff --git a/sound/vox_fem/secure.ogg b/sound/vox_fem/secure.ogg index d9180b82cb6..6ed743af7c3 100644 Binary files a/sound/vox_fem/secure.ogg and b/sound/vox_fem/secure.ogg differ diff --git a/sound/vox_fem/secured.ogg b/sound/vox_fem/secured.ogg index 7f49e540507..f5126adec59 100644 Binary files a/sound/vox_fem/secured.ogg and b/sound/vox_fem/secured.ogg differ diff --git a/sound/vox_fem/security.ogg b/sound/vox_fem/security.ogg index b99ffa7f66e..79c380eaf04 100644 Binary files a/sound/vox_fem/security.ogg and b/sound/vox_fem/security.ogg differ diff --git a/sound/vox_fem/select.ogg b/sound/vox_fem/select.ogg index c123bfca7ef..e98a0b8de83 100644 Binary files a/sound/vox_fem/select.ogg and b/sound/vox_fem/select.ogg differ diff --git a/sound/vox_fem/selected.ogg b/sound/vox_fem/selected.ogg index b3e15e305cf..4aca5508673 100644 Binary files a/sound/vox_fem/selected.ogg and b/sound/vox_fem/selected.ogg differ diff --git a/sound/vox_fem/sensors.ogg b/sound/vox_fem/sensors.ogg index 46ba6db70c2..ee582ca9abb 100644 Binary files a/sound/vox_fem/sensors.ogg and b/sound/vox_fem/sensors.ogg differ diff --git a/sound/vox_fem/service.ogg b/sound/vox_fem/service.ogg index 4fe331041d7..372a89ce9d1 100644 Binary files a/sound/vox_fem/service.ogg and b/sound/vox_fem/service.ogg differ diff --git a/sound/vox_fem/seven.ogg b/sound/vox_fem/seven.ogg index 98d36256478..e86498ddf44 100644 Binary files a/sound/vox_fem/seven.ogg and b/sound/vox_fem/seven.ogg differ diff --git a/sound/vox_fem/seventeen.ogg b/sound/vox_fem/seventeen.ogg index 03eccd17b5b..84e52f12d6d 100644 Binary files a/sound/vox_fem/seventeen.ogg and b/sound/vox_fem/seventeen.ogg differ diff --git a/sound/vox_fem/seventy.ogg b/sound/vox_fem/seventy.ogg index 2a3890c5a72..d42bf34d0ef 100644 Binary files a/sound/vox_fem/seventy.ogg and b/sound/vox_fem/seventy.ogg differ diff --git a/sound/vox_fem/severe.ogg b/sound/vox_fem/severe.ogg index 8c22fdffc7c..b99d49ebc73 100644 Binary files a/sound/vox_fem/severe.ogg and b/sound/vox_fem/severe.ogg differ diff --git a/sound/vox_fem/sewage.ogg b/sound/vox_fem/sewage.ogg index 8bbb455c30c..f9988fcbb28 100644 Binary files a/sound/vox_fem/sewage.ogg and b/sound/vox_fem/sewage.ogg differ diff --git a/sound/vox_fem/sewer.ogg b/sound/vox_fem/sewer.ogg index 59adf5b6fbd..30e9b08a5a9 100644 Binary files a/sound/vox_fem/sewer.ogg and b/sound/vox_fem/sewer.ogg differ diff --git a/sound/vox_fem/shield.ogg b/sound/vox_fem/shield.ogg index 9d4a9e011cb..3a4daa666a7 100644 Binary files a/sound/vox_fem/shield.ogg and b/sound/vox_fem/shield.ogg differ diff --git a/sound/vox_fem/shipment.ogg b/sound/vox_fem/shipment.ogg index ac56436b173..bfcbaddeeb0 100644 Binary files a/sound/vox_fem/shipment.ogg and b/sound/vox_fem/shipment.ogg differ diff --git a/sound/vox_fem/shirt.ogg b/sound/vox_fem/shirt.ogg index f4e03c16c13..6fc1d202569 100644 Binary files a/sound/vox_fem/shirt.ogg and b/sound/vox_fem/shirt.ogg differ diff --git a/sound/vox_fem/shirts.ogg b/sound/vox_fem/shirts.ogg index 4968771761f..0f558e5bc95 100644 Binary files a/sound/vox_fem/shirts.ogg and b/sound/vox_fem/shirts.ogg differ diff --git a/sound/vox_fem/shit.ogg b/sound/vox_fem/shit.ogg index 3718cca6bc1..ac9dcd6684c 100644 Binary files a/sound/vox_fem/shit.ogg and b/sound/vox_fem/shit.ogg differ diff --git a/sound/vox_fem/shitcurity.ogg b/sound/vox_fem/shitcurity.ogg index a637a93a6ea..13747d68cbd 100644 Binary files a/sound/vox_fem/shitcurity.ogg and b/sound/vox_fem/shitcurity.ogg differ diff --git a/sound/vox_fem/shitlord.ogg b/sound/vox_fem/shitlord.ogg index b263cad8699..2f615748fe0 100644 Binary files a/sound/vox_fem/shitlord.ogg and b/sound/vox_fem/shitlord.ogg differ diff --git a/sound/vox_fem/shits.ogg b/sound/vox_fem/shits.ogg index f431d5b17ff..7bab92de7fe 100644 Binary files a/sound/vox_fem/shits.ogg and b/sound/vox_fem/shits.ogg differ diff --git a/sound/vox_fem/shitting.ogg b/sound/vox_fem/shitting.ogg index 7ee2783468b..550e3e6fe75 100644 Binary files a/sound/vox_fem/shitting.ogg and b/sound/vox_fem/shitting.ogg differ diff --git a/sound/vox_fem/shock.ogg b/sound/vox_fem/shock.ogg index 814173cf05f..0eaaae1f473 100644 Binary files a/sound/vox_fem/shock.ogg and b/sound/vox_fem/shock.ogg differ diff --git a/sound/vox_fem/shoot.ogg b/sound/vox_fem/shoot.ogg index c9f13283842..3b2333e489f 100644 Binary files a/sound/vox_fem/shoot.ogg and b/sound/vox_fem/shoot.ogg differ diff --git a/sound/vox_fem/shower.ogg b/sound/vox_fem/shower.ogg index 964d8ea6e52..0ee0234961b 100644 Binary files a/sound/vox_fem/shower.ogg and b/sound/vox_fem/shower.ogg differ diff --git a/sound/vox_fem/shut.ogg b/sound/vox_fem/shut.ogg index 4d6126957f9..c7db582d06d 100644 Binary files a/sound/vox_fem/shut.ogg and b/sound/vox_fem/shut.ogg differ diff --git a/sound/vox_fem/shuttle.ogg b/sound/vox_fem/shuttle.ogg index 3e84dc8d0d4..fd99a8239c3 100644 Binary files a/sound/vox_fem/shuttle.ogg and b/sound/vox_fem/shuttle.ogg differ diff --git a/sound/vox_fem/side.ogg b/sound/vox_fem/side.ogg index 6ec15dc640e..ea7b6fe8070 100644 Binary files a/sound/vox_fem/side.ogg and b/sound/vox_fem/side.ogg differ diff --git a/sound/vox_fem/sierra.ogg b/sound/vox_fem/sierra.ogg index b458696ca93..dff0940bfe2 100644 Binary files a/sound/vox_fem/sierra.ogg and b/sound/vox_fem/sierra.ogg differ diff --git a/sound/vox_fem/sight.ogg b/sound/vox_fem/sight.ogg index ce0997f1279..18c20572759 100644 Binary files a/sound/vox_fem/sight.ogg and b/sound/vox_fem/sight.ogg differ diff --git a/sound/vox_fem/silo.ogg b/sound/vox_fem/silo.ogg index f33db128e49..90898029889 100644 Binary files a/sound/vox_fem/silo.ogg and b/sound/vox_fem/silo.ogg differ diff --git a/sound/vox_fem/singularity.ogg b/sound/vox_fem/singularity.ogg index e59080e2d57..18fa8c0a576 100644 Binary files a/sound/vox_fem/singularity.ogg and b/sound/vox_fem/singularity.ogg differ diff --git a/sound/vox_fem/six.ogg b/sound/vox_fem/six.ogg index d5f53aa38d1..ddb45cfe20c 100644 Binary files a/sound/vox_fem/six.ogg and b/sound/vox_fem/six.ogg differ diff --git a/sound/vox_fem/sixteen.ogg b/sound/vox_fem/sixteen.ogg index 87f0e87dc79..ae4a4acc758 100644 Binary files a/sound/vox_fem/sixteen.ogg and b/sound/vox_fem/sixteen.ogg differ diff --git a/sound/vox_fem/sixty.ogg b/sound/vox_fem/sixty.ogg index 3cd40e863d6..4f1877f9791 100644 Binary files a/sound/vox_fem/sixty.ogg and b/sound/vox_fem/sixty.ogg differ diff --git a/sound/vox_fem/skipjack.ogg b/sound/vox_fem/skipjack.ogg index 03769b2ee60..2c4d06d3f15 100644 Binary files a/sound/vox_fem/skipjack.ogg and b/sound/vox_fem/skipjack.ogg differ diff --git a/sound/vox_fem/slime.ogg b/sound/vox_fem/slime.ogg index 6f8571b1a06..eeae42794e3 100644 Binary files a/sound/vox_fem/slime.ogg and b/sound/vox_fem/slime.ogg differ diff --git a/sound/vox_fem/slow.ogg b/sound/vox_fem/slow.ogg index 00bf9526ae7..d08f367ccc4 100644 Binary files a/sound/vox_fem/slow.ogg and b/sound/vox_fem/slow.ogg differ diff --git a/sound/vox_fem/smoke.ogg b/sound/vox_fem/smoke.ogg index 3037ffc1401..14ed780d804 100644 Binary files a/sound/vox_fem/smoke.ogg and b/sound/vox_fem/smoke.ogg differ diff --git a/sound/vox_fem/solar.ogg b/sound/vox_fem/solar.ogg index 3107626bfe1..e1b842a1ef4 100644 Binary files a/sound/vox_fem/solar.ogg and b/sound/vox_fem/solar.ogg differ diff --git a/sound/vox_fem/solars.ogg b/sound/vox_fem/solars.ogg index 59e1f956c06..4c2699194d9 100644 Binary files a/sound/vox_fem/solars.ogg and b/sound/vox_fem/solars.ogg differ diff --git a/sound/vox_fem/soldier.ogg b/sound/vox_fem/soldier.ogg index bd7f740ba82..33e82c8da68 100644 Binary files a/sound/vox_fem/soldier.ogg and b/sound/vox_fem/soldier.ogg differ diff --git a/sound/vox_fem/some.ogg b/sound/vox_fem/some.ogg index e6bdd86f40d..ea24836f7f5 100644 Binary files a/sound/vox_fem/some.ogg and b/sound/vox_fem/some.ogg differ diff --git a/sound/vox_fem/someone.ogg b/sound/vox_fem/someone.ogg index 1dbbd8f8a1e..1586dfe0f6c 100644 Binary files a/sound/vox_fem/someone.ogg and b/sound/vox_fem/someone.ogg differ diff --git a/sound/vox_fem/something.ogg b/sound/vox_fem/something.ogg index b265aec6eca..a7f12de2054 100644 Binary files a/sound/vox_fem/something.ogg and b/sound/vox_fem/something.ogg differ diff --git a/sound/vox_fem/son.ogg b/sound/vox_fem/son.ogg index 5f59dd7f07b..943d4fe23c5 100644 Binary files a/sound/vox_fem/son.ogg and b/sound/vox_fem/son.ogg differ diff --git a/sound/vox_fem/sorry.ogg b/sound/vox_fem/sorry.ogg index f43e37cdb86..9d2da84540e 100644 Binary files a/sound/vox_fem/sorry.ogg and b/sound/vox_fem/sorry.ogg differ diff --git a/sound/vox_fem/south.ogg b/sound/vox_fem/south.ogg index d03e678a430..5ce09ffa698 100644 Binary files a/sound/vox_fem/south.ogg and b/sound/vox_fem/south.ogg differ diff --git a/sound/vox_fem/squad.ogg b/sound/vox_fem/squad.ogg index a743ba747f9..d356c019fcb 100644 Binary files a/sound/vox_fem/squad.ogg and b/sound/vox_fem/squad.ogg differ diff --git a/sound/vox_fem/square.ogg b/sound/vox_fem/square.ogg index bd8abf4ad81..e7c91123cd5 100644 Binary files a/sound/vox_fem/square.ogg and b/sound/vox_fem/square.ogg differ diff --git a/sound/vox_fem/ss13.ogg b/sound/vox_fem/ss13.ogg index 4aa8303c407..e4e80e829ee 100644 Binary files a/sound/vox_fem/ss13.ogg and b/sound/vox_fem/ss13.ogg differ diff --git a/sound/vox_fem/stairway.ogg b/sound/vox_fem/stairway.ogg index c76e32bac35..713960cf62e 100644 Binary files a/sound/vox_fem/stairway.ogg and b/sound/vox_fem/stairway.ogg differ diff --git a/sound/vox_fem/starboard.ogg b/sound/vox_fem/starboard.ogg index 7f523c9d037..02c0ffe10ba 100644 Binary files a/sound/vox_fem/starboard.ogg and b/sound/vox_fem/starboard.ogg differ diff --git a/sound/vox_fem/station.ogg b/sound/vox_fem/station.ogg index 497069af61a..465b83db809 100644 Binary files a/sound/vox_fem/station.ogg and b/sound/vox_fem/station.ogg differ diff --git a/sound/vox_fem/stations.ogg b/sound/vox_fem/stations.ogg index 66aa744c4c3..5d1e9711f2d 100644 Binary files a/sound/vox_fem/stations.ogg and b/sound/vox_fem/stations.ogg differ diff --git a/sound/vox_fem/status.ogg b/sound/vox_fem/status.ogg index 13db996b84b..985765375fc 100644 Binary files a/sound/vox_fem/status.ogg and b/sound/vox_fem/status.ogg differ diff --git a/sound/vox_fem/sterile.ogg b/sound/vox_fem/sterile.ogg index 63943eb8920..3a51aecaf6b 100644 Binary files a/sound/vox_fem/sterile.ogg and b/sound/vox_fem/sterile.ogg differ diff --git a/sound/vox_fem/sterilization.ogg b/sound/vox_fem/sterilization.ogg index 5d8b76775c0..ebf092c8449 100644 Binary files a/sound/vox_fem/sterilization.ogg and b/sound/vox_fem/sterilization.ogg differ diff --git a/sound/vox_fem/storage.ogg b/sound/vox_fem/storage.ogg index e9313119a88..cc57069c25f 100644 Binary files a/sound/vox_fem/storage.ogg and b/sound/vox_fem/storage.ogg differ diff --git a/sound/vox_fem/stuck.ogg b/sound/vox_fem/stuck.ogg index d05a2a19442..c4e477de6aa 100644 Binary files a/sound/vox_fem/stuck.ogg and b/sound/vox_fem/stuck.ogg differ diff --git a/sound/vox_fem/sub.ogg b/sound/vox_fem/sub.ogg index 109e6fcb153..92c240a6468 100644 Binary files a/sound/vox_fem/sub.ogg and b/sound/vox_fem/sub.ogg differ diff --git a/sound/vox_fem/subsurface.ogg b/sound/vox_fem/subsurface.ogg index 77b514f77f0..24da9c88936 100644 Binary files a/sound/vox_fem/subsurface.ogg and b/sound/vox_fem/subsurface.ogg differ diff --git a/sound/vox_fem/sudden.ogg b/sound/vox_fem/sudden.ogg index aa273bde7b2..baee11baaed 100644 Binary files a/sound/vox_fem/sudden.ogg and b/sound/vox_fem/sudden.ogg differ diff --git a/sound/vox_fem/suffer.ogg b/sound/vox_fem/suffer.ogg index dd2000a5cf6..a1ab81689d5 100644 Binary files a/sound/vox_fem/suffer.ogg and b/sound/vox_fem/suffer.ogg differ diff --git a/sound/vox_fem/suffering.ogg b/sound/vox_fem/suffering.ogg index b30f23e262b..5243c2996cd 100644 Binary files a/sound/vox_fem/suffering.ogg and b/sound/vox_fem/suffering.ogg differ diff --git a/sound/vox_fem/suit.ogg b/sound/vox_fem/suit.ogg index 30fe8280761..e188763215e 100644 Binary files a/sound/vox_fem/suit.ogg and b/sound/vox_fem/suit.ogg differ diff --git a/sound/vox_fem/superconducting.ogg b/sound/vox_fem/superconducting.ogg index e4c4d7ef228..c89ab9b9eb3 100644 Binary files a/sound/vox_fem/superconducting.ogg and b/sound/vox_fem/superconducting.ogg differ diff --git a/sound/vox_fem/supercooled.ogg b/sound/vox_fem/supercooled.ogg index be3f0c5584d..c377951455b 100644 Binary files a/sound/vox_fem/supercooled.ogg and b/sound/vox_fem/supercooled.ogg differ diff --git a/sound/vox_fem/supply.ogg b/sound/vox_fem/supply.ogg index af331f9e9db..992b2c68f81 100644 Binary files a/sound/vox_fem/supply.ogg and b/sound/vox_fem/supply.ogg differ diff --git a/sound/vox_fem/surface.ogg b/sound/vox_fem/surface.ogg index f59c8f7b012..afe81808dd3 100644 Binary files a/sound/vox_fem/surface.ogg and b/sound/vox_fem/surface.ogg differ diff --git a/sound/vox_fem/surrender.ogg b/sound/vox_fem/surrender.ogg index 23bb12f894e..207629f6ccc 100644 Binary files a/sound/vox_fem/surrender.ogg and b/sound/vox_fem/surrender.ogg differ diff --git a/sound/vox_fem/surround.ogg b/sound/vox_fem/surround.ogg index 599533abe08..88d209d2651 100644 Binary files a/sound/vox_fem/surround.ogg and b/sound/vox_fem/surround.ogg differ diff --git a/sound/vox_fem/surrounded.ogg b/sound/vox_fem/surrounded.ogg index 6669dee7868..411040fa4dd 100644 Binary files a/sound/vox_fem/surrounded.ogg and b/sound/vox_fem/surrounded.ogg differ diff --git a/sound/vox_fem/switch.ogg b/sound/vox_fem/switch.ogg index 32aa20534aa..f98be12953c 100644 Binary files a/sound/vox_fem/switch.ogg and b/sound/vox_fem/switch.ogg differ diff --git a/sound/vox_fem/syndicate.ogg b/sound/vox_fem/syndicate.ogg index bc074d9a18f..e085c981565 100644 Binary files a/sound/vox_fem/syndicate.ogg and b/sound/vox_fem/syndicate.ogg differ diff --git a/sound/vox_fem/system.ogg b/sound/vox_fem/system.ogg index cc569f8b271..8c3cb383ff5 100644 Binary files a/sound/vox_fem/system.ogg and b/sound/vox_fem/system.ogg differ diff --git a/sound/vox_fem/systems.ogg b/sound/vox_fem/systems.ogg index 64a399a5a05..79b7ca80c31 100644 Binary files a/sound/vox_fem/systems.ogg and b/sound/vox_fem/systems.ogg differ diff --git a/sound/vox_fem/t.ogg b/sound/vox_fem/t.ogg index 0cc442fd2b2..f7bc5996a34 100644 Binary files a/sound/vox_fem/t.ogg and b/sound/vox_fem/t.ogg differ diff --git a/sound/vox_fem/tactical.ogg b/sound/vox_fem/tactical.ogg index ed78fb04a95..a482dba476e 100644 Binary files a/sound/vox_fem/tactical.ogg and b/sound/vox_fem/tactical.ogg differ diff --git a/sound/vox_fem/tajaran.ogg b/sound/vox_fem/tajaran.ogg index 9b4514ae3f8..b5b577d2179 100644 Binary files a/sound/vox_fem/tajaran.ogg and b/sound/vox_fem/tajaran.ogg differ diff --git a/sound/vox_fem/take.ogg b/sound/vox_fem/take.ogg index f359ab31c03..f3c5c6f1eef 100644 Binary files a/sound/vox_fem/take.ogg and b/sound/vox_fem/take.ogg differ diff --git a/sound/vox_fem/talk.ogg b/sound/vox_fem/talk.ogg index 98f7858e46b..122cc1e59e6 100644 Binary files a/sound/vox_fem/talk.ogg and b/sound/vox_fem/talk.ogg differ diff --git a/sound/vox_fem/tango.ogg b/sound/vox_fem/tango.ogg index e345a98ef2c..eb8602f8c5f 100644 Binary files a/sound/vox_fem/tango.ogg and b/sound/vox_fem/tango.ogg differ diff --git a/sound/vox_fem/tank.ogg b/sound/vox_fem/tank.ogg index 017bfe6b2c4..6a7943a998c 100644 Binary files a/sound/vox_fem/tank.ogg and b/sound/vox_fem/tank.ogg differ diff --git a/sound/vox_fem/target.ogg b/sound/vox_fem/target.ogg index 4d25f11dc96..f12c29de47d 100644 Binary files a/sound/vox_fem/target.ogg and b/sound/vox_fem/target.ogg differ diff --git a/sound/vox_fem/team.ogg b/sound/vox_fem/team.ogg index e38793e3664..7269dd82232 100644 Binary files a/sound/vox_fem/team.ogg and b/sound/vox_fem/team.ogg differ diff --git a/sound/vox_fem/telecomms.ogg b/sound/vox_fem/telecomms.ogg index 69a7675fb94..c8232400ad5 100644 Binary files a/sound/vox_fem/telecomms.ogg and b/sound/vox_fem/telecomms.ogg differ diff --git a/sound/vox_fem/temperature.ogg b/sound/vox_fem/temperature.ogg index 589c4fb20bc..ae85c3ffedf 100644 Binary files a/sound/vox_fem/temperature.ogg and b/sound/vox_fem/temperature.ogg differ diff --git a/sound/vox_fem/temporal.ogg b/sound/vox_fem/temporal.ogg index cbc4339833a..efa1de6189e 100644 Binary files a/sound/vox_fem/temporal.ogg and b/sound/vox_fem/temporal.ogg differ diff --git a/sound/vox_fem/ten.ogg b/sound/vox_fem/ten.ogg index 9590bbaf59f..d7c97e6310c 100644 Binary files a/sound/vox_fem/ten.ogg and b/sound/vox_fem/ten.ogg differ diff --git a/sound/vox_fem/terminal.ogg b/sound/vox_fem/terminal.ogg index fd611df970d..e19141b4de6 100644 Binary files a/sound/vox_fem/terminal.ogg and b/sound/vox_fem/terminal.ogg differ diff --git a/sound/vox_fem/terminated.ogg b/sound/vox_fem/terminated.ogg index 36ed178648a..505b5955123 100644 Binary files a/sound/vox_fem/terminated.ogg and b/sound/vox_fem/terminated.ogg differ diff --git a/sound/vox_fem/termination.ogg b/sound/vox_fem/termination.ogg index f2a00614f01..bc96b64a00b 100644 Binary files a/sound/vox_fem/termination.ogg and b/sound/vox_fem/termination.ogg differ diff --git a/sound/vox_fem/test.ogg b/sound/vox_fem/test.ogg index 966ce4dd72f..90261697c96 100644 Binary files a/sound/vox_fem/test.ogg and b/sound/vox_fem/test.ogg differ diff --git a/sound/vox_fem/that.ogg b/sound/vox_fem/that.ogg index ed530d62530..868cdb0bf2d 100644 Binary files a/sound/vox_fem/that.ogg and b/sound/vox_fem/that.ogg differ diff --git a/sound/vox_fem/the.ogg b/sound/vox_fem/the.ogg index 5f05d6e503b..f3783635aab 100644 Binary files a/sound/vox_fem/the.ogg and b/sound/vox_fem/the.ogg differ diff --git a/sound/vox_fem/then.ogg b/sound/vox_fem/then.ogg index 338ac86849e..547b2238b1a 100644 Binary files a/sound/vox_fem/then.ogg and b/sound/vox_fem/then.ogg differ diff --git a/sound/vox_fem/there.ogg b/sound/vox_fem/there.ogg index 0a5b11f6bd2..928bba64194 100644 Binary files a/sound/vox_fem/there.ogg and b/sound/vox_fem/there.ogg differ diff --git a/sound/vox_fem/third.ogg b/sound/vox_fem/third.ogg index db62b240f45..63202c53214 100644 Binary files a/sound/vox_fem/third.ogg and b/sound/vox_fem/third.ogg differ diff --git a/sound/vox_fem/thirteen.ogg b/sound/vox_fem/thirteen.ogg index 5dd45faa380..88115f5fa10 100644 Binary files a/sound/vox_fem/thirteen.ogg and b/sound/vox_fem/thirteen.ogg differ diff --git a/sound/vox_fem/thirty.ogg b/sound/vox_fem/thirty.ogg index cf1c090c580..12e50744c38 100644 Binary files a/sound/vox_fem/thirty.ogg and b/sound/vox_fem/thirty.ogg differ diff --git a/sound/vox_fem/this.ogg b/sound/vox_fem/this.ogg index ee2e2dad898..b55923a48f4 100644 Binary files a/sound/vox_fem/this.ogg and b/sound/vox_fem/this.ogg differ diff --git a/sound/vox_fem/those.ogg b/sound/vox_fem/those.ogg index 0aca8a79f5b..41fc7456577 100644 Binary files a/sound/vox_fem/those.ogg and b/sound/vox_fem/those.ogg differ diff --git a/sound/vox_fem/thousand.ogg b/sound/vox_fem/thousand.ogg index 40466550f77..ba92bcb2e89 100644 Binary files a/sound/vox_fem/thousand.ogg and b/sound/vox_fem/thousand.ogg differ diff --git a/sound/vox_fem/threat.ogg b/sound/vox_fem/threat.ogg index 81a86c0db09..d4003d6ab56 100644 Binary files a/sound/vox_fem/threat.ogg and b/sound/vox_fem/threat.ogg differ diff --git a/sound/vox_fem/three.ogg b/sound/vox_fem/three.ogg index c5bb0b22d2a..2e8dbf175c1 100644 Binary files a/sound/vox_fem/three.ogg and b/sound/vox_fem/three.ogg differ diff --git a/sound/vox_fem/through.ogg b/sound/vox_fem/through.ogg index 68d26650bac..ad2e5ed1b72 100644 Binary files a/sound/vox_fem/through.ogg and b/sound/vox_fem/through.ogg differ diff --git a/sound/vox_fem/tide.ogg b/sound/vox_fem/tide.ogg index cf8555e67c3..45917e2f57b 100644 Binary files a/sound/vox_fem/tide.ogg and b/sound/vox_fem/tide.ogg differ diff --git a/sound/vox_fem/time.ogg b/sound/vox_fem/time.ogg index 829b8a3325b..02746c98df0 100644 Binary files a/sound/vox_fem/time.ogg and b/sound/vox_fem/time.ogg differ diff --git a/sound/vox_fem/to.ogg b/sound/vox_fem/to.ogg index 6de8db17fd6..aaf695702d1 100644 Binary files a/sound/vox_fem/to.ogg and b/sound/vox_fem/to.ogg differ diff --git a/sound/vox_fem/top.ogg b/sound/vox_fem/top.ogg index 5f676a3a78a..1db5b104f28 100644 Binary files a/sound/vox_fem/top.ogg and b/sound/vox_fem/top.ogg differ diff --git a/sound/vox_fem/topside.ogg b/sound/vox_fem/topside.ogg index 0dfafba4874..c3c4639830f 100644 Binary files a/sound/vox_fem/topside.ogg and b/sound/vox_fem/topside.ogg differ diff --git a/sound/vox_fem/touch.ogg b/sound/vox_fem/touch.ogg index c0b1bba29a8..4a165a15b8b 100644 Binary files a/sound/vox_fem/touch.ogg and b/sound/vox_fem/touch.ogg differ diff --git a/sound/vox_fem/towards.ogg b/sound/vox_fem/towards.ogg index 2ef9b9ff73b..1ee555597ff 100644 Binary files a/sound/vox_fem/towards.ogg and b/sound/vox_fem/towards.ogg differ diff --git a/sound/vox_fem/toxins.ogg b/sound/vox_fem/toxins.ogg index b1eeb41176f..34d29ed792c 100644 Binary files a/sound/vox_fem/toxins.ogg and b/sound/vox_fem/toxins.ogg differ diff --git a/sound/vox_fem/track.ogg b/sound/vox_fem/track.ogg index dbe94ceff9c..70467c449a8 100644 Binary files a/sound/vox_fem/track.ogg and b/sound/vox_fem/track.ogg differ diff --git a/sound/vox_fem/train.ogg b/sound/vox_fem/train.ogg index beb87be09ae..c3b92d956d8 100644 Binary files a/sound/vox_fem/train.ogg and b/sound/vox_fem/train.ogg differ diff --git a/sound/vox_fem/traitor.ogg b/sound/vox_fem/traitor.ogg index 87c6896e8bf..5cfc3714d1a 100644 Binary files a/sound/vox_fem/traitor.ogg and b/sound/vox_fem/traitor.ogg differ diff --git a/sound/vox_fem/traitors.ogg b/sound/vox_fem/traitors.ogg index 28627a2fa2e..d21619dab32 100644 Binary files a/sound/vox_fem/traitors.ogg and b/sound/vox_fem/traitors.ogg differ diff --git a/sound/vox_fem/transportation.ogg b/sound/vox_fem/transportation.ogg index 76cb645b88e..97d56ff61e4 100644 Binary files a/sound/vox_fem/transportation.ogg and b/sound/vox_fem/transportation.ogg differ diff --git a/sound/vox_fem/triggering.ogg b/sound/vox_fem/triggering.ogg new file mode 100644 index 00000000000..4d731b9a35e Binary files /dev/null and b/sound/vox_fem/triggering.ogg differ diff --git a/sound/vox_fem/truck.ogg b/sound/vox_fem/truck.ogg index 53284bae981..bd190eed3b6 100644 Binary files a/sound/vox_fem/truck.ogg and b/sound/vox_fem/truck.ogg differ diff --git a/sound/vox_fem/tunnel.ogg b/sound/vox_fem/tunnel.ogg index b5d691ff077..d42beae1552 100644 Binary files a/sound/vox_fem/tunnel.ogg and b/sound/vox_fem/tunnel.ogg differ diff --git a/sound/vox_fem/turn.ogg b/sound/vox_fem/turn.ogg index d3bbb0060cd..f6a11de5b52 100644 Binary files a/sound/vox_fem/turn.ogg and b/sound/vox_fem/turn.ogg differ diff --git a/sound/vox_fem/turret.ogg b/sound/vox_fem/turret.ogg index a51cdc4fa6e..541846aa2b8 100644 Binary files a/sound/vox_fem/turret.ogg and b/sound/vox_fem/turret.ogg differ diff --git a/sound/vox_fem/twelve.ogg b/sound/vox_fem/twelve.ogg index 5221f94e057..e192edeccd1 100644 Binary files a/sound/vox_fem/twelve.ogg and b/sound/vox_fem/twelve.ogg differ diff --git a/sound/vox_fem/twenty.ogg b/sound/vox_fem/twenty.ogg index c224a29c9c7..7b920b0ba8a 100644 Binary files a/sound/vox_fem/twenty.ogg and b/sound/vox_fem/twenty.ogg differ diff --git a/sound/vox_fem/two.ogg b/sound/vox_fem/two.ogg index 5a16f4ae3ba..c327cc105ee 100644 Binary files a/sound/vox_fem/two.ogg and b/sound/vox_fem/two.ogg differ diff --git a/sound/vox_fem/u.ogg b/sound/vox_fem/u.ogg index 8a3c457ff78..790bd095200 100644 Binary files a/sound/vox_fem/u.ogg and b/sound/vox_fem/u.ogg differ diff --git a/sound/vox_fem/unauthorized.ogg b/sound/vox_fem/unauthorized.ogg index 14fbad80862..35d48120e98 100644 Binary files a/sound/vox_fem/unauthorized.ogg and b/sound/vox_fem/unauthorized.ogg differ diff --git a/sound/vox_fem/under.ogg b/sound/vox_fem/under.ogg index 06434fa9bf3..89d91bef37d 100644 Binary files a/sound/vox_fem/under.ogg and b/sound/vox_fem/under.ogg differ diff --git a/sound/vox_fem/uniform.ogg b/sound/vox_fem/uniform.ogg index 796af478f42..6f7de6902f7 100644 Binary files a/sound/vox_fem/uniform.ogg and b/sound/vox_fem/uniform.ogg differ diff --git a/sound/vox_fem/unlocked.ogg b/sound/vox_fem/unlocked.ogg index b268f9bd3d0..725f8a6c819 100644 Binary files a/sound/vox_fem/unlocked.ogg and b/sound/vox_fem/unlocked.ogg differ diff --git a/sound/vox_fem/until.ogg b/sound/vox_fem/until.ogg index 42cff8c78be..43cadd1a88d 100644 Binary files a/sound/vox_fem/until.ogg and b/sound/vox_fem/until.ogg differ diff --git a/sound/vox_fem/up.ogg b/sound/vox_fem/up.ogg index 93f78d50aec..1c395a61958 100644 Binary files a/sound/vox_fem/up.ogg and b/sound/vox_fem/up.ogg differ diff --git a/sound/vox_fem/update.ogg b/sound/vox_fem/update.ogg index e633a1d7c06..31a4e651aba 100644 Binary files a/sound/vox_fem/update.ogg and b/sound/vox_fem/update.ogg differ diff --git a/sound/vox_fem/updated.ogg b/sound/vox_fem/updated.ogg index 576edfba7c7..61559f22939 100644 Binary files a/sound/vox_fem/updated.ogg and b/sound/vox_fem/updated.ogg differ diff --git a/sound/vox_fem/updating.ogg b/sound/vox_fem/updating.ogg index 5e8733d8e91..0403f777969 100644 Binary files a/sound/vox_fem/updating.ogg and b/sound/vox_fem/updating.ogg differ diff --git a/sound/vox_fem/upload.ogg b/sound/vox_fem/upload.ogg index 4ee25e6822f..f96547bfea1 100644 Binary files a/sound/vox_fem/upload.ogg and b/sound/vox_fem/upload.ogg differ diff --git a/sound/vox_fem/upper.ogg b/sound/vox_fem/upper.ogg index 76922e4041e..810d330ef08 100644 Binary files a/sound/vox_fem/upper.ogg and b/sound/vox_fem/upper.ogg differ diff --git a/sound/vox_fem/uranium.ogg b/sound/vox_fem/uranium.ogg index 62bba495767..e2ac70d93eb 100644 Binary files a/sound/vox_fem/uranium.ogg and b/sound/vox_fem/uranium.ogg differ diff --git a/sound/vox_fem/us.ogg b/sound/vox_fem/us.ogg index 012e5f9843c..0731a879a58 100644 Binary files a/sound/vox_fem/us.ogg and b/sound/vox_fem/us.ogg differ diff --git a/sound/vox_fem/usa.ogg b/sound/vox_fem/usa.ogg index 9ed7ee3f4db..f3bc1912e92 100644 Binary files a/sound/vox_fem/usa.ogg and b/sound/vox_fem/usa.ogg differ diff --git a/sound/vox_fem/use.ogg b/sound/vox_fem/use.ogg index 6dd7fc6d862..3ab7367a252 100644 Binary files a/sound/vox_fem/use.ogg and b/sound/vox_fem/use.ogg differ diff --git a/sound/vox_fem/used.ogg b/sound/vox_fem/used.ogg index ddda474eec7..5cb1afd8531 100644 Binary files a/sound/vox_fem/used.ogg and b/sound/vox_fem/used.ogg differ diff --git a/sound/vox_fem/user.ogg b/sound/vox_fem/user.ogg index 29027d4f2ac..739b3a31641 100644 Binary files a/sound/vox_fem/user.ogg and b/sound/vox_fem/user.ogg differ diff --git a/sound/vox_fem/v.ogg b/sound/vox_fem/v.ogg index ae76e07f3df..91484502295 100644 Binary files a/sound/vox_fem/v.ogg and b/sound/vox_fem/v.ogg differ diff --git a/sound/vox_fem/vacate.ogg b/sound/vox_fem/vacate.ogg index dbcffe4215f..12f1c52c4ca 100644 Binary files a/sound/vox_fem/vacate.ogg and b/sound/vox_fem/vacate.ogg differ diff --git a/sound/vox_fem/valid.ogg b/sound/vox_fem/valid.ogg index 6a31c1f1ed7..a2d58b879c1 100644 Binary files a/sound/vox_fem/valid.ogg and b/sound/vox_fem/valid.ogg differ diff --git a/sound/vox_fem/vampire.ogg b/sound/vox_fem/vampire.ogg index 0caeb817702..82551674804 100644 Binary files a/sound/vox_fem/vampire.ogg and b/sound/vox_fem/vampire.ogg differ diff --git a/sound/vox_fem/vampires.ogg b/sound/vox_fem/vampires.ogg index 4c50f8a67e7..77dc06f54dc 100644 Binary files a/sound/vox_fem/vampires.ogg and b/sound/vox_fem/vampires.ogg differ diff --git a/sound/vox_fem/vapor.ogg b/sound/vox_fem/vapor.ogg index 4edc47c1ba3..859d103ea6e 100644 Binary files a/sound/vox_fem/vapor.ogg and b/sound/vox_fem/vapor.ogg differ diff --git a/sound/vox_fem/vent.ogg b/sound/vox_fem/vent.ogg index efc16e5e6a1..35fdffafa09 100644 Binary files a/sound/vox_fem/vent.ogg and b/sound/vox_fem/vent.ogg differ diff --git a/sound/vox_fem/ventilation.ogg b/sound/vox_fem/ventilation.ogg index 5c459da1bf7..594cfbb5b8e 100644 Binary files a/sound/vox_fem/ventilation.ogg and b/sound/vox_fem/ventilation.ogg differ diff --git a/sound/vox_fem/victor.ogg b/sound/vox_fem/victor.ogg index e4a99418e73..97ce16b7f6d 100644 Binary files a/sound/vox_fem/victor.ogg and b/sound/vox_fem/victor.ogg differ diff --git a/sound/vox_fem/violated.ogg b/sound/vox_fem/violated.ogg index 8e83818e950..f7b0b72a8b3 100644 Binary files a/sound/vox_fem/violated.ogg and b/sound/vox_fem/violated.ogg differ diff --git a/sound/vox_fem/violation.ogg b/sound/vox_fem/violation.ogg index e0b0d7d384d..d50801ee766 100644 Binary files a/sound/vox_fem/violation.ogg and b/sound/vox_fem/violation.ogg differ diff --git a/sound/vox_fem/virology.ogg b/sound/vox_fem/virology.ogg index 84fa2e720a5..9050ed50575 100644 Binary files a/sound/vox_fem/virology.ogg and b/sound/vox_fem/virology.ogg differ diff --git a/sound/vox_fem/voltage.ogg b/sound/vox_fem/voltage.ogg index 8053869ec14..efcc71ffa93 100644 Binary files a/sound/vox_fem/voltage.ogg and b/sound/vox_fem/voltage.ogg differ diff --git a/sound/vox_fem/vox.ogg b/sound/vox_fem/vox.ogg index 50e46ba66dd..9e173140c72 100644 Binary files a/sound/vox_fem/vox.ogg and b/sound/vox_fem/vox.ogg differ diff --git a/sound/vox_fem/vox_420.ogg b/sound/vox_fem/vox_420.ogg deleted file mode 100644 index 52a03ed958b..00000000000 Binary files a/sound/vox_fem/vox_420.ogg and /dev/null differ diff --git a/sound/vox_fem/vox_login.ogg b/sound/vox_fem/vox_login.ogg index e09cfef7b6d..4c349b5835a 100644 Binary files a/sound/vox_fem/vox_login.ogg and b/sound/vox_fem/vox_login.ogg differ diff --git a/sound/vox_fem/voxtest.ogg b/sound/vox_fem/voxtest.ogg deleted file mode 100644 index 1fd5cd22001..00000000000 Binary files a/sound/vox_fem/voxtest.ogg and /dev/null differ diff --git a/sound/vox_fem/voxtest2.ogg b/sound/vox_fem/voxtest2.ogg deleted file mode 100644 index 951b419048c..00000000000 Binary files a/sound/vox_fem/voxtest2.ogg and /dev/null differ diff --git a/sound/vox_fem/voxtest3.ogg b/sound/vox_fem/voxtest3.ogg deleted file mode 100644 index 8ac8785c56e..00000000000 Binary files a/sound/vox_fem/voxtest3.ogg and /dev/null differ diff --git a/sound/vox_fem/w.ogg b/sound/vox_fem/w.ogg index 9f0429d6a43..9d79ce4a2a6 100644 Binary files a/sound/vox_fem/w.ogg and b/sound/vox_fem/w.ogg differ diff --git a/sound/vox_fem/walk.ogg b/sound/vox_fem/walk.ogg index f5dfea9d258..10f5d04cf28 100644 Binary files a/sound/vox_fem/walk.ogg and b/sound/vox_fem/walk.ogg differ diff --git a/sound/vox_fem/wall.ogg b/sound/vox_fem/wall.ogg index 3d518cc49b4..cc08c00256e 100644 Binary files a/sound/vox_fem/wall.ogg and b/sound/vox_fem/wall.ogg differ diff --git a/sound/vox_fem/wanker.ogg b/sound/vox_fem/wanker.ogg index 7fca631470b..fbb8c404e67 100644 Binary files a/sound/vox_fem/wanker.ogg and b/sound/vox_fem/wanker.ogg differ diff --git a/sound/vox_fem/wankers.ogg b/sound/vox_fem/wankers.ogg index 40bd416013f..3e6e967857c 100644 Binary files a/sound/vox_fem/wankers.ogg and b/sound/vox_fem/wankers.ogg differ diff --git a/sound/vox_fem/want.ogg b/sound/vox_fem/want.ogg index 060d70551d4..49ad91c895b 100644 Binary files a/sound/vox_fem/want.ogg and b/sound/vox_fem/want.ogg differ diff --git a/sound/vox_fem/wanted.ogg b/sound/vox_fem/wanted.ogg index 09f97f53877..1c87b3e140d 100644 Binary files a/sound/vox_fem/wanted.ogg and b/sound/vox_fem/wanted.ogg differ diff --git a/sound/vox_fem/warm.ogg b/sound/vox_fem/warm.ogg index 79397eaa1f2..534203ba70e 100644 Binary files a/sound/vox_fem/warm.ogg and b/sound/vox_fem/warm.ogg differ diff --git a/sound/vox_fem/warn.ogg b/sound/vox_fem/warn.ogg index 48bbf0bb366..437ef92c681 100644 Binary files a/sound/vox_fem/warn.ogg and b/sound/vox_fem/warn.ogg differ diff --git a/sound/vox_fem/warning.ogg b/sound/vox_fem/warning.ogg index 4c7fd83977b..5ff68583a0e 100644 Binary files a/sound/vox_fem/warning.ogg and b/sound/vox_fem/warning.ogg differ diff --git a/sound/vox_fem/waste.ogg b/sound/vox_fem/waste.ogg index 023c9318b8a..46726eaa2dc 100644 Binary files a/sound/vox_fem/waste.ogg and b/sound/vox_fem/waste.ogg differ diff --git a/sound/vox_fem/water.ogg b/sound/vox_fem/water.ogg index 2a07dbf2ff1..08e6c8a0f1a 100644 Binary files a/sound/vox_fem/water.ogg and b/sound/vox_fem/water.ogg differ diff --git a/sound/vox_fem/we.ogg b/sound/vox_fem/we.ogg index 199ca339d0c..eb417004f52 100644 Binary files a/sound/vox_fem/we.ogg and b/sound/vox_fem/we.ogg differ diff --git a/sound/vox_fem/weapon.ogg b/sound/vox_fem/weapon.ogg index 592a0a32b34..b892f246d94 100644 Binary files a/sound/vox_fem/weapon.ogg and b/sound/vox_fem/weapon.ogg differ diff --git a/sound/vox_fem/weed.ogg b/sound/vox_fem/weed.ogg index 945036aa00b..ad077faf831 100644 Binary files a/sound/vox_fem/weed.ogg and b/sound/vox_fem/weed.ogg differ diff --git a/sound/vox_fem/welcome.ogg b/sound/vox_fem/welcome.ogg index 79b646b4f6b..cde71ac125f 100644 Binary files a/sound/vox_fem/welcome.ogg and b/sound/vox_fem/welcome.ogg differ diff --git a/sound/vox_fem/west.ogg b/sound/vox_fem/west.ogg index dd9b10e6e85..588020a1d9f 100644 Binary files a/sound/vox_fem/west.ogg and b/sound/vox_fem/west.ogg differ diff --git a/sound/vox_fem/whiskey.ogg b/sound/vox_fem/whiskey.ogg index 3fa45641f22..9b1b03c04c5 100644 Binary files a/sound/vox_fem/whiskey.ogg and b/sound/vox_fem/whiskey.ogg differ diff --git a/sound/vox_fem/white.ogg b/sound/vox_fem/white.ogg index 18ddae8a845..0c95d531f1d 100644 Binary files a/sound/vox_fem/white.ogg and b/sound/vox_fem/white.ogg differ diff --git a/sound/vox_fem/wiggle.ogg b/sound/vox_fem/wiggle.ogg index 5af58b12f3b..e96c7013166 100644 Binary files a/sound/vox_fem/wiggle.ogg and b/sound/vox_fem/wiggle.ogg differ diff --git a/sound/vox_fem/wilco.ogg b/sound/vox_fem/wilco.ogg index 7bca14c8705..29109ecbdcb 100644 Binary files a/sound/vox_fem/wilco.ogg and b/sound/vox_fem/wilco.ogg differ diff --git a/sound/vox_fem/will.ogg b/sound/vox_fem/will.ogg index d4d5ce74e0c..fa1e53b78fb 100644 Binary files a/sound/vox_fem/will.ogg and b/sound/vox_fem/will.ogg differ diff --git a/sound/vox_fem/with.ogg b/sound/vox_fem/with.ogg index c5c92de5dc3..7bed6fcc46c 100644 Binary files a/sound/vox_fem/with.ogg and b/sound/vox_fem/with.ogg differ diff --git a/sound/vox_fem/without.ogg b/sound/vox_fem/without.ogg index 4ed75210845..814e123c8ce 100644 Binary files a/sound/vox_fem/without.ogg and b/sound/vox_fem/without.ogg differ diff --git a/sound/vox_fem/wizard.ogg b/sound/vox_fem/wizard.ogg index a99e0d56b3b..ad7205ab560 100644 Binary files a/sound/vox_fem/wizard.ogg and b/sound/vox_fem/wizard.ogg differ diff --git a/sound/vox_fem/wizards.ogg b/sound/vox_fem/wizards.ogg index faf362226fb..a0b18ae295c 100644 Binary files a/sound/vox_fem/wizards.ogg and b/sound/vox_fem/wizards.ogg differ diff --git a/sound/vox_fem/wood.ogg b/sound/vox_fem/wood.ogg index 19fc3bbd3df..ec84917ea4f 100644 Binary files a/sound/vox_fem/wood.ogg and b/sound/vox_fem/wood.ogg differ diff --git a/sound/vox_fem/woody.ogg b/sound/vox_fem/woody.ogg index 745b975f85c..54e56f72e83 100644 Binary files a/sound/vox_fem/woody.ogg and b/sound/vox_fem/woody.ogg differ diff --git a/sound/vox_fem/woop.ogg b/sound/vox_fem/woop.ogg new file mode 100644 index 00000000000..8b72f13378e Binary files /dev/null and b/sound/vox_fem/woop.ogg differ diff --git a/sound/vox_fem/x.ogg b/sound/vox_fem/x.ogg index bcef256defa..c483daca87d 100644 Binary files a/sound/vox_fem/x.ogg and b/sound/vox_fem/x.ogg differ diff --git a/sound/vox_fem/xeno.ogg b/sound/vox_fem/xeno.ogg index f1373061ebf..ed486388d8a 100644 Binary files a/sound/vox_fem/xeno.ogg and b/sound/vox_fem/xeno.ogg differ diff --git a/sound/vox_fem/xenobiology.ogg b/sound/vox_fem/xenobiology.ogg index 31a53e14511..f5e6554052b 100644 Binary files a/sound/vox_fem/xenobiology.ogg and b/sound/vox_fem/xenobiology.ogg differ diff --git a/sound/vox_fem/xenomorph.ogg b/sound/vox_fem/xenomorph.ogg index 080708c9588..5558123f938 100644 Binary files a/sound/vox_fem/xenomorph.ogg and b/sound/vox_fem/xenomorph.ogg differ diff --git a/sound/vox_fem/xenomorphs.ogg b/sound/vox_fem/xenomorphs.ogg index 2ef270c45a6..caf268c9667 100644 Binary files a/sound/vox_fem/xenomorphs.ogg and b/sound/vox_fem/xenomorphs.ogg differ diff --git a/sound/vox_fem/y.ogg b/sound/vox_fem/y.ogg index c527a3b9dc6..eac894378fc 100644 Binary files a/sound/vox_fem/y.ogg and b/sound/vox_fem/y.ogg differ diff --git a/sound/vox_fem/yankee.ogg b/sound/vox_fem/yankee.ogg index 0795a91a282..6121116435c 100644 Binary files a/sound/vox_fem/yankee.ogg and b/sound/vox_fem/yankee.ogg differ diff --git a/sound/vox_fem/yards.ogg b/sound/vox_fem/yards.ogg index 3a2e5bef8ab..ed7a8a35e0c 100644 Binary files a/sound/vox_fem/yards.ogg and b/sound/vox_fem/yards.ogg differ diff --git a/sound/vox_fem/year.ogg b/sound/vox_fem/year.ogg index 0b1e97dd023..4376f8f1251 100644 Binary files a/sound/vox_fem/year.ogg and b/sound/vox_fem/year.ogg differ diff --git a/sound/vox_fem/yellow.ogg b/sound/vox_fem/yellow.ogg index b0d72b974d4..0588027ab6b 100644 Binary files a/sound/vox_fem/yellow.ogg and b/sound/vox_fem/yellow.ogg differ diff --git a/sound/vox_fem/yes.ogg b/sound/vox_fem/yes.ogg index 720ec83133d..8c9d4fe441d 100644 Binary files a/sound/vox_fem/yes.ogg and b/sound/vox_fem/yes.ogg differ diff --git a/sound/vox_fem/you.ogg b/sound/vox_fem/you.ogg index fcf5bb19da7..0f00616bd60 100644 Binary files a/sound/vox_fem/you.ogg and b/sound/vox_fem/you.ogg differ diff --git a/sound/vox_fem/your.ogg b/sound/vox_fem/your.ogg index b5923159660..9113df51ec8 100644 Binary files a/sound/vox_fem/your.ogg and b/sound/vox_fem/your.ogg differ diff --git a/sound/vox_fem/yourself.ogg b/sound/vox_fem/yourself.ogg index 5b228a3eadb..137be1bb376 100644 Binary files a/sound/vox_fem/yourself.ogg and b/sound/vox_fem/yourself.ogg differ diff --git a/sound/vox_fem/z.ogg b/sound/vox_fem/z.ogg index 06ef9d05017..6ece175d8f1 100644 Binary files a/sound/vox_fem/z.ogg and b/sound/vox_fem/z.ogg differ diff --git a/sound/vox_fem/zero.ogg b/sound/vox_fem/zero.ogg index ae436d3ed8f..1d9344f2203 100644 Binary files a/sound/vox_fem/zero.ogg and b/sound/vox_fem/zero.ogg differ diff --git a/sound/vox_fem/zone.ogg b/sound/vox_fem/zone.ogg index bb7756aa32e..b054cca741c 100644 Binary files a/sound/vox_fem/zone.ogg and b/sound/vox_fem/zone.ogg differ diff --git a/sound/vox_fem/zulu.ogg b/sound/vox_fem/zulu.ogg index 2b61bd7ed00..f54eeac9527 100644 Binary files a/sound/vox_fem/zulu.ogg and b/sound/vox_fem/zulu.ogg differ