diff --git a/.travis.yml b/.travis.yml index c39aa338588..eb99bb4d8d0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,8 +7,14 @@ git: env: global: +<<<<<<< HEAD - BYOND_MAJOR="511" - BYOND_MINOR="1379" +======= + - BYOND_MAJOR="510" + - BYOND_MINOR="1346" + - BYOND_MACRO_COUNT=2 +>>>>>>> ParadiseSS13/master matrix: - DM_MAPFILE="cyberiad" - DM_MAPFILE="metastation" @@ -29,6 +35,7 @@ before_script: - chmod +x ./install-byond.sh - ./install-byond.sh script: + - (num=`grep -E '\\\\(red|blue|green|black|italic|bold|b|i[^mc])' **/*.dm | wc -l`; echo "$num BYOND text macros (expecting ${BYOND_MACRO_COUNT} or fewer)"; [ $num -le ${BYOND_MACRO_COUNT} ]) - source $HOME/BYOND-${BYOND_MAJOR}.${BYOND_MINOR}/byond/bin/byondsetup - bash dm.sh -M${DM_MAPFILE} paradise.dme diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm index f713d4e31d8..c2a31e4d761 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm @@ -871,7 +871,7 @@ "aqM" = (/obj/structure/table,/obj/item/weapon/storage/box/evidence,/obj/item/weapon/storage/box/evidence,/obj/item/weapon/storage/box/evidence,/obj/item/weapon/hand_labeler,/turf/simulated/floor/plasteel{tag = "icon-vault (SOUTHEAST)"; icon_state = "vault"; dir = 6},/area/security/warden) "aqN" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/security/warden) "aqO" = (/obj/structure/filingcabinet/security{pixel_x = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 28},/turf/simulated/floor/plasteel{tag = "icon-vault (SOUTHWEST)"; icon_state = "vault"; dir = 10},/area/security/warden) -"aqP" = (/obj/structure/rack,/obj/item/weapon/storage/box/chemimp{pixel_x = 4; pixel_y = 3},/obj/item/weapon/storage/box/trackimp,/obj/item/weapon/storage/lockbox/loyalty,/obj/item/weapon/reagent_containers/glass/bottle/morphine,/obj/machinery/light/small,/turf/simulated/floor/plasteel{icon_state = "bot"},/area/security/warden) +"aqP" = (/obj/structure/rack,/obj/item/weapon/storage/box/chemimp{pixel_x = 4; pixel_y = 3},/obj/item/weapon/storage/box/trackimp,/obj/item/weapon/storage/lockbox/mindshield,/obj/item/weapon/reagent_containers/glass/bottle/morphine,/obj/machinery/light/small,/turf/simulated/floor/plasteel{icon_state = "bot"},/area/security/warden) "aqQ" = (/obj/structure/rack,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/security/warden) "aqR" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/security/warden) "aqS" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light,/turf/simulated/shuttle/floor,/area/shuttle/pod_3) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index c92b7a15630..fe0d5aaed3f 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -777,7 +777,7 @@ "aoW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/flasher/portable,/obj/effect/decal/warning_stripes/red/hollow,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/armoury) "aoX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/security/armoury) "aoY" = (/obj/structure/rack,/obj/item/weapon/storage/box/seccarts{pixel_x = 3; pixel_y = 2},/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/storage/box/handcuffs,/obj/effect/decal/warning_stripes/red/hollow,/obj/item/weapon/storage/box/teargas{pixel_x = -3; pixel_y = -3},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/armoury) -"aoZ" = (/obj/structure/rack,/obj/item/weapon/storage/box/chemimp{pixel_x = 4; pixel_y = 3},/obj/item/weapon/storage/box/trackimp,/obj/effect/decal/warning_stripes/red/hollow,/obj/item/weapon/storage/lockbox/loyalty,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/armoury) +"aoZ" = (/obj/structure/rack,/obj/item/weapon/storage/box/chemimp{pixel_x = 4; pixel_y = 3},/obj/item/weapon/storage/box/trackimp,/obj/effect/decal/warning_stripes/red/hollow,/obj/item/weapon/storage/lockbox/mindshield,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/armoury) "apa" = (/obj/structure/table,/obj/effect/decal/warning_stripes/red/hollow,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/lock_buster,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/armoury) "apb" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/security/armoury) "apc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/light{dir = 8},/obj/structure/closet/secure_closet/security,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/seceqstorage) @@ -6010,7 +6010,7 @@ "clD" = (/obj/machinery/optable,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration) "clE" = (/obj/machinery/vending/medical,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration) "clF" = (/obj/machinery/light,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration) -"clG" = (/obj/structure/table,/obj/item/weapon/storage/lockbox/loyalty,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration) +"clG" = (/obj/structure/table,/obj/item/weapon/storage/lockbox/mindshield,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration) "clH" = (/obj/structure/table,/obj/item/weapon/storage/box/chemimp{pixel_x = 4; pixel_y = 3},/obj/item/weapon/storage/box/trackimp,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration) "clI" = (/obj/item/weapon/ore/silver,/obj/item/weapon/ore/silver,/obj/structure/closet/crate,/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/quartermaster/miningdock) "clJ" = (/obj/machinery/camera{c_tag = "Mining Dock External"; dir = 8},/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel{icon_state = "warning"},/area/quartermaster/miningdock) diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm index 9a0255b509d..a5692e0ca1e 100644 --- a/_maps/map_files/cyberiad/z2.dmm +++ b/_maps/map_files/cyberiad/z2.dmm @@ -253,6 +253,7 @@ "eS" = (/turf/unsimulated/floor{tag = "icon-warnplate (SOUTHEAST)"; icon_state = "warnplate"; dir = 6},/area/centcom/control) "eT" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops) "eU" = (/obj/structure/table/woodentable,/obj/item/stack/spacecash,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"eV" = (/obj/structure/rack,/obj/item/weapon/implanter/adrenalin{pixel_x = 12; pixel_y = -12},/obj/item/weapon/implanter/emp{pixel_x = 9; pixel_y = -9},/obj/item/weapon/implanter/explosive{pixel_x = 6; pixel_y = -6},/obj/item/weapon/implanter/explosive_macro{pixel_x = 3; pixel_y = -3},/obj/item/weapon/implanter/freedom,/obj/item/weapon/implanter/krav_maga{pixel_x = -9; pixel_y = 9},/obj/item/weapon/implanter/mindshield{pixel_x = -6; pixel_y = 6},/obj/item/weapon/implanter/storage{pixel_x = -3; pixel_y = 3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "eX" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield) "eY" = (/obj/structure/table/woodentable,/turf/simulated/floor/holofloor{tag = "icon-grimy"; icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall) "eZ" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_basketball) @@ -485,7 +486,6 @@ "jE" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/weapon/twohanded/staff/broom,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) "jF" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/twohanded/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) "jG" = (/obj/structure/rack,/obj/item/weapon/storage/backpack/holding{pixel_x = -3; pixel_y = 3},/obj/item/weapon/storage/backpack/satchel,/obj/item/weapon/storage/backpack/holding{pixel_x = -6; pixel_y = 6},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"jH" = (/obj/structure/rack,/obj/item/weapon/implanter/adrenalin{pixel_x = 12; pixel_y = -12},/obj/item/weapon/implanter/emp{pixel_x = 9; pixel_y = -9},/obj/item/weapon/implanter/explosive{pixel_x = 6; pixel_y = -6},/obj/item/weapon/implanter/explosive_macro{pixel_x = 3; pixel_y = -3},/obj/item/weapon/implanter/freedom,/obj/item/weapon/implanter/krav_maga{pixel_x = -9; pixel_y = 9},/obj/item/weapon/implanter/loyalty{pixel_x = -6; pixel_y = 6},/obj/item/weapon/implanter/storage{pixel_x = -3; pixel_y = 3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "jI" = (/turf/space,/area/adminconstruction) "jJ" = (/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plating/airless,/area/syndicate_mothership) "jK" = (/obj/effect/decal/warning_stripes/north,/obj/machinery/light,/turf/simulated/floor/plating/airless,/area/syndicate_mothership) @@ -1621,7 +1621,7 @@ aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbW aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDNDZDKDKDKDKDKEdDADTDKDUDKDVDWDXDYDADvaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEfEgDKEaEbEcDKEiDADKDKDKDKDKDKDKEeDIaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNiQDAiRDKDKDKDKDKjfDAEjDKEkDKElDWDXDYEfaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDAjGEhDKDKDKEhjHDADKDKDKDKDKDKDKEmDADvaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDAjGEhDKDKDKEheVDADKDKDKDKDKDKDKEmDADvaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDuaNDADwDwDMEoDMDwDwDwDwDwDMEpDMDwDwDwEnaNDtDwEqErErEsDwDuaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDADwDwEtDKDKDKDKDKDKDKDKDKDKDKDKEuDAEnaNDvDwEvEwExEyEwEzDwjIaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEBDKECDKDKDKDKDKDKDKDKDKDKDKDKDKDKDAaNaNaNEDEEEFEwEwEwEGEDaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN diff --git a/_maps/map_files/vr/blood_and_sand.dmm b/_maps/map_files/vr/blood_and_sand.dmm new file mode 100644 index 00000000000..af13e70d2f1 --- /dev/null +++ b/_maps/map_files/vr/blood_and_sand.dmm @@ -0,0 +1,46 @@ +"a" = (/turf/space,/area/space) +"b" = (/turf/unsimulated/wall/other,/area/vr/roman) +"c" = (/turf/unsimulated/beach/sand,/area/vr/roman) +"d" = (/obj/effect/landmark{name = "avatarspawn"},/turf/unsimulated/beach/sand,/area/vr/roman) +"e" = (/turf/unsimulated/floor{tag = "icon-warnplate (NORTHWEST)"; icon_state = "warnplate"; dir = 9},/area/vr/roman) +"f" = (/turf/unsimulated/floor{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/vr/roman) +"g" = (/turf/unsimulated/floor{tag = "icon-warnplate (NORTHEAST)"; icon_state = "warnplate"; dir = 5},/area/vr/roman) +"h" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/vr/roman) +"i" = (/turf/unsimulated/floor/lava/dense,/area/vr/roman) +"j" = (/turf/unsimulated/floor{icon_state = "panelscorched"},/area/vr/roman) +"k" = (/turf/unsimulated/floor{tag = "icon-warnplate (SOUTHWEST)"; icon_state = "warnplate"; dir = 10},/area/vr/roman) +"l" = (/turf/unsimulated/floor{tag = "icon-warnplate"; icon_state = "warnplate"; dir = 2},/area/vr/roman) +"m" = (/turf/unsimulated/floor{tag = "icon-warnplate (SOUTHEAST)"; icon_state = "warnplate"; dir = 6},/area/vr/roman) + +(1,1,1) = {" +aaaaaaaaaaabbbbbbbbaaaaaaaaaaa +aaaaaaaabbbbccccccbbbbaaaaaaaa +aaaaaaabbccccccccccccbbaaaaaaa +aaaaabbbccccccddccccccbbbaaaaa +aaaabbdccccccefgcccccccdbbaaaa +aaabbddcccccchijcccccccddbbaaa +aaabcccccccccklmccccccccccbaaa +aabbccccccccccccccccccccccbbaa +abbccefgcccccccccccccccccccbba +abccchijccccccddccccccccccccba +abcccklmcccdccccccdcccccccccba +bbccccccccdbccccccbdccccccccbb +bccccccccccccccccccccccccccccb +bccccccccccccccccccccccccccccb +bccdccccdccccccccccccdccccdccb +bccdccccdccccccccccccdccccdccb +bccccccccccccccccccccccccccccb +bccccccccccccccccccccccccccccb +bbccccccccdbccccccbdccccefgcbb +abcccccccccdccccccdccccchijcba +abccccccccccccccccccccccklmcba +abbcccefgcccccddcccccccccccbba +aabbcchijcccccccccccccccccbbaa +aaabddklmcccccccccccccccccbaaa +aaabbdcccccccccccccccccddbbaaa +aaaabbcccccccccccccccccdbbaaaa +aaaaabbbccccccddccccccbbbaaaaa +aaaaaaabbccccccccccccbbaaaaaaa +aaaaaaaabbbbccccccbbbbaaaaaaaa +aaaaaaaaaaabbbbbbbbaaaaaaaaaaa +"} diff --git a/_maps/map_files/vr/lobby.dmm b/_maps/map_files/vr/lobby.dmm new file mode 100644 index 00000000000..798228e212e --- /dev/null +++ b/_maps/map_files/vr/lobby.dmm @@ -0,0 +1,46 @@ +"a" = (/turf/space,/area/space) +"b" = (/turf/unsimulated/wall/metal,/area/vr/lobby) +"c" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/vr/lobby) +"d" = (/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows3"; tag = "icon-fakewindows (WEST)"},/area/vr/lobby) +"e" = (/turf/unsimulated/floor{icon_state = "gcircuit"},/area/vr/lobby) +"f" = (/obj/machinery/telecomms/processor/preset_cent,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/vr/lobby) +"g" = (/turf/unsimulated/floor{icon_state = "light_on"},/area/vr/lobby) +"h" = (/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows"; tag = "icon-fakewindows (WEST)"},/area/vr/lobby) +"i" = (/turf/unsimulated/wall/fakeglass{dir = 0; icon_state = "fakewindows"; tag = "icon-fakewindows (EAST)"},/area/vr/lobby) +"j" = (/obj/machinery/telecomms/server/presets/centcomm,/turf/unsimulated/floor{icon_state = "gcircuit"},/area/vr/lobby) +"k" = (/obj/machinery/telecomms/relay/preset/centcom,/turf/unsimulated/floor{icon_state = "gcircuit"},/area/vr/lobby) +"l" = (/obj/machinery/telecomms/hub/preset_cent,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/vr/lobby) +"m" = (/obj/machinery/computer/vr_control,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/vr/lobby) +"n" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/vr/lobby) +"o" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/vr/lobby) +"p" = (/obj/effect/landmark{name = "avatarspawn"},/turf/unsimulated/floor{icon_state = "gcircuit"},/area/vr/lobby) +"q" = (/obj/machinery/telecomms/processor/preset_cent,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/vr/lobby) +"r" = (/turf/unsimulated/wall/fakeglass,/area/vr/lobby) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaabbbbaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaabbccbbaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaabbbdeedbbbaaaaaaaaaaaaaaaaaaaa +aabbbbbbbbbbbbbbbbbbbeefeefeebbbbbbbbbbbbbbbbbbbaa +aabbcecececececbbbeeeegheehgeeeebbbcecececececbbaa +aabcgegegegegegcbbegcgcieeicgcgebbcgegegegegegcbaa +aabeejekejekejeebbeceeeleeleeecebbeejekejekejeebaa +aabcgegegegegegcbeegecgheehgcegeebcgegegegegegcbaa +aabbcecececececbbegcegcieeicgecgebbcecececececbbaa +aaabdmdmdmdmdmdbdfnolnobccbnolnofdbdmdmdmdmdmdbaaa +aaabeeeeeeeeeeeceeeeeeecppceeeeeeeceeeeeeeeeeebaaa +aaabeeeeeeeeeeeceeeeeeecppceeeeeeeceeeeeeeeeeebaaa +aaabbbbbbbbbbbbbdfnolnobccbnolnoqdbbbbbbbbbbbbbaaa +aaaaaaaaaaaaaaabbegcegcheehcgecgebbaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaabeegecgreeigcegeebaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaabbeceeeleeleeecebbaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaabegcgcheehcgcgebaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaabeeeegreeigeeeebaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaabbbbeefeefeebbbbaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaabbbdeedbbbaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaabbccbbaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaabbbbaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/code/__DEFINES/hud.dm b/code/__DEFINES/hud.dm index 6771d8062fc..4126fe1725f 100644 --- a/code/__DEFINES/hud.dm +++ b/code/__DEFINES/hud.dm @@ -7,7 +7,7 @@ #define STATUS_HUD "2" // a simple line rounding the mob's number health #define ID_HUD "3" // the job asigned to your ID #define WANTED_HUD "4" // wanted, released, parroled, security status -#define IMPLOYAL_HUD "5" // loyality implant +#define IMPMINDSHIELD_HUD "5" // mindshield implant #define IMPCHEM_HUD "6" // chemical implant #define IMPTRACK_HUD "7" // tracking implant #define DIAG_STAT_HUD "8" // Silicon/Mech Status diff --git a/code/__DEFINES/mob.dm b/code/__DEFINES/mob.dm index 5a96b6e954f..97cea621dae 100644 --- a/code/__DEFINES/mob.dm +++ b/code/__DEFINES/mob.dm @@ -124,6 +124,9 @@ #define islarva(A) (istype((A), /mob/living/carbon/alien/larva)) #define isslime(A) (istype((A), /mob/living/carbon/slime)) +//Human sub-species +#define isabductor(A) (is_species(A, "Abductor")) + #define isanimal(A) (istype((A), /mob/living/simple_animal)) #define iscorgi(A) (istype((A), /mob/living/simple_animal/pet/corgi)) #define ismouse(A) (istype((A), /mob/living/simple_animal/mouse)) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 2c989753bf9..0abf2ac1af3 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -363,6 +363,13 @@ proc/add_logs(mob/user, mob/target, what_done, var/object=null, var/addition=nul if(progress) qdel(progbar) +/proc/is_species(A, species_name) + . = FALSE + if(ishuman(A)) + var/mob/living/carbon/human/H = A + if(H.get_species() == species_name) + . = TRUE + /proc/admin_mob_info(mob/M, mob/user = usr) if(!ismob(M)) to_chat(user, "This can only be used on instances of type /mob") diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index b5171ef1144..89755d7acf0 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -386,18 +386,10 @@ proc/checkhtml(var/t) return sanitize(replace_characters(input, list(">"=" ","<"=" ", "\""="'")), max_length, encode, trim, extra) -//Replaces \red \blue \green \b etc with span classes for to_chat +//Replace BYOND text macros with span classes for to_chat /proc/replace_text_macro(match, code, rest) - var/regex/text_macro = new("(\\xFF.)(.*)$") - switch(code) - if("\red") - return "[text_macro.Replace(rest, /proc/replace_text_macro)]" - if("\blue", "\green") - return "[text_macro.Replace(rest, /proc/replace_text_macro)]" - if("\b") - return "[text_macro.Replace(rest, /proc/replace_text_macro)]" - else - return text_macro.Replace(rest, /proc/replace_text_macro) + var/regex/text_macro = new("(\\xFF.)(.*)$") + return text_macro.Replace(rest, /proc/replace_text_macro) /proc/macro2html(text) var/static/regex/text_macro = new("(\\xFF.)(.*)$") diff --git a/code/_globalvars/mapping.dm b/code/_globalvars/mapping.dm index 841fbced3f7..4915b91f3d0 100644 --- a/code/_globalvars/mapping.dm +++ b/code/_globalvars/mapping.dm @@ -40,6 +40,7 @@ var/list/prisonwarped = list() //list of players already warped var/list/blobstart = list() var/list/ninjastart = list() var/list/carplist = list() //list of all carp-spawn landmarks +var/list/avatarspawn = list() //away missions var/list/awaydestinations = list() //a list of landmarks that the warpgate can take you to @@ -51,4 +52,5 @@ var/list/datum/map_template/ruins_templates = list() var/list/datum/map_template/space_ruins_templates = list() var/list/datum/map_template/lava_ruins_templates = list() var/list/datum/map_template/shelter_templates = list() -var/list/datum/map_template/shuttle_templates = list() \ No newline at end of file +var/list/datum/map_template/shuttle_templates = list() +var/list/datum/map_template/vr_templates = list() \ No newline at end of file diff --git a/code/_globalvars/station.dm b/code/_globalvars/station.dm index f08afe5efb9..6d2578e5b88 100644 --- a/code/_globalvars/station.dm +++ b/code/_globalvars/station.dm @@ -1,7 +1,7 @@ var/global/datum/datacore/data_core = null var/CELLRATE = 0.002 // multiplier for watts per tick <> cell storage (eg: .002 means if there is a load of 1000 watts, 20 units will be taken from a cell per second) -var/CHARGELEVEL = 0.0005 // Cap for how fast cells charge, as a percentage-per-tick (.001 means cellcharge is capped to 1% per second) +var/CHARGELEVEL = 0.001 // Cap for how fast cells charge, as a percentage-per-tick (.001 means cellcharge is capped to 1% per second) var/list/powernets = list() var/list/deferred_powernet_rebuilds = list() diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 4c9f57d4e4e..59cbf9c6219 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -84,7 +84,7 @@ if(istype(M, /mob/living/carbon/slime)) var/mob/living/carbon/slime/slime = M if(prob(25)) - to_chat(user, "\red [src] passes right through [M]!") + to_chat(user, "[src] passes right through [M]!") return if(power > 0) diff --git a/code/controllers/Processes/shuttles.dm b/code/controllers/Processes/shuttles.dm index b6b078323e9..c027a63b902 100644 --- a/code/controllers/Processes/shuttles.dm +++ b/code/controllers/Processes/shuttles.dm @@ -160,6 +160,8 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12 /datum/controller/process/shuttle/proc/canRecall() if(emergency.mode != SHUTTLE_CALL) return + if(!emergency.canRecall) + return if(ticker.mode.name == "meteor") return if(seclevel2num(get_security_level()) >= SEC_LEVEL_RED) diff --git a/code/datums/cargoprofile.dm b/code/datums/cargoprofile.dm index 8576cba828d..97edbc2ea7b 100644 --- a/code/datums/cargoprofile.dm +++ b/code/datums/cargoprofile.dm @@ -341,13 +341,13 @@ C:broken = 1 C.open() C.update_icon() - master.visible_message("\red [master] breaks open [C]!") + master.visible_message("[master] breaks open [C]!") else - master.visible_message("\blue [master] is trying to force [C] open!") + master.visible_message("[master] is trying to force [C] open!") master.sleep += 1 // mechanical strain return BIG_OBJECT_WORK - master.visible_message("\blue [master] is trying to open [C], but can't!") + master.visible_message("[master] is trying to open [C], but can't!") master.sleep = 5 return 0 @@ -647,7 +647,7 @@ M.loc = master master.types[M.type] = src M.apply_damage(damage) // todo: ugly - M.visible_message("\red [M.name] gets pulled into the machine!") + M.visible_message("[M.name] gets pulled into the machine!") return MOB_WORK outlet_reaction(var/atom/W,var/turf/D) var/mob/living/M = W @@ -659,7 +659,7 @@ if(bruteloss < 100) // requires tenderization M.apply_damage(rand(5,15),BRUTE) to_chat(M, "The machine is tearing you apart!") - master.visible_message("\red [master] makes a squishy grinding noise.") + master.visible_message("[master] makes a squishy grinding noise.") return M.loc = master.loc M.gib() @@ -700,7 +700,7 @@ M.forceMove(master) master.types[M.type] = src M.apply_damage(damage) // todo: ugly - M.visible_message("\red [M.name] gets pulled into the machine!") + M.visible_message("[M.name] gets pulled into the machine!") return MOB_WORK outlet_reaction(var/atom/W,var/turf/D) @@ -711,7 +711,7 @@ D = get_step(D,master.outdir) // throw attempt eject_speed = rand(0,4) - M.visible_message("\blue [M.name] is ejected from the unloader.") + M.visible_message("[M.name] is ejected from the unloader.") M.throw_at(D,eject_speed,eject_speed) return @@ -752,7 +752,7 @@ if(!damage) playsound(master.loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - master.visible_message("\red \The [src] punched at [M], but whiffed!") + master.visible_message("\The [src] punched at [M], but whiffed!") if(maxpunches > 1 && prob(50)) // Follow through on a miss, 50% chance return punch(M,maxpunches - 1) + 1 diff --git a/code/datums/diseases/cold.dm b/code/datums/diseases/cold.dm index 9e1d350bdc4..975c92b2aef 100644 --- a/code/datums/diseases/cold.dm +++ b/code/datums/diseases/cold.dm @@ -16,7 +16,7 @@ if(2) /* if(affected_mob.sleeping && prob(40)) //removed until sleeping is fixed - to_chat(affected_mob, "\blue You feel better.") + to_chat(affected_mob, "You feel better.") cure() return */ @@ -39,7 +39,7 @@ if(3) /* if(affected_mob.sleeping && prob(25)) //removed until sleeping is fixed - to_chat(affected_mob, "\blue You feel better.") + to_chat(affected_mob, "You feel better.") cure() return */ diff --git a/code/datums/helper_datums/global_iterator.dm b/code/datums/helper_datums/global_iterator.dm index 485dfa3563e..e3f22e2a3e2 100644 --- a/code/datums/helper_datums/global_iterator.dm +++ b/code/datums/helper_datums/global_iterator.dm @@ -139,7 +139,7 @@ Data storage vars: arg_list = arguments return 1 else -// to_chat(world, "\red Invalid arguments supplied for [src.type], ref = \ref[src]") +// to_chat(world, "Invalid arguments supplied for [src.type], ref = \ref[src]") return 0 proc/toggle_null_checks() diff --git a/code/datums/helper_datums/map_template.dm b/code/datums/helper_datums/map_template.dm index ead199814f3..1ecf89de0fe 100644 --- a/code/datums/helper_datums/map_template.dm +++ b/code/datums/helper_datums/map_template.dm @@ -114,6 +114,7 @@ preloadRuinTemplates() preloadShelterTemplates() preloadShuttleTemplates() + preloadVRTemplates() /proc/preloadRuinTemplates() // Still supporting bans by filename @@ -163,4 +164,15 @@ var/datum/map_template/shuttle/S = new shuttle_type() shuttle_templates[S.shuttle_id] = S - map_templates[S.shuttle_id] = S \ No newline at end of file + map_templates[S.shuttle_id] = S + +/proc/preloadVRTemplates() + for(var/item in subtypesof(/datum/map_template/vr)) + var/datum/map_template/vr/vr_type = item + if(!initial(vr_type.suffix)) + continue + + var/datum/map_template/vr/V = new vr_type() + + vr_templates[V.id] = V + map_templates[V.id] = V \ No newline at end of file diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 80ffd082f68..886661d4fdb 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -157,7 +157,7 @@ var/mob/living/carbon/human/H = current if(ishuman(current)) /** Impanted**/ - if(isloyal(H)) + if(ismindshielded(H)) text = "Mindshield Implant:Remove|Implanted
" else text = "Mindshield Implant:No Implant|Implant him!
" @@ -167,7 +167,7 @@ if(ticker.mode.config_tag=="revolution") text += uppertext(text) text = "[text]: " - if(isloyal(H)) + if(ismindshielded(H)) text += "NO|headrev|rev" else if(src in ticker.mode.head_revolutionaries) text += "no|HEADREV|rev" @@ -203,7 +203,7 @@ if(ticker.mode.config_tag=="cult") text = uppertext(text) text = "[text]: " - if(isloyal(H)) + if(ismindshielded(H)) text += "NO|cultist" else if(src in ticker.mode.cult) text += "no|CULTIST" @@ -657,15 +657,15 @@ switch(href_list["implant"]) if("remove") - for(var/obj/item/weapon/implant/loyalty/I in H.contents) + for(var/obj/item/weapon/implant/mindshield/I in H.contents) if(I && I.implanted) I.removed(H) qdel(I) - to_chat(H, "\blue Your mindshield implant has been deactivated.") + to_chat(H, "Your mindshield implant has been deactivated.") log_admin("[key_name(usr)] has deactivated [key_name(current)]'s mindshield implant") message_admins("[key_name_admin(usr)] has deactivated [key_name_admin(current)]'s mindshield implant") if("add") - var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) + var/obj/item/weapon/implant/mindshield/L = new/obj/item/weapon/implant/mindshield(H) L.imp_in = H L.implanted = 1 H.sec_hud_set_implants() @@ -673,15 +673,15 @@ log_admin("[key_name(usr)] has given [key_name(current)] a mindshield implant") message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a mindshield implant") - to_chat(H, "\red You somehow have become the recepient of a mindshield transplant, and it just activated!") + to_chat(H, "You somehow have become the recepient of a mindshield transplant, and it just activated!") if(src in ticker.mode.revolutionaries) special_role = null ticker.mode.revolutionaries -= src - to_chat(src, "\red The nanobots in the mindshield implant remove all thoughts about being a revolutionary. Get back to work!") + to_chat(src, "The nanobots in the mindshield implant remove all thoughts about being a revolutionary. Get back to work!") if(src in ticker.mode.head_revolutionaries) special_role = null ticker.mode.head_revolutionaries -=src - to_chat(src, "\red The nanobots in the mindshield implant remove all thoughts about being a revolutionary. Get back to work!") + to_chat(src, "The nanobots in the mindshield implant remove all thoughts about being a revolutionary. Get back to work!") if(src in ticker.mode.cult) ticker.mode.cult -= src ticker.mode.update_cult_icons_removed(src) @@ -689,7 +689,7 @@ var/datum/game_mode/cult/cult = ticker.mode if(istype(cult)) cult.memorize_cult_objectives(src) - to_chat(current, "\red The nanobots in the mindshield implant remove all thoughts about being in a cult. Have a productive day!") + to_chat(current, "The nanobots in the mindshield implant remove all thoughts about being in a cult. Have a productive day!") memory = "" else if(href_list["revolution"]) @@ -698,12 +698,12 @@ if("clear") if(src in ticker.mode.revolutionaries) ticker.mode.revolutionaries -= src - to_chat(current, "\red You have been brainwashed! You are no longer a revolutionary!") + to_chat(current, "You have been brainwashed! You are no longer a revolutionary!") ticker.mode.update_rev_icons_removed(src) special_role = null if(src in ticker.mode.head_revolutionaries) ticker.mode.head_revolutionaries -= src - to_chat(current, "\red You have been brainwashed! You are no longer a head revolutionary!") + to_chat(current, "You have been brainwashed! You are no longer a head revolutionary!") ticker.mode.update_rev_icons_removed(src) special_role = null log_admin("[key_name(usr)] has de-rev'd [key_name(current)]") @@ -713,9 +713,9 @@ if(src in ticker.mode.head_revolutionaries) ticker.mode.head_revolutionaries -= src ticker.mode.update_rev_icons_removed(src) - to_chat(current, "\red Revolution has been disappointed of your leadership traits! You are a regular revolutionary now!") + to_chat(current, "Revolution has been disappointed of your leadership traits! You are a regular revolutionary now!") else if(!(src in ticker.mode.revolutionaries)) - to_chat(current, "\red You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!") + to_chat(current, " You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!") else return ticker.mode.revolutionaries += src @@ -728,9 +728,9 @@ if(src in ticker.mode.revolutionaries) ticker.mode.revolutionaries -= src ticker.mode.update_rev_icons_removed(src) - to_chat(current, "\red You have proven your devotion to revolution! You are a head revolutionary now!") + to_chat(current, "\red You have proven your devotion to revolution! You are a head revolutionary now!") else if(!(src in ticker.mode.head_revolutionaries)) - to_chat(current, "\blue You are a member of the revolutionaries' leadership now!") + to_chat(current, "You are a member of the revolutionaries' leadership now!") else return if(ticker.mode.head_revolutionaries.len>0) @@ -758,7 +758,7 @@ if("flash") if(!ticker.mode.equip_revolutionary(current)) - to_chat(usr, "\red Spawning flash failed!") + to_chat(usr, "Spawning flash failed!") log_admin("[key_name(usr)] has given [key_name(current)] a flash") message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a flash") @@ -766,7 +766,7 @@ var/list/L = current.get_contents() var/obj/item/device/flash/flash = locate() in L if(!flash) - to_chat(usr, "\red Deleting flash failed!") + to_chat(usr, "Deleting flash failed!") qdel(flash) log_admin("[key_name(usr)] has taken [key_name(current)]'s flash") message_admins("[key_name_admin(usr)] has taken [key_name_admin(current)]'s flash") @@ -775,7 +775,7 @@ var/list/L = current.get_contents() var/obj/item/device/flash/flash = locate() in L if(!flash) - to_chat(usr, "\red Repairing flash failed!") + to_chat(usr, "Repairing flash failed!") else flash.broken = 0 log_admin("[key_name(usr)] has repaired [key_name(current)]'s flash") @@ -790,7 +790,7 @@ fail |= !ticker.mode.equip_traitor(current, 1) fail |= !ticker.mode.equip_revolutionary(current) if(fail) - to_chat(usr, "\red Reequipping revolutionary goes wrong!") + to_chat(usr, "Reequipping revolutionary goes wrong!") return log_admin("[key_name(usr)] has equipped [key_name(current)] as a revolutionary") message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a revolutionary") @@ -825,7 +825,7 @@ ) var/where = H.equip_in_one_of_slots(T, slots) if(!where) - to_chat(usr, "\red Spawning tome failed!") + to_chat(usr, "Spawning tome failed!") qdel(T) else to_chat(H, "A tome, a message from your new master, appears in your [where].") @@ -834,7 +834,7 @@ if("equip") if(!ticker.mode.equip_cultist(current)) - to_chat(usr, "\red Spawning equipment failed!") + to_chat(usr, "Spawning equipment failed!") log_admin("[key_name(usr)] has equipped [key_name(current)] as a cultist") message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a cultist") @@ -848,7 +848,7 @@ current.spellremove(current) current.faction = list("Station") ticker.mode.update_wiz_icons_removed(src) - to_chat(current, "\red You have been brainwashed! You are no longer a wizard!") + to_chat(current, "You have been brainwashed! You are no longer a wizard!") log_admin("[key_name(usr)] has de-wizarded [key_name(current)]") message_admins("[key_name_admin(usr)] has de-wizarded [key_name_admin(current)]") if("wizard") @@ -875,7 +875,7 @@ message_admins("[key_name_admin(usr)] has allowed wizard [key_name_admin(current)] to name themselves") if("autoobjectives") ticker.mode.forge_wizard_objectives(src) - to_chat(usr, "\blue The objectives for wizard [key] have been generated. You can edit them and announce manually.") + to_chat(usr, "The objectives for wizard [key] have been generated. You can edit them and announce manually.") log_admin("[key_name(usr)] has automatically forged wizard objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged wizard objectives for [key_name_admin(current)]") @@ -904,13 +904,13 @@ if("autoobjectives") ticker.mode.forge_changeling_objectives(src) - to_chat(usr, "\blue The objectives for changeling [key] have been generated. You can edit them and announce manually.") + to_chat(usr, "The objectives for changeling [key] have been generated. You can edit them and announce manually.") log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]") if("initialdna") if(!changeling || !changeling.absorbed_dna.len) - to_chat(usr, "\red Resetting DNA failed!") + to_chat(usr, "Resetting DNA failed!") else current.dna = changeling.absorbed_dna[1] current.real_name = current.dna.real_name @@ -948,7 +948,7 @@ if("autoobjectives") ticker.mode.forge_vampire_objectives(src) - to_chat(usr, "\blue The objectives for vampire [key] have been generated. You can edit them and announce manually.") + to_chat(usr, "The objectives for vampire [key] have been generated. You can edit them and announce manually.") log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]") @@ -971,7 +971,7 @@ special_role = null for(var/datum/objective/nuclear/O in objectives) objectives-=O - to_chat(current, "\red You have been brainwashed! You are no longer a syndicate operative!") + to_chat(current, "You have been brainwashed! You are no longer a syndicate operative!") log_admin("[key_name(usr)] has de-nuke op'd [key_name(current)]") message_admins("[key_name_admin(usr)] has de-nuke op'd [key_name_admin(current)]") if("nuclear") @@ -983,7 +983,7 @@ else current.real_name = "[syndicate_name()] Operative #[ticker.mode.syndicates.len-1]" special_role = SPECIAL_ROLE_NUKEOPS - to_chat(current, "\blue You are a [syndicate_name()] agent!") + to_chat(current, "You are a [syndicate_name()] agent!") ticker.mode.forge_syndicate_objectives(src) ticker.mode.greet_syndicate(src) log_admin("[key_name(usr)] has nuke op'd [key_name(current)]") @@ -1006,7 +1006,7 @@ qdel(H.w_uniform) if(!ticker.mode.equip_syndicate(current)) - to_chat(usr, "\red Equipping a syndicate failed!") + to_chat(usr, "Equipping a syndicate failed!") return log_admin("[key_name(usr)] has equipped [key_name(current)] as a nuclear operative") message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a nuclear operative") @@ -1023,7 +1023,7 @@ log_admin("[key_name(usr)] has given [key_name(current)] the nuclear authorization code") message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] the nuclear authorization code") else - to_chat(usr, "\red No valid nuke found!") + to_chat(usr, "No valid nuke found!") else if(href_list["traitor"]) switch(href_list["traitor"]) @@ -1031,7 +1031,7 @@ if(src in ticker.mode.traitors) ticker.mode.traitors -= src special_role = null - to_chat(current, "\red You have been brainwashed! You are no longer a traitor!") + to_chat(current, "You have been brainwashed! You are no longer a traitor!") log_admin("[key_name(usr)] has de-traitored [key_name(current)]") message_admins("[key_name_admin(usr)] has de-traitored [key_name_admin(current)]") if(isAI(current)) @@ -1061,7 +1061,7 @@ if("autoobjectives") ticker.mode.forge_traitor_objectives(src) - to_chat(usr, "\blue The objectives for traitor [key] have been generated. You can edit them and announce manually.") + to_chat(usr, "The objectives for traitor [key] have been generated. You can edit them and announce manually.") log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]") @@ -1197,7 +1197,7 @@ message_admins("[key_name_admin(usr)] has set [key_name_admin(current)]'s telecrystals to [crystals]") if("uplink") if(!ticker.mode.equip_traitor(current, !(src in ticker.mode.traitors))) - to_chat(usr, "\red Equipping a syndicate failed!") + to_chat(usr, "Equipping a syndicate failed!") return log_admin("[key_name(usr)] has given [key_name(current)] an uplink") message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] an uplink") @@ -1276,7 +1276,7 @@ current.real_name = "[syndicate_name()] Operative #[ticker.mode.syndicates.len-1]" special_role = SPECIAL_ROLE_NUKEOPS assigned_role = "MODE" - to_chat(current, "\blue You are a [syndicate_name()] agent!") + to_chat(current, "You are a [syndicate_name()] agent!") ticker.mode.forge_syndicate_objectives(src) ticker.mode.greet_syndicate(src) diff --git a/code/datums/outfits/outfit_admin.dm b/code/datums/outfits/outfit_admin.dm index 8dea043eea5..9bc700ebabe 100644 --- a/code/datums/outfits/outfit_admin.dm +++ b/code/datums/outfits/outfit_admin.dm @@ -218,7 +218,7 @@ if(istype(I)) apply_to_card(I, H, get_centcom_access("Nanotrasen Navy Officer"), "Nanotrasen Navy Officer") - var/obj/item/weapon/implant/L = new /obj/item/weapon/implant/loyalty(H) + var/obj/item/weapon/implant/L = new /obj/item/weapon/implant/mindshield(H) L.imp_in = H L.implanted = 1 H.sec_hud_set_implants() @@ -250,7 +250,7 @@ /obj/item/weapon/reagent_containers/hypospray/combat/nanites = 1, /obj/item/weapon/storage/box/zipties = 1, /obj/item/clothing/shoes/magboots/advance = 1, - /obj/item/weapon/implanter/loyalty = 1, + /obj/item/weapon/implanter/mindshield = 1, ) /datum/outfit/admin/nt_special_ops_officer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) @@ -329,7 +329,7 @@ if(istype(I)) apply_to_card(I, H, get_centcom_access("Nanotrasen Navy Captain"), "Nanotrasen Navy Captain") - var/obj/item/weapon/implant/L = new /obj/item/weapon/implant/loyalty(H) + var/obj/item/weapon/implant/L = new /obj/item/weapon/implant/mindshield(H) L.imp_in = H L.implanted = 1 H.sec_hud_set_implants() @@ -755,7 +755,7 @@ if(istype(I)) apply_to_card(I, H, get_centcom_access("Emergency Response Team Member"), "Emergency Response Team Member") - var/obj/item/weapon/implant/L = new /obj/item/weapon/implant/loyalty(H) + var/obj/item/weapon/implant/L = new /obj/item/weapon/implant/mindshield(H) L.imp_in = H L.implanted = 1 H.sec_hud_set_implants() diff --git a/code/datums/spells/charge.dm b/code/datums/spells/charge.dm index 20407710a54..7f9a02bc01a 100644 --- a/code/datums/spells/charge.dm +++ b/code/datums/spells/charge.dm @@ -62,11 +62,12 @@ break else if(istype(item, /obj/item/weapon/stock_parts/cell/)) var/obj/item/weapon/stock_parts/cell/C = item - if(prob(80)) - C.maxcharge -= 200 - if(C.maxcharge <= 1) //Div by 0 protection - C.maxcharge = 1 - burnt_out = 1 + if(!C.self_recharge) + if(prob(80)) + C.maxcharge -= 200 + if(C.maxcharge <= 1) //Div by 0 protection + C.maxcharge = 1 + burnt_out = 1 C.charge = C.maxcharge charged_item = C break @@ -75,11 +76,12 @@ for(I in item.contents) if(istype(I, /obj/item/weapon/stock_parts/cell/)) var/obj/item/weapon/stock_parts/cell/C = I - if(prob(80)) - C.maxcharge -= 200 - if(C.maxcharge <= 1) //Div by 0 protection - C.maxcharge = 1 - burnt_out = 1 + if(!C.self_recharge) + if(prob(80)) + C.maxcharge -= 200 + if(C.maxcharge <= 1) //Div by 0 protection + C.maxcharge = 1 + burnt_out = 1 C.charge = C.maxcharge item.update_icon() charged_item = item diff --git a/code/datums/spells/conjure.dm b/code/datums/spells/conjure.dm index 2ca7d0fcddd..ebf9fa59fe8 100644 --- a/code/datums/spells/conjure.dm +++ b/code/datums/spells/conjure.dm @@ -33,7 +33,7 @@ targets -= spawn_place if(ispath(summoned_object_type,/turf)) if(istype(get_turf(user),/turf/simulated/shuttle)) - to_chat(user, "\red You can't build things on shuttles!") + to_chat(user, "You can't build things on shuttles!") break var/turf/O = spawn_place var/N = summoned_object_type diff --git a/code/datums/spells/lightning.dm b/code/datums/spells/lightning.dm index bb2bb133d71..257e98346d2 100644 --- a/code/datums/spells/lightning.dm +++ b/code/datums/spells/lightning.dm @@ -15,13 +15,15 @@ var/image/halo = null action_icon_state = "lightning" var/sound/Snd // so far only way i can think of to stop a sound, thank MSO for the idea. + var/damaging = TRUE /obj/effect/proc_holder/spell/targeted/lightning/lightnian clothes_req = 0 invocation_type = "none" + damaging = 0 /obj/effect/proc_holder/spell/targeted/lightning/Click() - if(!ready && start_time==0) + if(!ready && start_time == 0) if(cast_check()) StartChargeup() else @@ -32,12 +34,12 @@ /obj/effect/proc_holder/spell/targeted/lightning/proc/StartChargeup(mob/user = usr) ready = 1 to_chat(user, "You start gathering the power.") - Snd = new/sound('sound/magic/lightning_chargeup.ogg',channel = 7) + Snd = new/sound('sound/magic/lightning_chargeup.ogg', channel = 7) halo = image("icon"='icons/effects/effects.dmi',"icon_state" ="electricity","layer" = EFFECTS_LAYER) user.overlays.Add(halo) playsound(get_turf(user), Snd, 50, 0) start_time = world.time - if(do_mob(user,user,100,uninterruptible=1)) + if(do_mob(user, user, 100, uninterruptible=1)) if(ready) Discharge() @@ -61,9 +63,9 @@ obj/effect/proc_holder/spell/targeted/lightning/proc/Reset(mob/user = usr) /obj/effect/proc_holder/spell/targeted/lightning/cast(list/targets, mob/user = usr) ready = 0 - var/mob/living/carbon/target = targets[1] - Snd=sound(null, repeat = 0, wait = 1, channel = Snd.channel) //byond, why you suck? - playsound(get_turf(user),Snd,50,0)// Sorry MrPerson, but the other ways just didn't do it the way i needed to work, this is the only way. + var/mob/living/target = targets[1] + Snd = sound(null, repeat = 0, wait = 1, channel = Snd.channel) //byond, why you suck? + playsound(get_turf(user), Snd, 50, 0)// Sorry MrPerson, but the other ways just didn't do it the way i needed to work, this is the only way. if(get_dist(user,target)>range) to_chat(user, "They are too far away!") Reset(user) @@ -73,17 +75,37 @@ obj/effect/proc_holder/spell/targeted/lightning/proc/Reset(mob/user = usr) user.Beam(target,icon_state="lightning[rand(1,12)]",icon='icons/effects/effects.dmi',time=5) var/energy = min(world.time - start_time,100) - Bolt(user,target,max(15,energy/2),5,user) //5 bounces for energy/2 burn + if(damaging) + Bolt(user,target,max(15,energy/2),5,user) //5 bounces for energy/2 burn + else + var/bounces = round(energy/20) + Bolt(user,target,0,bounces,user) Reset(user) -/obj/effect/proc_holder/spell/targeted/lightning/proc/Bolt(mob/origin, mob/target, bolt_energy, bounces, mob/user = usr) - origin.Beam(target,icon_state="lightning[rand(1,12)]",icon='icons/effects/effects.dmi',time=5) - var/mob/living/carbon/current = target +/obj/effect/proc_holder/spell/targeted/lightning/proc/Bolt(mob/origin, mob/living/target, bolt_energy, bounces, mob/user = usr) + origin.Beam(target,icon_state="lightning[rand(1,12)]", icon='icons/effects/effects.dmi', time=5) + var/mob/living/current = target if(bounces < 1) - current.electrocute_act(bolt_energy,"Lightning Bolt",safety=1) + if(damaging) + current.electrocute_act(bolt_energy,"Lightning Bolt",safety=1) + else + current.AdjustJitter(1000) //High numbers for violent convulsions + current.do_jitter_animation(current.jitteriness) + current.AdjustStuttering(2) + current.Slowed(3) + spawn(20) + current.AdjustJitter(-1000, bound_lower = 10) //Still jittery, but vastly less playsound(get_turf(current), 'sound/magic/LightningShock.ogg', 50, 1, -1) else - current.electrocute_act(bolt_energy,"Lightning Bolt",safety=1) + if(damaging) + current.electrocute_act(bolt_energy,"Lightning Bolt",safety=1) + else + current.AdjustJitter(1000) //High numbers for violent convulsions + current.do_jitter_animation(current.jitteriness) + current.AdjustStuttering(2) + current.Slowed(3) + spawn(20) + current.AdjustJitter(-1000, bound_lower = 10) //Still jittery, but vastly less playsound(get_turf(current), 'sound/magic/LightningShock.ogg', 50, 1, -1) var/list/possible_targets = new for(var/mob/living/M in view_or_range(range,target,"view")) diff --git a/code/datums/spells/magnet.dm b/code/datums/spells/magnet.dm index 100dd881dde..8a6e9c525c4 100644 --- a/code/datums/spells/magnet.dm +++ b/code/datums/spells/magnet.dm @@ -12,34 +12,37 @@ random_target = 1 var/energy = 0 var/ready = 0 + var/start_time = 0 var/image/halo = null + var/sound/Snd // so far only way i can think of to stop a sound, thank MSO for the idea. action_icon_state = "tech" /obj/effect/proc_holder/spell/targeted/magnet/Click() - if(!ready) + if(!ready && start_time == 0) if(cast_check()) StartChargeup() else - if(cast_check(skipcharge=1)) + if(ready && cast_check(skipcharge=1)) choose_targets() return 1 /obj/effect/proc_holder/spell/targeted/magnet/proc/StartChargeup(mob/user = usr) ready = 1 to_chat(user, "You start gathering the power.") + Snd = new/sound('sound/magic/lightning_chargeup.ogg', channel = 7) halo = image("icon"='icons/effects/effects.dmi',"icon_state" ="electricity","layer" = EFFECTS_LAYER) user.overlays.Add(halo) - spawn(0) - while(ready) - sleep(1) - energy++ - if(energy >= 100 && ready) - Discharge() + playsound(get_turf(user), Snd, 50, 0) + start_time = world.time + if(do_mob(user, user, 100, uninterruptible=1)) + if(ready) + Discharge() obj/effect/proc_holder/spell/targeted/magnet/proc/Reset(mob/user = usr) ready = 0 energy = 0 + start_time = 0 if(halo) user.overlays.Remove(halo) @@ -50,16 +53,16 @@ obj/effect/proc_holder/spell/targeted/magnet/proc/Reset(mob/user = usr) /obj/effect/proc_holder/spell/targeted/magnet/proc/Discharge(mob/user = usr) var/mob/living/M = user - //M.electrocute_act(25,"magnet Bolt") to_chat(M, "You lose control over the power.") Reset(user) start_recharge() /obj/effect/proc_holder/spell/targeted/magnet/cast(list/targets, mob/user = usr) - - var/mob/living/carbon/target = targets[1] - + ready = 0 + var/mob/living/target = targets[1] + Snd = sound(null, repeat = 0, wait = 1, channel = Snd.channel) //byond, why you suck? + playsound(get_turf(user), Snd, 50, 0)// Sorry MrPerson, but the other ways just didn't do it the way i needed to work, this is the only way. if(get_dist(user,target)>range) to_chat(user, "They are too far away!") Reset(user) @@ -88,13 +91,13 @@ obj/effect/proc_holder/spell/targeted/magnet/proc/Reset(mob/user = usr) playsound(get_turf(target), 'sound/machines/defib_zap.ogg', 50, 1, -1) if(75 to 100) //CHAIN magnet - Bolt(user,target,energy,user) + Bolt(user,target,energy,5,user) Reset(user) -/obj/effect/proc_holder/spell/targeted/magnet/proc/Bolt(mob/origin,mob/target,bolt_energy,mob/user = usr) - origin.Beam(target,icon_state="lightning",icon='icons/effects/effects.dmi',time=5) +/obj/effect/proc_holder/spell/targeted/magnet/proc/Bolt(mob/origin,mob/target,bolt_energy,bounces, mob/user = usr) + origin.Beam(target, icon_state="lightning", icon='icons/effects/effects.dmi', time=5) var/mob/living/carbon/current = target - if(bolt_energy < 75) + if(bounces < 1) for(var/obj/item/I in target.l_hand) if(I.flags & CONDUCT) I.throw_at(user, I.throw_range, 4, target) @@ -119,4 +122,4 @@ obj/effect/proc_holder/spell/targeted/magnet/proc/Reset(mob/user = usr) return var/mob/living/next = pick(possible_targets) if(next) - Bolt(current,next,bolt_energy-6,user) // 5 max bounces \ No newline at end of file + Bolt(current,next,bolt_energy,bounces-1,user) // 5 max bounces \ No newline at end of file diff --git a/code/datums/spells/wizard.dm b/code/datums/spells/wizard.dm index e3892baac2f..f8394771263 100644 --- a/code/datums/spells/wizard.dm +++ b/code/datums/spells/wizard.dm @@ -45,7 +45,7 @@ clothes_req = 1 invocation = "BIRUZ BENNAR" invocation_type = "shout" - message = "\blue You feel strong! You feel a pressure building behind your eyes!" + message = "You feel strong! You feel a pressure building behind your eyes!" range = -1 include_user = 1 centcom_cancast = 0 @@ -235,7 +235,7 @@ clothes_req = 0 invocation = "STI KALY" invocation_type = "whisper" - message = "\blue Your eyes cry out in pain!" + message = "Your eyes cry out in pain!" cooldown_min = 50 //12 deciseconds reduction per rank starting_spells = list("/obj/effect/proc_holder/spell/targeted/inflict_handler/blind","/obj/effect/proc_holder/spell/targeted/genetic/blind") diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index e4eda250cf9..4e624696a10 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -376,9 +376,9 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine /////// Implants & etc -/datum/supply_packs/security/armory/loyalty +/datum/supply_packs/security/armory/mindshield name = "Mindshield Implants Crate" - contains = list (/obj/item/weapon/storage/lockbox/loyalty) + contains = list (/obj/item/weapon/storage/lockbox/mindshield) cost = 40 containername = "mindshield implant crate" diff --git a/code/datums/vr.dm b/code/datums/vr.dm new file mode 100644 index 00000000000..4d31b6a2072 --- /dev/null +++ b/code/datums/vr.dm @@ -0,0 +1,15 @@ +/datum/map_template/vr + name = null + var/id = null // For blacklisting purposes, all vr levels need an id + var/description = "This is a placeholder. Please contact your virtual adminsitrator if you see this." + var/outfit = null + + var/prefix = null + var/suffix = null + +/datum/map_template/vr/New() + if(!name && id) + name = id + + mappath = prefix + suffix + ..(path = mappath) \ No newline at end of file diff --git a/code/datums/vr/level.dm b/code/datums/vr/level.dm new file mode 100644 index 00000000000..d3feca26ad9 --- /dev/null +++ b/code/datums/vr/level.dm @@ -0,0 +1,16 @@ +/datum/map_template/vr/level + prefix = "_maps/map_files/vr/" + +/datum/map_template/vr/level/lobby + id = "lobby" + suffix = "lobby.dmm" + name = "Virtual Hub Facility" + description = "This is the lobby. The hub for all things VR." + outfit = /datum/outfit/vr/vr_basic + +/datum/map_template/vr/level/roman + id = "roman" + suffix = "blood_and_sand.dmm" + name = "Blood and Sand Arena" + description = "To the Death!" + outfit = /datum/outfit/vr/roman \ No newline at end of file diff --git a/code/datums/wires/mulebot.dm b/code/datums/wires/mulebot.dm index ec083c47f48..cbc92497f33 100644 --- a/code/datums/wires/mulebot.dm +++ b/code/datums/wires/mulebot.dm @@ -52,15 +52,15 @@ var/const/WIRE_BEACON_RX = 256 // beacon ping recv /datum/wires/mulebot/UpdatePulsed(index) switch(index) if(WIRE_POWER1, WIRE_POWER2) - holder.visible_message("\blue [bicon(holder)] The charge light flickers.") + holder.visible_message("[bicon(holder)] The charge light flickers.") if(WIRE_AVOIDANCE) - holder.visible_message("\blue [bicon(holder)] The external warning lights flash briefly.") + holder.visible_message("[bicon(holder)] The external warning lights flash briefly.") if(WIRE_LOADCHECK) - holder.visible_message("\blue [bicon(holder)] The load platform clunks.") + holder.visible_message("[bicon(holder)] The load platform clunks.") if(WIRE_MOTOR1, WIRE_MOTOR2) - holder.visible_message("\blue [bicon(holder)] The drive motor whines briefly.") + holder.visible_message("[bicon(holder)] The drive motor whines briefly.") else - holder.visible_message("\blue [bicon(holder)] You hear a radio crackle.") + holder.visible_message("[bicon(holder)] You hear a radio crackle.") ..() // HELPER PROCS diff --git a/code/datums/wires/nuclearbomb.dm b/code/datums/wires/nuclearbomb.dm index 5743872acf5..2034c59576b 100644 --- a/code/datums/wires/nuclearbomb.dm +++ b/code/datums/wires/nuclearbomb.dm @@ -52,12 +52,12 @@ var/const/NUCLEARBOMB_WIRE_SAFETY = 4 if(N.safety == 1) if(!N.is_syndicate) set_security_level(N.previous_level) - N.visible_message("\blue The [N] quiets down.") + N.visible_message("The [N] quiets down.") if(!N.lighthack) if(N.icon_state == "nuclearbomb2") N.icon_state = "nuclearbomb1" else - N.visible_message("\blue The [N] emits a quiet whirling noise!") + N.visible_message("The [N] emits a quiet whirling noise!") updateUIs() /datum/wires/nuclearbomb/UpdateCut(index, mended) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index c572023fc3f..e814bc9081f 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -2582,6 +2582,22 @@ area/security/podbay /area/awaycontent/a30 icon_state = "awaycontent30" +////////////////////////VR AREAS/////////////////////////////////// + +/area/vr + name = "VR" + requires_power = 0 + dynamic_lighting = 0 + no_teleportlocs = 1 + + +/area/vr/lobby + name = "VR Lobby" + +/area/vr/roman + name = "Roman Arena" + + ///////////////////////////////////////////////////////////////////// /* Lists of areas to be used with is_type_in_list. diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index 240c53b0025..2a6aa2b3a39 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -41,7 +41,7 @@ hud_icons = list(ID_HUD) /datum/atom_hud/data/human/security/advanced - hud_icons = list(ID_HUD, IMPTRACK_HUD, IMPLOYAL_HUD, IMPCHEM_HUD, WANTED_HUD) + hud_icons = list(ID_HUD, IMPTRACK_HUD, IMPMINDSHIELD_HUD, IMPCHEM_HUD, WANTED_HUD) /datum/atom_hud/data/diagnostic hud_icons = list (DIAG_HUD, DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_BOT_HUD, DIAG_TRACK_HUD) @@ -172,7 +172,7 @@ /mob/living/carbon/human/proc/sec_hud_set_implants() var/image/holder - for(var/i in list(IMPTRACK_HUD, IMPLOYAL_HUD, IMPCHEM_HUD)) + for(var/i in list(IMPTRACK_HUD, IMPMINDSHIELD_HUD, IMPCHEM_HUD)) holder = hud_list[i] holder.icon_state = null for(var/obj/item/weapon/implant/I in src) @@ -180,8 +180,8 @@ if(istype(I,/obj/item/weapon/implant/tracking)) holder = hud_list[IMPTRACK_HUD] holder.icon_state = "hud_imp_tracking" - else if(istype(I,/obj/item/weapon/implant/loyalty)) - holder = hud_list[IMPLOYAL_HUD] + else if(istype(I,/obj/item/weapon/implant/mindshield)) + holder = hud_list[IMPMINDSHIELD_HUD] holder.icon_state = "hud_imp_loyal" else if(istype(I,/obj/item/weapon/implant/chem)) holder = hud_list[IMPCHEM_HUD] diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm index 86e85da4fb0..a9e0c49a122 100644 --- a/code/game/dna/dna2.dm +++ b/code/game/dna/dna2.dm @@ -20,37 +20,43 @@ #define DNA_UI_HAIR_R 1 #define DNA_UI_HAIR_G 2 #define DNA_UI_HAIR_B 3 -#define DNA_UI_BEARD_R 4 -#define DNA_UI_BEARD_G 5 -#define DNA_UI_BEARD_B 6 -#define DNA_UI_SKIN_TONE 7 -#define DNA_UI_SKIN_R 8 -#define DNA_UI_SKIN_G 9 -#define DNA_UI_SKIN_B 10 -#define DNA_UI_HACC_R 11 -#define DNA_UI_HACC_G 12 -#define DNA_UI_HACC_B 13 -#define DNA_UI_HEAD_MARK_R 14 -#define DNA_UI_HEAD_MARK_G 15 -#define DNA_UI_HEAD_MARK_B 16 -#define DNA_UI_BODY_MARK_R 17 -#define DNA_UI_BODY_MARK_G 18 -#define DNA_UI_BODY_MARK_B 19 -#define DNA_UI_TAIL_MARK_R 20 -#define DNA_UI_TAIL_MARK_G 21 -#define DNA_UI_TAIL_MARK_B 22 -#define DNA_UI_EYES_R 23 -#define DNA_UI_EYES_G 24 -#define DNA_UI_EYES_B 25 -#define DNA_UI_GENDER 26 -#define DNA_UI_BEARD_STYLE 27 -#define DNA_UI_HAIR_STYLE 28 +#define DNA_UI_HAIR2_R 4 +#define DNA_UI_HAIR2_G 5 +#define DNA_UI_HAIR2_B 6 +#define DNA_UI_BEARD_R 7 +#define DNA_UI_BEARD_G 8 +#define DNA_UI_BEARD_B 9 +#define DNA_UI_BEARD2_R 10 +#define DNA_UI_BEARD2_G 11 +#define DNA_UI_BEARD2_B 12 +#define DNA_UI_SKIN_TONE 13 +#define DNA_UI_SKIN_R 14 +#define DNA_UI_SKIN_G 15 +#define DNA_UI_SKIN_B 16 +#define DNA_UI_HACC_R 17 +#define DNA_UI_HACC_G 18 +#define DNA_UI_HACC_B 19 +#define DNA_UI_HEAD_MARK_R 20 +#define DNA_UI_HEAD_MARK_G 21 +#define DNA_UI_HEAD_MARK_B 22 +#define DNA_UI_BODY_MARK_R 23 +#define DNA_UI_BODY_MARK_G 24 +#define DNA_UI_BODY_MARK_B 25 +#define DNA_UI_TAIL_MARK_R 26 +#define DNA_UI_TAIL_MARK_G 27 +#define DNA_UI_TAIL_MARK_B 28 +#define DNA_UI_EYES_R 29 +#define DNA_UI_EYES_G 30 +#define DNA_UI_EYES_B 31 +#define DNA_UI_GENDER 32 +#define DNA_UI_BEARD_STYLE 33 +#define DNA_UI_HAIR_STYLE 34 /*#define DNA_UI_BACC_STYLE 23*/ -#define DNA_UI_HACC_STYLE 29 -#define DNA_UI_HEAD_MARK_STYLE 30 -#define DNA_UI_BODY_MARK_STYLE 31 -#define DNA_UI_TAIL_MARK_STYLE 32 -#define DNA_UI_LENGTH 32 // Update this when you add something, or you WILL break shit. +#define DNA_UI_HACC_STYLE 35 +#define DNA_UI_HEAD_MARK_STYLE 36 +#define DNA_UI_BODY_MARK_STYLE 37 +#define DNA_UI_TAIL_MARK_STYLE 38 +#define DNA_UI_LENGTH 38 // Update this when you add something, or you WILL break shit. #define DNA_SE_LENGTH 55 // Was STRUCDNASIZE, size 27. 15 new blocks added = 42, plus room to grow. diff --git a/code/game/dna/dna2_helpers.dm b/code/game/dna/dna2_helpers.dm index 743a8ebbe5c..c5f9ce2b7fe 100644 --- a/code/game/dna/dna2_helpers.dm +++ b/code/game/dna/dna2_helpers.dm @@ -132,8 +132,11 @@ dna.check_integrity() var/mob/living/carbon/human/H = src var/obj/item/organ/external/head/head_organ = H.get_organ("head") + var/obj/item/organ/internal/eyes/eye_organ = H.get_int_organ(/obj/item/organ/internal/eyes) var/datum/species/S = H.species dna.write_head_attributes(head_organ) + dna.write_eyes_attributes(eye_organ) + H.update_eyes() H.r_skin = dna.GetUIValueRange(DNA_UI_SKIN_R, 255) H.g_skin = dna.GetUIValueRange(DNA_UI_SKIN_G, 255) @@ -190,6 +193,10 @@ head_organ.g_hair = GetUIValueRange(DNA_UI_HAIR_G, 255) head_organ.b_hair = GetUIValueRange(DNA_UI_HAIR_B, 255) + head_organ.r_hair_sec = GetUIValueRange(DNA_UI_HAIR2_R, 255) + head_organ.g_hair_sec = GetUIValueRange(DNA_UI_HAIR2_G, 255) + head_organ.b_hair_sec = GetUIValueRange(DNA_UI_HAIR2_B, 255) + //Facial Hair var/beard = GetUIValueRange(DNA_UI_BEARD_STYLE,facial_hair_styles_list.len) if((beard > 0) && (beard <= facial_hair_styles_list.len)) @@ -199,6 +206,10 @@ head_organ.g_facial = GetUIValueRange(DNA_UI_BEARD_G, 255) head_organ.b_facial = GetUIValueRange(DNA_UI_BEARD_B, 255) + head_organ.r_facial_sec = GetUIValueRange(DNA_UI_BEARD2_R, 255) + head_organ.g_facial_sec = GetUIValueRange(DNA_UI_BEARD2_G, 255) + head_organ.b_facial_sec = GetUIValueRange(DNA_UI_BEARD2_B, 255) + //Head Accessories var/headacc = GetUIValueRange(DNA_UI_HACC_STYLE,head_accessory_styles_list.len) if((headacc > 0) && (headacc <= head_accessory_styles_list.len)) @@ -256,10 +267,18 @@ SetUIValueRange(DNA_UI_HAIR_G, H.g_hair, 255, 1) SetUIValueRange(DNA_UI_HAIR_B, H.b_hair, 255, 1) + SetUIValueRange(DNA_UI_HAIR2_R, H.r_hair_sec, 255, 1) + SetUIValueRange(DNA_UI_HAIR2_G, H.g_hair_sec, 255, 1) + SetUIValueRange(DNA_UI_HAIR2_B, H.b_hair_sec, 255, 1) + SetUIValueRange(DNA_UI_BEARD_R, H.r_facial, 255, 1) SetUIValueRange(DNA_UI_BEARD_G, H.g_facial, 255, 1) SetUIValueRange(DNA_UI_BEARD_B, H.b_facial, 255, 1) + SetUIValueRange(DNA_UI_BEARD2_R, H.r_facial_sec, 255, 1) + SetUIValueRange(DNA_UI_BEARD2_G, H.g_facial_sec, 255, 1) + SetUIValueRange(DNA_UI_BEARD2_B, H.b_facial_sec, 255, 1) + SetUIValueRange(DNA_UI_HACC_R, H.r_headacc, 255, 1) SetUIValueRange(DNA_UI_HACC_G, H.g_headacc, 255, 1) SetUIValueRange(DNA_UI_HACC_B, H.b_headacc, 255, 1) diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm index e4c09aeac17..49a5ac8b016 100644 --- a/code/game/dna/genes/goon_powers.dm +++ b/code/game/dna/genes/goon_powers.dm @@ -180,7 +180,7 @@ C.adjustFireLoss(10) C.ExtinguishMob() - C.visible_message("\red [user] sprays a cloud of fine ice crystals, engulfing [C]!") + C.visible_message("[user] sprays a cloud of fine ice crystals, engulfing [C]!") log_admin("[key_name(user)] has used cryokinesis on [key_name(C)] without internals or a suit") msg_admin_attack("[key_name_admin(user)] has cast cryokinesis on [key_name_admin(C)]") diff --git a/code/game/gamemodes/autotraitor/autotraitor.dm b/code/game/gamemodes/autotraitor/autotraitor.dm index 7c307295dc7..6a7fa32c5c3 100644 --- a/code/game/gamemodes/autotraitor/autotraitor.dm +++ b/code/game/gamemodes/autotraitor/autotraitor.dm @@ -91,7 +91,7 @@ if(player.current) // Remove mindshield-implanted mobs from the list if(ishuman(player.current)) var/mob/living/carbon/human/H = player.current - for(var/obj/item/weapon/implant/loyalty/I in H.contents) + for(var/obj/item/weapon/implant/mindshield/I in H.contents) if(I && I.implanted) possible_traitors -= player @@ -141,7 +141,7 @@ set_antag_hud(newtraitor, "hudsyndicate") var/obj_count = 1 - to_chat(newtraitor, "\blue Your current objectives:") + to_chat(newtraitor, "Your current objectives:") for(var/datum/objective/objective in newtraitor.mind.objectives) to_chat(newtraitor, "Objective #[obj_count]: [objective.explanation_text]") obj_count++ diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index bce324ade0c..ff7c74a6fbb 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -19,7 +19,7 @@ var/global/list/all_cults = list() return 0 if(ishuman(mind.current)) var/mob/living/carbon/human/H = mind.current - if(isloyal(H)) + if(ismindshielded(H)) return 0 if(issilicon(mind.current)) return 0 //can't convert machines, that's ratvar's thing diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index cbfa6e51f11..e0be012f328 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -8,7 +8,7 @@ else usr.whisper(pick("Hakkrutju gopoenjim.", "Nherasai pivroiashan.", "Firjji prhiv mazenhor.", "Tanah eh wakantahe.", "Obliyae na oraie.", "Miyf hon vnor'c.", "Wakabai hij fen juswix.")) for (var/mob/V in viewers(src)) - V.show_message("\red The markings pulse with a small burst of light, then fall dark.", 3, "\red You hear a faint fizzle.", 2) + V.show_message("The markings pulse with a small burst of light, then fall dark.", 3, "You hear a faint fizzle.", 2) return /obj/effect/rune/proc/check_icon() @@ -102,7 +102,7 @@ If any are found, the user can choose which rune to send to. Upon activation, the rune teleports everything above it to the selected rune.

" text += "Rite of Enlightenment
This rune is critical to the success of the cult. It will allow you to convert normal crew members into cultists. \ - To do this, simply place the crew member upon the rune and invoke it. This rune requires two invokers to use. If the target to be converted is loyalty-implanted or a certain assignment, they will \ + To do this, simply place the crew member upon the rune and invoke it. This rune requires two invokers to use. If the target to be converted is mindshielded or a certain assignment, they will \ be unable to be converted. People [ticker.mode.cultdat.entity_title3] wishes sacrificed will also be ineligible for conversion, and anyone with a shielding presence like the null rod will not be converted.
\ Successful conversions will produce a tome for the new cultist.

" diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 41b8178c6f3..14fe620cc3c 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -323,7 +323,7 @@ var/list/teleport_runes = list() //Rite of Enlightenment: Converts a normal crewmember to the cult. Faster for every cultist nearby. /obj/effect/rune/convert cultist_name = "Rite of Enlightenment" - cultist_desc = "converts a normal crewmember on top of it to the cult. Does not work on loyalty-implanted crew." + cultist_desc = "converts a normal crewmember on top of it to the cult. Does not work on mindshielded crew." invocation = "Mah'weyh pleggh at e'ntrath!" icon_state = "3" req_cultists = 2 @@ -336,7 +336,7 @@ var/list/teleport_runes = list() var/turf/T = get_turf(src) for(var/mob/living/M in T.contents) - if(!iscultist(M) && !isloyal(M)) + if(!iscultist(M) && !ismindshielded(M)) convertees.Add(M) if(!convertees.len) fail_invoke() diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 59f4b79c84d..fc2ad7d62f9 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -37,8 +37,9 @@ var/const/waittime_h = 1800 //upper bound on time before intercept arrives (in tenths of seconds) var/list/player_draft_log = list() var/list/datum/mind/xenos = list() - + var/list/datum/station_goal/station_goals = list() // A list of all station goals for this game mode + var/list/chumps = list() /datum/game_mode/proc/announce() //to be calles when round starts to_chat(world, "Notice: [src] did not define announce()") @@ -71,6 +72,8 @@ ///post_setup() ///Everyone should now be on the station and have their normal gear. This is the place to give the special roles extra things /datum/game_mode/proc/post_setup() + setup_chumps() + spawn (ROUNDSTART_LOGOUT_REPORT_TIME) display_roundstart_logout_report() @@ -85,6 +88,40 @@ start_state.count() return 1 +//setup_chumps() +//Prepares fake potential collaborators to cut down on metagaming the round type as being a traitor subtype. Overriden in traitor game modes since they have real collaborators +/datum/game_mode/proc/setup_chumps() + var/max_chumps = 1 + if(config.traitor_scaling) + max_chumps = max(1, round((num_players())/(5))) + else + max_chumps = max(1, min(num_players(), 5)) + var/tries_left = 5 //limits the number of tries so we don't get stuck looping indefinitely. resets on successfully finding a new chump + while(chumps.len < max_chumps) + if(!tries_left) //ran out of unique chumps (or just bad luck with the pick() in get_nt_opposed()) so there may end up being fewer chumps in some rounds. + break + var/mob/living/carbon/human/chump = get_nt_opposed() + if(isnull(chump)) //no possible chumps so just end it here. + break + if(chump in chumps) + tries_left-- //this chump already was picked, try again! + else + chumps += chump + tries_left = 5 //reset our tries since we found a new chump + //make sure we have chumps before we try misinforming them. if we don't make a note of it. + if(!chumps.len) + message_admins("Game mode failed to find ANY chumps. Possible causes: no one is opposed/skeptical, or FalseIncarnate can't code.") + log_admin("Game mode failed to find ANY chumps. Possible causes: no one is opposed/skeptical, or FalseIncarnate can't code.") + return 0 + //we've got chumps! misinform them! + for(var/mob/living/carbon/human/chump in chumps) + if(prob(33)) + spawn(rand(3000, 18000)) //5-30 minute delay to throw off would-be autotraitor metagamers + inform_collab(chump) + else + spawn(rand(10, 100)) //same delay as if the mode were traitor + inform_collab(chump) + return 1 ///process() ///Called by the gameticker @@ -225,7 +262,7 @@ /datum/game_mode/proc/check_win() //universal trigger to be called at mob death, nuke explosion, etc. To be called from everywhere. return 0 - + /datum/game_mode/proc/get_players_for_role(var/role, override_jobbans=0) var/list/players = list() var/list/candidates = list() @@ -400,15 +437,20 @@ proc/display_roundstart_logout_report() to_chat(M, msg) -proc/get_nt_opposed() +/proc/get_nt_opposed() var/list/dudes = list() for(var/mob/living/carbon/human/man in player_list) if(man.client) + //don't try picking someone like the captain or a security officer for potential collaborators, even if they ARE opposed to Nanotrasen for some reason + if(man.mind && man.mind.assigned_role) + if((man.mind.assigned_role in ticker.mode.protected_jobs) || (man.mind.assigned_role in ticker.mode.restricted_jobs)) + continue if(man.client.prefs.nanotrasen_relation == "Opposed") dudes += man else if(man.client.prefs.nanotrasen_relation == "Skeptical" && prob(50)) dudes += man - if(dudes.len == 0) return null + if(dudes.len == 0) + return null return pick(dudes) //Announces objectives/generic antag text. @@ -425,7 +467,7 @@ proc/get_nt_opposed() if(!player || !player.current) return var/obj_count = 1 - to_chat(player.current, "\blue Your current objectives:") + to_chat(player.current, "Your current objectives:") for(var/datum/objective/objective in player.objectives) to_chat(player.current, "Objective #[obj_count]: [objective.explanation_text]") obj_count++ @@ -491,10 +533,10 @@ proc/get_nt_opposed() var/datum/station_goal/picked = pick_n_take(possible) goal_weights += initial(picked.weight) station_goals += new picked - - if(station_goals.len) + + if(station_goals.len) send_station_goals_message() - + /datum/game_mode/proc/send_station_goals_message() var/message_text = "
" message_text += "

[command_name()] Orders


" @@ -504,10 +546,34 @@ proc/get_nt_opposed() G.on_report() message_text += G.get_report() message_text += "
" - + print_command_report(message_text, "[command_name()] Orders") /datum/game_mode/proc/declare_station_goal_completion() for(var/V in station_goals) var/datum/station_goal/G = V - G.print_result() \ No newline at end of file + G.print_result() + + +/datum/game_mode/proc/inform_collab(mob/living/carbon/human/M) + if(!M) + return + //Mad-libs for their message + var/adjective = pick("strange", "mysterious", "sinister", "un-assuming", "unexpected") + var/action_words = pick("aid the fight against Nanotrasen", "repay a debt", "partake in some mischief", "help overthrow the system", "stick it to the man") + var/organization = pick("Anti-Fascist Movement", "Syndicate", "Spessmen for the Protesting of Nanotrasen", "Greytider's Union", "Illuminati (in space)") + //Stuff to give them a single set of code-words + var/list/possible_words = splittext(syndicate_code_phrase, ", ") + var/list/possible_reply = splittext(syndicate_code_response, ", ") + var/index = rand(1, possible_words.len) + var/my_word = possible_words[index] + var/my_reply + if(possible_reply.len < index) //just in case we had a longer code word list than the response list + my_reply = pick(possible_reply) + else + my_reply = possible_reply[index] + + to_chat(M, "You suddenly remember \an [adjective] note you received earlier informing you that a chance to [action_words] may present itself today. An agent of the [organization] may contact you for help.") + to_chat(M, "The note had the words \"[my_word]\" and \"[my_reply]\" written at the bottom, which you memorized just in case.") + to_chat(M, "You are NOT an antagonist, so self-antagging rules still apply to you. Use your good judgement and ahelp if you are unsure of what you are allowed to do.") + M.mind.store_memory("Important Words: \"[my_word]\", \"[my_reply]\"") diff --git a/code/game/gamemodes/heist/heist.dm b/code/game/gamemodes/heist/heist.dm index 4819ab20671..d36ac55a4c0 100644 --- a/code/game/gamemodes/heist/heist.dm +++ b/code/game/gamemodes/heist/heist.dm @@ -178,10 +178,10 @@ var/global/list/obj/cortical_stacks = list() //Stacks for 'leave nobody behind' /datum/game_mode/proc/greet_vox(var/datum/mind/raider) to_chat(raider.current, "You are a Vox Raider, fresh from the Shoal!") - to_chat(raider.current, "\blue The Vox are a race of cunning, sharp-eyed nomadic raiders and traders endemic to the frontier and much of the unexplored galaxy. You and the crew have come to the [station_name()] for plunder, trade or both.") - to_chat(raider.current, "\blue Vox are cowardly and will flee from larger groups, but corner one or find them en masse and they are vicious.") - to_chat(raider.current, "\blue Use :V to voxtalk, :H to talk on your encrypted channel, and don't forget to turn on your nitrogen internals!") - to_chat(raider.current, "\blue Choose to accomplish your objectives by either raiding the crew and taking what you need, or by attempting to trade with them.") + to_chat(raider.current, "The Vox are a race of cunning, sharp-eyed nomadic raiders and traders endemic to the frontier and much of the unexplored galaxy. You and the crew have come to the [station_name()] for plunder, trade or both.") + to_chat(raider.current, "Vox are cowardly and will flee from larger groups, but corner one or find them en masse and they are vicious.") + to_chat(raider.current, "Use :V to voxtalk, :H to talk on your encrypted channel, and don't forget to turn on your nitrogen internals!") + to_chat(raider.current, "Choose to accomplish your objectives by either raiding the crew and taking what you need, or by attempting to trade with them.") spawn(25) show_objectives(raider) @@ -235,7 +235,7 @@ var/global/list/obj/cortical_stacks = list() //Stacks for 'leave nobody behind' else win_msg += "The Vox Raiders were repelled!" - to_chat(world, "\red [win_type] [win_group] victory!") + to_chat(world, "[win_type] [win_group] victory!") to_chat(world, "[win_msg]") feedback_set_details("round_end_result","heist - [win_type] [win_group]") diff --git a/code/game/gamemodes/intercept_report.dm b/code/game/gamemodes/intercept_report.dm index cd6dd80876b..6cb2956d3ee 100644 --- a/code/game/gamemodes/intercept_report.dm +++ b/code/game/gamemodes/intercept_report.dm @@ -109,8 +109,16 @@ /datum/intercept_text/proc/get_suspect() var/list/dudes = list() - for(var/mob/living/carbon/human/man in player_list) if(man.client && man.client.prefs.nanotrasen_relation == "Opposed") - dudes += man + for(var/mob/living/carbon/human/man in player_list) + if(man.client && man.client.prefs.nanotrasen_relation == "Opposed") + //don't include suspects who can't possibly be the antag based on their job (no suspecting the captain of being a damned dirty tator) + if(man.mind && man.mind.assigned_role) + if((man.mind.assigned_role in ticker.mode.protected_jobs) || (man.mind.assigned_role in ticker.mode.restricted_jobs)) + return + //don't include suspects who can't possibly be the antag based on their species (no suspecting the machines of being sneaky changelings) + if(man.get_species() in ticker.mode.protected_species) + return + dudes += man for(var/i = 0, i < max(player_list.len/10,2), i++) dudes += pick(player_list) return pick(dudes) diff --git a/code/game/gamemodes/miniantags/abduction/abduction.dm b/code/game/gamemodes/miniantags/abduction/abduction.dm index 13a9e4ec814..0d04c3ee615 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction.dm @@ -252,7 +252,7 @@ V.flags |= NODROP agent.equip_to_slot_or_del(V, slot_wear_suit) agent.equip_to_slot_or_del(new /obj/item/weapon/abductor_baton(agent), slot_in_backpack) - agent.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/decloner/alien(agent), slot_in_backpack) + agent.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/alien(agent), slot_in_backpack) agent.equip_to_slot_or_del(new /obj/item/device/abductor/silencer(agent), slot_in_backpack) agent.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/abductor(agent), slot_head) agent.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/military/abductor/full(agent), slot_belt) @@ -376,9 +376,23 @@ explanation_text = "Steal all" /datum/objective/abductee/steal/New() - var/target = pick(list("pets","lights","monkeys","fruits","shoes","bars of soap")) + var/target = pick(list("pets","lights","monkeys","fruits","shoes","bars of soap", "weapons", "computers", "organs")) explanation_text+=" [target]." +/datum/objective/abductee/paint + explanation_text = "The station is hideous. You must color it all" + +/datum/objective/abductee/paint/New() + var/color = pick(list("red", "blue", "green", "yellow", "orange", "purple", "black", "in rainbows", "in blood")) + explanation_text+= " [color]!" + +/datum/objective/abductee/speech + explanation_text = "Your brain is broken... you can only communicate in" + +/datum/objective/abductee/speech/New() + var/style = pick(list("pantomime", "rhyme", "haiku", "extended metaphors", "riddles", "extremely literal terms", "sound effects", "military jargon")) + explanation_text+= " [style]." + /datum/objective/abductee/capture explanation_text = "Capture" @@ -418,16 +432,16 @@ explanation_text = "Start a collection of corpses. Don't kill people to get these corpses." /datum/objective/abductee/floors - explanation_text = "Replace all the floor tiles with carpeting, wooden boards, or grass." + explanation_text = "Replace all the floor tiles with wood, carpeting, grass or bling." /datum/objective/abductee/POWERUNLIMITED explanation_text = "Flood the station's powernet with as much electricity as you can." /datum/objective/abductee/pristine - explanation_text = "Ensure the station is in absolutely pristine condition." + explanation_text = "The CEO of Nanotrasen is coming! Ensure the station is in absolutely pristine condition." -/datum/objective/abductee/window - explanation_text = "Replace all normal windows with reinforced windows." +/datum/objective/abductee/nowalls + explanation_text = "The crew must get to know one another better. Break down the walls inside the station!" /datum/objective/abductee/nations explanation_text = "Ensure your department prospers over all else." @@ -435,17 +449,11 @@ /datum/objective/abductee/abductception explanation_text = "You have been changed forever. Find the ones that did this to you and give them a taste of their own medicine." -/datum/objective/abductee/ghosts - explanation_text = "Conduct a seance with the spirits of the afterlife." - /datum/objective/abductee/summon - explanation_text = "Conduct a ritual to summon an elder god." + explanation_text = "The elder gods hunger. Gather a cult and conduct a ritual to summon one." /datum/objective/abductee/machine - explanation_text = "You are secretly an android. Interface with as many machines as you can to boost your own power." - -/datum/objective/abductee/prevent - explanation_text = "You have been enlightened. This knowledge must not escape. Ensure nobody else can become enlightened." + explanation_text = "You are secretly an android. Interface with as many machines as you can to boost your own power so the AI may acknowledge you at last." /datum/objective/abductee/calling explanation_text = "Call forth a spirit from the other side." @@ -453,7 +461,7 @@ /datum/objective/abductee/calling/New() var/mob/dead/D = pick(dead_mob_list) if(D) - explanation_text = "You know that [D] has perished. Call them from the spirit realm." + explanation_text = "You know that [D] has perished. Hold a seance to call them from the spirit realm." /datum/objective/abductee/social_experiment explanation_text = "This is a secret social experiment conducted by Nanotrasen. Convince the crew that this is the truth." @@ -465,7 +473,7 @@ explanation_text = "Nanotrasen is abusing the animals! Save as many as you can!" /datum/objective/abductee/defect - explanation_text = "Defect from your employer." + explanation_text = "Fuck the system! Defect from the station and start an independent colony in space, Mining Outpost or the derelict. Recruit crewmates if you can." /datum/objective/abductee/promote explanation_text = "Climb the corporate ladder all the way to the top!" @@ -478,3 +486,33 @@ /datum/objective/abductee/pragnant explanation_text = "You are pregnant and soon due. Find a safe place to deliver your baby." + +/datum/objective/abductee/engine + explanation_text = "Go have a good conversation with the singularity/tesla/supermatter crystal. Bonus points if it responds." + +/datum/objective/abductee/music + explanation_text = "You burn with passion for music. Share your vision. If anyone hates it, beat them on the head with your instrument!" + +/datum/objective/abductee/clown + explanation_text = "The clown is not funny. You can do better! Steal his audience and make the crew laugh!" + +/datum/objective/abductee/party + explanation_text = "You're throwing a huge rager. Make it as awesome as possible so the whole crew comes... OR ELSE!" + +/datum/objective/abductee/pets + explanation_text = "All the pets around here suck. You need to make them cooler. Replace them with exotic beasts!" + +/datum/objective/abductee/conspiracy + explanation_text = "The leaders of this station are hiding a grand, evil conspiracy. Only you can learn what it is, and expose it to the people!" + +/datum/objective/abductee/stalker + explanation_text = "The Syndicate has hired you to compile dossiers on all important members of the crew. Be sure they don't know you're doing it." + +/datum/objective/abductee/narrator + explanation_text = "You're the narrator of this tale. Follow around the protagonists to tell their story." + +/datum/objective/abductee/lurve + explanation_text = "You are doomed to feel woefully incomplete forever... until you find your true love on this station. They're waiting for you!" + +/datum/objective/abductee/sixthsense + explanation_text = "You died back there and went to heaven... or is it hell? No one here seems to know they're dead. Convince them, and maybe you can escape this limbo." \ No newline at end of file diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index 8f026650b7c..2a72c4a9b9b 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -11,7 +11,7 @@ icon_state = "vest_stealth" item_state = "armor" blood_overlay_type = "armor" - origin_tech = "materials=5;biotech=4;powerstorage=5;abductor=3" + origin_tech = "magnets=7;biotech=4;powerstorage=4;abductor=4" armor = list(melee = 15, bullet = 15, laser = 15, energy = 15, bomb = 15, bio = 15, rad = 15) actions_types = list(/datum/action/item_action/hands_free/activate) var/mode = VEST_STEALTH @@ -34,7 +34,6 @@ mode = VEST_STEALTH armor = stealth_armor icon_state = "vest_stealth" - if(ishuman(loc)) var/mob/living/carbon/human/H = loc H.update_inv_wear_suit() @@ -64,7 +63,6 @@ M.overlays = disguise.overlays M.update_inv_r_hand() M.update_inv_l_hand() - return /obj/item/clothing/suit/armor/abductor/vest/proc/DeactivateStealth() if(!stealth_active) @@ -77,7 +75,6 @@ M.name_override = null M.overlays.Cut() M.regenerate_icons() - return /obj/item/clothing/suit/armor/abductor/vest/hit_reaction() DeactivateStealth() @@ -115,19 +112,11 @@ if(combat_cooldown==initial(combat_cooldown)) processing_objects.Remove(src) -/obj/item/device/abductor/proc/IsAbductor(user) - if(ishuman(user)) - var/mob/living/carbon/human/H = user - if(H.get_species() != "Abductor") - return 0 - return 1 - return 0 - /obj/item/device/abductor/proc/AbductorCheck(user) - if(IsAbductor(user)) - return 1 + if(isabductor(user)) + return TRUE to_chat(user, "You can't figure how this works!") - return 0 + return FALSE /obj/item/device/abductor/proc/ScientistCheck(user) var/mob/living/carbon/human/H = user @@ -140,7 +129,7 @@ icon = 'icons/obj/abductor.dmi' icon_state = "gizmo_scan" item_state = "gizmo" - origin_tech = "materials=5;magnets=5;bluespace=6;abductor=4" + origin_tech = "engineering=7;magnets=4;bluespace=4;abductor=3" var/mode = GIZMO_SCAN var/mob/living/marked = null var/obj/machinery/abductor/console/console @@ -187,7 +176,7 @@ mark(target, user) /obj/item/device/abductor/gizmo/proc/scan(atom/target, mob/living/user) - if(istype(target,/mob/living/carbon/human)) + if(ishuman(target)) if(console!=null) console.AddSnapshot(target) to_chat(user, "You scan [target] and add them to the database.") @@ -196,8 +185,8 @@ if(marked == target) to_chat(user, "This specimen is already marked!") return - if(istype(target,/mob/living/carbon/human)) - if(IsAbductor(target)) + if(ishuman(target)) + if(isabductor(target)) marked = target to_chat(user, "You mark [target] for future retrieval.") else @@ -221,7 +210,7 @@ icon = 'icons/obj/abductor.dmi' icon_state = "silencer" item_state = "silencer" - origin_tech = "materials=5;magnets=5;abductor=3" + origin_tech = "materials=4;programming=7;abductor=3" /obj/item/device/abductor/silencer/attack(mob/living/M, mob/user) if(!AbductorCheck(user)) @@ -258,61 +247,15 @@ if(!istype(I,/obj/item/device/radio/headset)) r.broadcasting = 0 //goddamned headset hacks - -/obj/item/weapon/implant/abductor - name = "recall implant" - desc = "Returns you to the mothership." - icon = 'icons/obj/abductor.dmi' - icon_state = "implant" - activated = 1 - origin_tech = "materials=2;biotech=3;magnets=4;bluespace=5;abductor=5" - var/obj/machinery/abductor/pad/home - var/cooldown = 30 - -/obj/item/weapon/implant/abductor/activate() - if(cooldown == initial(cooldown)) - home.Retrieve(imp_in,1) - cooldown = 0 - processing_objects.Add(src) - else - to_chat(imp_in, "You must wait [30 - cooldown] seconds to use [src] again!") - return - -/obj/item/weapon/implant/abductor/process() - if(cooldown < initial(cooldown)) - cooldown++ - if(cooldown == initial(cooldown)) - processing_objects.Remove(src) - -/obj/item/weapon/implant/abductor/implant(var/mob/source, var/mob/user) - if(..()) - var/obj/machinery/abductor/console/console - if(ishuman(source)) - var/mob/living/carbon/human/H = source - if(H.get_species() == "Abductor") - console = get_team_console(H.mind.abductor.team) - home = console.pad - - if(!home) - console = get_team_console(pick(1, 2, 3, 4)) - home = console.pad - return 1 - -/obj/item/weapon/implant/abductor/proc/get_team_console(var/team) - var/obj/machinery/abductor/console/console - for(var/obj/machinery/abductor/console/c in abductor_equipment) - if(c.team == team) - console = c - break - return console - -/obj/item/weapon/gun/energy/decloner/alien +/obj/item/weapon/gun/energy/alien name = "alien pistol" desc = "A complicated gun that fires bursts of high-intensity radiation." + ammo_type = list(/obj/item/ammo_casing/energy/declone) + restricted_species = list("Abductor") icon_state = "alienpistol" item_state = "alienpistol" - origin_tech = "combat=5;materials=4;powerstorage=3;abductor=3" - restricted_species = list("Abductor") + origin_tech = "combat=4;magnets=7;powerstorage=3;abductor=3" + trigger_guard = TRIGGER_GUARD_ALLOW_ALL /obj/item/weapon/paper/abductor name = "Dissection Guide" @@ -321,25 +264,29 @@
1.Acquire fresh specimen.
- 2.Put the specimen on operating table
- 3.Apply scalpel to the chest, preparing for dissection
- 4.Apply scalpel to specimen torso
- 5.Clamp bleeders on the specimen's torso
- 6.Retract skin from specimen's torso
- 7.Saw through the specimen's torso
- 8.Retract skin from specimen's torso again
- 9.Search through the specimen's torso with your hands to remove their heart
- 10.Insert replacement gland (Retrieve one from gland storage)
- 11.Cauterize the patient's torso
- 12.Consider dressing the specimen back to not disturb the habitat
- 13.Put the specimen in the experiment machinery
- 14.Choose one of the machine options and follow displayed instructions
+ 2.Put the specimen on operating table.
+ 3.Apply scalpel to the chest, preparing for experimental dissection.
+ 4.Apply scalpel to specimen's torso.
+ 5.Clamp bleeders on specimen's torso with a hemostat.
+ 6.Retract skin of specimen's torso with a retractor.
+ 7.Saw through the specimen's torso with a saw.
+ 8.Apply retractor again to specimen's torso.
+ 9.Search through the specimen's torso with your hands to remove any superfluous organs.
+ 10.Insert replacement gland (Retrieve one from gland storage).
+ 11.Cauterize the patient's torso with a cautery.
+ 12.Consider dressing the specimen back to not disturb the habitat.
+ 13.Put the specimen in the experiment machinery.
+ 14.Choose one of the machine options. The target will be analyzed and teleported to the selected drop-off point.
+ 15.You will receive one supply credit, and the subject will be counted towards your quota.

-Congratulations! You are now trained for xenobiology research!"} +Congratulations! You are now trained for invasive xenobiology research!"} /obj/item/weapon/paper/abductor/update_icon() return +/obj/item/weapon/paper/abductor/AltClick() + return + #define BATON_STUN 0 #define BATON_SLEEP 1 #define BATON_CUFF 2 @@ -354,9 +301,9 @@ Congratulations! You are now trained for xenobiology research!"} icon_state = "wonderprodStun" item_state = "wonderprod" slot_flags = SLOT_BELT - origin_tech = "materials=6;combat=5;biotech=7;abductor=4" + origin_tech = "materials=4;combat=4;biotech=7;abductor=4" force = 7 - w_class = 3 + w_class = WEIGHT_CLASS_NORMAL actions_types = list(/datum/action/item_action/toggle_mode) /obj/item/weapon/abductor_baton/proc/toggle(mob/living/user=usr) @@ -393,16 +340,8 @@ Congratulations! You are now trained for xenobiology research!"} icon_state = "wonderprodProbe" item_state = "wonderprodProbe" -/obj/item/weapon/abductor_baton/proc/IsAbductor(mob/living/user) - if(!ishuman(user)) - return 0 - var/mob/living/carbon/human/H = user - if(H.get_species() != "Abductor") - return 0 - return 1 - /obj/item/weapon/abductor_baton/attack(mob/target, mob/living/user) - if(!IsAbductor(user)) + if(!isabductor(user)) return if(isrobot(target)) @@ -434,7 +373,7 @@ Congratulations! You are now trained for xenobiology research!"} /obj/item/weapon/abductor_baton/attack_self(mob/living/user) toggle(user) - if(istype(user,/mob/living/carbon/human)) + if(ishuman(user)) var/mob/living/carbon/human/H = user H.update_inv_l_hand() H.update_inv_r_hand() @@ -456,10 +395,9 @@ Congratulations! You are now trained for xenobiology research!"} H.forcesay(hit_appends) add_logs(user, L, "stunned") - return /obj/item/weapon/abductor_baton/proc/SleepAttack(mob/living/L,mob/living/user) - if(L.stunned) + if(L.stunned || L.sleeping) L.visible_message("[user] has induced sleep in [L] with [src]!", \ "You suddenly feel very drowsy!") playsound(loc, 'sound/weapons/Egloves.ogg', 50, 1, -1) @@ -470,7 +408,6 @@ Congratulations! You are now trained for xenobiology research!"} to_chat(user, "Sleep inducement works fully only on stunned specimens! ") L.visible_message("[user] tried to induce sleep in [L] with [src]!", \ "You suddenly feel drowsy!") - return /obj/item/weapon/abductor_baton/proc/CuffAttack(mob/living/L,mob/living/user) if(!iscarbon(L)) @@ -488,7 +425,6 @@ Congratulations! You are now trained for xenobiology research!"} add_logs(user, C, "handcuffed") else to_chat(user, "You fail to handcuff [C].") - return /obj/item/weapon/abductor_baton/proc/ProbeAttack(mob/living/L,mob/living/user) L.visible_message("[user] probes [L] with [src]!", \ @@ -502,7 +438,7 @@ Congratulations! You are now trained for xenobiology research!"} species = "[H.species.name]" if(L.mind && L.mind.changeling) species = "Changeling lifeform" - var/obj/item/organ/internal/gland/temp = locate() in H.internal_organs + var/obj/item/organ/internal/heart/gland/temp = locate() in H.internal_organs if(temp) helptext = "Experimental gland detected!" else @@ -517,7 +453,7 @@ Congratulations! You are now trained for xenobiology research!"} icon_state = "cuff_white" // Needs sprite breakouttime = 450 trashtype = /obj/item/weapon/restraints/handcuffs/energy/used - origin_tech = "materials=2;magnets=5;abductor=2" + origin_tech = "materials=4;magnets=5;abductor=2" /obj/item/weapon/restraints/handcuffs/energy/used desc = "energy discharge" @@ -545,36 +481,42 @@ Congratulations! You are now trained for xenobiology research!"} /obj/item/weapon/scalpel/alien name = "alien scalpel" + desc = "It's a gleaming sharp knife made out of silvery-green metal." icon = 'icons/obj/abductor.dmi' origin_tech = "materials=2;biotech=2;abductor=2" toolspeed = 0.25 /obj/item/weapon/hemostat/alien name = "alien hemostat" + desc = "You've never seen this before." icon = 'icons/obj/abductor.dmi' origin_tech = "materials=2;biotech=2;abductor=2" toolspeed = 0.25 /obj/item/weapon/retractor/alien name = "alien retractor" + desc = "You're not sure if you want the veil pulled back." icon = 'icons/obj/abductor.dmi' origin_tech = "materials=2;biotech=2;abductor=2" toolspeed = 0.25 /obj/item/weapon/circular_saw/alien name = "alien saw" + desc = "Do the aliens also lose this, and need to find an alien hatchet?" icon = 'icons/obj/abductor.dmi' origin_tech = "materials=2;biotech=2;abductor=2" toolspeed = 0.25 /obj/item/weapon/surgicaldrill/alien name = "alien drill" + desc = "Maybe alien surgeons have finally found a use for the drill." icon = 'icons/obj/abductor.dmi' origin_tech = "materials=2;biotech=2;abductor=2" toolspeed = 0.25 /obj/item/weapon/cautery/alien name = "alien cautery" + desc = "Why would bloodless aliens have a tool to stop bleeding? Unless..." icon = 'icons/obj/abductor.dmi' origin_tech = "materials=2;biotech=2;abductor=2" toolspeed = 0.25 @@ -585,17 +527,12 @@ Congratulations! You are now trained for xenobiology research!"} icon_state = "alienhelmet" item_state = "alienhelmet" blockTracking = 1 - origin_tech = "materials=6;magnets=5;abductor=3" + origin_tech = "materials=7;magnets=4;abductor=3" flags = BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE // Operating Table / Beds / Lockers -/obj/machinery/optable/abductor - icon = 'icons/obj/abductor.dmi' - icon_state = "bed" - no_icon_updates = 1 //no icon updates for this; it's static. - /obj/structure/stool/bed/abductor name = "resting contraption" desc = "This looks similar to contraptions from earth. Could aliens be stealing our technology?" @@ -628,6 +565,16 @@ Congratulations! You are now trained for xenobiology research!"} new /obj/structure/table/abductor(src.loc) qdel(src) return + if(istype(I, /obj/item/stack/sheet/mineral/silver)) + var/obj/item/stack/sheet/P = I + if(P.get_amount() < 1) + to_chat(user, "You need one sheet of silver to do this!") + return + to_chat(user, "You start adding [P] to [src]...") + if(do_after(user, 50, target = src)) + P.use(1) + new /obj/machinery/optable/abductor(loc) + qdel(src) /obj/structure/table/abductor name = "alien table" @@ -637,10 +584,15 @@ Congratulations! You are now trained for xenobiology research!"} canSmoothWith = null parts = /obj/item/stack/sheet/mineral/abductor +/obj/machinery/optable/abductor + icon = 'icons/obj/abductor.dmi' + icon_state = "bed" + no_icon_updates = 1 //no icon updates for this; it's static. + /obj/structure/closet/abductor name = "alien locker" desc = "Contains secrets of the universe." icon_state = "abductor" icon_closed = "abductor" icon_opened = "abductoropen" - material_drop = /obj/item/stack/sheet/mineral/abductor + material_drop = /obj/item/stack/sheet/mineral/abductor \ No newline at end of file diff --git a/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm b/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm index 6021140b79f..18d073d6077 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm @@ -15,9 +15,9 @@ return 0 var/mob/living/carbon/human/H = user // You must either: Be of the abductor species, or contain an abductor implant - if(!(H.get_species() == "Abductor" || (locate(/obj/item/weapon/implant/abductor) in H))) - return 0 - return 1 + if((H.get_species() == "Abductor" || (locate(/obj/item/weapon/implant/abductor) in H))) + return 1 + return 0 /datum/surgery_step/internal/extract_organ @@ -47,11 +47,11 @@ return 1 else to_chat(user, "You don't find anything in [target]'s [target_zone]!") - return 0 + return 1 /datum/surgery_step/internal/gland_insert name = "insert gland" - allowed_tools = list(/obj/item/organ/internal/gland = 100) + allowed_tools = list(/obj/item/organ/internal/heart/gland = 100) time = 32 /datum/surgery_step/internal/gland_insert/begin_step(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -61,6 +61,6 @@ /datum/surgery_step/internal/gland_insert/end_step(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) user.visible_message("[user] inserts [tool] into [target].", "You insert [tool] into [target].") user.drop_item() - var/obj/item/organ/internal/gland/gland = tool + var/obj/item/organ/internal/heart/gland/gland = tool gland.insert(target, 2) return 1 diff --git a/code/game/gamemodes/miniantags/abduction/gland.dm b/code/game/gamemodes/miniantags/abduction/gland.dm index d3e60b2fb98..1c481e7c333 100644 --- a/code/game/gamemodes/miniantags/abduction/gland.dm +++ b/code/game/gamemodes/miniantags/abduction/gland.dm @@ -1,12 +1,11 @@ -/obj/item/organ/internal/gland +/obj/item/organ/internal/heart/gland name = "fleshy mass" desc = "A nausea-inducing hunk of twisting flesh and metal." icon = 'icons/obj/abductor.dmi' - parent_organ = "chest" - slot = "gland" icon_state = "gland" status = ORGAN_ROBOT - origin_tech = "materials=4;biotech=5;abductor=3" + origin_tech = "materials=4;biotech=7;abductor=3" + beating = TRUE var/cooldown_low = 300 var/cooldown_high = 300 var/next_activation = 0 @@ -16,30 +15,33 @@ tough = 1 //not easily broken by combat damage sterile = 1 //not very germy -/obj/item/organ/internal/gland/proc/ownerCheck() +/obj/item/organ/internal/heart/gland/proc/ownerCheck() if(ishuman(owner)) return 1 if(!human_only && iscarbon(owner)) return 1 return 0 -/obj/item/organ/internal/gland/proc/Start() +/obj/item/organ/internal/heart/gland/proc/Start() active = 1 next_activation = world.time + rand(cooldown_low,cooldown_high) -/obj/item/organ/internal/gland/remove(var/mob/living/carbon/M, special = 0) +/obj/item/organ/internal/heart/gland/remove(var/mob/living/carbon/M, special = 0) active = 0 if(initial(uses) == 1) uses = initial(uses) - ..() + . = ..() -/obj/item/organ/internal/gland/insert(var/mob/living/carbon/M, special = 0) +/obj/item/organ/internal/heart/gland/insert(var/mob/living/carbon/M, special = 0) ..() if(special != 2 && uses) // Special 2 means abductor surgery Start() -/obj/item/organ/internal/gland/on_life() +/obj/item/organ/internal/heart/gland/on_life() + if(!beating) + // alien glands are immune to stopping. + beating = TRUE if(!active) return if(!ownerCheck()) @@ -52,30 +54,28 @@ if(!uses) active = 0 -/obj/item/organ/internal/gland/proc/activate() +/obj/item/organ/internal/heart/gland/proc/activate() return -/obj/item/organ/internal/gland/heals - origin_tech = "materials=4;biotech=6;abductor=3" +/obj/item/organ/internal/heart/gland/heals cooldown_low = 200 cooldown_high = 400 uses = -1 icon_state = "health" -/obj/item/organ/internal/gland/heals/activate() +/obj/item/organ/internal/heart/gland/heals/activate() to_chat(owner, "You feel curiously revitalized.") owner.adjustBruteLoss(-20) owner.adjustOxyLoss(-20) owner.adjustFireLoss(-20) -/obj/item/organ/internal/gland/slime - origin_tech = "materials=4;biotech=6;abductor=3" +/obj/item/organ/internal/heart/gland/slime cooldown_low = 600 cooldown_high = 1200 uses = -1 icon_state = "slime" -/obj/item/organ/internal/gland/slime/activate() +/obj/item/organ/internal/heart/gland/slime/activate() to_chat(owner, "You feel nauseous!") owner.vomit(20) @@ -83,14 +83,14 @@ Slime.Friends = list(owner) Slime.Leader = owner -/obj/item/organ/internal/gland/mindshock - origin_tech = "materials=4;biotech=5;magnets=3;abductor=3" +/obj/item/organ/internal/heart/gland/mindshock + origin_tech = "materials=4;biotech=4;magnets=6;abductor=3" cooldown_low = 300 cooldown_high = 300 uses = -1 icon_state = "mindshock" -/obj/item/organ/internal/gland/mindshock/activate() +/obj/item/organ/internal/heart/gland/mindshock/activate() to_chat(owner, "You get a headache.") var/turf/T = get_turf(owner) @@ -100,40 +100,37 @@ to_chat(H, "You hear a buzz in your head.") H.AdjustConfused(20) -/obj/item/organ/internal/gland/pop - origin_tech = "materials=4;biotech=6;abductor=3" +/obj/item/organ/internal/heart/gland/pop cooldown_low = 900 cooldown_high = 1800 - uses = 6 + uses = -1 human_only = 1 icon_state = "species" -/obj/item/organ/internal/gland/pop/activate() +/obj/item/organ/internal/heart/gland/pop/activate() to_chat(owner, "You feel unlike yourself.") var/species = pick("Unathi","Skrell","Diona","Tajaran","Vulpkanin","Kidan","Grey","Diona") owner.set_species(species) -/obj/item/organ/internal/gland/ventcrawling +/obj/item/organ/internal/heart/gland/ventcrawling origin_tech = "materials=4;biotech=5;bluespace=3;abductor=3" cooldown_low = 1800 cooldown_high = 2400 uses = 1 icon_state = "vent" -/obj/item/organ/internal/gland/ventcrawling/activate() +/obj/item/organ/internal/heart/gland/ventcrawling/activate() to_chat(owner, "You feel very stretchy.") owner.ventcrawler = 2 - return -/obj/item/organ/internal/gland/viral - origin_tech = "materials=4;biotech=6;abductor=3" +/obj/item/organ/internal/heart/gland/viral cooldown_low = 1800 cooldown_high = 2400 uses = 1 icon_state = "viral" -/obj/item/organ/internal/gland/viral/activate() +/obj/item/organ/internal/heart/gland/viral/activate() to_chat(owner, "You feel sick.") var/virus_type = pick(/datum/disease/beesease, /datum/disease/brainrot, /datum/disease/magnitis) var/datum/disease/D = new virus_type() @@ -144,51 +141,49 @@ owner.med_hud_set_status() -/obj/item/organ/internal/gland/emp //TODO : Replace with something more interesting - origin_tech = "materials=4;biotech=5;magnets=3;abductor=3" +/obj/item/organ/internal/heart/gland/emp //TODO : Replace with something more interesting + origin_tech = "materials=4;biotech=4;magnets=6;abductor=3" cooldown_low = 900 cooldown_high = 1600 uses = 10 icon_state = "emp" -/obj/item/organ/internal/gland/emp/activate() +/obj/item/organ/internal/heart/gland/emp/activate() to_chat(owner, "You feel a spike of pain in your head.") empulse(get_turf(owner), 2, 5, 1) -/obj/item/organ/internal/gland/spiderman - origin_tech = "materials=4;biotech=6;abductor=3" +/obj/item/organ/internal/heart/gland/spiderman cooldown_low = 450 cooldown_high = 900 uses = 10 icon_state = "spider" -/obj/item/organ/internal/gland/spiderman/activate() +/obj/item/organ/internal/heart/gland/spiderman/activate() to_chat(owner, "You feel something crawling in your skin.") owner.faction |= "spiders" new /obj/structure/spider/spiderling(owner.loc) -/obj/item/organ/internal/gland/egg - origin_tech = "materials=4;biotech=6;abductor=3" +/obj/item/organ/internal/heart/gland/egg cooldown_low = 300 cooldown_high = 400 uses = -1 icon_state = "egg" -/obj/item/organ/internal/gland/egg/activate() +/obj/item/organ/internal/heart/gland/egg/activate() to_chat(owner, "You lay an egg!") var/obj/item/weapon/reagent_containers/food/snacks/egg/egg = new(owner.loc) egg.reagents.add_reagent("sacid",20) egg.desc += " It smells bad." -/obj/item/organ/internal/gland/bloody - origin_tech = "materials=4;biotech=6;abductor=3" +/obj/item/organ/internal/heart/gland/bloody cooldown_low = 200 cooldown_high = 400 uses = -1 -/obj/item/organ/internal/gland/bloody/activate() - owner.adjustBruteLoss(15) - +/obj/item/organ/internal/heart/gland/bloody/activate() + if(ishuman(owner)) + var/mob/living/carbon/human/H = owner + H.drip(200) owner.visible_message("[owner]'s skin erupts with blood!",\ "Blood pours from your skin!") @@ -202,22 +197,22 @@ H.w_uniform.add_blood(owner) H.update_inv_w_uniform(0) -/obj/item/organ/internal/gland/bodysnatch - origin_tech = "materials=4;biotech=7;abductor=3" +/obj/item/organ/internal/heart/gland/bodysnatch cooldown_low = 600 cooldown_high = 600 human_only = 1 uses = 1 -/obj/item/organ/internal/gland/bodysnatch/activate() +/obj/item/organ/internal/heart/gland/bodysnatch/activate() to_chat(owner, "You feel something moving around inside you...") //spawn cocoon with clone greytide snpc inside if(ishuman(owner)) var/obj/effect/cocoon/abductor/C = new (get_turf(owner)) C.Copy(owner) C.Start() - owner.gib() - return + owner.adjustBruteLoss(40) + var/turf/T = get_turf(owner) + T.add_blood_floor(src) /obj/effect/cocoon/abductor name = "slimy cocoon" @@ -232,11 +227,18 @@ var/mob/living/carbon/human/interactive/greytide/clone = new(src) var/datum/dna/owner_dna = H.dna clone.rename_character(clone.name, owner_dna.real_name) - clone.body_accessory = H.body_accessory clone.dna = owner_dna.Clone() clone.set_species(H.species.name) + clone.body_accessory = H.body_accessory domutcheck(clone) + for(var/obj/item/I in clone) + if(istype(I, /obj/item/weapon/implant)) + continue + if(istype(I, /obj/item/organ)) + continue + qdel(I) + //There's no define for this / get all items ? var/list/slots = list(slot_back,slot_w_uniform,slot_wear_suit,\ slot_wear_mask,slot_head,slot_shoes,slot_gloves,slot_l_ear,slot_r_ear,\ @@ -245,7 +247,7 @@ for(var/slot in slots) var/obj/item/I = H.get_item_by_slot(slot) if(I) - clone.equip_to_slot_if_possible(I,slot) + clone.equip_to_slot_or_del(new I.type(clone), slot) /obj/effect/cocoon/abductor/proc/Start() hatch_time = world.time + 600 @@ -259,22 +261,25 @@ M.forceMove(get_turf(src)) qdel(src) -/obj/item/organ/internal/gland/plasma - cooldown_low = 2400 - cooldown_high = 3000 - origin_tech = "materials=4;biotech=5;plasmatech=3;abductor=3" - uses = 1 -/obj/item/organ/internal/gland/plasma/activate() - to_chat(owner, "You feel bloated.") - sleep(150) - if(!owner) return - to_chat(owner, "A massive stomachache overcomes you.") - sleep(50) - if(!owner) return - owner.visible_message("[owner] explodes in a cloud of plasma!") - var/turf/simulated/T = get_turf(owner) - if(istype(T)) - T.atmos_spawn_air(SPAWN_TOXINS|SPAWN_20C,300) - owner.gib() - return +/obj/item/organ/internal/heart/gland/plasma + cooldown_low = 1200 + cooldown_high = 1800 + origin_tech = "materials=4;biotech=4;plasmatech=6;abductor=3" + uses = -1 + +/obj/item/organ/internal/heart/gland/plasma/activate() + spawn(0) + to_chat(owner, "You feel bloated.") + sleep(150) + if(!owner) + return + to_chat(owner, "A massive stomachache overcomes you.") + sleep(50) + if(!owner) + return + owner.visible_message("[owner] vomits a cloud of plasma!") + var/turf/simulated/T = get_turf(owner) + if(istype(T)) + T.atmos_spawn_air(SPAWN_TOXINS|SPAWN_20C,50) + owner.vomit() diff --git a/code/game/gamemodes/miniantags/abduction/machinery/camera.dm b/code/game/gamemodes/miniantags/abduction/machinery/camera.dm index 24b02aea489..219ae4b6e54 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/camera.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/camera.dm @@ -49,15 +49,12 @@ set_droppoint_action.target = console set_droppoint_action.Grant(user) -/obj/machinery/computer/camera_advanced/abductor/proc/IsAbductor(mob/living/carbon/human/H) - return H.get_species() == "Abductor" - /obj/machinery/computer/camera_advanced/abductor/proc/IsScientist(mob/living/carbon/human/H) if(H.mind && H.mind.abductor) return H.mind.abductor.scientist /obj/machinery/computer/camera_advanced/abductor/attack_hand(mob/user) - if(!iscarbon(user) || !IsAbductor(user)) + if(!isabductor(user)) return return ..() diff --git a/code/game/gamemodes/miniantags/abduction/machinery/console.dm b/code/game/gamemodes/miniantags/abduction/machinery/console.dm index 3922b80a9e5..3a93f8abc75 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/console.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/console.dm @@ -11,21 +11,6 @@ abductor_equipment.Remove(src) return ..() -/obj/machinery/abductor/proc/IsAbductor(mob/living/carbon/human/H) - return H.get_species() == "Abductor" - -/obj/machinery/abductor/proc/IsAgent(mob/living/carbon/human/H) - if(H.get_species() == "Abductor") - if(H.mind && H.mind.abductor) - return H.mind.abductor.agent - return 0 - -/obj/machinery/abductor/proc/IsScientist(mob/living/carbon/human/H) - if(H.get_species() == "Abductor") - if(H.mind && H.mind.abductor) - return H.mind.abductor.scientist - return 0 - //Console /obj/machinery/abductor/console @@ -33,8 +18,8 @@ desc = "Ship command center." icon = 'icons/obj/abductor.dmi' icon_state = "console" - density = 1 - anchored = 1 + density = TRUE + anchored = TRUE var/obj/item/device/abductor/gizmo/gizmo var/obj/item/clothing/suit/armor/abductor/vest/vest var/obj/machinery/abductor/experiment/experiment @@ -49,7 +34,7 @@ /obj/machinery/abductor/console/attack_hand(mob/user) if(..()) return - if(!IsAbductor(user)) + if(!isabductor(user)) to_chat(user, "You start mashing alien buttons at random!") if(do_after(user, 100, target = src)) TeleporterSend() @@ -60,10 +45,13 @@ if(experiment != null) var/points = experiment.points + var/credits = experiment.credits dat += "Collected Samples : [points]
" + dat += "Gear Credits: [credits]
" dat += "Transfer data in exchange for supplies:
" dat += "Advanced Baton
" dat += "Agent Helmet
" + dat += "Agent Vest
" dat += "Radio Silencer
" dat += "Science Tool
" else @@ -92,13 +80,13 @@ dat+="
" dat += "Select Agent Vest Disguise
" + dat += "[vest.flags & NODROP ? "Unlock" : "Lock"] Vest
" else dat += "NO AGENT VEST DETECTED" var/datum/browser/popup = new(user, "computer", "Abductor Console", 400, 500) popup.set_content(dat) popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) popup.open() - return /obj/machinery/abductor/console/Topic(href, href_list) if(..()) @@ -111,6 +99,8 @@ TeleporterRetrieve() else if(href_list["flip_vest"]) FlipVest() + else if(href_list["toggle_vest"]) + toggle_vest() else if(href_list["select_disguise"]) SelectDisguise() else if(href_list["dispense"]) @@ -123,37 +113,28 @@ Dispense(/obj/item/device/abductor/silencer) if("tool") Dispense(/obj/item/device/abductor/gizmo) - src.updateUsrDialog() + if("vest") + Dispense(/obj/item/clothing/suit/armor/abductor/vest) + updateUsrDialog() /obj/machinery/abductor/console/proc/TeleporterRetrieve() if(gizmo!=null && pad!=null && gizmo.marked) pad.Retrieve(gizmo.marked) - return /obj/machinery/abductor/console/proc/TeleporterSend() if(pad!=null) pad.Send() - return /obj/machinery/abductor/console/proc/FlipVest() if(vest!=null) vest.flip_mode() - return -/obj/machinery/abductor/console/proc/SelectDisguise(remote=0) - var/list/entries = list() - var/tempname - var/datum/icon_snapshot/temp - for(var/i = 1; i <= disguises.len; i++) - temp = disguises[i] - tempname = temp.name - entries["[tempname]"] = disguises[i] - var/entry_name = input( "Choose Disguise", "Disguise") in entries - var/datum/icon_snapshot/chosen = entries[entry_name] +/obj/machinery/abductor/console/proc/SelectDisguise(remote = 0) + var/entry_name = input( "Choose Disguise", "Disguise") as null|anything in disguises + var/datum/icon_snapshot/chosen = disguises[entry_name] if(chosen && (remote || in_range(usr,src))) vest.SetDisguise(chosen) - return /obj/machinery/abductor/console/proc/SetDroppoint(turf/location,user) if(!istype(location)) @@ -188,13 +169,11 @@ entry.icon = target.icon entry.icon_state = target.icon_state entry.overlays = target.get_overlays_copy(list(L_HAND_LAYER,R_HAND_LAYER)) - for(var/i=1,i<=disguises.len,i++) - var/datum/icon_snapshot/temp = disguises[i] - if(temp.name == entry.name) - disguises[i] = entry - return - disguises.Add(entry) - return + //Update old disguise instead of adding new one + if(disguises[entry.name]) + disguises[entry.name] = entry + return + disguises[entry.name] = entry /obj/machinery/abductor/console/attackby(obj/O, mob/user, params) if(istype(O, /obj/item/device/abductor/gizmo)) @@ -205,13 +184,16 @@ else if(istype(O, /obj/item/clothing/suit/armor/abductor/vest)) var/obj/item/clothing/suit/armor/abductor/vest/V = O to_chat(user, "You link the vest to the console.") + if(istype(vest)) + if(vest.flags & NODROP) + toggle_vest() vest = V else ..() /obj/machinery/abductor/console/proc/Dispense(item,cost=1) - if(experiment && experiment.points >= cost) - experiment.points-=cost + if(experiment && experiment.credits >= cost) + experiment.credits -=cost atom_say("Incoming supply!") if(pad) flick("alien-pad", pad) @@ -220,4 +202,9 @@ new item(src.loc) else atom_say("Insufficent data!") - return + +/obj/machinery/abductor/console/proc/toggle_vest() + vest.flags ^= NODROP + var/mob/M = vest.loc + if(istype(M)) + to_chat(M, "[src] is now [vest.flags & NODROP ? "locked" : "unlocked"].") \ No newline at end of file diff --git a/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm b/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm index 4ead0232a2f..2b6103632f5 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm @@ -14,7 +14,8 @@ return rgb(rand(0,255),rand(0,255),rand(0,255)) /obj/machinery/abductor/gland_dispenser/New() - gland_types = subtypesof(/obj/item/organ/internal/gland) + ..() + gland_types = subtypesof(/obj/item/organ/internal/heart/gland) gland_types = shuffle(gland_types) gland_colors = new/list(gland_types.len) amounts = new/list(gland_types.len) @@ -25,7 +26,7 @@ /obj/machinery/abductor/gland_dispenser/attack_hand(mob/user) if(..()) return - if(!IsAbductor(user)) + if(!isabductor(user)) return user.set_machine(src) var/box_css = {" @@ -59,13 +60,15 @@ return /obj/machinery/abductor/gland_dispenser/attackby(obj/item/weapon/W, mob/user, params) - if(istype(W, /obj/item/organ/internal/gland)) + if(istype(W, /obj/item/organ/internal/heart/gland)) if(!user.drop_item()) return W.forceMove(src) for(var/i=1,i<=gland_colors.len,i++) if(gland_types[i] == W.type) amounts[i]++ + else + ..() /obj/machinery/abductor/gland_dispenser/Topic(href, href_list) if(..()) @@ -74,7 +77,7 @@ if(href_list["dispense"]) Dispense(text2num(href_list["dispense"])) - src.updateUsrDialog() + updateUsrDialog() /obj/machinery/abductor/gland_dispenser/proc/Dispense(count) if(amounts[count]>0) diff --git a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm index 755bd21e2e5..44b2a431c7b 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm @@ -6,6 +6,7 @@ anchored = 1 density = 1 var/points = 0 + var/credits = 0 var/list/history = list() var/list/abductee_minds = list() var/flash = " - || - " @@ -19,10 +20,10 @@ /obj/machinery/abductor/experiment/MouseDrop_T(mob/living/carbon/human/target, mob/user) if(user.stat || user.lying || !Adjacent(user) || !target.Adjacent(user) || !ishuman(target)) return - if(IsAbductor(target)) + if(isabductor(target)) return if(occupant) - to_chat(user, "\The [src] is already occupied.") + to_chat(user, "[src] is already occupied.") return //occupied if(target.buckled) return @@ -118,7 +119,7 @@ if(H.stat == DEAD) atom_say("Specimen deceased - please provide fresh sample.") return "Specimen deceased." - var/obj/item/organ/internal/gland/GlandTest = locate() in H.internal_organs + var/obj/item/organ/internal/heart/gland/GlandTest = locate() in H.internal_organs if(!GlandTest) atom_say("Experimental dissection not detected!") return "No glands detected!" @@ -147,7 +148,7 @@ obj_count++ ticker.mode.update_abductor_icons_added(H.mind) - for(var/obj/item/organ/internal/gland/G in H.internal_organs) + for(var/obj/item/organ/internal/heart/gland/G in H.internal_organs) G.Start() point_reward++ if(point_reward > 0) @@ -155,6 +156,7 @@ SendBack(H) playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) points += point_reward + credits += point_reward return "Experiment successful! [point_reward] new data-points collected." else playsound(src.loc, 'sound/machines/buzz-sigh.ogg', 50, 1) @@ -183,7 +185,7 @@ var/obj/item/weapon/grab/grabbed = G if(!ishuman(grabbed.affecting)) return - if(IsAbductor(grabbed.affecting)) + if(isabductor(grabbed.affecting)) return if(occupant) to_chat(user, "The [src] is already occupied!") diff --git a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm index 285b097d06a..f0ceac0d6ce 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm @@ -17,6 +17,8 @@ target.forceMove(teleport_target) spawn(0) anim(target.loc,target,'icons/mob/mob.dmi',,"uncloak",,target.dir) + to_chat(target, "The instability of the warp leaves you disoriented!") + target.Stun(3) /obj/machinery/abductor/pad/proc/Retrieve(mob/living/target) flick("alien-pad", src) diff --git a/code/game/gamemodes/miniantags/borer/borer.dm b/code/game/gamemodes/miniantags/borer/borer.dm index b16a1f3a3d0..ea92b93f473 100644 --- a/code/game/gamemodes/miniantags/borer/borer.dm +++ b/code/game/gamemodes/miniantags/borer/borer.dm @@ -6,7 +6,7 @@ if(client) if(client.prefs.muted & MUTE_IC) - to_chat(src, "\red You cannot speak in IC (muted).") + to_chat(src, "You cannot speak in IC (muted).") return if(client.handle_spam_prevention(message,MUTE_IC)) return @@ -250,16 +250,16 @@ if(host.reagents.has_reagent("sugar")) if(!docile) if(controlling) - to_chat(host, "\blue You feel the soporific flow of sugar in your host's blood, lulling you into docility.") + to_chat(host, "You feel the soporific flow of sugar in your host's blood, lulling you into docility.") else - to_chat(src, "\blue You feel the soporific flow of sugar in your host's blood, lulling you into docility.") + to_chat(src, "You feel the soporific flow of sugar in your host's blood, lulling you into docility.") docile = TRUE else if(docile) if(controlling) - to_chat(host, "\blue You shake off your lethargy as the sugar leaves your host's blood.") + to_chat(host, "You shake off your lethargy as the sugar leaves your host's blood.") else - to_chat(src, "\blue You shake off your lethargy as the sugar leaves your host's blood.") + to_chat(src, "You shake off your lethargy as the sugar leaves your host's blood.") docile = FALSE if(chemicals < max_chems) @@ -267,7 +267,7 @@ if(controlling) if(docile) - to_chat(host, "\blue You are feeling far too docile to continue controlling your host...") + to_chat(host, "You are feeling far too docile to continue controlling your host...") host.release_control() return @@ -457,11 +457,11 @@ if(!hiding) layer = TURF_LAYER+0.2 - to_chat(src, "\green You are now hiding.") + to_chat(src, "You are now hiding.") hiding = TRUE else layer = MOB_LAYER - to_chat(src, "\green You stop hiding.") + to_chat(src, "You stop hiding.") hiding = FALSE /mob/living/simple_animal/borer/verb/dominate_victim() @@ -499,8 +499,8 @@ to_chat(src, "You cannot dominate someone who is already infested!") return - to_chat(src, "\red You focus your psychic lance on [M] and freeze their limbs with a wave of terrible dread.") - to_chat(M, "\red You feel a creeping, horrible sense of dread come over you, freezing your limbs and setting your heart racing.") + to_chat(src, "You focus your psychic lance on [M] and freeze their limbs with a wave of terrible dread.") + to_chat(M, "You feel a creeping, horrible sense of dread come over you, freezing your limbs and setting your heart racing.") M.Weaken(3) used_dominate = world.time @@ -519,7 +519,7 @@ return if(docile) - to_chat(src, "\blue You are feeling far too docile to do that.") + to_chat(src, "You are feeling far too docile to do that.") return if(!host || !src) @@ -594,7 +594,7 @@ return if(docile) - to_chat(src, "\blue You are feeling far too docile to do that.") + to_chat(src, "You are feeling far too docile to do that.") return if(bonding) diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 7ea2cdd700c..6c28b9ade28 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -222,7 +222,7 @@ proc/issyndicate(mob/living/M as mob) /datum/game_mode/proc/greet_syndicate(var/datum/mind/syndicate, var/you_are=1) if(you_are) - to_chat(syndicate.current, "\blue You are a [syndicate_name()] agent!") + to_chat(syndicate.current, "You are a [syndicate_name()] agent!") var/obj_count = 1 for(var/datum/objective/objective in syndicate.objectives) to_chat(syndicate.current, "Objective #[obj_count]: [objective.explanation_text]") diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index d7a08d470dd..bd4774b50eb 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -92,7 +92,7 @@ var/bomb_set var/obj/item/weapon/weldingtool/WT = O if(!WT.isOn()) return if(WT.get_fuel() < 5) // uses up 5 fuel. - to_chat(user, "\red You need more fuel to complete this task.") + to_chat(user, "You need more fuel to complete this task.") return user.visible_message("[user] starts cutting loose the anchoring bolt covers on [src].", "You start cutting loose the anchoring bolt covers with [O]...") @@ -119,7 +119,7 @@ var/bomb_set var/obj/item/weapon/weldingtool/WT = O if(!WT.isOn()) return if(WT.get_fuel() < 5) // uses up 5 fuel. - to_chat(user, "\red You need more fuel to complete this task.") + to_chat(user, "You need more fuel to complete this task.") return user.visible_message("[user] starts cutting apart the anchoring system sealant on [src].", "You start cutting apart the anchoring system's sealant with [O]...") @@ -166,9 +166,9 @@ var/bomb_set else if(deployable) if(removal_stage < 5) anchored = 1 - visible_message("\red With a steely snap, bolts slide out of [src] and anchor it to the flooring!") + visible_message("With a steely snap, bolts slide out of [src] and anchor it to the flooring!") else - visible_message("\red \The [src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.") + visible_message("\The [src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.") if(!lighthack) flick("nuclearbombc", src) icon_state = "nuclearbomb1" @@ -220,10 +220,10 @@ var/bomb_set return if(deployable) - to_chat(usr, "\red You close several panels to make [src] undeployable.") + to_chat(usr, "You close several panels to make [src] undeployable.") deployable = 0 else - to_chat(usr, "\red You adjust some panels to make [src] deployable.") + to_chat(usr, "You adjust some panels to make [src] deployable.") deployable = 1 return @@ -282,7 +282,7 @@ var/bomb_set nanomanager.update_uis(src) return if(safety) - to_chat(usr, "\red The safety is still on.") + to_chat(usr, "The safety is still on.") nanomanager.update_uis(src) return timing = !(timing) @@ -312,16 +312,16 @@ var/bomb_set if(href_list["anchor"]) if(removal_stage == 5) anchored = 0 - visible_message("\red \The [src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.") + visible_message("\The [src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.") nanomanager.update_uis(src) return if(!isinspace()) anchored = !(anchored) if(anchored) - visible_message("\red With a steely snap, bolts slide out of [src] and anchor it to the flooring.") + visible_message("With a steely snap, bolts slide out of [src] and anchor it to the flooring.") else - visible_message("\red The anchoring bolts slide back into the depths of [src].") + visible_message("The anchoring bolts slide back into the depths of [src].") else to_chat(usr, "There is nothing to anchor to!") diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 08fbf0d4cc7..556b7f50e5b 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -234,7 +234,7 @@ if(rev_mind.assigned_role in command_positions) return 0 var/mob/living/carbon/human/H = rev_mind.current//Check to see if the potential rev is implanted - if(isloyal(H)) + if(ismindshielded(H)) return 0 if((rev_mind in revolutionaries) || (rev_mind in head_revolutionaries)) return 0 diff --git a/code/game/gamemodes/shadowling/shadowling_abilities.dm b/code/game/gamemodes/shadowling/shadowling_abilities.dm index fd63864442d..8abe51675cb 100644 --- a/code/game/gamemodes/shadowling/shadowling_abilities.dm +++ b/code/game/gamemodes/shadowling/shadowling_abilities.dm @@ -307,14 +307,14 @@ to_chat(target, "A terrible red light floods your mind. You collapse as conscious thought is wiped away.") target.Weaken(12) sleep(20) - if(isloyal(target)) + if(ismindshielded(target)) to_chat(user, "They have a mindshield implant. You begin to deactivate it - this will take some time.") user.visible_message("[user] pauses, then dips their head in concentration!") to_chat(target, "Your mindshield implant becomes hot as it comes under attack!") sleep(100) //10 seconds - not spawn() so the enthralling takes longer to_chat(user, "The nanobots composing the mindshield implant have been rendered inert. Now to continue.") user.visible_message("[user] relaxes again.") - for(var/obj/item/weapon/implant/loyalty/L in target) + for(var/obj/item/weapon/implant/mindshield/L in target) if(L && L.implanted) qdel(L) to_chat(target, "Your mental protection implant unexpectedly falters, dims, dies.") @@ -718,8 +718,9 @@ var/more_minutes = 9000 var/timer = shuttle_master.emergency.timeLeft() timer += more_minutes - event_announcement.Announce("Major system failure aboard the emergency shuttle. This will extend its arrival time by approximately 15 minutes..", "System Failure", 'sound/misc/notice1.ogg') + event_announcement.Announce("Major system failure aboard the emergency shuttle. This will extend its arrival time by approximately 15 minutes and the shuttle is unable to be recalled.", "System Failure", 'sound/misc/notice1.ogg') shuttle_master.emergency.setTimer(timer) + shuttle_master.emergency.canRecall = FALSE user.mind.spell_list.Remove(src) //Can only be used once! qdel(src) diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 371aef6c6a0..e60b564f5d0 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -70,6 +70,9 @@ modePlayer += traitors ..() +/datum/game_mode/traitor/setup_chumps() + //since we actually have potential collaborators, we don't prepare any chumps to avoid extra people knowing our codewords. + return /datum/game_mode/proc/forge_traitor_objectives(datum/mind/traitor) if(istype(traitor.current, /mob/living/silicon)) @@ -345,6 +348,14 @@ if(M && M != traitor_mob) to_chat(traitor_mob, "We have received credible reports that [M.real_name] might be willing to help our cause. If you need assistance, consider contacting them.") traitor_mob.mind.store_memory("Potential Collaborator: [M.real_name]") + //let's also inform their contact that they might be called upon, but leave it vague. + inform_collab(M) + +/datum/game_mode/traitor/inform_collab(mob/living/carbon/human/M) + if(M.mind in traitors) //if you are already a traitor, you already know the codewords and your role, so skip this message. + return + ..(M) + /datum/game_mode/proc/remove_traitor(datum/mind/traitor_mind) if(traitor_mind in traitors) @@ -355,8 +366,8 @@ to_chat(traitor_mind.current, "You have been turned into a robot! You are no longer a traitor.") else to_chat(traitor_mind.current, "You have been brainwashed! You are no longer a traitor.") - ticker.mode.update_traitor_icons_removed(traitor_mind) - + ticker.mode.update_traitor_icons_removed(traitor_mind) + /datum/game_mode/proc/update_traitor_icons_added(datum/mind/traitor_mind) var/datum/atom_hud/antag/tatorhud = huds[ANTAG_HUD_TRAITOR] tatorhud.join_hud(traitor_mind.current) diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index c38c50ad40a..9d1796523f9 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -179,7 +179,7 @@ if(do_mob(user, target, 50)) if(!affects(target)) to_chat(user, "Your piercing gaze fails to knock out [target].") - to_chat(target, "\blue [user]'s feeble gaze is ineffective.") + to_chat(target, "[user]'s feeble gaze is ineffective.") else to_chat(user, "Your piercing gaze knocks out [target].") to_chat(target, "You find yourself unable to move and barely able to speak.") @@ -294,7 +294,7 @@ /obj/effect/proc_holder/spell/vampire/targetted/enthrall/proc/can_enthrall(mob/living/user, mob/living/carbon/C) var/enthrall_safe = 0 - for(var/obj/item/weapon/implant/loyalty/L in C) + for(var/obj/item/weapon/implant/mindshield/L in C) if(L && L.implanted) enthrall_safe = 1 break @@ -488,7 +488,7 @@ if(!turfs.len) revert_cast(user) - to_chat(user, "\red You cannot find darkness to step to.") + to_chat(user, "You cannot find darkness to step to.") return perform(turfs, user = user) diff --git a/code/game/gamemodes/wizard/raginmages.dm b/code/game/gamemodes/wizard/raginmages.dm index 489e68acec7..c57b7d531c7 100644 --- a/code/game/gamemodes/wizard/raginmages.dm +++ b/code/game/gamemodes/wizard/raginmages.dm @@ -61,11 +61,11 @@ message_admins("[wizard.current] went into crit in the wizard lair, another wizard is likely camping") end_squabble(get_area(wizard.current)) else - to_chat(wizard.current, "\red The Space Wizard Federation is upset with your performance and have terminated your employment.") + to_chat(wizard.current, "The Space Wizard Federation is upset with your performance and have terminated your employment.") wizard.current.gib() // *REAL* ACTION!! *REAL* DRAMA!! *REAL* BLOODSHED!! continue if(wizard.current.client && wizard.current.client.is_afk() > 10 * 60 * 10) // 10 minutes - to_chat(wizard.current, "\red The Space Wizard Federation is upset with your performance and have terminated your employment.") + to_chat(wizard.current, "The Space Wizard Federation is upset with your performance and have terminated your employment.") wizard.current.gib() // Let's keep the round moving continue if(!wizard.current.client) @@ -181,5 +181,5 @@ /datum/game_mode/wizard/raginmages/declare_completion() if(finished) feedback_set_details("round_end_result","loss - wizard killed") - to_chat(world, "\red The crew has managed to hold off the wizard attack! The Space Wizards Federation has been taught a lesson they will not soon forget!") + to_chat(world, " The crew has managed to hold off the wizard attack! The Space Wizards Federation has been taught a lesson they will not soon forget!") ..(1) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 54b39d68f88..65843d0e0fc 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -319,7 +319,7 @@ user.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS) user.see_in_dark = 8 user.see_invisible = SEE_INVISIBLE_LEVEL_TWO - to_chat(user, "\blue The walls suddenly disappear.") + to_chat(user, "The walls suddenly disappear.") return 1 diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 99a400acfe6..ac8fc9550cf 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -197,7 +197,7 @@ /datum/game_mode/wizard/declare_completion(var/ragin = 0) if(finished && !ragin) feedback_set_details("round_end_result","loss - wizard killed") - to_chat(world, "\red The wizard[(wizards.len>1)?"s":""] has been killed by the crew! The Space Wizards Federation has been taught a lesson they will not soon forget!") + to_chat(world, " The wizard[(wizards.len>1)?"s":""] has been killed by the crew! The Space Wizards Federation has been taught a lesson they will not soon forget!") ..() return 1 diff --git a/code/game/jobs/job/central.dm b/code/game/jobs/job/central.dm index 9d3d5a7ab7a..64298b70fbe 100644 --- a/code/game/jobs/job/central.dm +++ b/code/game/jobs/job/central.dm @@ -34,7 +34,7 @@ /obj/item/weapon/implanter/death_alarm = 1 ) - implants = list(/obj/item/weapon/implant/loyalty) + implants = list(/obj/item/weapon/implant/mindshield) backpack = /obj/item/weapon/storage/backpack/satchel @@ -77,6 +77,6 @@ /obj/item/weapon/implanter/death_alarm = 1 ) - implants = list(/obj/item/weapon/implant/loyalty) + implants = list(/obj/item/weapon/implant/mindshield) backpack = /obj/item/weapon/storage/backpack/satchel \ No newline at end of file diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 62b248c4875..a7ed2b6b7a8 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -40,7 +40,7 @@ /obj/item/weapon/melee/classic_baton/telescopic = 1 ) - implants = list(/obj/item/weapon/implant/loyalty) + implants = list(/obj/item/weapon/implant/mindshield) backpack = /obj/item/weapon/storage/backpack/security satchel = /obj/item/weapon/storage/backpack/satchel_sec @@ -83,7 +83,7 @@ /obj/item/weapon/restraints/handcuffs = 1 ) - implants = list(/obj/item/weapon/implant/loyalty) + implants = list(/obj/item/weapon/implant/mindshield) backpack = /obj/item/weapon/storage/backpack/security satchel = /obj/item/weapon/storage/backpack/satchel_sec @@ -130,7 +130,7 @@ /obj/item/weapon/melee/classic_baton/telescopic = 1 ) - implants = list(/obj/item/weapon/implant/loyalty) + implants = list(/obj/item/weapon/implant/mindshield) /datum/outfit/job/detective/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE) . = ..() @@ -183,7 +183,7 @@ /obj/item/weapon/restraints/handcuffs = 1 ) - implants = list(/obj/item/weapon/implant/loyalty) + implants = list(/obj/item/weapon/implant/mindshield) backpack = /obj/item/weapon/storage/backpack/security satchel = /obj/item/weapon/storage/backpack/satchel_sec @@ -218,7 +218,7 @@ l_hand = /obj/item/weapon/storage/firstaid/adv pda = /obj/item/device/pda/medical - implants = list(/obj/item/weapon/implant/loyalty) + implants = list(/obj/item/weapon/implant/mindshield) backpack = /obj/item/weapon/storage/backpack/medic satchel = /obj/item/weapon/storage/backpack/satchel_med @@ -257,7 +257,7 @@ /obj/item/weapon/restraints/handcuffs = 1 ) - implants = list(/obj/item/weapon/implant/loyalty) + implants = list(/obj/item/weapon/implant/mindshield) backpack = /obj/item/weapon/storage/backpack/security satchel = /obj/item/weapon/storage/backpack/satchel_sec diff --git a/code/game/jobs/job/supervisor.dm b/code/game/jobs/job/supervisor.dm index af91e7788bd..e1b6bfda98e 100644 --- a/code/game/jobs/job/supervisor.dm +++ b/code/game/jobs/job/supervisor.dm @@ -41,7 +41,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0) /obj/item/weapon/melee/classic_baton/telescopic = 1 ) - implants = list(/obj/item/weapon/implant/loyalty) + implants = list(/obj/item/weapon/implant/mindshield) backpack = /obj/item/weapon/storage/backpack/captain satchel = /obj/item/weapon/storage/backpack/satchel_cap @@ -145,7 +145,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0) /obj/item/weapon/melee/classic_baton/ntcane = 1 ) - implants = list(/obj/item/weapon/implant/loyalty) + implants = list(/obj/item/weapon/implant/mindshield) @@ -188,7 +188,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0) /obj/item/weapon/gun/energy/gun/blueshield = 1 ) - implants = list(/obj/item/weapon/implant/loyalty) + implants = list(/obj/item/weapon/implant/mindshield) backpack = /obj/item/weapon/storage/backpack/security @@ -232,7 +232,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0) /obj/item/weapon/melee/classic_baton/telescopic = 1 ) - implants = list(/obj/item/weapon/implant/loyalty) + implants = list(/obj/item/weapon/implant/mindshield) @@ -269,4 +269,4 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0) l_hand = /obj/item/weapon/storage/briefcase pda = /obj/item/device/pda/lawyer - implants = list(/obj/item/weapon/implant/loyalty) + implants = list(/obj/item/weapon/implant/mindshield) diff --git a/code/game/jobs/job/support_chaplain.dm b/code/game/jobs/job/support_chaplain.dm index 637524ad3bd..8ff51148b9f 100644 --- a/code/game/jobs/job/support_chaplain.dm +++ b/code/game/jobs/job/support_chaplain.dm @@ -34,6 +34,8 @@ var/obj/item/weapon/storage/bible/B = new /obj/item/weapon/storage/bible(H) spawn() + H.equip_to_slot_or_del(B, slot_l_hand) + var/religion_name = "Christianity" var/new_religion = sanitize(copytext(input(H, "You are the crew services officer. Would you like to change your religion? Default is Christianity, in SPACE.", "Name change", religion_name),1,MAX_NAME_LEN)) diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index b0891498c98..433b2adfb27 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -1,4 +1,4 @@ - + var/global/datum/controller/occupations/job_master #define GET_RANDOM_JOB 0 @@ -15,7 +15,6 @@ var/global/datum/controller/occupations/job_master //Debug info var/list/job_debug = list() - /datum/controller/occupations/proc/SetupOccupations(var/list/faction = list("Station")) occupations = list() @@ -405,7 +404,7 @@ var/global/datum/controller/occupations/job_master /datum/controller/occupations/proc/EquipRank(var/mob/living/carbon/human/H, var/rank, var/joined_late = 0) if(!H) - return null + return null var/datum/job/job = GetJob(rank) @@ -593,6 +592,6 @@ var/global/datum/controller/occupations/job_master H.mind.store_memory(remembered_info) H.mind.initial_account = M - + spawn(0) to_chat(H, "Your account number is: [M.account_number], your account pin is: [M.remote_access_pin]") diff --git a/code/game/jobs/whitelist.dm b/code/game/jobs/whitelist.dm index 7c9888ef920..28e5a5b547c 100644 --- a/code/game/jobs/whitelist.dm +++ b/code/game/jobs/whitelist.dm @@ -24,7 +24,7 @@ var/list/whitelist = list() if(check_rights(R_ADMIN, 0, M)) return 1 if(!dbcon.IsConnected()) - to_chat(usr, "\red Unable to connect to whitelist database. Please try again later.
") + to_chat(usr, "Unable to connect to whitelist database. Please try again later.
") return 0 else var/DBQuery/query = dbcon.NewQuery("SELECT job FROM [format_table_name("whitelist")] WHERE ckey='[M.ckey]'") @@ -69,7 +69,7 @@ var/list/whitelist = list() if(!alien_whitelist) return 0 if(!dbcon.IsConnected()) - to_chat(usr, "\red Unable to connect to whitelist database. Please try again later.
") + to_chat(usr, "Unable to connect to whitelist database. Please try again later.
") return 0 else var/DBQuery/query = dbcon.NewQuery("SELECT species FROM [format_table_name("whitelist")] WHERE ckey='[M.ckey]'") diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index 7cae113f0ba..6a5253b599c 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -55,8 +55,8 @@ /obj/machinery/optable/attack_hand(mob/user as mob) if(HULK in usr.mutations) - to_chat(usr, text("\blue You destroy the table.")) - visible_message("\red [usr] destroys the operating table!") + to_chat(usr, text("You destroy the table.")) + visible_message("[usr] destroys the operating table!") src.density = 0 qdel(src) return diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index 151dc377f5d..576cc65868b 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -220,7 +220,7 @@ active_power_usage = 500 var/printing = null var/printing_text = null - var/known_implants = list(/obj/item/weapon/implant/chem, /obj/item/weapon/implant/death_alarm, /obj/item/weapon/implant/loyalty, /obj/item/weapon/implant/tracking) + var/known_implants = list(/obj/item/weapon/implant/chem, /obj/item/weapon/implant/death_alarm, /obj/item/weapon/implant/mindshield, /obj/item/weapon/implant/tracking) /obj/machinery/body_scanconsole/power_change() if(stat & BROKEN) diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index 742a253015c..4d059043329 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -45,7 +45,7 @@ if(user.machine == src) attack_hand(usr) else - to_chat(user, "\red Access denied.") + to_chat(user, "Access denied.") return return diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index c041f632812..e4cb0028408 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -985,10 +985,10 @@ else if(allowed(usr) && !wires.IsIndexCut(AALARM_WIRE_IDSCAN)) locked = !locked - to_chat(user, "\blue You [ locked ? "lock" : "unlock"] the Air Alarm interface.") + to_chat(user, "You [ locked ? "lock" : "unlock"] the Air Alarm interface.") updateUsrDialog() else - to_chat(user, "\red Access denied.") + to_chat(user, "Access denied.") return diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm index f6634ff242c..91687844329 100644 --- a/code/game/machinery/atmo_control.dm +++ b/code/game/machinery/atmo_control.dm @@ -76,9 +76,9 @@ obj/machinery/air_sensor to_chat(usr, "The [src] is bolted to the floor! You can't detach it like this.") return 1 playsound(loc, W.usesound, 50, 1) - to_chat(user, "\blue You begin to unfasten \the [src]...") + to_chat(user, "You begin to unfasten \the [src]...") if(do_after(user, 40 * W.toolspeed, target = src)) - user.visible_message("[user] unfastens \the [src].", "\blue You have unfastened \the [src].", "You hear ratchet.") + user.visible_message("[user] unfastens \the [src].", "You have unfastened \the [src].", "You hear ratchet.") new /obj/item/pipe_gsensor(src.loc) qdel(src) return 1 diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index 2533d734b8e..b785297bd06 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -339,14 +339,14 @@ update_flag /obj/machinery/portable_atmospherics/canister/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob, params) if(iswelder(W) && src.destroyed) if(weld(W, user)) - to_chat(user, "\blue You salvage whats left of \the [src]") + to_chat(user, "You salvage whats left of \the [src]") var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/metal(src.loc) M.amount = 3 qdel(src) return if(!istype(W, /obj/item/weapon/wrench) && !istype(W, /obj/item/weapon/tank) && !istype(W, /obj/item/device/analyzer) && !istype(W, /obj/item/device/pda)) - visible_message("\red [user] hits the [src] with a [W]!") + visible_message("[user] hits the [src] with a [W]!") src.health -= W.force src.add_fingerprint(user) healthcheck() @@ -479,7 +479,7 @@ update_flag else name = "canister" else - to_chat(usr, "\red As you attempted to rename it the pressure rose!") + to_chat(usr, "As you attempted to rename it the pressure rose!") if(href_list["choice"] == "Primary color") if(is_a_color(href_list["icon"],"prim")) diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm index 08615dea6ac..231a50bf802 100644 --- a/code/game/machinery/atmoalter/meter.dm +++ b/code/game/machinery/atmoalter/meter.dm @@ -124,11 +124,11 @@ if(!istype(W, /obj/item/weapon/wrench)) return ..() playsound(loc, W.usesound, 50, 1) - to_chat(user, "\blue You begin to unfasten \the [src]...") + to_chat(user, "You begin to unfasten \the [src]...") if(do_after(user, 40 * W.toolspeed, target = src)) user.visible_message( \ "[user] unfastens \the [src].", \ - "\blue You have unfastened \the [src].", \ + "You have unfastened \the [src].", \ "You hear ratchet.") new /obj/item/pipe_meter(src.loc) qdel(src) diff --git a/code/game/machinery/atmoalter/portable_atmospherics.dm b/code/game/machinery/atmoalter/portable_atmospherics.dm index c156802b980..44ac6caf479 100644 --- a/code/game/machinery/atmoalter/portable_atmospherics.dm +++ b/code/game/machinery/atmoalter/portable_atmospherics.dm @@ -93,21 +93,21 @@ else if(istype(W, /obj/item/weapon/wrench)) if(connected_port) disconnect() - to_chat(user, "\blue You disconnect [name] from the port.") + to_chat(user, "You disconnect [name] from the port.") update_icon() return else var/obj/machinery/atmospherics/unary/portables_connector/possible_port = locate(/obj/machinery/atmospherics/unary/portables_connector/) in loc if(possible_port) if(connect(possible_port)) - to_chat(user, "\blue You connect [name] to the port.") + to_chat(user, "You connect [name] to the port.") update_icon() return else - to_chat(user, "\blue [name] failed to connect to the port.") + to_chat(user, "[name] failed to connect to the port.") return else - to_chat(user, "\blue Nothing happens.") + to_chat(user, "Nothing happens.") return else if((istype(W, /obj/item/device/analyzer)) && get_dist(user, src) <= 1) diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index 909d53be265..76a9518c98b 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -56,20 +56,20 @@ loc = sanitize(copytext(loc, 1, MAX_MESSAGE_LEN)) if(!loc) - to_chat(src, "\red Must supply a location name") + to_chat(src, "Must supply a location name") return if(stored_locations.len >= max_locations) - to_chat(src, "\red Cannot store additional locations. Remove one first") + to_chat(src, "Cannot store additional locations. Remove one first") return if(loc in stored_locations) - to_chat(src, "\red There is already a stored location by this name") + to_chat(src, "There is already a stored location by this name") return var/L = get_turf(eyeobj) if(InvalidTurf(get_turf(L))) - to_chat(src, "\red Unable to store this location") + to_chat(src, "Unable to store this location") return stored_locations[loc] = L @@ -84,7 +84,7 @@ set desc = "Returns to the selected camera location" if(!(loc in stored_locations)) - to_chat(src, "\red Location [loc] not found") + to_chat(src, "Location [loc] not found") return var/L = stored_locations[loc] @@ -96,7 +96,7 @@ set desc = "Deletes the selected camera location" if(!(loc in stored_locations)) - to_chat(src, "\red Location [loc] not found") + to_chat(src, "Location [loc] not found") return stored_locations.Remove(loc) diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index a2307f7bea4..69cfd4a6e89 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -16,7 +16,7 @@ if(charging && !(stat & (BROKEN|NOPOWER)) ) - var/newlevel = round(charging.percent() * 4.0 / 99) + var/newlevel = round(charging.percent() * 4 / 100) // to_chat(world, "nl: [newlevel]") if(chargelevel != newlevel) @@ -39,14 +39,14 @@ if(istype(W, /obj/item/weapon/stock_parts/cell) && anchored) if(charging) - to_chat(user, "\red There is already a cell in the charger.") + to_chat(user, "There is already a cell in the charger.") return else var/area/a = loc.loc // Gets our locations location, like a dream within a dream if(!isarea(a)) return if(a.power_equip == 0) // There's no APC in this area, don't try to cheat power! - to_chat(user, "\red The [name] blinks red as you try to insert the cell!") + to_chat(user, "The [name] blinks red as you try to insert the cell!") return user.drop_item() @@ -57,7 +57,7 @@ updateicon() else if(istype(W, /obj/item/weapon/wrench)) if(charging) - to_chat(user, "\red Remove the cell first!") + to_chat(user, "Remove the cell first!") return anchored = !anchored @@ -91,7 +91,7 @@ if(!charging || (stat & (BROKEN|NOPOWER)) || !anchored) return - use_power(2000) //this used to use CELLRATE, but CELLRATE is fucking awful. feel free to fix this properly! - charging.give(1750) //inefficiency. + use_power(200) //this used to use CELLRATE, but CELLRATE is fucking awful. feel free to fix this properly! + charging.give(175) //inefficiency. updateicon() diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 72d63d8233d..b3957234d01 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -122,10 +122,11 @@ //data = "0C80C80C80C80C80C8000000000000161FBDDEF" - Farmer Jeff buf.dna.real_name="God Emperor of Mankind" buf.dna.unique_enzymes = md5(buf.dna.real_name) - buf.dna.UI=list(0x066,0x000,0x033,0x000,0x000,0x000,0xAF0,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x033,0x066,0x0FF,0x4DB,0x002,0x690,0x000,0x000) + buf.dna.UI=list(0x066,0x000,0x033,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0xAF0,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x033,0x066,0x0FF,0x4DB,0x002,0x690,0x000,0x000,0x000,0x328,0x045,0x5FC,0x053,0x035,0x035,0x035) //buf.dna.UI=list(0x0C8,0x0C8,0x0C8,0x0C8,0x0C8,0x0C8,0x000,0x000,0x000,0x000,0x161,0xFBD,0xDEF) // Farmer Jeff - for(var/i in buf.dna.UI.len to DNA_UI_LENGTH) - buf.dna.UI += 0x000 + if(buf.dna.UI.len != DNA_UI_LENGTH) //If there's a disparity b/w the dna UI string lengths, 0-fill the extra blocks in this UI. + for(var/i in buf.dna.UI.len to DNA_UI_LENGTH) + buf.dna.UI += 0x000 buf.dna.ResetSE() buf.dna.UpdateUI() @@ -367,14 +368,14 @@ //Removing cloning pod biomass else if(istype(W, /obj/item/weapon/reagent_containers/food/snacks/meat)) - to_chat(user, "\blue \The [src] processes \the [W].") + to_chat(user, "\The [src] processes \the [W].") biomass += BIOMASS_MEAT_AMOUNT user.drop_item() qdel(W) return else if(istype(W, /obj/item/weapon/wrench)) if(locked && (anchored || occupant)) - to_chat(user, "\red Can not do that while [src] is in use.") + to_chat(user, "Can not do that while [src] is in use.") else if(anchored) anchored = 0 diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index 71cc831bfdb..0aaba4caf13 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -166,7 +166,7 @@ if(!emagged) playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1) emagged = 1 - to_chat(user, "\blue You vastly increase projector power and override the safety and security protocols.") + to_chat(user, "You vastly increase projector power and override the safety and security protocols.") to_chat(user, "Warning. Automatic shutoff and derezing protocols have been corrupted. Please call Nanotrasen maintenance and do not use the simulator.") log_game("[key_name(usr)] emagged the Holodeck Control Computer") src.updateUsrDialog() @@ -279,7 +279,7 @@ if(world.time < (last_change + 15))//To prevent super-spam clicking, reduced process size and annoyance -Sieve return for(var/mob/M in range(3,src)) - M.show_message("\b ERROR. Recalibrating projetion apparatus.") + M.show_message("ERROR. Recalibrating projection apparatus.") last_change = world.time return diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index 7cc727e3501..7fc95ebfa53 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -21,7 +21,7 @@ if(istype(P, /obj/item/weapon/wrench)) playsound(loc, P.usesound, 50, 1) if(do_after(user, 20 * P.toolspeed, target = src)) - to_chat(user, "\blue You wrench the frame into place.") + to_chat(user, "You wrench the frame into place.") anchored = 1 state = 1 if(istype(P, /obj/item/weapon/weldingtool)) @@ -32,31 +32,31 @@ playsound(loc, WT.usesound, 50, 1) if(do_after(user, 20 * WT.toolspeed, target = src)) if(!src || !WT.remove_fuel(0, user)) return - to_chat(user, "\blue You deconstruct the frame.") + to_chat(user, "You deconstruct the frame.") new /obj/item/stack/sheet/plasteel(loc, 4) qdel(src) if(1) if(istype(P, /obj/item/weapon/wrench)) playsound(loc, P.usesound, 50, 1) if(do_after(user, 20 * P.toolspeed, target = src)) - to_chat(user, "\blue You unfasten the frame.") + to_chat(user, "You unfasten the frame.") anchored = 0 state = 0 if(istype(P, /obj/item/weapon/circuitboard/aicore) && !circuit) playsound(loc, P.usesound, 50, 1) - to_chat(user, "\blue You place the circuit board inside the frame.") + to_chat(user, "You place the circuit board inside the frame.") icon_state = "1" circuit = P user.drop_item() P.loc = src if(istype(P, /obj/item/weapon/screwdriver) && circuit) playsound(loc, P.usesound, 50, 1) - to_chat(user, "\blue You screw the circuit board into place.") + to_chat(user, "You screw the circuit board into place.") state = 2 icon_state = "2" if(istype(P, /obj/item/weapon/crowbar) && circuit) playsound(loc, P.usesound, 50, 1) - to_chat(user, "\blue You remove the circuit board.") + to_chat(user, "You remove the circuit board.") state = 1 icon_state = "0" circuit.loc = loc @@ -64,7 +64,7 @@ if(2) if(istype(P, /obj/item/weapon/screwdriver) && circuit) playsound(loc, P.usesound, 50, 1) - to_chat(user, "\blue You unfasten the circuit board.") + to_chat(user, "You unfasten the circuit board.") state = 1 icon_state = "1" if(istype(P, /obj/item/stack/cable_coil)) @@ -73,7 +73,7 @@ if(do_after(user, 20 * P.toolspeed, target = src)) P:amount -= 5 if(!P:amount) qdel(P) - to_chat(user, "\blue You add cables to the frame.") + to_chat(user, "You add cables to the frame.") state = 3 icon_state = "3" if(3) @@ -82,7 +82,7 @@ to_chat(user, "Get that brain out of there first") else playsound(loc, P.usesound, 50, 1) - to_chat(user, "\blue You remove the cables.") + to_chat(user, "You remove the cables.") state = 2 icon_state = "2" var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( loc ) @@ -95,7 +95,7 @@ if(P) P:amount -= 2 if(!P:amount) qdel(P) - to_chat(user, "\blue You put in the glass panel.") + to_chat(user, "You put in the glass panel.") state = 4 icon_state = "4" @@ -119,14 +119,14 @@ if(istype(P, /obj/item/device/mmi) || istype(P, /obj/item/device/mmi/posibrain)) if(!P:brainmob) - to_chat(user, "\red Sticking an empty [P] into the frame would sort of defeat the purpose.") + to_chat(user, "Sticking an empty [P] into the frame would sort of defeat the purpose.") return if(P:brainmob.stat == 2) - to_chat(user, "\red Sticking a dead [P] into the frame would sort of defeat the purpose.") + to_chat(user, "Sticking a dead [P] into the frame would sort of defeat the purpose.") return if(jobban_isbanned(P:brainmob, "AI") || jobban_isbanned(P:brainmob,"nonhumandept")) - to_chat(user, "\red This [P] does not seem to fit.") + to_chat(user, "This [P] does not seem to fit.") return if(istype(P, /obj/item/device/mmi/syndie)) @@ -145,7 +145,7 @@ if(istype(P, /obj/item/weapon/crowbar) && brain) playsound(loc, P.usesound, 50, 1) - to_chat(user, "\blue You remove the brain.") + to_chat(user, "You remove the brain.") brain.loc = loc brain = null icon_state = "3" @@ -153,7 +153,7 @@ if(4) if(istype(P, /obj/item/weapon/crowbar)) playsound(loc, P.usesound, 50, 1) - to_chat(user, "\blue You remove the glass panel.") + to_chat(user, "You remove the glass panel.") state = 3 if(brain) icon_state = "3b" @@ -195,19 +195,19 @@ card.transfer_ai("INACTIVE","AICARD",src,user) else if(istype(W, /obj/item/weapon/wrench)) if(anchored) - user.visible_message("\blue \The [user] starts to unbolt \the [src] from the plating...") + user.visible_message("\The [user] starts to unbolt \the [src] from the plating...") if(!do_after(user, 40 * W.toolspeed, target = src)) - user.visible_message("\blue \The [user] decides not to unbolt \the [src].") + user.visible_message("\The [user] decides not to unbolt \the [src].") return - user.visible_message("\blue \The [user] finishes unfastening \the [src]!") + user.visible_message("\The [user] finishes unfastening \the [src]!") anchored = 0 return else - user.visible_message("\blue \The [user] starts to bolt \the [src] to the plating...") + user.visible_message("\The [user] starts to bolt \the [src] to the plating...") if(!do_after(user, 40 * W.toolspeed, target = src)) - user.visible_message("\blue \The [user] decides not to bolt \the [src].") + user.visible_message("\The [user] decides not to bolt \the [src].") return - user.visible_message("\blue \The [user] finishes fastening down \the [src]!") + user.visible_message("\The [user] finishes fastening down \the [src]!") anchored = 1 return else diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index 5b7463d1b8c..3b48539febc 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -326,7 +326,7 @@ var/time_last_changed_position = 0 jobdatum = J break if(!jobdatum) - to_chat(usr, "\red No log exists for this job: [t1]") + to_chat(usr, "No log exists for this job: [t1]") return access = jobdatum.get_access() diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index 11778503e9d..e343135b246 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -121,12 +121,12 @@ for(var/obj/C in src) C.loc = src.loc if(src.stat & BROKEN) - to_chat(user, "\blue The broken glass falls out.") + to_chat(user, "The broken glass falls out.") new /obj/item/weapon/shard(loc) A.state = 3 A.icon_state = "3" else - to_chat(user, "\blue You disconnect the monitor.") + to_chat(user, "You disconnect the monitor.") A.state = 4 A.icon_state = "4" qdel(src) diff --git a/code/game/machinery/computer/honkputer.dm b/code/game/machinery/computer/honkputer.dm index c998fed7b1a..90d574cb61e 100644 --- a/code/game/machinery/computer/honkputer.dm +++ b/code/game/machinery/computer/honkputer.dm @@ -105,12 +105,12 @@ for(var/obj/C in src) C.loc = src.loc if(src.stat & BROKEN) - to_chat(user, "\blue The broken glass falls out.") + to_chat(user, "The broken glass falls out.") new /obj/item/weapon/shard( src.loc ) A.state = 3 A.icon_state = "3" else - to_chat(user, "\blue You disconnect the monitor.") + to_chat(user, "You disconnect the monitor.") A.state = 4 A.icon_state = "4" qdel(src) diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm index 6541c897447..3e2c0dd975c 100644 --- a/code/game/machinery/computer/law.dm +++ b/code/game/machinery/computer/law.dm @@ -22,9 +22,9 @@ opened = !opened if(opened) - to_chat(usr, "\blue The access panel is now open.") + to_chat(usr, "The access panel is now open.") else - to_chat(usr, "\blue The access panel is now closed.") + to_chat(usr, "The access panel is now closed.") return diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm index be35a85b7a4..7c647b61e90 100644 --- a/code/game/machinery/computer/prisoner.dm +++ b/code/game/machinery/computer/prisoner.dm @@ -96,7 +96,7 @@ I.loc = src inserted_id = I else - to_chat(usr, "\red No valid ID.") + to_chat(usr, "No valid ID.") if("1") inserted_id.loc = get_step(src,get_turf(usr)) inserted_id = null diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index 5235fffd9ba..ec41de193b8 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -146,7 +146,7 @@ if(!target || !istype(target)) return - message_admins("\blue [key_name_admin(usr)] emagged [key_name_admin(target)] using robotic console!") + message_admins("[key_name_admin(usr)] emagged [key_name_admin(target)] using robotic console!") log_game("[key_name(usr)] emagged [key_name(target)] using robotic console!") target.emagged = 1 to_chat(target, "Failsafe protocols overriden. New tools available.") diff --git a/code/game/machinery/computer/salvage_ship.dm b/code/game/machinery/computer/salvage_ship.dm index 6ee8f750b41..444db205e80 100644 --- a/code/game/machinery/computer/salvage_ship.dm +++ b/code/game/machinery/computer/salvage_ship.dm @@ -46,7 +46,7 @@ /obj/machinery/computer/salvage_ship/attack_hand(mob/user as mob) if(!allowed(user)) - to_chat(user, "\red Access Denied") + to_chat(user, "Access Denied") return user.set_machine(src) diff --git a/code/game/machinery/computer/specops_shuttle.dm b/code/game/machinery/computer/specops_shuttle.dm index b586fd4194a..d50d0355d5c 100644 --- a/code/game/machinery/computer/specops_shuttle.dm +++ b/code/game/machinery/computer/specops_shuttle.dm @@ -89,7 +89,7 @@ var/specops_shuttle_timeleft = 0 for(var/turf/T in get_area_turfs(end_location) ) var/mob/M = locate(/mob) in T - to_chat(M, "\red You have arrived at Central Command. Operation has ended!") + to_chat(M, "You have arrived at Central Command. Operation has ended!") specops_shuttle_at_station = 0 @@ -137,7 +137,7 @@ var/specops_shuttle_timeleft = 0 if(specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return if(!specops_can_move()) - to_chat(usr, "\red The Special Operations shuttle is unable to leave.") + to_chat(usr, "The Special Operations shuttle is unable to leave.") return //Begin Marauder launchpad. @@ -231,7 +231,7 @@ var/specops_shuttle_timeleft = 0 for(var/turf/T in get_area_turfs(end_location) ) var/mob/M = locate(/mob) in T - to_chat(M, "\red You have arrived to [station_name]. Commence operation!") + to_chat(M, "You have arrived to [station_name]. Commence operation!") for(var/obj/machinery/computer/specops_shuttle/S in world) S.specops_shuttle_timereset = world.time + SPECOPS_RETURN_DELAY @@ -247,23 +247,23 @@ var/specops_shuttle_timeleft = 0 return 1 /obj/machinery/computer/specops_shuttle/attack_ai(var/mob/user as mob) - to_chat(user, "\red Access Denied.") + to_chat(user, "Access Denied.") return 1 /obj/machinery/computer/specops_shuttle/attackby(I as obj, user as mob, params) if(istype(I,/obj/item/weapon/card/emag)) - to_chat(user, "\blue The electronic systems in this console are far too advanced for your primitive hacking peripherals.") + to_chat(user, "The electronic systems in this console are far too advanced for your primitive hacking peripherals.") else return attack_hand(user) /obj/machinery/computer/specops_shuttle/attack_hand(var/mob/user as mob) if(!allowed(user)) - to_chat(user, "\red Access Denied.") + to_chat(user, "Access Denied.") return //Commented out so admins can do shenanigans at their leisure. Also makes the force-spawned admin ERTs able to use the shuttle. // if(sent_strike_team == 0 && send_emergency_team == 0) -// to_chat(usr, "\red The strike team has not yet deployed.") +// to_chat(usr, "The strike team has not yet deployed.") // return if(..()) @@ -294,14 +294,14 @@ var/specops_shuttle_timeleft = 0 if(!specops_shuttle_at_station|| specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return if(!specops_can_move()) - to_chat(usr, "\blue Central Command will not allow the Special Operations shuttle to return yet.") + to_chat(usr, "Central Command will not allow the Special Operations shuttle to return yet.") if(world.timeofday <= specops_shuttle_timereset) if(((world.timeofday - specops_shuttle_timereset)/10) > 60) - to_chat(usr, "\blue [-((world.timeofday - specops_shuttle_timereset)/10)/60] minutes remain!") - to_chat(usr, "\blue [-(world.timeofday - specops_shuttle_timereset)/10] seconds remain!") + to_chat(usr, "[-((world.timeofday - specops_shuttle_timereset)/10)/60] minutes remain!") + to_chat(usr, "[-(world.timeofday - specops_shuttle_timereset)/10] seconds remain!") return - to_chat(usr, "\blue The Special Operations shuttle will arrive at Central Command in [(SPECOPS_MOVETIME/10)] seconds.") + to_chat(usr, "The Special Operations shuttle will arrive at Central Command in [(SPECOPS_MOVETIME/10)] seconds.") temp += "Shuttle departing.

OK" updateUsrDialog() @@ -315,10 +315,10 @@ var/specops_shuttle_timeleft = 0 if(specops_shuttle_at_station || specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return if(!specops_can_move()) - to_chat(usr, "\red The Special Operations shuttle is unable to leave.") + to_chat(usr, "The Special Operations shuttle is unable to leave.") return - to_chat(usr, "\blue The Special Operations shuttle will arrive on [station_name] in [(SPECOPS_MOVETIME/10)] seconds.") + to_chat(usr, "The Special Operations shuttle will arrive on [station_name] in [(SPECOPS_MOVETIME/10)] seconds.") temp += "Shuttle departing.

OK" updateUsrDialog() diff --git a/code/game/machinery/computer/store.dm b/code/game/machinery/computer/store.dm index 31cfb8bfa8c..895bdd6de4a 100644 --- a/code/game/machinery/computer/store.dm +++ b/code/game/machinery/computer/store.dm @@ -140,8 +140,8 @@ td.cost.toomuch { updateUsrDialog() return if(!centcomm_store.PlaceOrder(usr,itemID)) - to_chat(usr, "\red Unable to charge your account.") + to_chat(usr, "Unable to charge your account.") else - to_chat(usr, "\blue You've successfully purchased the item. It should be in your hands or on the floor.") + to_chat(usr, "You've successfully purchased the item. It should be in your hands or on the floor.") src.updateUsrDialog() return diff --git a/code/game/machinery/computer/syndicate_specops_shuttle.dm b/code/game/machinery/computer/syndicate_specops_shuttle.dm index bba953b64e1..14a3fdb72ca 100644 --- a/code/game/machinery/computer/syndicate_specops_shuttle.dm +++ b/code/game/machinery/computer/syndicate_specops_shuttle.dm @@ -60,7 +60,7 @@ var/syndicate_elite_shuttle_timeleft = 0 if(syndicate_elite_shuttle_moving_to_station || syndicate_elite_shuttle_moving_to_mothership) return if(!syndicate_elite_can_move()) - to_chat(usr, "\red The Syndicate Elite shuttle is unable to leave.") + to_chat(usr, "The Syndicate Elite shuttle is unable to leave.") return sleep(600) @@ -172,7 +172,7 @@ var/syndicate_elite_shuttle_timeleft = 0 for(var/turf/T in get_area_turfs(end_location) ) var/mob/M = locate(/mob) in T - to_chat(M, "\red You have arrived to [station_name]. Commence operation!") + to_chat(M, "You have arrived to [station_name]. Commence operation!") /proc/syndicate_elite_can_move() if(syndicate_elite_shuttle_moving_to_station || syndicate_elite_shuttle_moving_to_mothership) return 0 @@ -182,22 +182,22 @@ var/syndicate_elite_shuttle_timeleft = 0 return attack_hand(user) /obj/machinery/computer/syndicate_elite_shuttle/attack_ai(var/mob/user as mob) - to_chat(user, "\red Access Denied.") + to_chat(user, "Access Denied.") return 1 /obj/machinery/computer/syndicate_elite_shuttle/attackby(I as obj, user as mob, params) if(istype(I,/obj/item/weapon/card/emag)) - to_chat(user, "\blue The electronic systems in this console are far too advanced for your primitive hacking peripherals.") + to_chat(user, "The electronic systems in this console are far too advanced for your primitive hacking peripherals.") else return attack_hand(user) /obj/machinery/computer/syndicate_elite_shuttle/attack_hand(var/mob/user as mob) if(!allowed(user)) - to_chat(user, "\red Access Denied.") + to_chat(user, "Access Denied.") return // if(sent_syndicate_strike_team == 0) -// to_chat(usr, "\red The strike team has not yet deployed.") +// to_chat(usr, "The strike team has not yet deployed.") // return if(..()) @@ -227,17 +227,17 @@ var/syndicate_elite_shuttle_timeleft = 0 if(href_list["sendtodock"]) if(!syndicate_elite_shuttle_at_station|| syndicate_elite_shuttle_moving_to_station || syndicate_elite_shuttle_moving_to_mothership) return - to_chat(usr, "\blue The Syndicate will not allow the Elite Squad shuttle to return.") + to_chat(usr, "The Syndicate will not allow the Elite Squad shuttle to return.") return else if(href_list["sendtostation"]) if(syndicate_elite_shuttle_at_station || syndicate_elite_shuttle_moving_to_station || syndicate_elite_shuttle_moving_to_mothership) return if(!specops_can_move()) - to_chat(usr, "\red The Syndicate Elite shuttle is unable to leave.") + to_chat(usr, "The Syndicate Elite shuttle is unable to leave.") return - to_chat(usr, "\blue The Syndicate Elite shuttle will arrive on [station_name] in [(SYNDICATE_ELITE_MOVETIME/10)] seconds.") + to_chat(usr, "The Syndicate Elite shuttle will arrive on [station_name] in [(SYNDICATE_ELITE_MOVETIME/10)] seconds.") temp = "Shuttle departing.

OK" updateUsrDialog() diff --git a/code/game/machinery/computer/vr_control.dm b/code/game/machinery/computer/vr_control.dm new file mode 100644 index 00000000000..b1fded03b99 --- /dev/null +++ b/code/game/machinery/computer/vr_control.dm @@ -0,0 +1,37 @@ +/obj/machinery/computer/vr_control + name = "VR console" + desc = "A list and control panel for all virtual servers." + icon_screen = "comm_logs" + + light_color = LIGHT_COLOR_DARKGREEN + + +/obj/machinery/computer/vr_control/New() + ..() + +/obj/machinery/computer/vr_control/Destroy() + return ..() + +/obj/machinery/computer/vr_control/attack_ai(mob/user) + attack_hand(user) + ui_interact(user) + + +/obj/machinery/computer/vr_control/attack_hand(mob/user) + add_fingerprint(user) + if(stat & (BROKEN|NOPOWER)) + return + ui_interact(user) + +/obj/machinery/computer/vr_control/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + switch(alert("What would you like to do?", "VR Control", "Join Room", "Make Room", "Cancel")) + if("Join Room") + spawn_vr_avatar(user, input(user, "Choose a room to join.","Select Level") as null|anything in vr_rooms) + qdel(user) + if("Make Room") + make_vr_room(input(user, "Name your new Room","Name here.") as null|text, input(user, "Choose a Level to load into your new Room.","Select Level") as null|anything in vr_templates) + if("Cancel") + return + +/obj/machinery/computer/vr_control/interact(mob/user) + diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 55e1e2ba5eb..8e026cfd80a 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -265,7 +265,7 @@ /obj/machinery/atmospherics/unary/cryo_cell/attackby(var/obj/item/weapon/G as obj, var/mob/user as mob, params) if(istype(G, /obj/item/weapon/reagent_containers/glass)) if(beaker) - to_chat(user, "\red A beaker is already loaded into the machine.") + to_chat(user, "A beaker is already loaded into the machine.") return if(!user.drop_item()) to_chat(user, "The [G] is stuck to you!") @@ -415,10 +415,10 @@ to_chat(usr, "The cryo cell is already occupied!") return if(M.abiotic()) - to_chat(usr, "\red Subject may not have abiotic items on.") + to_chat(usr, "Subject may not have abiotic items on.") return if(!node) - to_chat(usr, "\red The cell is not correctly connected to its pipe network!") + to_chat(usr, "The cell is not correctly connected to its pipe network!") return M.stop_pulling() M.forceMove(src) diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 3ba162678ea..5a3d479fd75 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -65,11 +65,11 @@ for reference: /obj/structure/barricade/attackby(obj/item/W as obj, mob/user as mob, params) if(istype(W, stacktype)) if(src.health < src.maxhealth) - visible_message("\red [user] begins to repair the [src]!") + visible_message("[user] begins to repair the [src]!") if(do_after(user, 20 * W.toolspeed, target = src)) src.health = src.maxhealth W:use(1) - visible_message("\red [user] repairs the [src]!") + visible_message("[user] repairs the [src]!") return else return @@ -189,7 +189,7 @@ for reference: var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread s.set_up(2, 1, src) s.start() - visible_message("\red BZZzZZzZZzZT") + visible_message("BZZzZZzZZzZT") return return else if(istype(W, /obj/item/weapon/wrench)) @@ -197,12 +197,12 @@ for reference: src.health = src.maxhealth src.emagged = 0 src.req_access = list(access_security) - visible_message("\red [user] repairs the [src]!") + visible_message("[user] repairs the [src]!") return else if(src.emagged > 0) src.emagged = 0 src.req_access = list(access_security) - visible_message("\red [user] repairs the [src]!") + visible_message("[user] repairs the [src]!") return return else @@ -224,14 +224,14 @@ for reference: var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread s.set_up(2, 1, src) s.start() - visible_message("\red BZZzZZzZZzZT") + visible_message("BZZzZZzZZzZT") else if(src.emagged == 1) src.emagged = 2 to_chat(user, "You short out the anchoring mechanism on the [src].") var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread s.set_up(2, 1, src) s.start() - visible_message("\red BZZzZZzZZzZT") + visible_message("BZZzZZzZZzZT") ex_act(severity) switch(severity) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 90662dd6ecb..fe802eb308b 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -189,7 +189,6 @@ opacity = 0 assembly_type = /obj/structure/door_assembly/door_assembly_research glass = 1 - heat_proof = 1 /obj/machinery/door/airlock/glass_mining name = "Maintenance Hatch" @@ -335,7 +334,7 @@ About the new airlock wires panel: * An airlock wire dialog can be accessed by the normal way or by using wirecutters or a multitool on the door while the wire-panel is open. This would show the following wires, which you can either wirecut/mend or send a multitool pulse through. There are 9 wires. * one wire from the ID scanner. Sending a pulse through this flashes the red light on the door (if the door has power). If you cut this wire, the door will stop recognizing valid IDs. (If the door has 0000 access, it still opens and closes, though) -* two wires for power. Sending a pulse through either one causes a breaker to trip, disabling the door for 10 seconds if backup power is connected, or 1 minute if not (or until backup power comes back on, whichever is shorter). Cutting either one disables the main door power, but unless backup power is also cut, the backup power re-powers the door in 10 seconds. While unpowered, the door may be \red open, but bolts-raising will not work. Cutting these wires may electrocute the user. +* two wires for power. Sending a pulse through either one causes a breaker to trip, disabling the door for 10 seconds if backup power is connected, or 1 minute if not (or until backup power comes back on, whichever is shorter). Cutting either one disables the main door power, but unless backup power is also cut, the backup power re-powers the door in 10 seconds. While unpowered, the door may be open, but bolts-raising will not work. Cutting these wires may electrocute the user. * one wire for door bolts. Sending a pulse through this drops door bolts (whether the door is powered or not) or raises them (if it is). Cutting this wire also drops the door bolts, and mending it does not raise them. If the wire is cut, trying to raise the door bolts will not work. * two wires for backup power. Sending a pulse through either one causes a breaker to trip, but this does not disable it unless main power is down too (in which case it is disabled for 1 minute or however long it takes main power to come back, whichever is shorter). Cutting either one disables the backup door power (allowing it to be crowbarred open, but disabling bolts-raising), but may electocute the user. * one wire for opening the door. Sending a pulse through this while the door has power makes it open the door if no access is required. @@ -667,14 +666,14 @@ About the new airlock wires panel: if(H.getBrainLoss() >= 60) playsound(src.loc, 'sound/effects/bang.ogg', 25, 1) if(!istype(H.head, /obj/item/clothing/head/helmet)) - visible_message("\red [user] headbutts the airlock.") + visible_message("[user] headbutts the airlock.") var/obj/item/organ/external/affecting = H.get_organ("head") H.Stun(5) H.Weaken(5) if(affecting.take_damage(10, 0)) H.UpdateDamageIcon() else - visible_message("\red [user] headbutts the airlock. Good thing they're wearing a helmet.") + visible_message("[user] headbutts the airlock. Good thing they're wearing a helmet.") return if(src.p_open) @@ -844,9 +843,10 @@ About the new airlock wires panel: playsound(loc, C.usesound, 100, 1) user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to remove electronics from the airlock assembly.") if(do_after(user, 40 * C.toolspeed, target = src)) - to_chat(user, "\blue You removed the airlock electronics!") + to_chat(user, "You removed the airlock electronics!") var/obj/structure/door_assembly/da = new assembly_type(loc) + da.heat_proof_finished = heat_proof //tracks whether there's rglass in da.anchored = 1 if(mineral) da.glass = mineral @@ -903,9 +903,9 @@ About the new airlock wires panel: to_chat(user, "Despite your attempts, the [src] refuses to open.") return if(arePowerSystemsOn()) - to_chat(user, "\blue The airlock's motors resist your efforts to force it.") + to_chat(user, "The airlock's motors resist your efforts to force it.") else if(locked) - to_chat(user, "\blue The airlock's bolts prevent it from being forced.") + to_chat(user, "The airlock's bolts prevent it from being forced.") else if( !welded && !operating ) if(density) if(beingcrowbarred == 0) //being fireaxe'd @@ -913,7 +913,7 @@ About the new airlock wires panel: if(F.wielded) spawn(0) open(1) else - to_chat(user, "\red You need to be wielding \the [C] to do that.") + to_chat(user, "You need to be wielding \the [C] to do that.") else spawn(0) open(1) else @@ -922,7 +922,7 @@ About the new airlock wires panel: if(F.wielded) spawn(0) close(1) else - to_chat(user, "\red You need to be wielding \the [C] to do that.") + to_chat(user, "You need to be wielding \the [C] to do that.") else spawn(0) close(1) else diff --git a/code/game/machinery/doors/airlock_control.dm b/code/game/machinery/doors/airlock_control.dm index 84ce7aeab50..17ebdf96ce2 100644 --- a/code/game/machinery/doors/airlock_control.dm +++ b/code/game/machinery/doors/airlock_control.dm @@ -261,7 +261,7 @@ obj/machinery/access_button/attackby(obj/item/I as obj, mob/user as mob, params) obj/machinery/access_button/attack_hand(mob/user) add_fingerprint(usr) if(!allowed(user)) - to_chat(user, "\red Access Denied") + to_chat(user, "Access Denied") else if(radio_connection) var/datum/signal/signal = new diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 2a42b71e7f2..d6b295e1811 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -23,7 +23,7 @@ var/normalspeed = 1 var/auto_close_time = 150 var/auto_close_time_dangerous = 5 - var/heat_proof = 0 // For glass airlocks/opacity firedoors + var/heat_proof = 0 // For rglass-windowed airlocks and firedoors var/emergency = 0 var/air_properties_vary_with_direction = 0 var/block_air_zones = 1 //If set, air zones cannot merge across the door even when it is opened. @@ -310,7 +310,7 @@ if(!glass && cameranet) cameranet.updateVisibility(src, 0) -/obj/machinery/door/BlockSuperconductivity() +/obj/machinery/door/BlockSuperconductivity() // All non-glass airlocks block heat, this is intended. if(opacity || heat_proof) return 1 return 0 diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index dc156972f6e..1f83484ae70 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -3,8 +3,9 @@ desc = "That looks like it doesn't open easily." icon = 'icons/obj/doors/rapid_pdoor.dmi' icon_state = "pdoor1" - var/id_tag = 1.0 explosion_block = 3 + heat_proof = 1 + var/id_tag = 1.0 var/protected = 1 /obj/machinery/door/poddoor/preopen diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 19400444fb8..586b45f0a13 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -91,9 +91,9 @@ FIRE ALARM if(istype(W, /obj/item/device/multitool)) detecting = !detecting if(detecting) - user.visible_message("\red [user] has reconnected [src]'s detecting unit!", "You have reconnected [src]'s detecting unit.") + user.visible_message("[user] has reconnected [src]'s detecting unit!", "You have reconnected [src]'s detecting unit.") else - user.visible_message("\red [user] has disconnected [src]'s detecting unit!", "You have disconnected [src]'s detecting unit.") + user.visible_message("[user] has disconnected [src]'s detecting unit!", "You have disconnected [src]'s detecting unit.") else if(istype(W, /obj/item/weapon/wirecutters)) // cutting the wires out to_chat(user, "You cut the wires!") diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 2cf45577183..1b685f50197 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -43,9 +43,9 @@ add_fingerprint(user) disable = !disable if(disable) - user.visible_message("\red [user] has disconnected the [src]'s flashbulb!", "\red You disconnect the [src]'s flashbulb!") + user.visible_message("[user] has disconnected the [src]'s flashbulb!", "You disconnect the [src]'s flashbulb!") if(!disable) - user.visible_message("\red [user] has connected the [src]'s flashbulb!", "\red You connect the [src]'s flashbulb!") + user.visible_message("[user] has connected the [src]'s flashbulb!", "You connect the [src]'s flashbulb!") //Let the AI trigger them directly. /obj/machinery/flasher/attack_ai(mob/user) @@ -101,11 +101,11 @@ anchored = !anchored if(!anchored) - user.show_message(text("\red [src] can now be moved.")) + user.show_message(text("[src] can now be moved.")) overlays.Cut() else if(anchored) - user.show_message(text("\red [src] is now secured.")) + user.show_message(text("[src] is now secured.")) overlays += "[base_state]-s" // Flasher button diff --git a/code/game/machinery/floodlight.dm b/code/game/machinery/floodlight.dm index 834caa3addc..f872fbcef2d 100644 --- a/code/game/machinery/floodlight.dm +++ b/code/game/machinery/floodlight.dm @@ -57,7 +57,7 @@ if(on) on = 0 - to_chat(user, "\blue You turn off the light") + to_chat(user, "You turn off the light") set_light(0) else if(!cell) @@ -65,7 +65,7 @@ if(cell.charge <= 0) return on = 1 - to_chat(user, "\blue You turn on the light") + to_chat(user, "You turn on the light") set_light(brightness_on) updateicon() diff --git a/code/game/machinery/guestpass.dm b/code/game/machinery/guestpass.dm index e3f0abad69a..bc70868cf8f 100644 --- a/code/game/machinery/guestpass.dm +++ b/code/game/machinery/guestpass.dm @@ -182,7 +182,7 @@ pass.reason = reason pass.name = "guest pass #[number]" else - to_chat(usr, "\red Cannot issue pass without issuing ID.") + to_chat(usr, "Cannot issue pass without issuing ID.") updateUsrDialog() return diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 7cb51574a60..219f1613d99 100755 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -74,10 +74,10 @@ add_fingerprint(user) src.disable = !src.disable if(src.disable) - user.visible_message("\red [user] has disabled the [src]!", "\red You disable the connection to the [src].") + user.visible_message("[user] has disabled the [src]!", "You disable the connection to the [src].") icon_state = "[base_state]-d" if(!src.disable) - user.visible_message("\red [user] has reconnected the [src]!", "\red You fix the connection to the [src].") + user.visible_message("[user] has reconnected the [src]!", "You fix the connection to the [src].") if(src.powered()) icon_state = "[base_state]" else diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index e5f4b3fc71f..8a1721ff7df 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -260,13 +260,13 @@ Class Procs: if(!O) return 1 if(!canLink(O)) - to_chat(usr, "\red You can't link with that device.") + to_chat(usr, "You can't link with that device.") return 1 if(unlinkFrom(usr, O)) - to_chat(usr, "\blue A green light flashes on \the [P], confirming the link was removed.") + to_chat(usr, "A green light flashes on \the [P], confirming the link was removed.") else - to_chat(usr, "\red A red light flashes on \the [P]. It appears something went wrong when unlinking the two devices.") + to_chat(usr, "A red light flashes on \the [P]. It appears something went wrong when unlinking the two devices.") update_mt_menu=1 if("link" in href_list) @@ -274,25 +274,25 @@ Class Procs: if(!O) return 1 if(!canLink(O,href_list)) - to_chat(usr, "\red You can't link with that device.") + to_chat(usr, "You can't link with that device.") return 1 if(isLinkedWith(O)) - to_chat(usr, "\red A red light flashes on \the [P]. The two devices are already linked.") + to_chat(usr, "A red light flashes on \the [P]. The two devices are already linked.") return 1 if(linkWith(usr, O, href_list)) - to_chat(usr, "\blue A green light flashes on \the [P], confirming the link was added.") + to_chat(usr, "A green light flashes on \the [P], confirming the link was added.") else - to_chat(usr, "\red A red light flashes on \the [P]. It appears something went wrong when linking the two devices.") + to_chat(usr, "A red light flashes on \the [P]. It appears something went wrong when linking the two devices.") update_mt_menu=1 if("buffer" in href_list) P.buffer = src - to_chat(usr, "\blue A green light flashes, and the device appears in the multitool buffer.") + to_chat(usr, "A green light flashes, and the device appears in the multitool buffer.") update_mt_menu=1 if("flush" in href_list) - to_chat(usr, "\blue A green light flashes, and the device disappears from the multitool buffer.") + to_chat(usr, "A green light flashes, and the device disappears from the multitool buffer.") P.buffer = null update_mt_menu=1 diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 9af2e836ef9..5bd7861623b 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -623,7 +623,7 @@ playsound(src.loc, W.usesound, 50, 1) user.visible_message( \ "[user] fastens the [src].", \ - "\blue You have fastened the [src].", \ + "You have fastened the [src].", \ "You hear ratchet.") qdel(src) // remove the pipe item @@ -643,11 +643,11 @@ if(!istype(W, /obj/item/weapon/wrench)) return ..() if(!locate(/obj/machinery/atmospherics/pipe, src.loc)) - to_chat(user, "\red You need to fasten it to a pipe") + to_chat(user, "You need to fasten it to a pipe") return 1 new /obj/machinery/meter(loc) playsound(src.loc, W.usesound, 50, 1) - to_chat(user, "\blue You have fastened the meter to the pipe") + to_chat(user, "You have fastened the meter to the pipe.") qdel(src) /obj/item/pipe_gsensor @@ -664,7 +664,7 @@ return ..() new/obj/machinery/air_sensor( src.loc ) playsound(get_turf(src), W.usesound, 50, 1) - to_chat(user, "\blue You have fastened the gas sensor") + to_chat(user, "You have fastened the gas sensor.") qdel(src) #undef PIPE_SIMPLE_STRAIGHT diff --git a/code/game/machinery/podmen.dm b/code/game/machinery/podmen.dm index c0ca39c3e12..af24a856115 100644 --- a/code/game/machinery/podmen.dm +++ b/code/game/machinery/podmen.dm @@ -76,9 +76,9 @@ Growing it to term with nothing injected will grab a ghost from the observers. * if(beingharvested) - to_chat(user, ("\red You can only harvest the pod once!")) + to_chat(user, ("You can only harvest the pod once!")) else - user.visible_message("\blue [user] carefully begins to open the pod...","\blue You carefully begin to open the pod...") + user.visible_message("[user] carefully begins to open the pod...","You carefully begin to open the pod...") beingharvested = 1 //If a sample is injected (and revival is allowed) the plant will be controlled by the original donor. @@ -123,7 +123,7 @@ Growing it to term with nothing injected will grab a ghost from the observers. * ticker.mode:update_all_cult_icons() //So the icon actually appears // -- End mode specific stuff - to_chat(podman, "\green You awaken slowly, feeling your sap stir into sluggish motion as the warm air caresses your bark.") + to_chat(podman, "You awaken slowly, feeling your sap stir into sluggish motion as the warm air caresses your bark.") if(source && ckey && podman.ckey == ckey) to_chat(podman, "Memories of a life as [source] drift oddly through a mind unsuited for them, like a skin of oil over a fathomless lake.") to_chat(podman, "You are now one of the Dionaea, a race of drifting interstellar plantlike creatures that sometimes share their seeds with human traders.") @@ -132,5 +132,5 @@ Growing it to term with nothing injected will grab a ghost from the observers. * else new /mob/living/carbon/monkey/diona(parent.loc) - parent.visible_message("\blue The pod disgorges a fully-formed plant creature!") + parent.visible_message("The pod disgorges a fully-formed plant creature!") parent.update_tray() diff --git a/code/game/machinery/programmable_unloader.dm b/code/game/machinery/programmable_unloader.dm index e9f7a55b039..c86d745c05a 100644 --- a/code/game/machinery/programmable_unloader.dm +++ b/code/game/machinery/programmable_unloader.dm @@ -199,11 +199,11 @@ if(istype(I,/obj/item/weapon/wrench)) // code borrowed from pipe dispenser if(unwrenched==0) playsound(src.loc, I.usesound, 50, 1) - to_chat(user, "\blue You begin to unfasten \the [src] from the floor...") + to_chat(user, "You begin to unfasten \the [src] from the floor...") if(do_after(user, 40 * I.toolspeed, target = src)) user.visible_message( \ "[user] unfastens \the [src].", \ - "\blue You have unfastened \the [src]. Now it can be pulled somewhere else.", \ + "You have unfastened \the [src]. Now it can be pulled somewhere else.", \ "You hear ratchet.") src.anchored = 0 src.stat |= MAINT @@ -212,11 +212,11 @@ usr << browse(null, "window=pipedispenser") else /* unwrenched */ playsound(src.loc, I.usesound, 50, 1) - to_chat(user, "\blue You begin to fasten \the [src] to the floor...") + to_chat(user, "You begin to fasten \the [src] to the floor...") if(do_after(user, 20 * I.toolspeed, target = src)) user.visible_message( \ "[user] fastens \the [src].", \ - "\blue You fastened \the [src] into place.", \ + "You fastened \the [src] into place.", \ "You hear ratchet.") src.anchored = 1 src.input = get_step(src.loc,src.indir) @@ -237,9 +237,9 @@ to_chat(user, "You open \the [src]'s maintenance panel.") if(istype(I,/obj/item/weapon/crowbar)) if(open) - to_chat(user, "\blue You begin to pry out the [src]'s circuits.") + to_chat(user, "You begin to pry out the [src]'s circuits.") if(do_after(user, 40 * I.toolspeed, target = src)) - to_chat(user, "\blue You remove the circuitboard.") + to_chat(user, "You remove the circuitboard.") playsound(loc, I.usesound, 50, 1) circuit_removed = 1 use_power = 0 @@ -516,7 +516,7 @@ if(damage < 5) visible_message("[H] gives \the [src] a weak punch.") if(prob(10)) - visible_message("\blue \The [src] feints at [H], as though mocking \him.") + visible_message("\The [src] feints at [H], as though mocking \him.") else if(damage < 10) visible_message("[H] hits \the [src] with a solid [pick("punch","jab","smack")].") else if(damage < 15) @@ -533,11 +533,11 @@ damage -= 5 if(newsleep) if(emagged) - visible_message("\red \The [src]'s lights glow a bloodthirsty red. It refuses to stop!") + visible_message("\The [src]'s lights glow a bloodthirsty red. It refuses to stop!") sleep = 0 else sleep += newsleep - visible_message("\blue \The [src]'s lights dim for a moment and it beeps, signifying a valid hit.") + visible_message("\The [src]'s lights dim for a moment and it beeps, signifying a valid hit.") playsound(src.loc, 'sound/machines/twobeep.ogg', 50, 0) return diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index cbf20e838f3..94513623cfb 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -1,70 +1,78 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 - /obj/machinery/recharger name = "recharger" icon = 'icons/obj/stationobjs.dmi' icon_state = "recharger0" + desc = "A charging dock for energy based weaponry." anchored = 1 use_power = 1 - idle_power_usage = 40 - active_power_usage = 2500 + idle_power_usage = 4 + active_power_usage = 250 var/obj/item/charging = null + var/list/allowed_devices = list(/obj/item/weapon/gun/energy, /obj/item/weapon/melee/baton, /obj/item/device/modular_computer, /obj/item/weapon/rcs) + var/icon_state_off = "rechargeroff" var/icon_state_charged = "recharger2" var/icon_state_charging = "recharger1" var/icon_state_idle = "recharger0" -/obj/machinery/recharger/attackby(obj/item/weapon/G as obj, mob/user as mob, params) - if(istype(user,/mob/living/silicon)) - return - - if(!user.canUnEquip(G, 0)) - to_chat(user, "[G] is stuck to your hand, you can't put it in [src]!") - return - - if(istype(G, /obj/item/weapon/gun/energy) || istype(G, /obj/item/weapon/melee/baton) || istype(G,/obj/item/device/laptop) || istype(G, /obj/item/weapon/rcs)) +/obj/machinery/recharger/attackby(obj/item/weapon/G, mob/user, params) + if(iswrench(G)) if(charging) - return - - // Checks to make sure he's not in space doing it, and that the area got proper power. - var/area/a = get_area(src) - if(!isarea(a)) - to_chat(user, "\red The [name] blinks red as you try to insert the item!") - return - if(a.power_equip == 0 && a.requires_power) - to_chat(user, "\red The [name] blinks red as you try to insert the item!") - return - - if(istype(G, /obj/item/weapon/gun/energy)) - var/obj/item/weapon/gun/energy/E = G - if(!E.can_charge) - to_chat(user, "Your gun has no external power connector.") - return - - if(istype(G, /obj/item/device/laptop)) - var/obj/item/device/laptop/L = G - if(!L.stored_computer.battery) - to_chat(user, "There's no battery in it!") - return - - user.drop_item() - G.loc = src - charging = G - use_power = 2 - update_icon() - else if(istype(G, /obj/item/weapon/wrench)) - if(charging) - to_chat(user, "\red Remove the weapon first!") + to_chat(user, "Remove the charging item first!") return anchored = !anchored - to_chat(user, "You [anchored ? "attached" : "detached"] the recharger.") + power_change() + to_chat(user, "You [anchored ? "attached" : "detached"] [src].") playsound(loc, G.usesound, 75, 1) + return + + var/allowed = is_type_in_list(G, allowed_devices) + + if(allowed) + if(anchored) + if(charging) + return 1 + + //Checks to make sure he's not in space doing it, and that the area got proper power. + var/area/a = get_area(src) + if(!isarea(a) || a.power_equip == 0) + to_chat(user, "[src] blinks red as you try to insert [G].") + return 1 + + if(istype(G, /obj/item/weapon/gun/energy)) + var/obj/item/weapon/gun/energy/E = G + if(!E.can_charge) + to_chat(user, "Your gun has no external power connector.") + return 1 + + if(!user.drop_item()) + return 1 + G.forceMove(src) + charging = G + use_power = 2 + update_icon() + else + to_chat(user, "[src] isn't connected to anything!") + return 1 + else + ..() + +/obj/machinery/recharger/attack_hand(mob/user) + if(issilicon(user)) + return -/obj/machinery/recharger/attack_hand(mob/user as mob) add_fingerprint(user) - if(charging) charging.update_icon() - charging.loc = loc + charging.forceMove(loc) + user.put_in_hands(charging) + charging = null + use_power = 1 + update_icon() + +/obj/machinery/recharger/attack_tk(mob/user) + if(charging) + charging.update_icon() + charging.forceMove(loc) charging = null use_power = 1 update_icon() @@ -73,43 +81,42 @@ if(stat & (NOPOWER|BROKEN) || !anchored) return + var/using_power = 0 if(charging) if(istype(charging, /obj/item/weapon/gun/energy)) var/obj/item/weapon/gun/energy/E = charging if(E.power_supply.charge < E.power_supply.maxcharge) - E.power_supply.give(1000) - icon_state = icon_state_charging - use_power(2500) - else - icon_state = icon_state_charged - return + E.power_supply.give(E.power_supply.chargerate) + use_power(250) + using_power = 1 + + if(istype(charging, /obj/item/weapon/melee/baton)) var/obj/item/weapon/melee/baton/B = charging - if(B.bcell && B.bcell.charge < B.bcell.maxcharge) - B.bcell.charge += 1750 - icon_state = icon_state_charging - use_power(2000) - else - icon_state = icon_state_charged - return - if(istype(charging, /obj/item/device/laptop)) - var/obj/item/device/laptop/L = charging - if(L.stored_computer.battery.charge < L.stored_computer.battery.maxcharge) - L.stored_computer.battery.give(1000) - icon_state = icon_state_charging - use_power(2500) - else - icon_state = icon_state_charged + if(B.bcell) + if(B.bcell.give(B.bcell.chargerate)) + use_power(200) + using_power = 1 + + if(istype(charging, /obj/item/device/modular_computer)) + var/obj/item/device/modular_computer/C = charging + var/obj/item/weapon/computer_hardware/battery/battery_module = C.all_components[MC_CELL] + if(battery_module) + var/obj/item/weapon/computer_hardware/battery/B = battery_module + if(B.battery) + if(B.battery.charge < B.battery.maxcharge) + B.battery.give(B.battery.chargerate) + use_power(200) + using_power = 1 + if(istype(charging, /obj/item/weapon/rcs)) var/obj/item/weapon/rcs/R = charging - if(R.rcell && R.rcell.charge < R.rcell.maxcharge) - R.rcell.charge += 1750 - icon_state = icon_state_charging - use_power(2000) - else - icon_state = icon_state_charged - return + if(R.rcell) + if(R.rcell.give(R.rcell.chargerate)) + use_power(200) + using_power = 1 + update_icon(using_power) /obj/machinery/recharger/emp_act(severity) if(stat & (NOPOWER|BROKEN) || !anchored) @@ -127,17 +134,23 @@ B.bcell.charge = 0 ..(severity) -/obj/machinery/recharger/update_icon() //we have an update_icon() in addition to the stuff in process to make it feel a tiny bit snappier. +/obj/machinery/recharger/update_icon(using_power = 0) //we have an update_icon() in addition to the stuff in process to make it feel a tiny bit snappier. + if(stat & (NOPOWER|BROKEN) || !anchored) + icon_state = icon_state_off + return if(charging) - icon_state = icon_state_charging - else - icon_state = icon_state_idle + if(using_power) + icon_state = icon_state_charging + else + icon_state = icon_state_charged + return + icon_state = icon_state_idle // Atlantis: No need for that copy-pasta code, just use var to store icon_states instead. obj/machinery/recharger/wallcharger name = "wall recharger" - icon = 'icons/obj/stationobjs.dmi' icon_state = "wrecharger0" + icon_state_off = "wrechargeroff" icon_state_idle = "wrecharger0" icon_state_charging = "wrecharger1" icon_state_charged = "wrecharger2" diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 085fc9a9aa1..f0a635c73a8 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -159,10 +159,7 @@ R.adjustFireLoss(-(repairs)) R.updatehealth() if(R.cell) - if(R.cell.charge >= R.cell.maxcharge) - R.cell.charge = R.cell.maxcharge - else - R.cell.charge = min(R.cell.charge + recharge_speed, R.cell.maxcharge) + R.cell.charge = min(R.cell.charge + recharge_speed, R.cell.maxcharge) else if(istype(occupant, /mob/living/carbon/human)) var/mob/living/carbon/human/H = occupant if(H.get_int_organ(/obj/item/organ/internal/cell) && H.nutrition < 450) diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index 339d28ce80c..6028f39af6d 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -49,7 +49,7 @@ if(src.health <= 0) - visible_message("\blue The [src] dissipates") + visible_message("The [src] dissipates") qdel(src) return @@ -62,7 +62,7 @@ health -= Proj.damage ..() if(health <=0) - visible_message("\blue The [src] dissipates") + visible_message("The [src] dissipates") qdel(src) return opacity = 1 @@ -109,7 +109,7 @@ //Handle the destruction of the shield if(src.health <= 0) - visible_message("\blue The [src] dissipates") + visible_message("The [src] dissipates") qdel(src) return @@ -218,14 +218,14 @@ return if(src.active) - user.visible_message("\blue [bicon(src)] [user] deactivated the shield generator.", \ - "\blue [bicon(src)] You deactivate the shield generator.", \ + user.visible_message("[bicon(src)] [user] deactivated the shield generator.", \ + "[bicon(src)] You deactivate the shield generator.", \ "You hear heavy droning fade out.") src.shields_down() else if(anchored) - user.visible_message("\blue [bicon(src)] [user] activated the shield generator.", \ - "\blue [bicon(src)] You activate the shield generator.", \ + user.visible_message("[bicon(src)] [user] activated the shield generator.", \ + "[bicon(src)] You activate the shield generator.", \ "You hear heavy droning.") src.shields_up() else @@ -240,15 +240,15 @@ else if(istype(W, /obj/item/weapon/screwdriver)) playsound(src.loc, W.usesound, 100, 1) if(is_open) - to_chat(user, "\blue You close the panel.") + to_chat(user, "You close the panel.") is_open = 0 else - to_chat(user, "\blue You open the panel and expose the wiring.") + to_chat(user, "You open the panel and expose the wiring.") is_open = 1 else if(istype(W, /obj/item/stack/cable_coil) && malfunction && is_open) var/obj/item/stack/cable_coil/coil = W - to_chat(user, "\blue You begin to replace the wires.") + to_chat(user, "You begin to replace the wires.") //if(do_after(user, min(60, round( ((maxhealth/health)*10)+(malfunction*10) ), target = src)) //Take longer to repair heavier damage if(do_after(user, 30 * coil.toolspeed, target = src)) if(!src || !coil) return @@ -256,7 +256,7 @@ health = max_health malfunction = 0 playsound(loc, coil.usesound, 50, 1) - to_chat(user, "\blue You repair the [src]!") + to_chat(user, "You repair the [src]!") update_icon() else if(istype(W, /obj/item/weapon/wrench)) @@ -265,15 +265,15 @@ return if(anchored) playsound(src.loc, W.usesound, 100, 1) - to_chat(user, "\blue You unsecure the [src] from the floor!") + to_chat(user, "You unsecure the [src] from the floor!") if(active) - to_chat(user, "\blue The [src] shuts off!") + to_chat(user, "The [src] shuts off!") src.shields_down() anchored = 0 else if(istype(get_turf(src), /turf/space)) return //No wrenching these in space! playsound(src.loc, W.usesound, 100, 1) - to_chat(user, "\blue You secure the [src] to the floor!") + to_chat(user, "You secure the [src] to the floor!") anchored = 1 @@ -282,7 +282,7 @@ src.locked = !src.locked to_chat(user, "The controls are now [src.locked ? "locked." : "unlocked."]") else - to_chat(user, "\red Access denied.") + to_chat(user, "Access denied.") else ..() @@ -350,13 +350,13 @@ /obj/machinery/shieldwallgen/attack_hand(mob/user as mob) if(state != 1) - to_chat(user, "\red The shield generator needs to be firmly secured to the floor first.") + to_chat(user, "The shield generator needs to be firmly secured to the floor first.") return 1 if(src.locked && !istype(user, /mob/living/silicon)) - to_chat(user, "\red The controls are locked!") + to_chat(user, "The controls are locked!") return 1 if(power != 1) - to_chat(user, "\red The shield generator needs to be powered by wire underneath.") + to_chat(user, "The shield generator needs to be powered by wire underneath.") return 1 if(src.active >= 1) @@ -402,7 +402,7 @@ src.active = 2 if(src.active >= 1) if(src.power == 0) - src.visible_message("\red The [src.name] shuts down due to lack of power!", \ + src.visible_message("The [src.name] shuts down due to lack of power!", \ "You hear heavy droning fade out") icon_state = "Shield_Gen" src.active = 0 @@ -478,7 +478,7 @@ src.locked = !src.locked to_chat(user, "Controls are now [src.locked ? "locked." : "unlocked."]") else - to_chat(user, "\red Access denied.") + to_chat(user, "Access denied.") else add_fingerprint(user) diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 5441673b603..600dc3704fa 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -62,13 +62,13 @@ C.loc = src C.add_fingerprint(usr) - user.visible_message("\blue [user] inserts a power cell into [src].", "\blue You insert the power cell into [src].") + user.visible_message("[user] inserts a power cell into [src].", "You insert the power cell into [src].") else to_chat(user, "The hatch must be open to insert a power cell.") return else if(istype(I, /obj/item/weapon/screwdriver)) open = !open - user.visible_message("\blue [user] [open ? "opens" : "closes"] the hatch on the [src].", "\blue You [open ? "open" : "close"] the hatch on the [src].") + user.visible_message("[user] [open ? "opens" : "closes"] the hatch on the [src].", "You [open ? "open" : "close"] the hatch on the [src].") update_icon() if(!open && user.machine == src) user << browse(null, "window=spaceheater") @@ -105,7 +105,7 @@ else on = !on - user.visible_message("\blue [user] switches [on ? "on" : "off"] the [src].","\blue You switch [on ? "on" : "off"] the [src].") + user.visible_message("[user] switches [on ? "on" : "off"] the [src].","You switch [on ? "on" : "off"] the [src].") update_icon() return @@ -130,7 +130,7 @@ usr.put_in_hands(cell) cell.add_fingerprint(usr) cell = null - usr.visible_message("\blue [usr] removes the power cell from \the [src].", "\blue You remove the power cell from \the [src].") + usr.visible_message("[usr] removes the power cell from \the [src].", "You remove the power cell from \the [src].") if("cellinstall") @@ -142,7 +142,7 @@ C.loc = src C.add_fingerprint(usr) - usr.visible_message("\blue [usr] inserts a power cell into \the [src].", "\blue You insert the power cell into \the [src].") + usr.visible_message("[usr] inserts a power cell into \the [src].", "You insert the power cell into \the [src].") updateDialog() else diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 85d48ceeaaa..eee465e062a 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -667,11 +667,11 @@ return if(locked) - to_chat(user, "\red The suit cycler is locked.") + to_chat(user, "The suit cycler is locked.") return if(src.contents.len > 0) - to_chat(user, "\red There is no room inside the cycler for [G.affecting.name].") + to_chat(user, "There is no room inside the cycler for [G.affecting.name].") return visible_message("[user] starts putting [G.affecting.name] into the suit cycler.") @@ -698,7 +698,7 @@ else if(istype(I,/obj/item/clothing/head/helmet/space)) if(locked) - to_chat(user, "\red The suit cycler is locked.") + to_chat(user, "The suit cycler is locked.") return if(helmet) @@ -717,7 +717,7 @@ else if(istype(I,/obj/item/clothing/suit/space/hardsuit)) if(locked) - to_chat(user, "\red The suit cycler is locked.") + to_chat(user, "The suit cycler is locked.") return if(suit) @@ -747,11 +747,11 @@ /obj/machinery/suit_cycler/emag_act(user as mob) if(emagged) - to_chat(user, "\red The cycler has already been subverted.") + to_chat(user, "The cycler has already been subverted.") return //Clear the access reqs, disable the safeties, and open up all paintjobs. - to_chat(user, "\red You run the sequencer across the interface, corrupting the operating protocols.") + to_chat(user, "You run the sequencer across the interface, corrupting the operating protocols.") departments = list("Engineering","Mining","Medical","Security","Atmos","^%###^%$") emagged = 1 safeties = 0 @@ -875,12 +875,12 @@ locked = !locked to_chat(usr, "You [locked ? "" : "un"]lock \the [src].") else - to_chat(usr, "\red Access denied.") + to_chat(usr, "Access denied.") else if(href_list["begin_decontamination"]) if(safeties && occupant) - to_chat(usr, "\red The cycler has detected an occupant. Please remove the occupant before commencing the decontamination cycle.") + to_chat(usr, "The cycler has detected an occupant. Please remove the occupant before commencing the decontamination cycle.") return active = 1 @@ -979,7 +979,7 @@ /obj/machinery/suit_cycler/proc/eject_occupant(mob/user as mob) if(locked || active) - to_chat(user, "\red The cycler is locked.") + to_chat(user, "The cycler is locked.") return if(!occupant) diff --git a/code/game/machinery/telecomms/logbrowser.dm b/code/game/machinery/telecomms/logbrowser.dm index 6f5eaa3f2b5..48d65eb051b 100644 --- a/code/game/machinery/telecomms/logbrowser.dm +++ b/code/game/machinery/telecomms/logbrowser.dm @@ -149,7 +149,7 @@ if(href_list["delete"]) if(!src.allowed(usr) && !emagged) - to_chat(usr, "\red ACCESS DENIED.") + to_chat(usr, "ACCESS DENIED.") return if(SelectedServer) @@ -187,7 +187,7 @@ playsound(src.loc, D.usesound, 50, 1) if(do_after(user, 20 * D.toolspeed, target = src)) if(src.stat & BROKEN) - to_chat(user, "\blue The broken glass falls out.") + to_chat(user, "The broken glass falls out.") var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) new /obj/item/weapon/shard(loc) var/obj/item/weapon/circuitboard/comm_server/M = new /obj/item/weapon/circuitboard/comm_server( A ) @@ -199,7 +199,7 @@ A.anchored = 1 qdel(src) else - to_chat(user, "\blue You disconnect the monitor.") + to_chat(user, "You disconnect the monitor.") var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) var/obj/item/weapon/circuitboard/comm_server/M = new /obj/item/weapon/circuitboard/comm_server( A ) for(var/obj/C in src) @@ -216,4 +216,4 @@ if(!emagged) playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1) emagged = 1 - to_chat(user, "\blue You you disable the security protocols") + to_chat(user, "You you disable the security protocols") diff --git a/code/game/machinery/telecomms/telemonitor.dm b/code/game/machinery/telecomms/telemonitor.dm index 7340406ed6a..6b5201460e4 100644 --- a/code/game/machinery/telecomms/telemonitor.dm +++ b/code/game/machinery/telecomms/telemonitor.dm @@ -131,7 +131,7 @@ playsound(src.loc, D.usesound, 50, 1) if(do_after(user, 20 * D.toolspeed, target = src)) if(src.stat & BROKEN) - to_chat(user, "\blue The broken glass falls out.") + to_chat(user, "The broken glass falls out.") var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) new /obj/item/weapon/shard(loc) var/obj/item/weapon/circuitboard/comm_monitor/M = new /obj/item/weapon/circuitboard/comm_monitor( A ) @@ -143,7 +143,7 @@ A.anchored = 1 qdel(src) else - to_chat(user, "\blue You disconnect the monitor.") + to_chat(user, "You disconnect the monitor.") var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) var/obj/item/weapon/circuitboard/comm_monitor/M = new /obj/item/weapon/circuitboard/comm_monitor( A ) for(var/obj/C in src) @@ -160,4 +160,4 @@ if(!emagged) playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1) emagged = 1 - to_chat(user, "\blue You you disable the security protocols") + to_chat(user, "You you disable the security protocols") diff --git a/code/game/machinery/telecomms/traffic_control.dm b/code/game/machinery/telecomms/traffic_control.dm index 89c36429b14..2aa0c2a5d59 100644 --- a/code/game/machinery/telecomms/traffic_control.dm +++ b/code/game/machinery/telecomms/traffic_control.dm @@ -343,7 +343,7 @@ playsound(get_turf(src), D.usesound, 50, 1) if(do_after(user, 20 * D.toolspeed, target = src)) if(src.stat & BROKEN) - to_chat(user, "\blue The broken glass falls out.") + to_chat(user, "The broken glass falls out.") var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) new /obj/item/weapon/shard(loc) var/obj/item/weapon/circuitboard/comm_traffic/M = new /obj/item/weapon/circuitboard/comm_traffic( A ) @@ -355,7 +355,7 @@ A.anchored = 1 qdel(src) else - to_chat(user, "\blue You disconnect the monitor.") + to_chat(user, "You disconnect the monitor.") var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) var/obj/item/weapon/circuitboard/comm_traffic/M = new /obj/item/weapon/circuitboard/comm_traffic( A ) for(var/obj/C in src) @@ -372,7 +372,7 @@ if(!emagged) playsound(get_turf(src), 'sound/effects/sparks4.ogg', 75, 1) emagged = 1 - to_chat(user, "\blue You you disable the security protocols") + to_chat(user, "You you disable the security protocols") /obj/machinery/computer/telecomms/traffic/proc/canAccess(var/mob/user) if(issilicon(user) || in_range(user, src)) diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index 843002a804d..8479e4e051b 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -55,7 +55,7 @@ /obj/machinery/computer/teleporter/emag_act(user as mob) if(!emagged) emagged = 1 - to_chat(user, "\blue The teleporter can now lock on to Syndicate beacons!") + to_chat(user, "The teleporter can now lock on to Syndicate beacons!") else ui_interact(user) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 1aadc7f6fa5..e694ac98817 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -261,7 +261,7 @@ I.loc = src coin = I categories |= CAT_COIN - to_chat(user, "\blue You insert the [I] into the [src]") + to_chat(user, "You insert the [I] into the [src]") nanomanager.update_uis(src) return else if(istype(I, refill_canister) && refill_canister != null) @@ -574,7 +574,7 @@ /obj/machinery/vending/proc/stock(var/datum/data/vending_product/R, var/mob/user) if(panel_open) - to_chat(user, "\blue You stock the [src] with \a [R.product_name]") + to_chat(user, "You stock the [src] with \a [R.product_name]") R.amount++ updateUsrDialog() diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index e075457a9e5..e27a97c796c 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -199,7 +199,7 @@ /obj/machinery/washing_machine/attackby(obj/item/weapon/W as obj, mob/user as mob, params) /*if(istype(W,/obj/item/weapon/screwdriver)) panel = !panel - to_chat(user, "\blue you [panel ? "open" : "close"] the [src]'s maintenance panel")*/ + to_chat(user, "you [panel ? "open" : "close"] the [src]'s maintenance panel")*/ if(istype(W,/obj/item/toy/crayon) ||istype(W,/obj/item/weapon/stamp)) if( state in list( 1, 3, 6 ) ) if(!crayon) @@ -278,9 +278,9 @@ W.loc = src state = 3 else - to_chat(user, "\blue You can't put the item in right now.") + to_chat(user, "You can't put the item in right now.") else - to_chat(user, "\blue The washing machine is full.") + to_chat(user, "The washing machine is full.") else ..() update_icon() @@ -302,7 +302,7 @@ crayon = null state = 1 if(5) - to_chat(user, "\red The [src] is busy.") + to_chat(user, "The [src] is busy.") if(6) state = 7 if(7) diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index 9e2a754bd4c..3f60c56a952 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -185,7 +185,7 @@ icon_state = "repair_droid" origin_tech = "magnets=3;programming=3" equip_cooldown = 20 - energy_drain = 100 + energy_drain = 50 range = 0 var/health_boost = 1 var/icon/droid_overlay diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 8be1f021a38..a4c7b7d2f5d 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -78,7 +78,7 @@ equip_cooldown = 10 name = "CH-LC \"Solaris\" Laser Cannon" icon_state = "mecha_laser" - energy_drain = 40 + energy_drain = 60 projectile = /obj/item/projectile/beam/laser/heavylaser fire_sound = 'sound/weapons/lasercannonfire.ogg' @@ -448,7 +448,7 @@ desc = "A device that shoots resonant plasma bursts at extreme velocity. The blasts are capable of crushing rock and demloishing solid obstacles." icon_state = "mecha_plasmacutter" item_state = "plasmacutter" - energy_drain = 60 + energy_drain = 30 origin_tech = "materials=3;combat=2;powerstorage=3;plasmatech=3" projectile = /obj/item/projectile/plasma/adv/mech fire_sound = 'sound/weapons/laser.ogg' diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index b489af5f5ac..1ad2bc83d96 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -491,14 +491,14 @@ take_damage(15) check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST)) playsound(loc, 'sound/weapons/slash.ogg', 50, 1, -1) - to_chat(user, "\red You slash at the armored suit!") - visible_message("\red The [user] slashes at [name]'s armor!") + to_chat(user, "You slash at the armored suit!") + visible_message("The [user] slashes at [name]'s armor!") else log_append_to_last("Armor saved.") playsound(loc, 'sound/weapons/slash.ogg', 50, 1, -1) - to_chat(user, "\green Your claws had no effect!") - occupant_message("\blue The [user]'s claws are stopped by the armor.") - visible_message("\blue The [user] rebounds off [name]'s armor!") + to_chat(user, "Your claws had no effect!") + occupant_message("The [user]'s claws are stopped by the armor.") + visible_message("The [user] rebounds off [name]'s armor!") return @@ -519,8 +519,8 @@ else log_append_to_last("Armor saved.") playsound(loc, 'sound/weapons/slash.ogg', 50, 1, -1) - occupant_message("\blue The [user]'s attack is stopped by the armor.") - visible_message("\blue The [user] rebounds off [name]'s armor!") + occupant_message("The [user]'s attack is stopped by the armor.") + visible_message("The [user] rebounds off [name]'s armor!") user.create_attack_log("attacked [name]") return @@ -662,7 +662,7 @@ /obj/mecha/emp_act(severity) if(get_charge()) - use_power((cell.charge / 2) / severity) + use_power((cell.charge/3)/(severity*2)) take_damage(50 / severity, "energy") log_message("EMP detected", 1) check_for_internal_damage(list(MECHA_INT_FIRE, MECHA_INT_TEMP_CONTROL, MECHA_INT_CONTROL_LOST, MECHA_INT_SHORT_CIRCUIT), 1) @@ -857,11 +857,11 @@ /obj/mecha/emag_act(user as mob) if(istype(src, /obj/mecha/working/ripley) && emagged == 0) emagged = 1 - to_chat(usr, "\blue You slide the card through the [src]'s ID slot.") + to_chat(usr, "You slide the card through the [src]'s ID slot.") playsound(loc, "sparks", 100, 1) desc += "
The mech's equipment slots spark dangerously!" else - to_chat(usr, "\red The [src]'s ID slot rejects the card.") + to_chat(usr, "The [src]'s ID slot rejects the card.") return @@ -1047,12 +1047,12 @@ var/obj/machinery/atmospherics/unary/portables_connector/possible_port = locate(/obj/machinery/atmospherics/unary/portables_connector/) in loc if(possible_port) if(connect(possible_port)) - occupant_message("\blue [name] connects to the port.") + occupant_message("[name] connects to the port.") verbs += /obj/mecha/verb/disconnect_from_port verbs -= /obj/mecha/verb/connect_to_port return else - occupant_message("\red [name] failed to connect to the port.") + occupant_message("[name] failed to connect to the port.") return else occupant_message("Nothing happens") @@ -1067,11 +1067,11 @@ if(usr!=occupant) return if(disconnect()) - occupant_message("\blue [name] disconnects from the port.") + occupant_message("[name] disconnects from the port.") verbs -= /obj/mecha/verb/disconnect_from_port verbs += /obj/mecha/verb/connect_to_port else - occupant_message("\red [name] is not connected to the port at the moment.") + occupant_message("[name] is not connected to the port at the moment.") /obj/mecha/verb/toggle_lights() set name = "Toggle Lights" diff --git a/code/game/mecha/mecha_wreckage.dm b/code/game/mecha/mecha_wreckage.dm index 2624a47a1c9..af6f2f20b3f 100644 --- a/code/game/mecha/mecha_wreckage.dm +++ b/code/game/mecha/mecha_wreckage.dm @@ -55,7 +55,7 @@ else to_chat(user, "You failed to salvage anything valuable from [src].") else - to_chat(user, "\blue You need more welding fuel to complete this task.") + to_chat(user, "You need more welding fuel to complete this task.") else if(istype(W, /obj/item/weapon/wirecutters)) if(salvage_num <= 0) to_chat(user, "You don't see anything that can be cut with [W].") diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index bb5e0237c9b..6c563bb22b3 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -129,7 +129,7 @@ if(href_list["drop_from_cargo"]) var/obj/O = locate(href_list["drop_from_cargo"]) if(O && O in cargo) - occupant_message("\blue You unload [O].") + occupant_message("You unload [O].") O.loc = get_turf(src) cargo -= O var/turf/T = get_turf(O) diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm index 2f3995c1a8d..1cd105367ed 100644 --- a/code/game/objects/effects/effect_system.dm +++ b/code/game/objects/effects/effect_system.dm @@ -1155,10 +1155,10 @@ steam.start() -- spawns the effect s.start() for(var/mob/M in viewers(5, location)) - to_chat(M, "\red The solution violently explodes.") + to_chat(M, "The solution violently explodes.") for(var/mob/M in viewers(1, location)) if(prob (50 * amount)) - to_chat(M, "\red The explosion knocks you down.") + to_chat(M, "The explosion knocks you down.") M.Weaken(rand(1,5)) return else @@ -1181,7 +1181,7 @@ steam.start() -- spawns the effect flash += (round(amount/4) * flashing_factor) for(var/mob/M in viewers(8, location)) - to_chat(M, "\red The solution violently explodes.") + to_chat(M, "The solution violently explodes.") explosion(location, devastation, heavy, light, flash) diff --git a/code/game/objects/effects/gibs.dm b/code/game/objects/effects/gibs.dm index a9e165666fc..5c5005fb6fd 100644 --- a/code/game/objects/effects/gibs.dm +++ b/code/game/objects/effects/gibs.dm @@ -25,7 +25,7 @@ proc/Gib(atom/location, var/list/viruses = list(), var/datum/dna/MobDNA = null) if(gibtypes.len != gibamounts.len || gibamounts.len != gibdirections.len) - to_chat(world, "\red Gib list length mismatch!") + to_chat(world, "Gib list length mismatch!") return var/obj/effect/decal/cleanable/blood/gibs/gib = null diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 7ff80f248da..e5b1098e2d0 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -20,6 +20,9 @@ wizardstart += loc qdel(src) + if("avatarspawn") + avatarspawn += loc + if("JoinLate") latejoin += loc qdel(src) @@ -251,7 +254,7 @@ new /obj/item/clothing/mask/gas/sexymime(src.loc) new /obj/item/clothing/under/sexymime(src.loc) qdel(src) - + /obj/effect/landmark/ruin var/datum/map_template/ruin/ruin_template diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 4a7155aa6cb..a2eff8a2aa1 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -391,22 +391,22 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d if(!usr.canmove || usr.stat || usr.restrained() || !Adjacent(usr)) return if((!istype(usr, /mob/living/carbon)) || (istype(usr, /mob/living/carbon/brain)))//Is humanoid, and is not a brain - to_chat(usr, "\red You can't pick things up!") + to_chat(usr, "You can't pick things up!") return if( usr.stat || usr.restrained() )//Is not asleep/dead and is not restrained - to_chat(usr, "\red You can't pick things up!") + to_chat(usr, "You can't pick things up!") return if(src.anchored) //Object isn't anchored - to_chat(usr, "\red You can't pick that up!") + to_chat(usr, "You can't pick that up!") return if(!usr.hand && usr.r_hand) //Right hand is not full - to_chat(usr, "\red Your right hand is full.") + to_chat(usr, "Your right hand is full.") return if(usr.hand && usr.l_hand) //Left hand is not full - to_chat(usr, "\red Your left hand is full.") + to_chat(usr, "Your left hand is full.") return if(!istype(src.loc, /turf)) //Object is on a turf - to_chat(usr, "\red You can't pick that up!") + to_chat(usr, "You can't pick that up!") return //All checks are done, time to pick it up! usr.UnarmedAttack(src) diff --git a/code/game/objects/items/ashtray.dm b/code/game/objects/items/ashtray.dm index 8ce5ecc288f..c7d283908d7 100644 --- a/code/game/objects/items/ashtray.dm +++ b/code/game/objects/items/ashtray.dm @@ -59,14 +59,14 @@ die() return if(contents.len) - src.visible_message("\red [src] slams into [hit_atom] spilling its contents!") + src.visible_message("[src] slams into [hit_atom] spilling its contents!") for(var/obj/item/clothing/mask/cigarette/O in contents) O.loc = src.loc icon_state = icon_empty return ..() /obj/item/ashtray/proc/die() - src.visible_message("\red [src] shatters spilling its contents!") + src.visible_message("[src] shatters spilling its contents!") for(var/obj/item/clothing/mask/cigarette/O in contents) O.loc = src.loc icon_state = icon_broken diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index e7443755978..c52aa0e1792 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -126,7 +126,7 @@ MouseDrop(over_object, src_location, over_location) if((over_object == usr && (in_range(src, usr) || usr.contents.Find(src)))) if(!ishuman(usr)) return - to_chat(usr, "\red You can't fold that up anymore..") + to_chat(usr, "You can't fold that up anymore..") ..() attackby(W as obj, mob/user as mob, params) @@ -135,5 +135,5 @@ src.locked = !src.locked to_chat(user, "The controls are now [src.locked ? "locked." : "unlocked."]") else - to_chat(user, "\red Access denied.") + to_chat(user, "Access denied.") return \ No newline at end of file diff --git a/code/game/objects/items/devices/autopsy.dm b/code/game/objects/items/devices/autopsy.dm index f2ddc395eee..7ebf13e538b 100644 --- a/code/game/objects/items/devices/autopsy.dm +++ b/code/game/objects/items/devices/autopsy.dm @@ -138,7 +138,6 @@ for(var/chemID in chemtraces) scan_data += chemID scan_data += "
" - user.visible_message("[src] rattles and prints out a sheet of paper.") playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1) diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 52a9a343e6b..fefb20e90e4 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -152,7 +152,7 @@ if(M.stat == CONSCIOUS) M.mind_initialize() //give them a mind datum if they don't have one. var/resisted - if(!isloyal(M)) + if(!ismindshielded(M)) if(user.mind in ticker.mode.head_revolutionaries) if(ticker.mode.add_revolutionary(M.mind)) times_used -- //Flashes less likely to burn out for headrevs when used for conversion diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index d527e16a51f..763666f36c7 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -260,7 +260,7 @@ var/delta = (world.time / 10) - last_request if(request_cooldown > delta) var/cooldown_time = round(request_cooldown - ((world.time / 10) - last_request), 1) - to_chat(usr, "\red The request system is currently offline. Please wait another [cooldown_time] seconds.") + to_chat(usr, "The request system is currently offline. Please wait another [cooldown_time] seconds.") return last_request = world.time / 10 looking_for_personality = 1 @@ -328,7 +328,7 @@ /obj/item/device/paicard/proc/alertUpdate() var/turf/T = get_turf_or_move(loc) for(var/mob/M in viewers(T)) - M.show_message("\blue [src] flashes a message across its screen, \"Additional personalities available for download.\"", 3, "\blue [src] bleeps electronically.", 2) + M.show_message("[src] flashes a message across its screen, \"Additional personalities available for download.\"", 3, "[src] bleeps electronically.", 2) /obj/item/device/paicard/emp_act(severity) for(var/mob/M in src) diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index a0d997362ac..65093361197 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -13,7 +13,7 @@ materials = list(MAT_METAL=750) origin_tech = "powerstorage=3;syndicate=5" var/drain_rate = 1600000 // amount of power to drain per tick - var/apc_drain_rate = 5000 // Max. amount drained from single APC. In Watts. + var/apc_drain_rate = 50 // Max. amount drained from single APC. In Watts. var/dissipation_rate = 20000 // Passive dissipation of drained power. In Watts. var/power_drained = 0 // Amount of power drained. var/max_power = 1e10 // Detonation point. @@ -112,10 +112,10 @@ if(istype(T.master, /obj/machinery/power/apc)) var/obj/machinery/power/apc/A = T.master if(A.operating && A.cell) - var/cur_charge = A.cell.charge / CELLRATE - var/drain_val = min(apc_drain_rate, cur_charge) - A.cell.use(drain_val * CELLRATE) - drained += drain_val + A.cell.charge = max(0, A.cell.charge - apc_drain_rate) + drained += apc_drain_rate + if(A.charging == 2) // If the cell was full + A.charging = 1 // It's no longer full power_drained += drained return 1 diff --git a/code/game/objects/items/devices/radio/beacon.dm b/code/game/objects/items/devices/radio/beacon.dm index 5dc67b15478..55f42587104 100644 --- a/code/game/objects/items/devices/radio/beacon.dm +++ b/code/game/objects/items/devices/radio/beacon.dm @@ -21,7 +21,7 @@ if(!emagged) emagged = 1 syndicate = 1 - to_chat(user, "\blue The This beacon now only be locked on to by emagged teleporters!") + to_chat(user, "The This beacon now only be locked on to by emagged teleporters!") /obj/item/device/radio/beacon/hear_talk() return @@ -58,7 +58,7 @@ /obj/item/device/radio/beacon/syndicate/attack_self(mob/user as mob) if(user) - to_chat(user, "\blue Locked In") + to_chat(user, "Locked In") new /obj/machinery/power/singularity_beacon/syndicate( user.loc ) playsound(src, 'sound/effects/pop.ogg', 100, 1, 1) qdel(src) @@ -71,7 +71,7 @@ /obj/item/device/radio/beacon/syndicate/bomb/attack_self(mob/user as mob) if(user) - to_chat(user, "\blue Locked In") + to_chat(user, "Locked In") new /obj/machinery/syndicatebomb( user.loc ) playsound(src, 'sound/effects/pop.ogg', 100, 1, 1) qdel(src) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 05bce7ad51c..b48f21a60cd 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -577,9 +577,9 @@ var/global/list/default_medbay_channels = list( . = ..(user, distance) if((in_range(src, user) || loc == user)) if(b_stat) - user.show_message("\blue \the [src] can be attached and modified!") + user.show_message("\the [src] can be attached and modified!") else - user.show_message("\blue \the [src] can not be modified or attached!") + user.show_message("\the [src] can not be modified or attached!") return . /obj/item/device/radio/attackby(obj/item/weapon/W as obj, mob/user as mob, params) @@ -590,9 +590,9 @@ var/global/list/default_medbay_channels = list( b_stat = !( b_stat ) if(!istype(src, /obj/item/device/radio/beacon)) if(b_stat) - user.show_message("\blue The radio can now be attached and modified!") + user.show_message("The radio can now be attached and modified!") else - user.show_message("\blue The radio can no longer be modified or attached!") + user.show_message("The radio can no longer be modified or attached!") updateDialog() //Foreach goto(83) add_fingerprint(user) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 5d597961650..e5bfcb91279 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -128,24 +128,24 @@ REAGENT SCANNER /obj/item/device/healthanalyzer/attack(mob/living/M as mob, mob/living/user as mob) if(( (CLUMSY in user.mutations) || user.getBrainLoss() >= 60) && prob(50)) - to_chat(user, text("\red You try to analyze the floor's vitals!")) + to_chat(user, text("You try to analyze the floor's vitals!")) for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [user] has analyzed the floor's vitals!"), 1) - user.show_message(text("\blue Analyzing Results for The floor:\n\t Overall Status: Healthy"), 1) - user.show_message(text("\blue \t Damage Specifics: [0]-[0]-[0]-[0]"), 1) - user.show_message("\blue Key: Suffocation/Toxin/Burns/Brute", 1) - user.show_message("\blue Body Temperature: ???", 1) + O.show_message(text("[user] has analyzed the floor's vitals!"), 1) + user.show_message(text("Analyzing Results for The floor:\n\t Overall Status: Healthy"), 1) + user.show_message(text("\t Damage Specifics: [0]-[0]-[0]-[0]"), 1) + user.show_message("Key: Suffocation/Toxin/Burns/Brute", 1) + user.show_message("Body Temperature: ???", 1) return user.visible_message("[user] has analyzed [M]'s vitals."," You have analyzed [M]'s vitals.") if(!istype(M,/mob/living/carbon/human) || M.isSynthetic()) //these sensors are designed for organic life - user.show_message("\blue Analyzing Results for ERROR:\n\t Overall Status: ERROR") + user.show_message("Analyzing Results for ERROR:\n\t Overall Status: ERROR") user.show_message("\t Key: Suffocation/Toxin/Burns/Brute", 1) user.show_message("\t Damage Specifics: ? - ? - ? - ?") - user.show_message("\blue Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)", 1) - user.show_message("\red Warning: Blood Level ERROR: --% --cl.\blue Type: ERROR") - user.show_message("\blue Subject's pulse: -- bpm.") + user.show_message("Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)", 1) + user.show_message("Warning: Blood Level ERROR: --% --cl.Type: ERROR") + user.show_message("Subject's pulse: -- bpm.") return var/fake_oxy = max(rand(1,40), M.getOxyLoss(), (300 - (M.getToxLoss() + M.getFireLoss() + M.getBruteLoss()))) @@ -155,34 +155,34 @@ REAGENT SCANNER var/BR = M.getBruteLoss() > 50 ? "[M.getBruteLoss()]" : M.getBruteLoss() if(M.status_flags & FAKEDEATH) OX = fake_oxy > 50 ? "[fake_oxy]" : fake_oxy - user.show_message("\blue Analyzing Results for [M]:\n\t Overall Status: dead") + user.show_message("Analyzing Results for [M]:\n\t Overall Status: dead") else - user.show_message("\blue Analyzing Results for [M]:\n\t Overall Status: [M.stat > 1 ? "dead" : "[M.health]% healthy"]") + user.show_message("Analyzing Results for [M]:\n\t Overall Status: [M.stat > 1 ? "dead" : "[M.health]% healthy"]") user.show_message("\t Key: Suffocation/Toxin/Burns/Brute", 1) user.show_message("\t Damage Specifics: [OX] - [TX] - [BU] - [BR]") - user.show_message("\blue Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)", 1) + user.show_message("Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)", 1) if(M.timeofdeath && (M.stat == DEAD || (M.status_flags & FAKEDEATH))) - user.show_message("\blue Time of Death: [worldtime2text(M.timeofdeath)]") + user.show_message("Time of Death: [worldtime2text(M.timeofdeath)]") if(istype(M, /mob/living/carbon/human) && mode == 1) var/mob/living/carbon/human/H = M var/list/damaged = H.get_damaged_organs(1,1) - user.show_message("\blue Localized Damage, Brute/Burn:",1) + user.show_message("Localized Damage, Brute/Burn:",1) if(length(damaged)>0) for(var/obj/item/organ/external/org in damaged) - user.show_message(text("\blue \t []: [][]\blue - []", \ + user.show_message(text("\t []: [][] - []", \ capitalize(org.name), \ - (org.brute_dam > 0) ? "\red [org.brute_dam]" :0, \ + (org.brute_dam > 0) ? "[org.brute_dam]" :0, \ (org.status & ORGAN_BLEEDING)?"\[Bleeding\]":"\t", \ (org.burn_dam > 0) ? "[org.burn_dam]" :0),1) else - user.show_message("\blue \t Limbs are OK.",1) + user.show_message("\t Limbs are OK.",1) OX = M.getOxyLoss() > 50 ? "Severe oxygen deprivation detected" : "Subject bloodstream oxygen level normal" TX = M.getToxLoss() > 50 ? "Dangerous amount of toxins detected" : "Subject bloodstream toxin level minimal" BU = M.getFireLoss() > 50 ? "Severe burn damage detected" : "Subject burn injury status O.K" BR = M.getBruteLoss() > 50 ? "Severe anatomical damage detected" : "Subject brute-force injury status O.K" if(M.status_flags & FAKEDEATH) - OX = fake_oxy > 50 ? "\red Severe oxygen deprivation detected\blue" : "Subject bloodstream oxygen level normal" + OX = fake_oxy > 50 ? "Severe oxygen deprivation detected" : "Subject bloodstream oxygen level normal" user.show_message("[OX] | [TX] | [BU] | [BR]") if(istype(M, /mob/living/carbon)) if(upgraded) @@ -195,13 +195,13 @@ REAGENT SCANNER if(M.getCloneLoss()) user.show_message("Subject appears to have [M.getCloneLoss() > 30 ? "severe" : "minor"] cellular damage.") if(M.has_brain_worms()) - user.show_message("\red Subject suffering from aberrant brain activity. Recommend further scanning.") + user.show_message("Subject suffering from aberrant brain activity. Recommend further scanning.") else if(M.getBrainLoss() >= 100 || istype(M, /mob/living/carbon/human) && !M.get_int_organ(/obj/item/organ/internal/brain)) - user.show_message("\red Subject is brain dead.") + user.show_message("Subject is brain dead.") else if(M.getBrainLoss() >= 60) - user.show_message("\red Severe brain damage detected. Subject likely to have mental retardation.") + user.show_message("Severe brain damage detected. Subject likely to have mental retardation.") else if(M.getBrainLoss() >= 10) - user.show_message("\red Significant brain damage detected. Subject may have had a concussion.") + user.show_message("Significant brain damage detected. Subject may have had a concussion.") if(ishuman(M)) var/mob/living/carbon/human/H = M for(var/name in H.organs_by_name) @@ -211,20 +211,20 @@ REAGENT SCANNER var/limb = e.name if(e.status & ORGAN_BROKEN) if((e.limb_name in list("l_arm", "r_arm", "l_hand", "r_hand", "l_leg", "r_leg", "l_foot", "r_foot")) && !(e.status & ORGAN_SPLINTED)) - user.show_message("\red Unsecured fracture in subject [limb]. Splinting recommended for transport.") + user.show_message("Unsecured fracture in subject [limb]. Splinting recommended for transport.") if(e.has_infected_wound()) - user.show_message("\red Infected wound detected in subject [limb]. Disinfection recommended.") + user.show_message("Infected wound detected in subject [limb]. Disinfection recommended.") for(var/name in H.organs_by_name) var/obj/item/organ/external/e = H.organs_by_name[name] if(!e) continue if(e.status & ORGAN_BROKEN) - user.show_message(text("\red Bone fractures detected. Advanced scanner required for location."), 1) + user.show_message(text("Bone fractures detected. Advanced scanner required for location."), 1) break for(var/obj/item/organ/external/e in H.organs) for(var/datum/wound/W in e.wounds) if(W.internal) - user.show_message(text("\red Internal bleeding detected. Advanced scanner required for location."), 1) + user.show_message(text("Internal bleeding detected. Advanced scanner required for location."), 1) break if(H.vessel) var/blood_type = H.get_blood_name() @@ -232,17 +232,17 @@ REAGENT SCANNER var/blood_percent = blood_volume / BLOOD_VOLUME_NORMAL blood_percent *= 100 if(blood_volume <= 500) - user.show_message("\red Warning: Blood Level LOW: [blood_percent]% [blood_volume]cl") + user.show_message("Warning: Blood Level LOW: [blood_percent]% [blood_volume]cl") else if(blood_volume <= 336) - user.show_message("\red Warning: Blood Level CRITICAL: [blood_percent]% [blood_volume]cl") + user.show_message("Warning: Blood Level CRITICAL: [blood_percent]% [blood_volume]cl") else - user.show_message("\blue Blood Level Normal: [blood_percent]% [blood_volume]cl") + user.show_message("Blood Level Normal: [blood_percent]% [blood_volume]cl") if(H.species.exotic_blood) user.show_message("Subject possesses exotic blood.") user.show_message("Exotic blood type: [blood_type].") if(H.heart_attack && H.stat != DEAD) user.show_message("Subject suffering from heart attack: Apply defibrillator immediately.") - user.show_message("\blue Subject's pulse: [H.get_pulse(GETPULSE_TOOL)] bpm.") + user.show_message("Subject's pulse: [H.get_pulse(GETPULSE_TOOL)] bpm.") var/implant_detect for(var/obj/item/organ/internal/cyberimp/CI in H.internal_organs) if(CI.status == ORGAN_ROBOT) diff --git a/code/game/objects/items/devices/whistle.dm b/code/game/objects/items/devices/whistle.dm index c65f0a94355..359dfd82efa 100644 --- a/code/game/objects/items/devices/whistle.dm +++ b/code/game/objects/items/devices/whistle.dm @@ -26,6 +26,6 @@ /obj/item/device/hailer/emag_act(user as mob) if(!emagged) - to_chat(user, "\red You overload \the [src]'s voice synthesizer.") + to_chat(user, "You overload \the [src]'s voice synthesizer.") emagged = 1 diff --git a/code/game/objects/items/policetape.dm b/code/game/objects/items/policetape.dm index 914ade24178..f171e984f36 100644 --- a/code/game/objects/items/policetape.dm +++ b/code/game/objects/items/policetape.dm @@ -66,13 +66,13 @@ var/list/tape_roll_applications = list() /obj/item/taperoll/attack_self(mob/user as mob) if(icon_state == "[icon_base]_start") start = get_turf(src) - to_chat(usr, "\blue You place the first end of the [src].") + to_chat(usr, "You place the first end of the [src].") icon_state = "[icon_base]_stop" else icon_state = "[icon_base]_start" end = get_turf(src) if(start.y != end.y && start.x != end.x || start.z != end.z) - to_chat(usr, "\blue [src] can only be laid horizontally or vertically.") + to_chat(usr, "[src] can only be laid horizontally or vertically.") return var/turf/cur = start @@ -101,7 +101,7 @@ var/list/tape_roll_applications = list() break cur = get_step_towards(cur,end) if(!can_place) - to_chat(usr, "\blue You can't run \the [src] through that!") + to_chat(usr, "You can't run \the [src] through that!") return cur = start @@ -115,7 +115,7 @@ var/list/tape_roll_applications = list() P.icon_state = "[P.icon_base]_[dir]" cur = get_step_towards(cur,end) //is_blocked_turf(var/turf/T) - to_chat(usr, "\blue You finish placing the [src].")//Git Test + to_chat(usr, "You finish placing the [src].")//Git Test /obj/item/taperoll/afterattack(var/atom/A, mob/user as mob, proximity) @@ -128,7 +128,7 @@ var/list/tape_roll_applications = list() P.loc = locate(T.x,T.y,T.z) P.icon_state = "[src.icon_base]_door" P.layer = 3.2 - to_chat(user, "\blue You finish placing the [src].") + to_chat(user, "You finish placing the [src].") if(istype(A, /turf/simulated/floor) ||istype(A, /turf/unsimulated/floor)) var/turf/F = A diff --git a/code/game/objects/items/random_items.dm b/code/game/objects/items/random_items.dm index 7e15df8676c..5cc0ab739c0 100644 --- a/code/game/objects/items/random_items.dm +++ b/code/game/objects/items/random_items.dm @@ -263,7 +263,7 @@ /mob/living/simple_animal/hostile/creature,/mob/living/simple_animal/hostile/pirate/ranged, /mob/living/simple_animal/hostile/hivebot,/mob/living/simple_animal/hostile/viscerator,/mob/living/simple_animal/hostile/pirate) - visible_message("\red Something falls out of the [src]!") + visible_message("Something falls out of the [src]!") var/obj/item/weapon/grenade/clusterbuster/C = new(src.loc) C.prime() spawn(10) diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index f8ca693bf9c..d99ed06bb6c 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -160,9 +160,9 @@ src.chest = W src.updateicon() else if(!W:wires) - to_chat(user, "\blue You need to attach wires to it first!") + to_chat(user, "You need to attach wires to it first!") else - to_chat(user, "\blue You need to attach a cell to it first!") + to_chat(user, "You need to attach a cell to it first!") if(istype(W, /obj/item/robot_parts/head)) if(src.head) return @@ -172,7 +172,7 @@ src.head = W src.updateicon() else - to_chat(user, "\blue You need to attach a flash to it first!") + to_chat(user, "You need to attach a flash to it first!") if(istype(W, /obj/item/device/multitool)) if(check_completion()) @@ -184,10 +184,10 @@ var/obj/item/device/mmi/M = W if(check_completion()) if(!istype(loc,/turf)) - to_chat(user, "\red You can't put \the [W] in, the frame has to be standing on the ground to be perfectly precise.") + to_chat(user, "You can't put \the [W] in, the frame has to be standing on the ground to be perfectly precise.") return if(!M.brainmob) - to_chat(user, "\red Sticking an empty [W] into the frame would sort of defeat the purpose.") + to_chat(user, "Sticking an empty [W] into the frame would sort of defeat the purpose.") return if(!M.brainmob.key) @@ -206,15 +206,15 @@ return if(M.brainmob.stat == DEAD) - to_chat(user, "\red Sticking a dead [W] into the frame would sort of defeat the purpose.") + to_chat(user, "Sticking a dead [W] into the frame would sort of defeat the purpose.") return if(M.brainmob.mind in ticker.mode.head_revolutionaries) - to_chat(user, "\red The frame's firmware lets out a shrill sound, and flashes 'Abnormal Memory Engram'. It refuses to accept the [W].") + to_chat(user, "The frame's firmware lets out a shrill sound, and flashes 'Abnormal Memory Engram'. It refuses to accept the [W].") return if(jobban_isbanned(M.brainmob, "Cyborg") || jobban_isbanned(M.brainmob,"nonhumandept")) - to_chat(user, "\red This [W] does not seem to fit.") + to_chat(user, "This [W] does not seem to fit.") return var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(loc), unfinished = 1) @@ -338,45 +338,45 @@ ..() if(istype(W, /obj/item/weapon/stock_parts/cell)) if(src.cell) - to_chat(user, "\blue You have already inserted a cell!") + to_chat(user, "You have already inserted a cell!") return else user.drop_item() W.loc = src src.cell = W - to_chat(user, "\blue You insert the cell!") + to_chat(user, "You insert the cell!") if(istype(W, /obj/item/stack/cable_coil)) if(src.wires) - to_chat(user, "\blue You have already inserted wire!") + to_chat(user, "You have already inserted wire!") return else var/obj/item/stack/cable_coil/coil = W coil.use(1) src.wires = 1.0 - to_chat(user, "\blue You insert the wire!") + to_chat(user, "You insert the wire!") return /obj/item/robot_parts/head/attackby(obj/item/W as obj, mob/user as mob, params) ..() if(istype(W, /obj/item/device/flash)) if(istype(user,/mob/living/silicon/robot)) - to_chat(user, "\red How do you propose to do that?") + to_chat(user, "How do you propose to do that?") return else if(src.flash1 && src.flash2) - to_chat(user, "\blue You have already inserted the eyes!") + to_chat(user, "You have already inserted the eyes!") return else if(src.flash1) user.drop_item() W.loc = src src.flash2 = W - to_chat(user, "\blue You insert the flash into the eye socket!") + to_chat(user, "You insert the flash into the eye socket!") else user.drop_item() W.loc = src src.flash1 = W - to_chat(user, "\blue You insert the flash into the eye socket!") + to_chat(user, "You insert the flash into the eye socket!") else if(istype(W, /obj/item/weapon/stock_parts/manipulator)) - to_chat(user, "\blue You install some manipulators and modify the head, creating a functional spider-bot!") + to_chat(user, "You install some manipulators and modify the head, creating a functional spider-bot!") new /mob/living/simple_animal/spiderbot(get_turf(loc)) user.drop_item() qdel(W) @@ -387,9 +387,9 @@ /obj/item/robot_parts/attackby(obj/item/W as obj, mob/user as mob, params) if(istype(W,/obj/item/weapon/card/emag)) if(sabotaged) - to_chat(user, "\red [src] is already sabotaged!") + to_chat(user, "[src] is already sabotaged!") else - to_chat(user, "\red You slide [W] into the dataport on [src] and short out the safeties.") + to_chat(user, "You slide [W] into the dataport on [src] and short out the safeties.") sabotaged = 1 return ..() diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm index 611a5a3e37e..a46e84d1573 100644 --- a/code/game/objects/items/shooting_range.dm +++ b/code/game/objects/items/shooting_range.dm @@ -96,7 +96,7 @@ if(hp <= 0) for(var/mob/O in oviewers()) if((O.client && !( O.blinded ))) - to_chat(O, "\red [src] breaks into tiny pieces and collapses!") + to_chat(O, "[src] breaks into tiny pieces and collapses!") qdel(src) // Create a temporary object to represent the damage diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 17658103fec..deea1ecc24e 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -38,7 +38,7 @@ if(istype(W,/obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/CC = W if(CC.amount < 5) - to_chat(user, "\b There is not enough wire in this coil. You need 5 lengths.") + to_chat(user, "There is not enough wire in this coil. You need 5 lengths.") return CC.use(5) to_chat(user, "You attach wire to the [name].") diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index 50306ac7e02..cca1464d6e7 100755 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -367,7 +367,7 @@ AI MODULES log_law_changes(target, sender) lawchanges.Add("The law is '[newFreeFormLaw]'") - to_chat(target, "\red BZZZZT") + to_chat(target, "BZZZZT") var/law = "[newFreeFormLaw]" target.add_ion_law(law) target.show_laws() diff --git a/code/game/objects/items/weapons/caution.dm b/code/game/objects/items/weapons/caution.dm index 6e57028472e..44a357a6d92 100644 --- a/code/game/objects/items/weapons/caution.dm +++ b/code/game/objects/items/weapons/caution.dm @@ -22,7 +22,7 @@ return if(armed) armed = 0 - to_chat(user, "\blue You disarm \the [src].") + to_chat(user, "You disarm \the [src].") return timing = !timing if(timing) @@ -30,7 +30,7 @@ else armed = 0 timepassed = 0 - to_chat(H, "\blue You [timing ? "activate \the [src]'s timer, you have 15 seconds." : "de-activate \the [src]'s timer."]") + to_chat(H, "You [timing ? "activate \the [src]'s timer, you have 15 seconds." : "de-activate \the [src]'s timer."]") process() if(!timing) diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm index dc1a9536357..3312c6555d4 100644 --- a/code/game/objects/items/weapons/clown_items.dm +++ b/code/game/objects/items/weapons/clown_items.dm @@ -44,7 +44,7 @@ /obj/item/weapon/soap/attack(mob/target as mob, mob/user as mob) if(target && user && ishuman(target) && ishuman(user) && !target.stat && !user.stat && user.zone_sel &&user.zone_sel.selecting == "mouth" ) - user.visible_message("\red \the [user] washes \the [target]'s mouth out with [src.name]!") + user.visible_message("\the [user] washes \the [target]'s mouth out with [src.name]!") return ..() diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm index c10872afad0..b4d0e0b5eaa 100644 --- a/code/game/objects/items/weapons/dna_injector.dm +++ b/code/game/objects/items/weapons/dna_injector.dm @@ -132,17 +132,17 @@ if(block) if(GetState() && block == MONKEYBLOCK && ishuman(M)) - message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] \red(MONKEY)") + message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] (MONKEY)") log_attack("[key_name(user)] injected [key_name(M)] with the Isolated [name] (MONKEY)") - log_game("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] \red(MONKEY)") + log_game("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] (MONKEY)") else log_attack("[key_name(user)] injected [key_name(M)] with the Isolated [name]") else if(GetState(MONKEYBLOCK) && ishuman(M)) - message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] \red(MONKEY)") + message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] (MONKEY)") log_attack("[key_name(user)] injected [key_name(M)] with the Isolated [name] (MONKEY)") - log_game("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] \red(MONKEY)") + log_game("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] (MONKEY)") else log_attack("[key_name(user)] injected [key_name(M)] with the Isolated [name]") diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index 5ab7a6cd61a..0767e26fbdb 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -40,7 +40,7 @@ to_chat(usr, "[bicon(src)] [src.name] contains:") if(reagents && reagents.reagent_list.len) for(var/datum/reagent/R in reagents.reagent_list) - to_chat(user, "\blue [R.volume] units of [R.name]") + to_chat(user, "[R.volume] units of [R.name]") /obj/item/weapon/extinguisher/New() diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index 4f9830890d4..4e558f7b64e 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -31,7 +31,7 @@ user.put_in_active_hand(gift) src.gift.add_fingerprint(user) else - to_chat(user, "\blue The gift was empty!") + to_chat(user, "The gift was empty!") qdel(src) return @@ -42,16 +42,16 @@ /obj/effect/spresent/relaymove(mob/user as mob) if(user.stat) return - to_chat(user, "\blue You cant move.") + to_chat(user, "You cant move.") /obj/effect/spresent/attackby(obj/item/weapon/W as obj, mob/user as mob, params) ..() if(!istype(W, /obj/item/weapon/wirecutters)) - to_chat(user, "\blue I need wirecutters for that.") + to_chat(user, "I need wirecutters for that.") return - to_chat(user, "\blue You cut open the present.") + to_chat(user, "You cut open the present.") for(var/mob/M in src) //Should only be one but whatever. M.loc = src.loc diff --git a/code/game/objects/items/weapons/grenades/clowngrenade.dm b/code/game/objects/items/weapons/grenades/clowngrenade.dm index a77bd6301b6..0fcdceff9ac 100644 --- a/code/game/objects/items/weapons/grenades/clowngrenade.dm +++ b/code/game/objects/items/weapons/grenades/clowngrenade.dm @@ -61,7 +61,7 @@ if((M:shoes.flags&NOSLIP) || (M:species.bodyflags & FEET_NOSLIP)) return else - to_chat(M, "\red Your feet feel like they're on fire!") + to_chat(M, "Your feet feel like they're on fire!") M.take_overall_damage(0, max(0, (burned - 2))) if(!istype(M, /mob/living/carbon/slime) && !isrobot(M)) diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm index 68d75f1e7bb..cda1145d90c 100644 --- a/code/game/objects/items/weapons/holy_weapons.dm +++ b/code/game/objects/items/weapons/holy_weapons.dm @@ -592,7 +592,7 @@ to_chat(missionary, "Your faith is strong, but their mind is already slaved to someone else's ideals. Perhaps an inquisition would reveal more...") faith -= 25 //same faith cost as losing sight of them mid-conversion, but did you just find someone who can lead you to a fellow traitor? return - if(isloyal(target)) + if(ismindshielded(target)) if(prob(20)) //loyalty implants typically overpower this, but you CAN get lucky and convert still (20% chance of success) faith -= 125 //yes, this puts it negative. it's gonna take longer to recharge if you manage to convert a one of these people to balance the new power you gained through them to_chat(missionary, "Through sheer willpower, you overcome their closed mind and rally [target] to your cause! You may need a bit longer than usual before your faith is fully recharged, and they won't remain loyal to you for long ...") diff --git a/code/game/objects/items/weapons/implants/implant_abductor.dm b/code/game/objects/items/weapons/implants/implant_abductor.dm new file mode 100644 index 00000000000..4985576e66c --- /dev/null +++ b/code/game/objects/items/weapons/implants/implant_abductor.dm @@ -0,0 +1,46 @@ +/obj/item/weapon/implant/abductor + name = "recall implant" + desc = "Returns you to the mothership." + icon = 'icons/obj/abductor.dmi' + icon_state = "implant" + activated = 1 + origin_tech = "materials=2;biotech=7;magnets=4;bluespace=4;abductor=5" + var/obj/machinery/abductor/pad/home + var/cooldown = 30 + var/total_cooldown = 30 + +/obj/item/weapon/implant/abductor/activate() + if(cooldown == total_cooldown) + home.Retrieve(imp_in,1) + cooldown = 0 + processing_objects.Add(src) + else + to_chat(imp_in, "You must wait [(total_cooldown - cooldown)*2] seconds to use [src] again!") + +/obj/item/weapon/implant/abductor/process() + if(cooldown < total_cooldown) + cooldown++ + if(cooldown == total_cooldown) + processing_objects.Remove(src) + +/obj/item/weapon/implant/abductor/implant(mob/source, mob/user) + if(..()) + var/obj/machinery/abductor/console/console + if(ishuman(source)) + var/mob/living/carbon/human/H = source + if(H.get_species() == "Abductor") + console = get_team_console(H.mind.abductor.team) + home = console.pad + + if(!home) + console = get_team_console(pick(1, 2, 3, 4)) + home = console.pad + return 1 + +/obj/item/weapon/implant/abductor/proc/get_team_console(var/team) + var/obj/machinery/abductor/console/console + for(var/obj/machinery/abductor/console/c in abductor_equipment) + if(c.team == team) + console = c + break + return console \ No newline at end of file diff --git a/code/game/objects/items/weapons/implants/implant_mindshield.dm b/code/game/objects/items/weapons/implants/implant_mindshield.dm index a6efb21661f..a76b373e6b7 100644 --- a/code/game/objects/items/weapons/implants/implant_mindshield.dm +++ b/code/game/objects/items/weapons/implants/implant_mindshield.dm @@ -1,10 +1,10 @@ -/obj/item/weapon/implant/loyalty +/obj/item/weapon/implant/mindshield name = "mindshield implant" desc = "Stops people messing with your mind." origin_tech = "materials=2;biotech=4;programming=4" activated = 0 -/obj/item/weapon/implant/loyalty/get_data() +/obj/item/weapon/implant/mindshield/get_data() var/dat = {"Implant Specifications:
Name: Nanotrasen Employee Management Implant
Life: Ten years.
@@ -17,7 +17,7 @@ return dat -/obj/item/weapon/implant/loyalty/implant(mob/target) +/obj/item/weapon/implant/mindshield/implant(mob/target) if(..()) if(target.mind in ticker.mode.head_revolutionaries || is_shadow_or_thrall(target)) target.visible_message("[target] seems to resist the implant!", "You feel the corporate tendrils of Nanotrasen try to invade your mind!") @@ -33,7 +33,7 @@ return 1 return 0 -/obj/item/weapon/implant/loyalty/removed(mob/target, var/silent = 0) +/obj/item/weapon/implant/mindshield/removed(mob/target, var/silent = 0) if(..()) if(target.stat != DEAD && !silent) to_chat(target, "You feel a sense of liberation as Nanotrasen's grip on your mind fades away.") @@ -41,19 +41,19 @@ return 0 -/obj/item/weapon/implanter/loyalty +/obj/item/weapon/implanter/mindshield name = "implanter (mindshield)" -/obj/item/weapon/implanter/loyalty/New() - imp = new /obj/item/weapon/implant/loyalty(src) +/obj/item/weapon/implanter/mindshield/New() + imp = new /obj/item/weapon/implant/mindshield(src) ..() update_icon() -/obj/item/weapon/implantcase/loyalty +/obj/item/weapon/implantcase/mindshield name = "implant case - 'mindshield'" desc = "A glass case containing a mindshield implant." -/obj/item/weapon/implantcase/loyalty/New() - imp = new /obj/item/weapon/implant/loyalty(src) +/obj/item/weapon/implantcase/mindshield/New() + imp = new /obj/item/weapon/implant/mindshield(src) ..() \ No newline at end of file diff --git a/code/game/objects/items/weapons/implants/implant_traitor.dm b/code/game/objects/items/weapons/implants/implant_traitor.dm index bb80d50845d..47b993b6007 100644 --- a/code/game/objects/items/weapons/implants/implant_traitor.dm +++ b/code/game/objects/items/weapons/implants/implant_traitor.dm @@ -38,7 +38,7 @@ removed(M) qdel(src) return -1 - if(isloyal(H)) + if(ismindshielded(H)) H.visible_message("[H] seems to resist the implant!", "You feel a strange sensation in your head that quickly dissipates.") removed(M) qdel(src) diff --git a/code/game/objects/items/weapons/implants/implantchair.dm b/code/game/objects/items/weapons/implants/implantchair.dm index 141f9b14f89..53183e21d63 100644 --- a/code/game/objects/items/weapons/implants/implantchair.dm +++ b/code/game/objects/items/weapons/implants/implantchair.dm @@ -11,7 +11,7 @@ var/ready = 1 var/malfunction = 0 - var/list/obj/item/weapon/implant/loyalty/implant_list = list() + var/list/obj/item/weapon/implant/mindshield/implant_list = list() var/max_implants = 5 var/injection_cooldown = 600 var/replenish_cooldown = 6000 @@ -122,9 +122,9 @@ if(!istype(M, /mob/living/carbon)) return if(!implant_list.len) return - for(var/obj/item/weapon/implant/loyalty/imp in implant_list) + for(var/obj/item/weapon/implant/mindshield/imp in implant_list) if(!imp) continue - if(istype(imp, /obj/item/weapon/implant/loyalty)) + if(istype(imp, /obj/item/weapon/implant/mindshield)) M.visible_message("[M] has been implanted by the [src.name].") if(imp.implant(M)) @@ -135,7 +135,7 @@ /obj/machinery/implantchair/add_implants() for(var/i=0, iIt's out of charge!") return ..() diff --git a/code/game/objects/items/weapons/power_cells.dm b/code/game/objects/items/weapons/power_cells.dm index 005ef313a4f..de5d788a9f3 100644 --- a/code/game/objects/items/weapons/power_cells.dm +++ b/code/game/objects/items/weapons/power_cells.dm @@ -5,18 +5,17 @@ icon_state = "cell" item_state = "cell" origin_tech = "powerstorage=1" - force = 5.0 - throwforce = 5.0 - throw_speed = 3 + force = 5 + throwforce = 5 + throw_speed = 2 throw_range = 5 - w_class = 2 + w_class = WEIGHT_CLASS_SMALL var/charge = 0 // note %age conveted to actual charge in New - var/maxcharge = 10000 - rating = 1 + var/maxcharge = 1000 materials = list(MAT_METAL=700, MAT_GLASS=50) var/rigged = 0 // true if rigged to explode + var/chargerate = 100 //how much power is given every tick in a recharger var/minor_fault = 0 //If not 100% reliable, it will build up faults. - var/chargerate = 1000 //how much power is given every tick in a recharger var/self_recharge = 0 //does it self recharge, over time, or not? var/grown_battery = FALSE // If it's a grown that acts as a battery, add a wire overlay to it. @@ -62,10 +61,9 @@ /obj/item/weapon/stock_parts/cell/crap name = "\improper Nanotrasen brand rechargable AA battery" desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT - origin_tech = null - maxcharge = 5000 - rating = 2 + maxcharge = 500 materials = list(MAT_GLASS=40) + rating = 2 /obj/item/weapon/stock_parts/cell/crap/empty/New() ..() @@ -74,9 +72,9 @@ /obj/item/weapon/stock_parts/cell/secborg name = "\improper Security borg rechargable D battery" origin_tech = null - maxcharge = 6000 //6000 max charge / 1000 charge per shot = six shots - rating = 2.5 + maxcharge = 600 //600 max charge / 100 charge per shot = six shots materials = list(MAT_GLASS=40) + rating = 2.5 /obj/item/weapon/stock_parts/cell/secborg/empty/New() ..() @@ -86,11 +84,18 @@ name = "high-capacity power cell" origin_tech = "powerstorage=2" icon_state = "hcell" - maxcharge = 15000 - rating = 3 + maxcharge = 10000 materials = list(MAT_GLASS=60) + rating = 3 chargerate = 1500 +/obj/item/weapon/stock_parts/cell/high/plus + name = "high-capacity power cell+" + desc = "Where did these come from?" + icon_state = "h+cell" + maxcharge = 15000 + chargerate = 2250 + /obj/item/weapon/stock_parts/cell/high/empty/New() ..() charge = 0 @@ -100,7 +105,7 @@ origin_tech = "powerstorage=5" icon_state = "scell" maxcharge = 20000 - materials = list(MAT_GLASS=70) + materials = list(MAT_GLASS=300) rating = 4 chargerate = 2000 @@ -113,8 +118,8 @@ origin_tech = "powerstorage=6" icon_state = "hpcell" maxcharge = 30000 + materials = list(MAT_GLASS=400) rating = 5 - materials = list(MAT_GLASS=80) chargerate = 3000 /obj/item/weapon/stock_parts/cell/hyper/empty/New() @@ -126,7 +131,7 @@ origin_tech = "powerstorage=7" icon_state = "bscell" maxcharge = 40000 - materials = list(MAT_GLASS=80) + materials = list(MAT_GLASS=600) rating = 6 chargerate = 4000 @@ -139,8 +144,8 @@ icon_state = "icell" origin_tech = null maxcharge = 30000 + materials = list(MAT_GLASS=1000) rating = 6 - materials = list(MAT_GLASS=80) chargerate = 30000 /obj/item/weapon/stock_parts/cell/infinite/use() @@ -153,7 +158,7 @@ icon_state = "potato" origin_tech = "powerstorage=1;biotech=1" charge = 100 - maxcharge = 3000 + maxcharge = 300 materials = list() rating = 1 minor_fault = 1 @@ -170,17 +175,17 @@ /obj/item/weapon/stock_parts/cell/pulse //200 pulse shots name = "pulse rifle power cell" - maxcharge = 400000 + maxcharge = 40000 rating = 3 chargerate = 1500 -/obj/item/weapon/stock_parts/cell/pulse/carbine +/obj/item/weapon/stock_parts/cell/pulse/carbine //25 pulse shots name = "pulse carbine power cell" - maxcharge = 40000 + maxcharge = 5000 -/obj/item/weapon/stock_parts/cell/pulse/pistol +/obj/item/weapon/stock_parts/cell/pulse/pistol //10 pulse shots name = "pulse pistol power cell" - maxcharge = 16000 + maxcharge = 2000 /obj/item/weapon/stock_parts/cell/ninja name = "spider-clan power cell" @@ -192,7 +197,7 @@ /obj/item/weapon/stock_parts/cell/emproof name = "\improper EMP-proof cell" desc = "An EMP-proof cell." - maxcharge = 5000 + maxcharge = 500 rating = 2 /obj/item/weapon/stock_parts/cell/emproof/empty/New() diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 562d2b2d1b2..d0dee297cd7 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -45,7 +45,7 @@ attackby(obj/item/weapon/W as obj, mob/user as mob, params) if(crit_fail) - to_chat(user, "\red The Bluespace generator isn't working.") + to_chat(user, "The Bluespace generator isn't working.") return else if(istype(W, /obj/item/weapon/storage/backpack/holding) && !W.crit_fail) var/response = alert(user, "Are you sure you want to put the bag of holding inside another bag of holding?","Are you sure you want to die?","Yes","No") @@ -68,10 +68,10 @@ proc/failcheck(mob/user as mob) if(prob(src.reliability)) return 1 //No failure if(prob(src.reliability)) - to_chat(user, "\red The Bluespace portal resists your attempt to add another item.")//light failure + to_chat(user, "The Bluespace portal resists your attempt to add another item.")//light failure else - to_chat(user, "\red The Bluespace generator malfunctions!") + to_chat(user, "The Bluespace generator malfunctions!") for(var/obj/O in src.contents) //it broke, delete what was in it qdel(O) crit_fail = 1 diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index ea60db5b20d..b90d11a543e 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -98,7 +98,7 @@ /obj/item/weapon/storage/bag/plasticbag/mob_can_equip(M as mob, slot) if(slot==slot_head && contents.len) - to_chat(M, "\red You need to empty the bag first!") + to_chat(M, "You need to empty the bag first!") return 0 return ..() @@ -220,7 +220,7 @@ current += S.amount if(capacity == current)//If it's full, you're done if(!stop_messages) - to_chat(usr, "\red The snatcher is full.") + to_chat(usr, "The snatcher is full.") return 0 return 1 @@ -451,9 +451,9 @@ sleep(rand(2,4)) if( droppedSomething ) if( foundtable ) - user.visible_message("\blue [user] unloads their service tray.") + user.visible_message("[user] unloads their service tray.") else - user.visible_message("\blue [user] drops all the items on their tray.") + user.visible_message("[user] drops all the items on their tray.") return ..() diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index b577df5987e..609edd2961f 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -515,10 +515,10 @@ proc/failcheck(mob/user as mob) if(prob(src.reliability)) return 1 //No failure if(prob(src.reliability)) - to_chat(user, "\red The Bluespace portal resists your attempt to add another item.")//light failure + to_chat(user, "The Bluespace portal resists your attempt to add another item.")//light failure else - to_chat(user, "\red The Bluespace generator malfunctions!") + to_chat(user, "The Bluespace generator malfunctions!") for(var/obj/O in src.contents) //it broke, delete what was in it qdel(O) crit_fail = 1 diff --git a/code/game/objects/items/weapons/storage/bible.dm b/code/game/objects/items/weapons/storage/bible.dm index cb6405c9516..a992af864d4 100644 --- a/code/game/objects/items/weapons/storage/bible.dm +++ b/code/game/objects/items/weapons/storage/bible.dm @@ -54,15 +54,15 @@ M.LAssailant = user if(!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") - to_chat(user, "\red You don't have the dexterity to do this!") + to_chat(user, "You don't have the dexterity to do this!") return if(!chaplain) - to_chat(user, "\red The book sizzles in your hands.") + to_chat(user, "The book sizzles in your hands.") user.take_organ_damage(0,10) return if((CLUMSY in user.mutations) && prob(50)) - to_chat(user, "\red The [src] slips out of your hand and hits your head.") + to_chat(user, "The [src] slips out of your hand and hits your head.") user.take_organ_damage(10) user.Paralyse(20) return @@ -72,19 +72,19 @@ if(M.stat !=2) /*if((M.mind in ticker.mode.cult) && (prob(20))) - to_chat(M, "\red The power of [src.deity_name] clears your mind of heresy!") - to_chat(user, "\red You see how [M]'s eyes become clear, the cult no longer holds control over him!") + to_chat(M, "The power of [src.deity_name] clears your mind of heresy!") + to_chat(user, "You see how [M]'s eyes become clear, the cult no longer holds control over him!") ticker.mode.remove_cultist(M.mind)*/ if((istype(M, /mob/living/carbon/human) && prob(60))) bless(M) for(var/mob/O in viewers(M, null)) O.show_message(text("[] heals [] with the power of [src.deity_name]!", user, M), 1) - to_chat(M, "\red May the power of [src.deity_name] compel you to be healed!") + to_chat(M, "May the power of [src.deity_name] compel you to be healed!") playsound(src.loc, "punch", 25, 1, -1) else if(ishuman(M) && !istype(M:head, /obj/item/clothing/head/helmet)) M.adjustBrainLoss(10) - to_chat(M, "\red You feel dumber.") + to_chat(M, "You feel dumber.") for(var/mob/O in viewers(M, null)) O.show_message(text("[] beats [] over the head with []!", user, M, src), 1) playsound(src.loc, "punch", 25, 1, -1) diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index c84c6a84de8..76ade089d9b 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -579,7 +579,9 @@ item_state = "zippo" storage_slots = 10 w_class = 1 + max_w_class = 1 slot_flags = SLOT_BELT + can_hold = list(/obj/item/weapon/match) New() ..() diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm index 448395df3e4..b622e469124 100644 --- a/code/game/objects/items/weapons/storage/lockbox.dm +++ b/code/game/objects/items/weapons/storage/lockbox.dm @@ -80,16 +80,16 @@ max_combined_w_class = 4 //The sum of the w_classes of all the items in this storage item. storage_slots = 1 -/obj/item/weapon/storage/lockbox/loyalty +/obj/item/weapon/storage/lockbox/mindshield name = "Lockbox (Mindshield Implants)" req_access = list(access_security) -/obj/item/weapon/storage/lockbox/loyalty/New() +/obj/item/weapon/storage/lockbox/mindshield/New() ..() - new /obj/item/weapon/implantcase/loyalty(src) - new /obj/item/weapon/implantcase/loyalty(src) - new /obj/item/weapon/implantcase/loyalty(src) - new /obj/item/weapon/implanter/loyalty(src) + new /obj/item/weapon/implantcase/mindshield(src) + new /obj/item/weapon/implantcase/mindshield(src) + new /obj/item/weapon/implantcase/mindshield(src) + new /obj/item/weapon/implanter/mindshield(src) /obj/item/weapon/storage/lockbox/clusterbang name = "lockbox (clusterbang)" diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index 3ff222f3c94..e5fb0646169 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -362,7 +362,7 @@ ..() if(isrobot(user)) - to_chat(user, "\blue You're a robot. No.") + to_chat(user, "You're a robot. No.") return 1//Robots can't interact with storage items. if(!can_be_inserted(W)) diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index 9111c8e3d47..1de82690573 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -2,6 +2,7 @@ name = "stunbaton" desc = "A stun baton for incapacitating people with." icon_state = "stunbaton" + var/base_icon = "stunbaton" item_state = "baton" slot_flags = SLOT_BELT force = 10 @@ -12,7 +13,7 @@ var/stunforce = 7 var/status = 0 var/obj/item/weapon/stock_parts/cell/high/bcell = null - var/hitcost = 1500 + var/hitcost = 1000 /obj/item/weapon/melee/baton/suicide_act(mob/user) user.visible_message("[user] is putting the live [name] in \his mouth! It looks like \he's trying to commit suicide.") @@ -46,11 +47,11 @@ /obj/item/weapon/melee/baton/update_icon() if(status) - icon_state = "[initial(name)]_active" + icon_state = "[base_icon]_active" else if(!bcell) - icon_state = "[initial(name)]_nocell" + icon_state = "[base_icon]_nocell" else - icon_state = "[initial(name)]" + icon_state = "[base_icon]" /obj/item/weapon/melee/baton/examine(mob/user) ..(user) @@ -182,22 +183,18 @@ return 1 ..() - -//secborg stun baton module -/obj/item/weapon/melee/baton/loaded/robot - hitcost = 1000 - //Makeshift stun baton. Replacement for stun gloves. /obj/item/weapon/melee/baton/cattleprod name = "stunprod" desc = "An improvised stun baton." icon_state = "stunprod_nocell" + base_icon = "stunprod" item_state = "prod" w_class = 3 force = 3 throwforce = 5 stunforce = 5 - hitcost = 3750 + hitcost = 2000 slot_flags = SLOT_BACK var/obj/item/device/assembly/igniter/sparkler = null diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index 0e93e23d601..bd62357ba76 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -245,7 +245,7 @@ if(!istype(loc,/obj/item/device/transfer_valve)) message_admins("Explosive tank rupture! last key to touch the tank was [fingerprintslast] (JMP)") log_game("Explosive tank rupture! last key to touch the tank was [fingerprintslast] at [x], [y], [z]") -// to_chat(world, "\blue[x],[y] tank is exploding: [pressure] kPa") +// to_chat(world, "[x],[y] tank is exploding: [pressure] kPa") //Give the gas a chance to build up more pressure through reacting air_contents.react() air_contents.react() @@ -254,7 +254,7 @@ var/range = (pressure-TANK_FRAGMENT_PRESSURE)/TANK_FRAGMENT_SCALE var/turf/epicenter = get_turf(loc) -// to_chat(world, "\blue Exploding Pressure: [pressure] kPa, intensity: [range]") +// to_chat(world, "Exploding Pressure: [pressure] kPa, intensity: [range]") explosion(epicenter, round(range*0.25), round(range*0.5), round(range), round(range*1.5)) if(istype(loc,/obj/item/device/transfer_valve)) @@ -263,7 +263,7 @@ qdel(src) else if(pressure > TANK_RUPTURE_PRESSURE) -// to_chat(world, "\blue[x],[y] tank is rupturing: [pressure] kPa, integrity [integrity]") +// to_chat(world, "[x],[y] tank is rupturing: [pressure] kPa, integrity [integrity]") if(integrity <= 0) var/turf/simulated/T = get_turf(src) if(!T) @@ -275,7 +275,7 @@ integrity-- else if(pressure > TANK_LEAK_PRESSURE) -// to_chat(world, "\blue[x],[y] tank is leaking: [pressure] kPa, integrity [integrity]") +// to_chat(world, "[x],[y] tank is leaking: [pressure] kPa, integrity [integrity]") if(integrity <= 0) var/turf/simulated/T = get_turf(src) if(!T) diff --git a/code/game/objects/items/weapons/teleprod.dm b/code/game/objects/items/weapons/teleprod.dm index 0bc1b23f6d6..dfaa52ba396 100644 --- a/code/game/objects/items/weapons/teleprod.dm +++ b/code/game/objects/items/weapons/teleprod.dm @@ -2,6 +2,7 @@ name = "teleprod" desc = "A prod with a bluespace crystal on the end. The crystal doesn't look too fun to touch." icon_state = "teleprod_nocell" + base_icon = "teleprod" item_state = "teleprod" origin_tech = "combat=2;bluespace=4;materials=3" @@ -15,4 +16,4 @@ deductcharge(hitcost) do_teleport(user, get_turf(user), 50)//honk honk else if(iscarbon(M) && !M.anchored) - do_teleport(M, get_turf(M), 15) \ No newline at end of file + do_teleport(M, get_turf(M), 15) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 3b1c08c5042..76f2dcb84a8 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -472,7 +472,7 @@ return TRUE else if(M) - to_chat(M, "\blue You need more welding fuel to complete this task.") + to_chat(M, "You need more welding fuel to complete this task.") return FALSE //Returns whether or not the welding tool is currently on. diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 3086afd5ad4..ce2b5965c6c 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -228,7 +228,7 @@ return ..() if((CLUMSY in user.mutations) && (wielded) &&prob(40)) - to_chat(user, "\red You twirl around a bit before losing your balance and impaling yourself on the [src].") + to_chat(user, "You twirl around a bit before losing your balance and impaling yourself on the [src].") user.take_organ_damage(20,25) return if((wielded) && prob(50)) diff --git a/code/game/objects/items/weapons/wires.dm b/code/game/objects/items/weapons/wires.dm index 4d2e539042f..0f1e261699b 100644 --- a/code/game/objects/items/weapons/wires.dm +++ b/code/game/objects/items/weapons/wires.dm @@ -28,9 +28,9 @@ /obj/item/weapon/wire/attack_self(mob/user as mob) if(src.laying) src.laying = 0 - to_chat(user, "\blue You're done laying wire!") + to_chat(user, "You're done laying wire!") else - to_chat(user, "\blue You are not using this to lay wire...") + to_chat(user, "You are not using this to lay wire...") return diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index 116204d599f..91b232c051a 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -71,11 +71,11 @@ for(var/obj/O in range(0, src)) if(O.density == 1 && O != src && !istype(O, /obj/machinery/door/window)) //Ignores windoors, as those already block climbing, otherwise a windoor on the opposite side of a table would prevent climbing. - to_chat(user, "\red You cannot climb [src], as it is blocked by \a [O]!") + to_chat(user, "You cannot climb [src], as it is blocked by \a [O]!") return for(var/turf/T in range(0, src)) if(T.density == 1) - to_chat(user, "\red You cannot climb [src], as it is blocked by \a [T]!") + to_chat(user, "You cannot climb [src], as it is blocked by \a [T]!") return var/turf/T = src.loc if(!T || !istype(T)) return @@ -111,14 +111,14 @@ if(M.lying) return //No spamming this on people. M.Weaken(5) - to_chat(M, "\red You topple as \the [src] moves under you!") + to_chat(M, "You topple as \the [src] moves under you!") if(prob(25)) var/damage = rand(15,30) var/mob/living/carbon/human/H = M if(!istype(H)) - to_chat(H, "\red You land heavily!") + to_chat(H, "You land heavily!") M.adjustBruteLoss(damage) return @@ -137,12 +137,12 @@ affecting = H.get_organ("head") if(affecting) - to_chat(M, "\red You land heavily on your [affecting.name]!") + to_chat(M, "You land heavily on your [affecting.name]!") affecting.take_damage(damage, 0) if(affecting.parent) affecting.parent.add_autopsy_data("Misadventure", damage) else - to_chat(H, "\red You land heavily!") + to_chat(H, "You land heavily!") H.adjustBruteLoss(damage) H.UpdateDamageIcon() diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index db3a57dce0f..7180e59b800 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -157,7 +157,7 @@ /obj/structure/closet/attack_animal(mob/living/simple_animal/user) if(user.environment_smash) user.do_attack_animation(src) - visible_message("\red [user] destroys the [src]. ") + visible_message("[user] destroys the [src].") for(var/atom/movable/A in src) A.forceMove(loc) qdel(src) @@ -194,7 +194,7 @@ var/desc = input("Please select a telepad.", "RCS") in L E.pad = L[desc] playsound(E.loc, E.usesound, 50, 1) - to_chat(user, "\blue Teleporting [name]...") + to_chat(user, "Teleporting [name]...") E.teleporting = 1 if(!do_after(user, 50 * E.toolspeed, target = src)) E.teleporting = 0 @@ -216,7 +216,7 @@ E.rand_y = rand(50,200) var/L = locate(E.rand_x, E.rand_y, 6) playsound(E.loc, E.usesound, 50, 1) - to_chat(user, "\blue Teleporting [name]...") + to_chat(user, "Teleporting [name]...") E.teleporting = 1 if(!do_after(user, 50, E.toolspeed, target = src)) E.teleporting = 0 diff --git a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm index 61cb2f654da..aeb8101fc75 100644 --- a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm +++ b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm @@ -23,7 +23,7 @@ if(isrobot(user) || src.locked) if(istype(O, /obj/item/device/multitool)) - to_chat(user, "\red Resetting circuitry...") + to_chat(user, "Resetting circuitry...") playsound(user, 'sound/machines/lockreset.ogg', 50, 1) if(do_after(user, 20 * O.toolspeed, target = src)) src.locked = 0 @@ -43,7 +43,7 @@ user.do_attack_animation(src) playsound(user, 'sound/effects/Glasshit.ogg', 100, 1) //We don't want this playing every time if(W.force < 15) - to_chat(user, "\blue The cabinet's protective glass glances off the hit.") + to_chat(user, "The cabinet's protective glass glances off the hit.") else src.hitstaken++ if(src.hitstaken == 4) @@ -56,12 +56,12 @@ if(istype(O, /obj/item/weapon/twohanded/fireaxe) && src.localopened) if(!fireaxe) if(O:wielded) - to_chat(user, "\red Unwield the axe first.") + to_chat(user, "Unwield the axe first.") return fireaxe = O user.drop_item(O) src.contents += O - to_chat(user, "\blue You place the fire axe back in the [src.name].") + to_chat(user, "You place the fire axe back in the [src.name].") update_icon() else if(src.smashed) @@ -84,10 +84,10 @@ spawn(10) update_icon() return else - to_chat(user, "\red Resetting circuitry...") + to_chat(user, "Resetting circuitry...") sleep(50) src.locked = 1 - to_chat(user, "\blue You re-enable the locking modules.") + to_chat(user, "You re-enable the locking modules.") playsound(user, 'sound/machines/lockenable.ogg', 50, 1) if(do_after(user, 20 * O.toolspeed, target = src)) src.locked = 1 @@ -112,13 +112,13 @@ hasaxe = 1 if(src.locked) - to_chat(user, "\red The cabinet won't budge!") + to_chat(user, "The cabinet won't budge!") return if(localopened) if(fireaxe) user.put_in_hands(fireaxe) fireaxe = null - to_chat(user, "\blue You take the fire axe from the [name].") + to_chat(user, "You take the fire axe from the [name].") src.add_fingerprint(user) update_icon() else @@ -145,7 +145,7 @@ attack_tk(mob/user as mob) if(localopened && fireaxe) fireaxe.forceMove(loc) - to_chat(user, "\blue You telekinetically remove the fire axe.") + to_chat(user, "You telekinetically remove the fire axe.") fireaxe = null update_icon() return @@ -157,9 +157,9 @@ if(isrobot(usr) || src.locked || src.smashed) if(src.locked) - to_chat(usr, "\red The cabinet won't budge!") + to_chat(usr, "The cabinet won't budge!") else if(src.smashed) - to_chat(usr, "\blue The protective glass is broken!") + to_chat(usr, "The protective glass is broken!") return localopened = !localopened @@ -176,23 +176,23 @@ if(fireaxe) usr.put_in_hands(fireaxe) fireaxe = null - to_chat(usr, "\blue You take the Fire axe from the [name].") + to_chat(usr, "You take the Fire axe from the [name].") else - to_chat(usr, "\blue The [src.name] is empty.") + to_chat(usr, "The [src.name] is empty.") else - to_chat(usr, "\blue The [src.name] is closed.") + to_chat(usr, "The [src.name] is closed.") update_icon() attack_ai(mob/user as mob) if(src.smashed) - to_chat(user, "\red The security of the cabinet is compromised.") + to_chat(user, "The security of the cabinet is compromised.") return else locked = !locked if(locked) - to_chat(user, "\red Cabinet locked.") + to_chat(user, "Cabinet locked.") else - to_chat(user, "\blue Cabinet unlocked.") + to_chat(user, "Cabinet unlocked.") update_icon() //Template: fireaxe[has fireaxe][is opened][hits taken][is smashed]. If you want the opening or closing animations, add "opening" or "closing" right after the numbers var/hasaxe = 0 diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm index 7eab1e6de85..e6d21e79244 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -62,7 +62,7 @@ if(W) W.forceMove(loc) else if(istype(W, /obj/item/weapon/card/id)) if(src.broken) - to_chat(user, "\red It appears to be broken.") + to_chat(user, "It appears to be broken.") return var/obj/item/weapon/card/id/I = W if(!I || !I.registered_name) return @@ -82,8 +82,8 @@ src.registered_name = I.registered_name src.desc = "Owned by [I.registered_name]." else - to_chat(user, "\red Access Denied") + to_chat(user, "Access Denied") else if((istype(W, /obj/item/weapon/card/emag) || istype(W, /obj/item/weapon/melee/energy/blade)) && !broken) emag_act(user) else - to_chat(user, "\red Access Denied") + to_chat(user, "Access Denied") diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm index 04444a18a8f..19dc1622ffe 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm @@ -169,7 +169,7 @@ locked = 0 welded = 0 update_icon() - to_chat(usr, "\red You successfully break out!") + to_chat(usr, "You successfully break out!") for(var/mob/O in viewers(L.loc)) O.show_message("\the [usr] successfully broke out of \the [src]!", 1) if(istype(loc, /obj/structure/bigDelivery)) //Do this to prevent contents from being opened into nullspace (read: bluespace) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 8d854c384e8..1d7b32fe950 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -112,7 +112,7 @@ new /obj/item/clothing/head/HoS(src) new /obj/item/clothing/head/HoS/beret(src) new /obj/item/clothing/glasses/hud/security/sunglasses(src) - new /obj/item/weapon/storage/lockbox/loyalty(src) + new /obj/item/weapon/storage/lockbox/mindshield(src) new /obj/item/weapon/storage/box/flashbangs(src) new /obj/item/clothing/mask/gas/sechailer/hos(src) new /obj/item/weapon/shield/riot/tele(src) diff --git a/code/game/objects/structures/crates_lockers/closets/statue.dm b/code/game/objects/structures/crates_lockers/closets/statue.dm index b176908431a..0692c90ec6d 100644 --- a/code/game/objects/structures/crates_lockers/closets/statue.dm +++ b/code/game/objects/structures/crates_lockers/closets/statue.dm @@ -114,7 +114,7 @@ /obj/structure/closet/statue/attackby(obj/item/I as obj, mob/user as mob, params) user.changeNext_move(CLICK_CD_MELEE) health -= I.force - visible_message("\red [user] strikes [src] with [I].") + visible_message("[user] strikes [src] with [I].") check_health() /obj/structure/closet/statue/MouseDrop_T() @@ -136,5 +136,5 @@ if(user) user.dust() dump_contents() - visible_message("\red [src] shatters!. ") + visible_message("[src] shatters!. ") qdel(src) diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index c7e76fe08d4..07a738a8c94 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -103,7 +103,7 @@ var/desc = input("Please select a telepad.", "RCS") in L E.pad = L[desc] playsound(E.loc, E.usesound, 50, 1) - to_chat(user, "\blue Teleporting [src.name]...") + to_chat(user, "Teleporting [src.name]...") E.teleporting = 1 if(!do_after(user, 50 * E.toolspeed, target = src)) E.teleporting = 0 @@ -121,7 +121,7 @@ E.rand_y = rand(50,200) var/L = locate(E.rand_x, E.rand_y, 6) playsound(E.loc, E.usesound, 50, 1) - to_chat(user, "\blue Teleporting [src.name]...") + to_chat(user, "Teleporting [src.name]...") E.teleporting = 1 if(!do_after(user, 50 * E.toolspeed, target = src)) E.teleporting = 0 diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 6c3a083334b..b8ab485512a 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -13,6 +13,7 @@ var/glass_type = "/glass" var/glass = 0 // 0 = glass can be installed. -1 = glass can't be installed. 1 = glass is already installed. Text = mineral plating is installed instead. var/created_name = null + var/heat_proof_finished = 0 //whether to heat-proof the finished airlock /obj/structure/door_assembly/New() update_state() @@ -167,7 +168,7 @@ user.visible_message("[user] welds the [glass] plating off the airlock assembly.", "You start to weld the [glass] plating off the airlock assembly.") if(do_after(user, 40 * WT.toolspeed, target = src)) if(!src || !WT.isOn()) return - to_chat(user, "\blue You welded the [glass] plating off!") + to_chat(user, "You welded the [glass] plating off!") var/M = text2path("/obj/item/stack/sheet/mineral/[glass]") new M(src.loc, 2) glass = 0 @@ -175,18 +176,22 @@ user.visible_message("[user] welds the glass panel out of the airlock assembly.", "You start to weld the glass panel out of the airlock assembly.") if(do_after(user, 40 * WT.toolspeed, target = src)) if(!src || !WT.isOn()) return - to_chat(user, "\blue You welded the glass panel out!") - new /obj/item/stack/sheet/rglass(src.loc) + to_chat(user, "You welded the glass panel out!") + if(heat_proof_finished) + new /obj/item/stack/sheet/rglass(get_turf(src)) + heat_proof_finished = 0 + else + new /obj/item/stack/sheet/glass(get_turf(src)) glass = 0 else if(!anchored) user.visible_message("[user] disassembles the airlock assembly.", "You start to disassemble the airlock assembly.") if(do_after(user, 40 * WT.toolspeed, target = src)) if(!src || !WT.isOn()) return - to_chat(user, "\blue You disassembled the airlock assembly!") + to_chat(user, "You dissasembled the airlock assembly!") new /obj/item/stack/sheet/metal(src.loc, 4) qdel(src) else - to_chat(user, "\blue You need more welding fuel.") + to_chat(user, "You need more welding fuel.") return else if(istype(W, /obj/item/weapon/wrench) && state == 0) @@ -198,7 +203,7 @@ if(do_after(user, 40 * W.toolspeed, target = src)) if(!src) return - to_chat(user, "\blue You [anchored? "un" : ""]secured the airlock assembly!") + to_chat(user, "You [anchored ? "un" : ""]secured the airlock assembly!") anchored = !anchored else if(istype(W, /obj/item/stack/cable_coil) && state == 0 && anchored ) @@ -208,7 +213,7 @@ if(!src) return coil.use(1) src.state = 1 - to_chat(user, "\blue You wire the Airlock!") + to_chat(user, "You wire the Airlock!") else if(istype(W, /obj/item/weapon/wirecutters) && state == 1 ) playsound(src.loc, W.usesound, 100, 1) @@ -216,7 +221,7 @@ if(do_after(user, 40 * W.toolspeed, target = src)) if(!src) return - to_chat(user, "\blue You cut the airlock's wires!") + to_chat(user, "You cut the airlock's wires!") if(state == 1) new/obj/item/stack/cable_coil(src.loc, 1) src.state = 0 @@ -229,7 +234,7 @@ if(do_after(user, 40 * W.toolspeed, target = src)) if(!src) return - to_chat(user, "\blue You installed the airlock electronics!") + to_chat(user, "You installed the airlock electronics!") src.state = 2 src.name = "Near finished Airlock Assembly" src.electronics = W @@ -242,7 +247,7 @@ if(do_after(user, 40 * W.toolspeed, target = src)) if(!src) return - to_chat(user, "\blue You removed the airlock electronics!") + to_chat(user, "You removed the airlock electronics!") src.state = 1 src.name = "Wired Airlock Assembly" var/obj/item/weapon/airlock_electronics/ae @@ -257,11 +262,15 @@ var/obj/item/stack/sheet/S = W if(S) if(S.amount>=1) - if(istype(S, /obj/item/stack/sheet/rglass)) + if(istype(S, /obj/item/stack/sheet/rglass) || istype(S, /obj/item/stack/sheet/glass)) playsound(src.loc, S.usesound, 100, 1) user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.") if(do_after(user, 40 * S.toolspeed, target = src)) - to_chat(user, "\blue You installed reinforced glass windows into the airlock assembly!") + if(S.type == /obj/item/stack/sheet/rglass) + to_chat(user, "You install reinforced glass windows into the airlock assembly.") + heat_proof_finished = 1 //reinforced glass makes the airlock heat-proof + else + to_chat(user, "You install regular glass windows into the airlock assembly.") S.use(1) glass = 1 else if(istype(S, /obj/item/stack/sheet/mineral) && S.sheettype) @@ -270,17 +279,17 @@ playsound(src.loc, S.usesound, 100, 1) user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.") if(do_after(user, 40 * S.toolspeed, target = src)) - to_chat(user, "\blue You installed [M] plating into the airlock assembly!") + to_chat(user, "You installed [M] plating into the airlock assembly!") S.use(2) glass = "[M]" else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 ) playsound(src.loc, W.usesound, 100, 1) - to_chat(user, "\blue Now finishing the airlock.") + to_chat(user, "Now finishing the airlock.") if(do_after(user, 40 * W.toolspeed, target = src)) if(!src) return - to_chat(user, "\blue You finish the airlock!") + to_chat(user, "You finish the airlock!") var/path if(istext(glass)) path = text2path("/obj/machinery/door/airlock/[glass]") @@ -292,6 +301,7 @@ door.setDir(dir) door.assembly_type = type door.electronics = src.electronics + door.heat_proof = heat_proof_finished if(src.electronics.one_access) door.req_access = null door.req_one_access = src.electronics.conf_access @@ -318,4 +328,4 @@ name = "Wired " if(2) name = "Near Finished " - name += "[glass == 1 ? "Window " : ""][istext(glass) ? "[glass] Airlock" : base_name] Assembly" \ No newline at end of file + name += "[heat_proof_finished ? "Heat-Proofed " : ""][glass == 1 ? "Window " : ""][istext(glass) ? "[glass] Airlock" : base_name] Assembly" diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index 4d03bfcdb27..ed690192098 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -314,12 +314,12 @@ if(istype(I, /obj/item/weapon/hatchet) && !stump) if(indestructable) //this bush marks the edge of the map, you can't destroy it - to_chat(user, "\red You flail away at the undergrowth, but it's too thick here.") + to_chat(user, "You flail away at the undergrowth, but it's too thick here.") else - user.visible_message("[user] begins clearing away [src].
","\red You begin clearing away [src].") + user.visible_message("[user] begins clearing away [src].","You begin clearing away [src].") spawn(rand(15,30)) if(get_dist(user,src) < 2) - to_chat(user, "\blue You clear away [src].") + to_chat(user, "You clear away [src].") var/obj/item/stack/sheet/wood/W = new(src.loc) W.amount = rand(3,15) if(prob(50)) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index e770bef2a69..793398a9c07 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -33,31 +33,31 @@ if(istype(W, /obj/item/weapon/wrench) && state == 0) if(anchored && !istype(src,/obj/structure/girder/displaced)) playsound(src.loc, W.usesound, 100, 1) - to_chat(user, "\blue Now disassembling the girder") + to_chat(user, "Now disassembling the girder") if(do_after(user, 40 * W.toolspeed, target = src)) if(!src) return - to_chat(user, "\blue You dissasembled the girder!") + to_chat(user, "You dissasembled the girder!") refundMetal(metalUsed) qdel(src) else if(!anchored) playsound(src.loc, W.usesound, 100, 1) - to_chat(user, "\blue Now securing the girder") + to_chat(user, "Now securing the girder") if(do_after(user, 40 * W.toolspeed, target = src)) - to_chat(user, "\blue You secured the girder!") + to_chat(user, "You secured the girder!") new/obj/structure/girder( src.loc ) qdel(src) else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter)) - to_chat(user, "\blue Now slicing apart the girder") + to_chat(user, "Now slicing apart the girder") if(do_after(user, 30 * W.toolspeed, target = src)) if(!src) return playsound(loc, W.usesound, 100, 1) - to_chat(user, "\blue You slice apart the girder!") + to_chat(user, "You slice apart the girder!") refundMetal(metalUsed) qdel(src) else if(istype(W, /obj/item/weapon/pickaxe/drill/diamonddrill)) - to_chat(user, "\blue You drill through the girder!") + to_chat(user, "You drill through the girder!") refundMetal(metalUsed) qdel(src) @@ -69,27 +69,27 @@ else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 && istype(src,/obj/structure/girder/reinforced)) playsound(src.loc, W.usesound, 100, 1) - to_chat(user, "\blue Now unsecuring support struts") + to_chat(user, "Now unsecuring support struts") if(do_after(user, 40 * W.toolspeed, target = src)) if(!src) return - to_chat(user, "\blue You unsecured the support struts!") + to_chat(user, "You unsecured the support struts!") state = 1 else if(istype(W, /obj/item/weapon/wirecutters) && istype(src,/obj/structure/girder/reinforced) && state == 1) playsound(src.loc, W.usesound, 100, 1) - to_chat(user, "\blue Now removing support struts") + to_chat(user, "Now removing support struts") if(do_after(user, 40 * W.toolspeed, target = src)) if(!src) return - to_chat(user, "\blue You removed the support struts!") + to_chat(user, "You removed the support struts!") new/obj/structure/girder( src.loc ) qdel(src) else if(istype(W, /obj/item/weapon/crowbar) && state == 0 && anchored ) playsound(src.loc, W.usesound, 100, 1) - to_chat(user, "\blue Now dislodging the girder") + to_chat(user, "Now dislodging the girder") if(do_after(user, 40 * W.toolspeed, target = src)) if(!src) return - to_chat(user, "\blue You dislodged the girder!") + to_chat(user, "You dislodged the girder!") new/obj/structure/girder/displaced( src.loc ) qdel(src) @@ -102,16 +102,16 @@ if(!anchored) if(S.amount < 2) return S.use(2) - to_chat(user, "\blue You create a false wall! Push on it to open or close the passage.") + to_chat(user, "You create a false wall! Push on it to open or close the passage.") new /obj/structure/falsewall (src.loc) qdel(src) else if(S.amount < 2) return ..() - to_chat(user, "\blue Now adding plating...") + to_chat(user, "Now adding plating...") if(do_after(user, 40 * W.toolspeed, target = src)) if(!src || !S || S.amount < 2) return S.use(2) - to_chat(user, "\blue You added the plating!") + to_chat(user, "You added the plating!") var/turf/Tsrc = get_turf(src) Tsrc.ChangeTurf(/turf/simulated/wall) for(var/turf/simulated/wall/X in Tsrc.loc) @@ -123,17 +123,17 @@ if(!anchored) if(S.amount < 2) return S.use(2) - to_chat(user, "\blue You create a false wall! Push on it to open or close the passage.") + to_chat(user, "You create a false wall! Push on it to open or close the passage.") new /obj/structure/falsewall/reinforced (src.loc) qdel(src) else if(src.icon_state == "reinforced") //I cant believe someone would actually write this line of code... if(S.amount < 1) return ..() - to_chat(user, "\blue Now finalising reinforced wall.") + to_chat(user, "Now finalising reinforced wall.") if(do_after(user, 50, target = src)) if(!src || !S || S.amount < 1) return S.use(1) - to_chat(user, "\blue Wall fully reinforced!") + to_chat(user, "Wall fully reinforced!") var/turf/Tsrc = get_turf(src) Tsrc.ChangeTurf(/turf/simulated/wall/r_wall) for(var/turf/simulated/wall/r_wall/X in Tsrc.loc) @@ -142,11 +142,11 @@ return else if(S.amount < 1) return ..() - to_chat(user, "\blue Now reinforcing girders") + to_chat(user, "Now reinforcing girders") if(do_after(user,60, target = src)) if(!src || !S || S.amount < 1) return S.use(1) - to_chat(user, "\blue Girders reinforced!") + to_chat(user, "Girders reinforced!") new/obj/structure/girder/reinforced( src.loc ) qdel(src) return @@ -156,17 +156,17 @@ if(!anchored) if(S.amount < 2) return S.use(2) - to_chat(user, "\blue You create a false wall! Push on it to open or close the passage.") + to_chat(user, "You create a false wall! Push on it to open or close the passage.") var/F = text2path("/obj/structure/falsewall/[M]") new F (src.loc) qdel(src) else if(S.amount < 2) return ..() - to_chat(user, "\blue Now adding plating...") + to_chat(user, "Now adding plating...") if(do_after(user,40, target = src)) if(!src || !S || S.amount < 2) return S.use(2) - to_chat(user, "\blue You added the plating!") + to_chat(user, "You added the plating!") var/turf/Tsrc = get_turf(src) Tsrc.ChangeTurf(text2path("/turf/simulated/wall/mineral/[M]")) for(var/turf/simulated/wall/mineral/X in Tsrc.loc) @@ -181,7 +181,7 @@ if(P.pipe_type in list(0, 1, 5)) //simple pipes, simple bends, and simple manifolds. user.drop_item() P.loc = src.loc - to_chat(user, "\blue You fit the pipe into the [src]!") + to_chat(user, "You fit the pipe into the [src]!") else ..() @@ -242,20 +242,20 @@ /obj/structure/cultgirder/attackby(obj/item/W as obj, mob/user as mob, params) if(istype(W, /obj/item/weapon/wrench)) playsound(loc, W.usesound, 100, 1) - to_chat(user, "\blue Now disassembling the girder") + to_chat(user, "Now disassembling the girder") if(do_after(user, 40 * W.toolspeed, target = src)) - to_chat(user, "\blue You dissasembled the girder!") + to_chat(user, "You dissasembled the girder!") dismantle() else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter)) - to_chat(user, "\blue Now slicing apart the girder") + to_chat(user, "Now slicing apart the girder") if(do_after(user, 30 * W.toolspeed, target = src)) playsound(loc, W.usesound, 100, 1) - to_chat(user, "\blue You slice apart the girder!") + to_chat(user, "You slice apart the girder!") dismantle() else if(istype(W, /obj/item/weapon/pickaxe/drill/diamonddrill)) - to_chat(user, "\blue You drill through the girder!") + to_chat(user, "You drill through the girder!") dismantle() /obj/structure/cultgirder/proc/dismantle() diff --git a/code/game/objects/structures/inflatable.dm b/code/game/objects/structures/inflatable.dm index fa8a5144e2a..265d1d1c236 100644 --- a/code/game/objects/structures/inflatable.dm +++ b/code/game/objects/structures/inflatable.dm @@ -7,7 +7,7 @@ /obj/item/inflatable/attack_self(mob/user) playsound(loc, 'sound/items/zip.ogg', 75, 1) - to_chat(user, "\blue You inflate [src].") + to_chat(user, "You inflate [src].") var/obj/structure/inflatable/R = new /obj/structure/inflatable(user.loc) src.transfer_fingerprints_to(R) R.add_fingerprint(user) @@ -150,7 +150,7 @@ /obj/item/inflatable/door/attack_self(mob/user) playsound(loc, 'sound/items/zip.ogg', 75, 1) - to_chat(user, "\blue You inflate [src].") + to_chat(user, "You inflate [src].") var/obj/structure/inflatable/door/R = new /obj/structure/inflatable/door(user.loc) src.transfer_fingerprints_to(R) R.add_fingerprint(user) diff --git a/code/game/objects/structures/lamarr_cage.dm b/code/game/objects/structures/lamarr_cage.dm index d661fb60b9e..56a60bc651d 100644 --- a/code/game/objects/structures/lamarr_cage.dm +++ b/code/game/objects/structures/lamarr_cage.dm @@ -69,10 +69,10 @@ if(src.destroyed) return else - to_chat(usr, text("\blue You kick the lab cage.")) + to_chat(usr, text("You kick the lab cage.")) for(var/mob/O in oviewers()) if((O.client && !( O.blinded ))) - to_chat(O, text("\red [] kicks the lab cage.", usr)) + to_chat(O, text("[] kicks the lab cage.", usr)) src.health -= 2 healthcheck() return diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index bfb607585b0..003daa76645 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -50,7 +50,6 @@ return /obj/structure/lattice/attackby(obj/item/C as obj, mob/user as mob, params) - if(istype(C, /obj/item/stack/tile/plasteel) || istype(C, /obj/item/stack/rods)) var/turf/T = get_turf(src) T.attackby(C, user) //BubbleWrap - hand this off to the underlying turf instead @@ -58,11 +57,10 @@ if(istype(C, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/WT = C if(WT.remove_fuel(0, user)) - to_chat(user, "\blue Slicing lattice joints ...") - new /obj/item/stack/rods(src.loc) - qdel(src) + to_chat(user, "Slicing lattice joints...") + new /obj/item/stack/rods(src.loc) + qdel(src) - return /obj/structure/lattice/proc/updateOverlays() //if(!(istype(src.loc, /turf/space))) diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm index e7f29ccd78a..3a1ee8490db 100644 --- a/code/game/objects/structures/mop_bucket.dm +++ b/code/game/objects/structures/mop_bucket.dm @@ -28,10 +28,10 @@ if(istype(W, /obj/item/weapon/mop)) if(src.reagents.total_volume >= 2) src.reagents.trans_to(W, 2) - to_chat(user, "\blue You wet the mop") + to_chat(user, "You wet the mop") playsound(src.loc, 'sound/effects/slosh.ogg', 25, 1) if(src.reagents.total_volume < 1) - to_chat(user, "\blue Out of water!") + to_chat(user, "Out of water!") return /obj/structure/mopbucket/ex_act(severity) diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 88f7e2bc704..39a7ac21301 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -216,7 +216,7 @@ if(user != O) for(var/mob/B in viewers(user, 3)) if((B.client && !( B.blinded ))) - to_chat(B, text("\red [] stuffs [] into []!", user, O, src)) + to_chat(B, text("[] stuffs [] into []!", user, O, src)) return /obj/structure/m_tray/Destroy() @@ -299,7 +299,7 @@ /obj/structure/crematorium/attack_hand(mob/user as mob) if(cremating) - to_chat(usr, "\red It's locked.") + to_chat(usr, "It's locked.") return if((connected) && (locked == 0)) for(var/atom/movable/A as mob|obj in connected.loc) @@ -458,7 +458,7 @@ if(user != O) for(var/mob/B in viewers(user, 3)) if((B.client && !( B.blinded ))) - to_chat(B, text("\red [] stuffs [] into []!", user, O, src)) + to_chat(B, text("[] stuffs [] into []!", user, O, src)) //Foreach goto(99) return diff --git a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm index 54540ab008b..b32f47520e4 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm @@ -1,6 +1,7 @@ /obj/structure/stool/bed/chair/wheelchair name = "wheelchair" desc = "You sit in this. Either by will or force." + icon = 'icons/obj/objects.dmi' icon_state = "wheelchair" anchored = 0 movable = 1 @@ -9,7 +10,7 @@ /obj/structure/stool/bed/chair/wheelchair/handle_rotation() overlays = null - var/image/O = image(icon = 'icons/obj/objects.dmi', icon_state = "w_overlay", layer = FLY_LAYER, dir = src.dir) + var/image/O = image(icon = icon, icon_state = "[icon_state]_overlay", layer = FLY_LAYER, dir = src.dir) overlays += O if(buckled_mob) buckled_mob.dir = dir @@ -152,10 +153,3 @@ else . = 1 - -/obj/structure/stool/bed/chair/wheelchair/bike/handle_rotation() - overlays = null - var/image/O = image(icon = 'icons/vehicles/motorcycle.dmi', icon_state = "motorcycle_overlay_4d", layer = FLY_LAYER, dir = src.dir) - overlays += O - if(buckled_mob) - buckled_mob.dir = dir \ No newline at end of file diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 5c710d8da23..76dc6a507a3 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -243,7 +243,7 @@ playsound(src.loc, W.usesound, 50, 1) playsound(src.loc, "sparks", 50, 1) for(var/mob/O in viewers(user, 4)) - O.show_message("\blue The [src] was sliced apart by [user]!", 1, "\red You hear [src] coming apart.", 2) + O.show_message("The [src] was sliced apart by [user]!", 1, "You hear [src] coming apart.", 2) destroy() return @@ -494,18 +494,18 @@ var/obj/item/weapon/weldingtool/WT = W if(WT.remove_fuel(0, user)) if(src.status == 2) - to_chat(user, "\blue Now weakening the reinforced table") + to_chat(user, "Now weakening the reinforced table") playsound(src.loc, WT.usesound, 50, 1) if(do_after(user, 50 * WT.toolspeed, target = src)) if(!src || !WT.isOn()) return - to_chat(user, "\blue Table weakened") + to_chat(user, "Table weakened") src.status = 1 else - to_chat(user, "\blue Now strengthening the reinforced table") + to_chat(user, "Now strengthening the reinforced table") playsound(src.loc, WT.usesound, 50, 1) if(do_after(user, 50 * WT.toolspeed, target = src)) if(!src || !WT.isOn()) return - to_chat(user, "\blue Table strengthened") + to_chat(user, "Table strengthened") src.status = 2 return return diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index a9df1514c78..c74e2b47861 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -134,8 +134,8 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f else if(user.a_intent == I_HARM) user.changeNext_move(CLICK_CD_MELEE) playsound(get_turf(src), 'sound/effects/glassknock.ogg', 80, 1) - user.visible_message("\red [user.name] bangs against the [src.name]!", \ - "\red You bang against the [src.name]!", \ + user.visible_message("[user.name] bangs against the [src.name]!", \ + "You bang against the [src.name]!", \ "You hear a banging sound.") else user.changeNext_move(CLICK_CD_MELEE) diff --git a/code/game/response_team.dm b/code/game/response_team.dm index e0264e61949..5b0cec99de1 100644 --- a/code/game/response_team.dm +++ b/code/game/response_team.dm @@ -23,15 +23,15 @@ var/ert_request_answered = 0 return if(!ticker) - to_chat(usr, "\red The game hasn't started yet!") + to_chat(usr, "The game hasn't started yet!") return if(ticker.current_state == 1) - to_chat(usr, "\red The round hasn't started yet!") + to_chat(usr, "The round hasn't started yet!") return if(send_emergency_team) - to_chat(usr, "\red Central Command has already dispatched an emergency response team!") + to_chat(usr, "Central Command has already dispatched an emergency response team!") return if(alert("Do you want to dispatch an Emergency Response Team?",,"Yes","No") != "Yes") @@ -43,7 +43,7 @@ var/ert_request_answered = 0 return if(send_emergency_team) - to_chat(usr, "\red Central Command has already dispatched an emergency response team!") + to_chat(usr, "Central Command has already dispatched an emergency response team!") return var/ert_type = pick_ert_type() @@ -313,7 +313,7 @@ var/ert_request_answered = 0 id = /obj/item/weapon/card/id/ert l_ear = /obj/item/device/radio/headset/ert/alt - implants = list(/obj/item/weapon/implant/loyalty) + implants = list(/obj/item/weapon/implant/mindshield) /datum/outfit/job/centcom/response_team/pre_equip() . = ..() @@ -367,7 +367,7 @@ var/ert_request_answered = 0 /obj/item/clothing/head/helmet/ert/command = 1, /obj/item/clothing/mask/gas/sechailer = 1, /obj/item/weapon/restraints/handcuffs = 1, - /obj/item/weapon/storage/lockbox/loyalty = 1 + /obj/item/weapon/storage/lockbox/mindshield = 1 ) /datum/outfit/job/centcom/response_team/commander/red @@ -383,7 +383,7 @@ var/ert_request_answered = 0 /obj/item/clothing/head/helmet/space/hardsuit/ert/commander = 1, /obj/item/clothing/mask/gas/sechailer/swat = 1, /obj/item/weapon/restraints/handcuffs = 1, - /obj/item/weapon/storage/lockbox/loyalty = 1 + /obj/item/weapon/storage/lockbox/mindshield = 1 ) /datum/outfit/job/centcom/response_team/commander/gamma @@ -399,7 +399,7 @@ var/ert_request_answered = 0 /obj/item/clothing/head/helmet/space/hardsuit/ert/commander = 1, /obj/item/clothing/mask/gas/sechailer/swat = 1, /obj/item/weapon/restraints/handcuffs = 1, - /obj/item/weapon/storage/lockbox/loyalty = 1, + /obj/item/weapon/storage/lockbox/mindshield = 1, /obj/item/weapon/gun/energy/pulse/pistol = 1 ) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 217ae5e9c5b..c9b4695357e 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -225,7 +225,7 @@ take_damage(rand(25, 75)) return - to_chat(M, "\blue You push the wall but nothing happens!") + to_chat(M, "You push the wall but nothing happens!") return /turf/simulated/wall/attack_hand(mob/user as mob) @@ -398,12 +398,12 @@ playsound(get_turf(src), 'sound/weapons/circsawhit.ogg', 50, 1) user.visible_message( \ "[user] starts drilling a hole in \the [src].", \ - "\blue You start drilling a hole in \the [src].", \ + "You start drilling a hole in \the [src].", \ "You hear ratchet.") if(do_after(user, 80 * W.toolspeed, target = src)) user.visible_message( \ "[user] drills a hole in \the [src] and pushes \a [P] into the void", \ - "\blue You have finished drilling in \the [src] and push the [P] into the void.", \ + "You have finished drilling in \the [src] and push the [P] into the void.", \ "You hear ratchet.") user.drop_item() diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm index dca0d24742c..cc4d1a05a27 100644 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ b/code/game/turfs/simulated/walls_reinforced.dm @@ -267,12 +267,12 @@ playsound(get_turf(src), 'sound/weapons/circsawhit.ogg', 50, 1) user.visible_message( \ "[user] starts drilling a hole in \the [src].", \ - "\blue You start drilling a hole in \the [src]. This is going to take a while.", \ + "You start drilling a hole in \the [src]. This is going to take a while.", \ "You hear ratchet.") if(do_after(user, 160 * V.toolspeed, target = src)) user.visible_message( \ "[user] drills a hole in \the [src] and pushes \a [P] into the void", \ - "\blue You have finished drilling in \the [src] and push the [P] into the void.", \ + "You have finished drilling in \the [src] and push the [P] into the void.", \ "You hear ratchet.") user.drop_item() diff --git a/code/game/verbs/suicide.dm b/code/game/verbs/suicide.dm index 896bd2b850d..481fc73631a 100644 --- a/code/game/verbs/suicide.dm +++ b/code/game/verbs/suicide.dm @@ -166,7 +166,7 @@ card.removePersonality() var/turf/T = get_turf_or_move(card.loc) for(var/mob/M in viewers(T)) - M.show_message("\blue [src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\"", 3, "\blue [src] bleeps electronically.", 2) + M.show_message("[src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\"", 3, "[src] bleeps electronically.", 2) death(0, 1) else to_chat(src, "Aborting suicide attempt.") diff --git a/code/modules/VR/vr_avatar.dm b/code/modules/VR/vr_avatar.dm new file mode 100644 index 00000000000..510871fb40a --- /dev/null +++ b/code/modules/VR/vr_avatar.dm @@ -0,0 +1,87 @@ + + +/mob/living/carbon/human/virtual_reality + var/mob/living/carbon/human/real_me //The human controlling us, can be any human (including virtual ones... inception...) + var/datum/action/quit_vr/quit_action + var/datum/action/back_to_lobby/back_to_lobby + var/datum/action/detach_from_avatar/detach_from_avatar + +/mob/living/carbon/human/virtual_reality/New() + quit_action = new() + quit_action.Grant(src) + back_to_lobby = new() + back_to_lobby.Grant(src) + detach_from_avatar = new() + detach_from_avatar.Grant(src) + ..() + +/mob/living/carbon/human/virtual_reality/death() + return_to_lobby() + return ..() + +/mob/living/carbon/human/virtual_reality/Destroy() + return_to_lobby() + return ..() + +/mob/living/carbon/human/virtual_reality/ghost() + set category = "OOC" + set name = "Ghost" + set desc = "Relinquish your life and enter the land of the dead." + var/mob/living/carbon/human/H = real_me + revert_to_reality(FALSE) + if(H) + H.ghost() + qdel(src) + +/mob/living/carbon/human/virtual_reality/proc/revert_to_reality(remove = 0) + if(real_me && mind) + mind.transfer_to(real_me) + real_me.EyeBlind(2) + real_me.Confused(2) + if(remove) + qdel(src) + else + return src + +/mob/living/carbon/human/virtual_reality/proc/return_to_lobby() + if(real_me && mind) + var/mob/living/carbon/human/virtual_reality/new_vr + new_vr = spawn_vr_avatar(src, "Lobby") + var/obj/item/clothing/glasses/vr_goggles/g = new_vr.real_me.glasses + g.vr_human = new_vr + qdel(src) + +/datum/action/quit_vr + name = "Quit Virtual Reality" + +/datum/action/quit_vr/Trigger() + if(..()) + if(istype(owner, /mob/living/carbon/human/virtual_reality)) + var/mob/living/carbon/human/virtual_reality/vr = owner + vr.revert_to_reality(1) + else + Remove(owner) + +/datum/action/back_to_lobby + name = "Return To Lobby" + +/datum/action/back_to_lobby/Trigger() + if(..()) + if(istype(owner, /mob/living/carbon/human/virtual_reality)) + var/mob/living/carbon/human/virtual_reality/vr = owner + vr.return_to_lobby() + else + Remove(owner) + +/datum/action/detach_from_avatar + name = "Detach From Avatar" + +/datum/action/detach_from_avatar/Trigger() + if(..()) + if(istype(owner, /mob/living/carbon/human/virtual_reality)) + var/mob/living/carbon/human/virtual_reality/vr = owner + var/obj/item/clothing/glasses/vr_goggles/g = vr.real_me.glasses + g.vr_human = vr + vr.revert_to_reality(0) + else + Remove(owner) diff --git a/code/modules/VR/vr_goggles.dm b/code/modules/VR/vr_goggles.dm new file mode 100644 index 00000000000..c2a185b0ffa --- /dev/null +++ b/code/modules/VR/vr_goggles.dm @@ -0,0 +1,41 @@ +//Glorified teleporter that puts you in a new human body. +// it's """VR""" + +/obj/item/clothing/glasses/vr_goggles + desc = "A long time ago, people used these glasses to makes images from screens threedimensional." + name = "3D glasses" + icon_state = "3d" + item_state = "3d" + prescription_upgradable = 0 + species_fit = list("Vox") + sprite_sheets = list( + "Vox" = 'icons/mob/species/vox/eyes.dmi' + ) + + var/you_die_in_the_game_you_die_for_real = FALSE + var/mob/living/carbon/human/virtual_reality/vr_human + + +/obj/item/clothing/glasses/vr_goggles/Destroy() + ..() + vr_human.revert_to_reality(1) + cleanup_vr_avatar() + +/obj/item/clothing/glasses/vr_goggles/dropped() + ..() + if(vr_human) + vr_human.revert_to_reality(0) + +/obj/item/clothing/glasses/vr_goggles/proc/cleanup_vr_avatar() + if(vr_human) + vr_human = null + +/obj/item/clothing/glasses/vr_goggles/equipped() + ..() + var/mob/living/carbon/human/H = loc + spawn(1) + if(H.glasses == src) + if(vr_human == null) + vr_human = spawn_vr_avatar(H, "Lobby") + else + control_remote(H, vr_human) \ No newline at end of file diff --git a/code/modules/admin/DB ban/functions.dm b/code/modules/admin/DB ban/functions.dm index 577d5d5de46..f04f36a7bcc 100644 --- a/code/modules/admin/DB ban/functions.dm +++ b/code/modules/admin/DB ban/functions.dm @@ -127,7 +127,7 @@ datum/admins/proc/DB_ban_record(var/bantype, var/mob/banned_mob, var/duration = var/sql = "INSERT INTO [format_table_name("ban")] (`id`,`bantime`,`serverip`,`bantype`,`reason`,`job`,`duration`,`rounds`,`expiration_time`,`ckey`,`computerid`,`ip`,`a_ckey`,`a_computerid`,`a_ip`,`who`,`adminwho`,`edits`,`unbanned`,`unbanned_datetime`,`unbanned_ckey`,`unbanned_computerid`,`unbanned_ip`) VALUES (null, Now(), '[serverip]', '[bantype_str]', '[reason]', '[job]', [(duration)?"[duration]":"0"], [(rounds)?"[rounds]":"0"], Now() + INTERVAL [(duration>0) ? duration : 0] MINUTE, '[ckey]', '[computerid]', '[ip]', '[a_ckey]', '[a_computerid]', '[a_ip]', '[who]', '[adminwho]', '', null, null, null, null, null)" var/DBQuery/query_insert = dbcon.NewQuery(sql) query_insert.Execute() - to_chat(usr, "\blue Ban saved to database.") + to_chat(usr, "Ban saved to database.") message_admins("[key_name_admin(usr)] has added a [bantype_str] for [ckey] [(job)?"([job])":""] [(duration > 0)?"([duration] minutes)":""] with the reason: \"[reason]\" to the ban database.",1) if(announceinirc) @@ -201,17 +201,17 @@ datum/admins/proc/DB_ban_unban(var/ckey, var/bantype, var/job = "") ban_number++; if(ban_number == 0) - to_chat(usr, "\red Database update failed due to no bans fitting the search criteria. If this is not a legacy ban you should contact the database admin.") + to_chat(usr, "Database update failed due to no bans fitting the search criteria. If this is not a legacy ban you should contact the database admin.") return if(ban_number > 1) - to_chat(usr, "\red Database update failed due to multiple bans fitting the search criteria. Note down the ckey, job and current time and contact the database admin.") + to_chat(usr, "Database update failed due to multiple bans fitting the search criteria. Note down the ckey, job and current time and contact the database admin.") return if(istext(ban_id)) ban_id = text2num(ban_id) if(!isnum(ban_id)) - to_chat(usr, "\red Database update failed due to a ban ID mismatch. Contact the database admin.") + to_chat(usr, "Database update failed due to a ban ID mismatch. Contact the database admin.") return DB_ban_unban_by_id(ban_id) @@ -302,11 +302,11 @@ datum/admins/proc/DB_ban_unban_by_id(var/id) ban_number++; if(ban_number == 0) - to_chat(usr, "\red Database update failed due to a ban id not being present in the database.") + to_chat(usr, "Database update failed due to a ban id not being present in the database.") return if(ban_number > 1) - to_chat(usr, "\red Database update failed due to multiple bans having the same ID. Contact the database admin.") + to_chat(usr, "Database update failed due to multiple bans having the same ID. Contact the database admin.") return if(!src.owner || !istype(src.owner, /client)) @@ -343,7 +343,7 @@ datum/admins/proc/DB_ban_unban_by_id(var/id) establish_db_connection() if(!dbcon.IsConnected()) - to_chat(usr, "\red Failed to establish database connection") + to_chat(usr, "Failed to establish database connection") return var/output = "
" diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index 3d7b11390eb..6c8d642510a 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -15,7 +15,7 @@ world/IsBanned(key,address,computer_id) //Guest Checking if(!guests_allowed && IsGuestKey(key)) log_access("Failed Login: [key] [computer_id] [address] - Guests not allowed") - // message_admins("\blue Failed Login: [key] - Guests not allowed") + // message_admins("Failed Login: [key] - Guests not allowed") return list("reason"="guest", "desc"="\nReason: Guests not allowed. Please sign in with a BYOND account.") //check if the IP address is a known Tor node diff --git a/code/modules/admin/NewBan.dm b/code/modules/admin/NewBan.dm index 9ba4ca4eeee..2e8fa4ba04b 100644 --- a/code/modules/admin/NewBan.dm +++ b/code/modules/admin/NewBan.dm @@ -172,7 +172,6 @@ var/savefile/Banlist /datum/admins/proc/unbanpanel() var/count = 0 var/dat - //var/dat = "
Unban Player: \blue(U) = Unban , (E) = Edit Ban\green (Total
" Banlist.cd = "/base" for(var/A in Banlist.dir) count++ diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index cb00562be9c..6853baf0755 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -844,8 +844,8 @@ var/global/nologevent = 0 to_chat(world, "Guests may no longer enter the game.") else to_chat(world, "Guests may now enter the game.") - log_admin("[key_name(usr)] toggled guests game entering [guests_allowed?"":"dis"]allowed.") - message_admins("\blue [key_name_admin(usr)] toggled guests game entering [guests_allowed?"":"dis"]allowed.", 1) + log_admin("[key_name(usr)] toggled guests game entering [guests_allowed ? "" : "dis"]allowed.") + message_admins("[key_name_admin(usr)] toggled guests game entering [guests_allowed ? "" : "dis"]allowed.", 1) feedback_add_details("admin_verb","TGU") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/output_ai_laws() diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 34acde09e0d..0d479dcd2dd 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -633,7 +633,7 @@ var/list/admin_verbs_snpc = list( for(var/mob/V in hearers(O)) V.show_message(message, 2) log_admin("[key_name(usr)] made [O] at [O.x], [O.y], [O.z] make a sound") - message_admins("\blue [key_name_admin(usr)] made [O] at [O.x], [O.y], [O.z] make a sound") + message_admins("[key_name_admin(usr)] made [O] at [O.x], [O.y], [O.z] make a sound") feedback_add_details("admin_verb","MS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/togglebuildmodeself() @@ -681,7 +681,7 @@ var/list/admin_verbs_snpc = list( to_chat(usr, "Disabled air processing.") feedback_add_details("admin_verb","KA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] used 'kill air'.") - message_admins("\blue [key_name_admin(usr)] used 'kill air'.", 1) + message_admins("[key_name_admin(usr)] used 'kill air'.", 1) /client/proc/deadmin_self() set name = "De-admin self" diff --git a/code/modules/admin/permissionverbs/permissionedit.dm b/code/modules/admin/permissionverbs/permissionedit.dm index f1232cd4e78..ccacefc219b 100644 --- a/code/modules/admin/permissionverbs/permissionedit.dm +++ b/code/modules/admin/permissionverbs/permissionedit.dm @@ -63,7 +63,7 @@ establish_db_connection() if(!dbcon.IsConnected()) - to_chat(usr, "\red Failed to establish database connection") + to_chat(usr, "Failed to establish database connection") return if(!adm_ckey || !new_rank) @@ -91,14 +91,14 @@ insert_query.Execute() var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `test`.[format_table_name("admin_log")] (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Added new admin [adm_ckey] to rank [new_rank]');") log_query.Execute() - to_chat(usr, "\blue New admin added.") + to_chat(usr, "New admin added.") else if(!isnull(admin_id) && isnum(admin_id)) var/DBQuery/insert_query = dbcon.NewQuery("UPDATE [format_table_name("admin")] SET rank = '[new_rank]' WHERE id = [admin_id]") insert_query.Execute() var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `test`.[format_table_name("admin_log")] (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Edited the rank of [adm_ckey] to [new_rank]');") log_query.Execute() - to_chat(usr, "\blue Admin rank changed.") + to_chat(usr, "Admin rank changed.") /datum/admins/proc/log_admin_permission_modification(var/adm_ckey, var/new_permission) if(config.admin_legacy_system) @@ -112,7 +112,7 @@ establish_db_connection() if(!dbcon.IsConnected()) - to_chat(usr, "\red Failed to establish database connection") + to_chat(usr, "Failed to establish database connection") return if(!adm_ckey || !new_permission) @@ -146,13 +146,13 @@ insert_query.Execute() var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `test`.[format_table_name("admin_log")] (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Removed permission [rights2text(new_permission)] (flag = [new_permission]) to admin [adm_ckey]');") log_query.Execute() - to_chat(usr, "\blue Permission removed.") + to_chat(usr, "Permission removed.") else //This admin doesn't have this permission, so we are adding it. var/DBQuery/insert_query = dbcon.NewQuery("UPDATE [format_table_name("admin")] SET flags = '[admin_rights | new_permission]' WHERE id = [admin_id]") insert_query.Execute() var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `test`.[format_table_name("admin_log")] (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Added permission [rights2text(new_permission)] (flag = [new_permission]) to admin [adm_ckey]')") log_query.Execute() - to_chat(usr, "\blue Permission added.") + to_chat(usr, "Permission added.") /datum/admins/proc/updateranktodb(ckey,newrank) establish_db_connection() diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index ed4dc9e5cf6..605c4acd1f3 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -34,35 +34,35 @@ if("1") log_admin("[key_name(usr)] has spawned a traitor.") if(!src.makeTraitors()) - to_chat(usr, "\red Unfortunately there weren't enough candidates available.") + to_chat(usr, "Unfortunately there weren't enough candidates available.") if("2") log_admin("[key_name(usr)] has spawned a changeling.") if(!src.makeChanglings()) - to_chat(usr, "\red Unfortunately there weren't enough candidates available.") + to_chat(usr, "Unfortunately there weren't enough candidates available.") if("3") log_admin("[key_name(usr)] has spawned revolutionaries.") if(!src.makeRevs()) - to_chat(usr, "\red Unfortunately there weren't enough candidates available.") + to_chat(usr, "Unfortunately there weren't enough candidates available.") if("4") log_admin("[key_name(usr)] has spawned a cultists.") if(!src.makeCult()) - to_chat(usr, "\red Unfortunately there weren't enough candidates available.") + to_chat(usr, "Unfortunately there weren't enough candidates available.") if("5") log_admin("[key_name(usr)] has spawned a wizard.") if(!src.makeWizard()) - to_chat(usr, "\red Unfortunately there weren't enough candidates available.") + to_chat(usr, "Unfortunately there weren't enough candidates available.") if("6") log_admin("[key_name(usr)] has spawned vampires.") if(!src.makeVampires()) - to_chat(usr, "\red Unfortunately there weren't enough candidates available.") + to_chat(usr, "Unfortunately there weren't enough candidates available.") if("7") log_admin("[key_name(usr)] has spawned vox raiders.") if(!src.makeVoxRaiders()) - to_chat(usr, "\red Unfortunately there weren't enough candidates available.") + to_chat(usr, "Unfortunately there weren't enough candidates available.") if("8") log_admin("[key_name(usr)] has spawned an abductor team.") if(!src.makeAbductorTeam()) - to_chat(usr, "\red Unfortunately there weren't enough candidates available.") + to_chat(usr, "Unfortunately there weren't enough candidates available.") else if(href_list["dbsearchckey"] || href_list["dbsearchadmin"] || href_list["dbsearchip"] || href_list["dbsearchcid"] || href_list["dbsearchbantype"]) var/adminckey = href_list["dbsearchadmin"] @@ -298,7 +298,7 @@ ticker.delay_end = !ticker.delay_end log_admin("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].") - message_admins("\blue [key_name_admin(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) + message_admins("[key_name_admin(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) href_list["secretsadmin"] = "check_antagonist" else if(href_list["simplemake"]) @@ -315,7 +315,7 @@ if("Yes") delmob = 1 log_admin("[key_name(usr)] has used rudimentary transformation on [key_name(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]") - message_admins("\blue [key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]", 1) + message_admins("[key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]", 1) switch(href_list["simplemake"]) if("observer") M.change_mob_type( /mob/dead/observer , null, null, delmob, 1 ) @@ -398,7 +398,7 @@ log_admin("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]") ban_unban_log_save("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]") - message_admins("\blue [key_name_admin(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]", 1) + message_admins("[key_name_admin(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]", 1) Banlist.cd = "/base/[banfolder]" to_chat(Banlist["reason"], reason) to_chat(Banlist["temp"], temp) @@ -434,8 +434,8 @@ feedback_inc("ban_appearance_unban", 1) DB_ban_unban(M.ckey, BANTYPE_APPEARANCE) appearance_unban(M) - message_admins("\blue [key_name_admin(usr)] removed [key_name_admin(M)]'s appearance ban", 1) - to_chat(M, "\red[usr.client.ckey] has removed your appearance ban.") + message_admins("[key_name_admin(usr)] removed [key_name_admin(M)]'s appearance ban", 1) + to_chat(M, "[usr.client.ckey] has removed your appearance ban.") else switch(alert("Appearance ban [M.ckey]?",,"Yes","No", "Cancel")) if("Yes") @@ -448,14 +448,14 @@ DB_ban_record(BANTYPE_APPEARANCE, M, -1, reason) appearance_fullban(M, "[reason]; By [usr.ckey] on [time2text(world.realtime)]") add_note(M.ckey, "Appearance banned - [reason]", null, usr.ckey, 0) - message_admins("\blue [key_name_admin(usr)] appearance banned [key_name_admin(M)]", 1) - to_chat(M, "\redYou have been appearance banned by [usr.client.ckey].") + message_admins("[key_name_admin(usr)] appearance banned [key_name_admin(M)]", 1) + to_chat(M, "You have been appearance banned by [usr.client.ckey].") to_chat(M, "The reason is: [reason]") - to_chat(M, "\red Appearance ban can be lifted only upon request.") + to_chat(M, "Appearance ban can be lifted only upon request.") if(config.banappeals) - to_chat(M, "\red To try to resolve this matter head to [config.banappeals]") + to_chat(M, "To try to resolve this matter head to [config.banappeals]") else - to_chat(M, "\red No ban appeals URL has been set.") + to_chat(M, "No ban appeals URL has been set.") if("No") return @@ -790,7 +790,7 @@ switch(alert("Temporary Ban?",,"Yes","No", "Cancel")) if("Yes") if(config.ban_legacy_system) - to_chat(usr, "\red Your server is using the legacy banning system, which does not support temporary job bans. Consider upgrading. Aborting ban.") + to_chat(usr, "Your server is using the legacy banning system, which does not support temporary job bans. Consider upgrading. Aborting ban.") return var/mins = input(usr,"How long (in minutes)?","Ban time",1440) as num|null if(!mins) @@ -812,10 +812,10 @@ else msg += ", [job]" add_note(M.ckey, "Banned from [msg] - [reason]", null, usr.ckey, 0) - message_admins("\blue [key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes", 1) - to_chat(M, "\redYou have been jobbanned by [usr.client.ckey] from: [msg].") + message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes", 1) + to_chat(M, "You have been jobbanned by [usr.client.ckey] from: [msg].") to_chat(M, "The reason is: [reason]") - to_chat(M, "\red This jobban will be lifted in [mins] minutes.") + to_chat(M, "This jobban will be lifted in [mins] minutes.") href_list["jobban2"] = 1 // lets it fall through and refresh return 1 if("No") @@ -832,10 +832,10 @@ if(!msg) msg = job else msg += ", [job]" add_note(M.ckey, "Banned from [msg] - [reason]", null, usr.ckey, 0) - message_admins("\blue [key_name_admin(usr)] banned [key_name_admin(M)] from [msg]", 1) - to_chat(M, "\redYou have been jobbanned by [usr.client.ckey] from: [msg].") + message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg]", 1) + to_chat(M, "You have been jobbanned by [usr.client.ckey] from: [msg].") to_chat(M, "The reason is: [reason]") - to_chat(M, "\red Jobban can be lifted only upon request.") + to_chat(M, "Jobban can be lifted only upon request.") href_list["jobban2"] = 1 // lets it fall through and refresh return 1 if("Cancel") @@ -865,8 +865,8 @@ else continue if(msg) - message_admins("\blue [key_name_admin(usr)] unbanned [key_name_admin(M)] from [msg]", 1) - to_chat(M, "\redYou have been un-jobbanned by [usr.client.ckey] from [msg].") + message_admins("[key_name_admin(usr)] unbanned [key_name_admin(M)] from [msg]", 1) + to_chat(M, "You have been un-jobbanned by [usr.client.ckey] from [msg].") href_list["jobban2"] = 1 // lets it fall through and refresh return 1 return 0 //we didn't do anything! @@ -876,9 +876,9 @@ if(ismob(M)) if(!check_if_greater_rights_than(M.client)) return - to_chat(M, "\red You have been kicked from the server") + to_chat(M, "You have been kicked from the server") log_admin("[key_name(usr)] booted [key_name(M)].") - message_admins("\blue [key_name_admin(usr)] booted [key_name_admin(M)].", 1) + message_admins("[key_name_admin(usr)] booted [key_name_admin(M)].", 1) //M.client = null del(M.client) @@ -933,7 +933,7 @@ if(t) if((alert("Do you want to unjobban [t]?","Unjobban confirmation", "Yes", "No") == "Yes") && t) //No more misclicks! Unless you do it twice. log_admin("[key_name(usr)] removed [t]") - message_admins("\blue [key_name_admin(usr)] removed [t]", 1) + message_admins("[key_name_admin(usr)] removed [t]", 1) jobban_remove(t) href_list["ban"] = 1 // lets it fall through and refresh var/t_split = splittext(t, " - ") @@ -960,17 +960,17 @@ return AddBan(M.ckey, M.computer_id, reason, usr.ckey, 1, mins) ban_unban_log_save("[usr.client.ckey] has banned [M.ckey]. - Reason: [reason] - This will be removed in [mins] minutes.") - to_chat(M, "\redYou have been banned by [usr.client.ckey].\nReason: [reason].") - to_chat(M, "\red This is a temporary ban, it will be removed in [mins] minutes.") + to_chat(M, "You have been banned by [usr.client.ckey].\nReason: [reason].") + to_chat(M, "This is a temporary ban, it will be removed in [mins] minutes.") feedback_inc("ban_tmp",1) DB_ban_record(BANTYPE_TEMP, M, mins, reason) feedback_inc("ban_tmp_mins",mins) if(config.banappeals) - to_chat(M, "\red To try to resolve this matter head to [config.banappeals]") + to_chat(M, "To try to resolve this matter head to [config.banappeals]") else - to_chat(M, "\red No ban appeals URL has been set.") + to_chat(M, "No ban appeals URL has been set.") log_admin("[key_name(usr)] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.") - message_admins("\blue [key_name_admin(usr)] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.") + message_admins("[key_name_admin(usr)] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.") del(M.client) //qdel(M) // See no reason why to delete mob. Important stuff can be lost. And ban can be lifted before round ends. @@ -984,15 +984,15 @@ AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0, M.lastKnownIP) if("No") AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0) - to_chat(M, "\redYou have been banned by [usr.client.ckey].\nReason: [reason].") - to_chat(M, "\red This is a permanent ban.") + to_chat(M, "You have been banned by [usr.client.ckey].\nReason: [reason].") + to_chat(M, "This is a permanent ban.") if(config.banappeals) - to_chat(M, "\red To try to resolve this matter head to [config.banappeals]") + to_chat(M, "To try to resolve this matter head to [config.banappeals]") else - to_chat(M, "\red No ban appeals URL has been set.") + to_chat(M, "No ban appeals URL has been set.") ban_unban_log_save("[usr.client.ckey] has permabanned [M.ckey]. - Reason: [reason] - This is a permanent ban.") log_admin("[key_name(usr)] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.") - message_admins("\blue[key_name_admin(usr)] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.") + message_admins("[key_name_admin(usr)] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.") feedback_inc("ban_perma",1) DB_ban_record(BANTYPE_PERMA, M, -1, reason) @@ -1094,7 +1094,7 @@ return alert(usr, "The game has already started.", null, null, null, null) master_mode = href_list["c_mode2"] log_admin("[key_name(usr)] set the mode as [master_mode].") - message_admins("\blue [key_name_admin(usr)] set the mode as [master_mode].", 1) + message_admins("[key_name_admin(usr)] set the mode as [master_mode].", 1) to_chat(world, "The mode is now: [master_mode]") Game() // updates the main game menu world.save_mode(master_mode) @@ -1109,7 +1109,7 @@ return alert(usr, "The game mode has to be secret!", null, null, null, null) secret_force_mode = href_list["f_secret2"] log_admin("[key_name(usr)] set the forced secret mode as [secret_force_mode].") - message_admins("\blue [key_name_admin(usr)] set the forced secret mode as [secret_force_mode].", 1) + message_admins("[key_name_admin(usr)] set the forced secret mode as [secret_force_mode].", 1) Game() // updates the main game menu .(href, list("f_secret"=1)) @@ -1124,7 +1124,7 @@ return log_admin("[key_name(usr)] attempting to monkeyize [key_name(H)]") - message_admins("\blue [key_name_admin(usr)] attempting to monkeyize [key_name_admin(H)]", 1) + message_admins("[key_name_admin(usr)] attempting to monkeyize [key_name_admin(H)]", 1) H.monkeyize() @@ -1140,7 +1140,7 @@ return log_admin("[key_name(usr)] attempting to corgize [key_name(H)]") - message_admins("\blue [key_name_admin(usr)] attempting to corgize [key_name_admin(H)]", 1) + message_admins("[key_name_admin(usr)] attempting to corgize [key_name_admin(H)]", 1) H.corgize() else if(href_list["makePAI"]) @@ -1164,7 +1164,7 @@ name = painame log_admin("[key_name(usr)] attempting to pAIze [key_name(H)]") - message_admins("\blue [key_name_admin(usr)] attempting to pAIze [key_name_admin(H)]", 1) + message_admins("[key_name_admin(usr)] attempting to pAIze [key_name_admin(H)]", 1) H.paize(name) else if(href_list["forcespeech"]) @@ -1179,7 +1179,7 @@ M.say(speech) speech = sanitize(speech) // Nah, we don't trust them log_admin("[key_name(usr)] forced [key_name(M)] to say: [speech]") - message_admins("\blue [key_name_admin(usr)] forced [key_name_admin(M)] to say: [speech]") + message_admins("[key_name_admin(usr)] forced [key_name_admin(M)] to say: [speech]") else if(href_list["sendtoprison"]) if(!check_rights(R_ADMIN)) return @@ -1223,9 +1223,9 @@ prisoner.equip_to_slot_or_del(new /obj/item/clothing/under/color/orange(prisoner), slot_w_uniform) prisoner.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(prisoner), slot_shoes) - to_chat(M, "\red You have been sent to the prison station!") + to_chat(M, "You have been sent to the prison station!") log_admin("[key_name(usr)] sent [key_name(M)] to the prison station.") - message_admins("\blue [key_name_admin(usr)] sent [key_name_admin(M)] to the prison station.", 1) + message_admins("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station.", 1) else if(href_list["sendbacktolobby"]) if(!check_rights(R_ADMIN)) @@ -1278,7 +1278,7 @@ sleep(5) M.loc = pick(tdome1) spawn(50) - to_chat(M, "\blue You have been sent to the Thunderdome.") + to_chat(M, "You have been sent to the Thunderdome.") log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 1)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 1)", 1) @@ -1308,7 +1308,7 @@ sleep(5) M.loc = pick(tdome2) spawn(50) - to_chat(M, "\blue You have been sent to the Thunderdome.") + to_chat(M, "You have been sent to the Thunderdome.") log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 2)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 2)", 1) @@ -1330,7 +1330,7 @@ sleep(5) M.loc = pick(tdomeadmin) spawn(50) - to_chat(M, "\blue You have been sent to the Thunderdome.") + to_chat(M, "You have been sent to the Thunderdome.") log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Admin.)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Admin.)", 1) @@ -1364,7 +1364,7 @@ sleep(5) M.loc = pick(tdomeobserve) spawn(50) - to_chat(M, "\blue You have been sent to the Thunderdome.") + to_chat(M, "You have been sent to the Thunderdome.") log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Observer.)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Observer.)", 1) @@ -1386,7 +1386,7 @@ sleep(5) M.loc = pick(aroomwarp) spawn(50) - to_chat(M, "\blue You have been sent to the Admin Room!.") + to_chat(M, "You have been sent to the Admin Room!.") log_admin("[key_name(usr)] has sent [key_name(M)] to the Admin Room") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the Admin Room", 1) @@ -1400,7 +1400,7 @@ return L.revive() - message_admins("\red Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!", 1) + message_admins("Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!", 1) log_admin("[key_name(usr)] healed / revived [key_name(L)]") else if(href_list["makeai"]) @@ -1414,7 +1414,7 @@ if(alert(usr, "Confirm make ai?",, "Yes", "No") != "Yes") return - message_admins("\red Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!", 1) + message_admins("Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!", 1) log_admin("[key_name(usr)] AIized [key_name(H)]") var/mob/living/silicon/ai/ai_character = H.AIize() ai_character.moveToAILandmark() @@ -1619,7 +1619,7 @@ log_admin("[key_name(H)] got their cookie, spawned by [key_name(src.owner)]") message_admins("[key_name_admin(H)] got their cookie, spawned by [key_name_admin(src.owner)]") feedback_inc("admin_cookies_spawned",1) - to_chat(H, "\blue Your prayers have been answered!! You received the best cookie!") + to_chat(H, "Your prayers have been answered!! You received the best cookie!") else if(href_list["BlueSpaceArtillery"]) if(!check_rights(R_ADMIN|R_EVENT)) return @@ -1986,7 +1986,7 @@ usr << browse(data, "window=[B.name]") else - to_chat(usr, "\red The faxed item is not viewable. This is probably a bug, and should be reported on the tracker: [fax.type]") + to_chat(usr, "The faxed item is not viewable. This is probably a bug, and should be reported on the tracker: [fax.type]") else if(href_list["AdminFaxViewPage"]) if(!check_rights(R_ADMIN)) @@ -2118,14 +2118,14 @@ if(destination != "All Departments") if(!fax.receivefax(P)) - to_chat(src.owner, "\red Message transmission failed.") + to_chat(src.owner, "Message transmission failed.") return else for(var/obj/machinery/photocopier/faxmachine/F in allfaxes) if(is_station_level(F.z)) spawn(0) if(!F.receivefax(P)) - to_chat(src.owner, "\red Message transmission to [F.department] failed.") + to_chat(src.owner, "Message transmission to [F.department] failed.") var/datum/fax/admin/A = new /datum/fax/admin() A.name = P.name @@ -2140,7 +2140,7 @@ A.sent_by = usr A.sent_at = world.time - to_chat(src.owner, "\blue Message transmitted successfully.") + to_chat(src.owner, "Message transmitted successfully.") if(notify == "Yes") var/mob/living/carbon/human/H = sender if(istype(H) && H.stat == CONSCIOUS && (istype(H.l_ear, /obj/item/device/radio/headset) || istype(H.r_ear, /obj/item/device/radio/headset))) @@ -2440,30 +2440,30 @@ feedback_add_details("admin_secrets_fun_used","Grav") if(gravity_is_on) log_admin("[key_name(usr)] toggled gravity on.", 1) - message_admins("\blue [key_name_admin(usr)] toggled gravity on.", 1) + message_admins("[key_name_admin(usr)] toggled gravity on.", 1) event_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.") else log_admin("[key_name(usr)] toggled gravity off.", 1) - message_admins("\blue [key_name_admin(usr)] toggled gravity off.", 1) + message_admins("[key_name_admin(usr)] toggled gravity off.", 1) event_announcement.Announce("Feedback surge detected in mass-distributions systems. Artifical gravity has been disabled whilst the system reinitializes. Further failures may result in a gravitational collapse and formation of blackholes. Have a nice day.") if("power") feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","P") log_admin("[key_name(usr)] made all areas powered", 1) - message_admins("\blue [key_name_admin(usr)] made all areas powered", 1) + message_admins("[key_name_admin(usr)] made all areas powered", 1) power_restore() if("unpower") feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","UP") log_admin("[key_name(usr)] made all areas unpowered", 1) - message_admins("\blue [key_name_admin(usr)] made all areas unpowered", 1) + message_admins("[key_name_admin(usr)] made all areas unpowered", 1) power_failure() if("quickpower") feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","QP") log_admin("[key_name(usr)] made all SMESs powered", 1) - message_admins("\blue [key_name_admin(usr)] made all SMESs powered", 1) + message_admins("[key_name_admin(usr)] made all SMESs powered", 1) power_restore_quick() if("prisonwarp") if(!ticker) @@ -2471,7 +2471,7 @@ return feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","PW") - message_admins("\blue [key_name_admin(usr)] teleported all players to the prison station.", 1) + message_admins("[key_name_admin(usr)] teleported all players to the prison station.", 1) for(var/mob/living/carbon/human/H in mob_list) var/turf/loc = find_loc(H) var/security = 0 @@ -2538,7 +2538,7 @@ A.mind.objectives += new_objective ticker.mode.greet_traitor(A.mind) ticker.mode.finalize_traitor(A.mind) - message_admins("\blue [key_name_admin(usr)] used everyone is a traitor secret. Objective is [objective]", 1) + message_admins("[key_name_admin(usr)] used everyone is a traitor secret. Objective is [objective]", 1) log_admin("[key_name(usr)] used everyone is a traitor secret. Objective is [objective]") if("togglebombcap") @@ -2578,20 +2578,20 @@ var/Message = rand(1,4) switch(Message) if(1) - M.show_message(text("\blue You shudder as if cold..."), 1) + M.show_message(text("You shudder as if cold..."), 1) if(2) - M.show_message(text("\blue You feel something gliding across your back..."), 1) + M.show_message(text("You feel something gliding across your back..."), 1) if(3) - M.show_message(text("\blue Your eyes twitch, you feel like something you can't see is here..."), 1) + M.show_message(text("Your eyes twitch, you feel like something you can't see is here..."), 1) if(4) - M.show_message(text("\blue You notice something moving out of the corner of your eye, but nothing is there..."), 1) + M.show_message(text("You notice something moving out of the corner of your eye, but nothing is there..."), 1) for(var/obj/W in orange(5,M)) if(prob(25) && !W.anchored) step_rand(W) sleep(rand(100,1000)) for(var/mob/M in player_list) if(M.stat != 2) - M.show_message(text("\blue The chilling wind suddenly stops..."), 1) + M.show_message(text("The chilling wind suddenly stops..."), 1) /* if("shockwave") ok = 1 to_chat(world, "ALERT: STATION STRESS CRITICAL") @@ -2775,22 +2775,22 @@ message_admins("[key_name_admin(usr)] tried starting a Thunderdome match, but no ghosts signed up.") if("securitylevel0") set_security_level(0) - message_admins("\blue [key_name_admin(usr)] change security level to Green.", 1) + message_admins("[key_name_admin(usr)] change security level to Green.", 1) if("securitylevel1") set_security_level(1) - message_admins("\blue [key_name_admin(usr)] change security level to Blue.", 1) + message_admins("[key_name_admin(usr)] change security level to Blue.", 1) if("securitylevel2") set_security_level(2) - message_admins("\blue [key_name_admin(usr)] change security level to Red.", 1) + message_admins("[key_name_admin(usr)] change security level to Red.", 1) if("securitylevel3") set_security_level(3) - message_admins("\blue [key_name_admin(usr)] change security level to Gamma.", 1) + message_admins("[key_name_admin(usr)] change security level to Gamma.", 1) if("securitylevel4") set_security_level(4) - message_admins("\blue [key_name_admin(usr)] change security level to Epsilon.", 1) + message_admins("[key_name_admin(usr)] change security level to Epsilon.", 1) if("securitylevel5") set_security_level(5) - message_admins("\blue [key_name_admin(usr)] change security level to Delta.", 1) + message_admins("[key_name_admin(usr)] change security level to Delta.", 1) if("moveminingshuttle") feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","ShM") diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index ea58ff4a149..7e94010b3b4 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -197,8 +197,8 @@ sanitize(msg) if(length(msg) > 400) // TODO: if message length is over 400, divide it up into seperate messages, the message length restriction is based on IRC limitations. Probably easier to do this on the bots ends. - to_chat(src, "\red Your message was not sent because it was more then 400 characters find your message below for ease of copy/pasting") - to_chat(src, "\blue [msg]") + to_chat(src, "Your message was not sent because it was more then 400 characters find your message below for ease of copy/pasting") + to_chat(src, "[msg]") return send2adminirc("PlayerPM from [key_name(src)]: [html_decode(msg)]") @@ -210,4 +210,4 @@ if(X == src) continue if(check_rights(R_ADMIN|R_MOD|R_MENTOR, 0, X.mob)) - to_chat(X, "PM: [key_name(src, X, 0)]->IRC-Admins: \blue [msg]") + to_chat(X, "PM: [key_name(src, X, 0)]->IRC-Admins:[msg]") diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 035139b81fc..28a0532bf13 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -296,7 +296,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M:Alienize() feedback_add_details("admin_verb","MKAL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] made [key_name(M)] into an alien.") - message_admins("\blue [key_name_admin(usr)] made [key_name(M)] into an alien.", 1) + message_admins("[key_name_admin(usr)] made [key_name(M)] into an alien.", 1) else alert("Invalid mob") @@ -316,7 +316,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M:slimeize() feedback_add_details("admin_verb","MKMET") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] made [key_name(M)] into a slime.") - message_admins("\blue [key_name_admin(usr)] made [key_name(M)] into a slime.", 1) + message_admins("[key_name_admin(usr)] made [key_name(M)] into a slime.", 1) else alert("Invalid mob") @@ -336,7 +336,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(S) S.create(M) log_admin("[key_name(src)] has turned [M.key] into a Superhero.") - message_admins("\blue [key_name_admin(usr)] made [key_name(M)] into a Superhero.", 1) + message_admins("[key_name_admin(usr)] made [key_name(M)] into a Superhero.", 1) else alert("Invalid mob") @@ -424,7 +424,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that alert("Invalid mob") feedback_add_details("admin_verb","GFA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(src)] has granted [M.key] full access.") - message_admins("\blue [key_name_admin(usr)] has granted [M.key] full access.", 1) + message_admins("[key_name_admin(usr)] has granted [M.key] full access.", 1) /client/proc/cmd_assume_direct_control(var/mob/M in mob_list) set category = "Admin" @@ -440,7 +440,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that else var/mob/dead/observer/ghost = new/mob/dead/observer(M,1) ghost.ckey = M.ckey - message_admins("\blue [key_name_admin(usr)] assumed direct control of [M].", 1) + message_admins("[key_name_admin(usr)] assumed direct control of [M].", 1) log_admin("[key_name(usr)] assumed direct control of [M].") var/mob/adminmob = src.mob M.ckey = src.ckey @@ -662,7 +662,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M.regenerate_icons() log_admin("[key_name(usr)] changed the equipment of [key_name(M)] to [dresscode].") - message_admins("\blue [key_name_admin(usr)] changed the equipment of [key_name_admin(M)] to [dresscode].", 1) + message_admins("[key_name_admin(usr)] changed the equipment of [key_name_admin(M)] to [dresscode].", 1) return diff --git a/code/modules/admin/verbs/diagnostics.dm b/code/modules/admin/verbs/diagnostics.dm index 30f97569c3b..8b8a2b58a52 100644 --- a/code/modules/admin/verbs/diagnostics.dm +++ b/code/modules/admin/verbs/diagnostics.dm @@ -15,7 +15,7 @@ if(T.active_hotspot) burning = 1 - to_chat(usr, "\blue @[target.x],[target.y]: O:[GM.oxygen] T:[GM.toxins] N:[GM.nitrogen] C:[GM.carbon_dioxide] w [GM.temperature] Kelvin, [GM.return_pressure()] kPa [(burning)?("\red BURNING"):(null)]") + to_chat(usr, "@[target.x],[target.y]: O:[GM.oxygen] T:[GM.toxins] N:[GM.nitrogen] C:[GM.carbon_dioxide] w [GM.temperature] Kelvin, [GM.return_pressure()] kPa [(burning)?("BURNING"):(null)]") for(var/datum/gas/trace_gas in GM.trace_gases) to_chat(usr, "[trace_gas.type]: [trace_gas.moles]") diff --git a/code/modules/admin/verbs/freeze.dm b/code/modules/admin/verbs/freeze.dm index 6ebd6b1256a..523fe5cb302 100644 --- a/code/modules/admin/verbs/freeze.dm +++ b/code/modules/admin/verbs/freeze.dm @@ -45,7 +45,7 @@ var/global/list/frozen_mob_list = list() /mob/living/proc/admin_unFreeze(var/client/admin) if(istype(admin)) to_chat(src, "You have been unfrozen by [key_name(admin)]") - message_admins("\blue [key_name_admin(admin)] unfroze [key_name_admin(src)]") + message_admins("[key_name_admin(admin)] unfroze [key_name_admin(src)]") log_admin("[key_name(admin)] unfroze [key_name(src)]") anchored = 0 @@ -106,10 +106,10 @@ var/global/list/frozen_mob_list = list() if(M.occupant) M.removeVerb(/obj/mecha/verb/eject) to_chat(M.occupant, "You have been frozen by [key]") - message_admins("\blue [key_name_admin(usr)] froze [key_name(M.occupant)] in a [M.name]") + message_admins("[key_name_admin(usr)] froze [key_name(M.occupant)] in a [M.name]") log_admin("[key_name(usr)] froze [key_name(M.occupant)] in a [M.name]") else - message_admins("\blue [key_name_admin(usr)] froze an empty [M.name]") + message_admins("[key_name_admin(usr)] froze an empty [M.name]") log_admin("[key_name(usr)] froze an empty [M.name]") else if(M.can_move == 0) M.can_move = 1 @@ -117,8 +117,8 @@ var/global/list/frozen_mob_list = list() if(M.occupant) M.addVerb(/obj/mecha/verb/eject) to_chat(M.occupant, "You have been unfrozen by [key]") - message_admins("\blue [key_name_admin(usr)] unfroze [key_name(M.occupant)] in a [M.name]") + message_admins("[key_name_admin(usr)] unfroze [key_name(M.occupant)] in a [M.name]") log_admin("[key_name(usr)] unfroze [M.occupant.name]/[M.occupant.ckey] in a [M.name]") else - message_admins("\blue [key_name_admin(usr)] unfroze an empty [M.name]") + message_admins("[key_name_admin(usr)] unfroze an empty [M.name]") log_admin("[key_name(usr)] unfroze an empty [M.name]") diff --git a/code/modules/admin/verbs/honksquad.dm b/code/modules/admin/verbs/honksquad.dm index 480ff434a30..cecf04b93aa 100644 --- a/code/modules/admin/verbs/honksquad.dm +++ b/code/modules/admin/verbs/honksquad.dm @@ -62,14 +62,14 @@ var/global/sent_honksquad = 0 new_honksquad.update_internals_hud_icon(1) //So they don't forget their code or mission. - new_honksquad.mind.store_memory("Mission: \red [input].") + new_honksquad.mind.store_memory("Mission:[input].") - to_chat(new_honksquad, "\blue You are a HONKsquad. [!honk_leader_selected?"commando":"LEADER"] in the service of Clown Planet. You are called in cases of exteme low levels of HONK. You are NOT authorized to kill. \nYour current mission is: [input]") + to_chat(new_honksquad, "You are a HONKsquad. [!honk_leader_selected ? "commando" : "LEADER"] in the service of Clown Planet. You are called in cases of exteme low levels of HONK. You are NOT authorized to kill.\nYour current mission is: [input]") honksquad_number-- - message_admins("\blue [key_name_admin(usr)] has spawned a HONKsquad.", 1) + message_admins("[key_name_admin(usr)] has spawned a HONKsquad.", 1) log_admin("[key_name(usr)] used Spawn HONKsquad.") return 1 diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index e71c6981d97..d581c99644b 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -337,7 +337,7 @@ client/proc/one_click_antag() //So they don't forget their code or mission. - to_chat(new_syndicate_commando, "\blue You are an Elite Syndicate. [!syndicate_leader_selected?"commando":"LEADER"] in the service of the Syndicate. \nYour current mission is: [input]") + to_chat(new_syndicate_commando, "You are an Elite Syndicate. [!syndicate_leader_selected ? "commando" : "LEADER"] in the service of the Syndicate. \nYour current mission is: [input]") numagents-- if(numagents >= 6) @@ -444,8 +444,8 @@ client/proc/one_click_antag() new_vox.key = theghost.key ticker.mode.traitors += new_vox.mind - to_chat(new_vox, "\blue You are a Vox Primalis, fresh out of the Shoal. Your ship has arrived at the Tau Ceti system hosting the NSV Exodus... or was it the Luna? NSS? Utopia? Nobody is really sure, but everyong is raring to start pillaging! Your current goal is: [input]") - to_chat(new_vox, "\red Don't forget to turn on your nitrogen internals!") + to_chat(new_vox, "You are a Vox Primalis, fresh out of the Shoal. Your ship has arrived at the Tau Ceti system hosting the NSV Exodus... or was it the Luna? NSS? Utopia? Nobody is really sure, but everyong is raring to start pillaging! Your current goal is: [input]") + to_chat(new_vox, "Don't forget to turn on your nitrogen internals!") raiders-- if(raiders > max_raiders) diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index ad926d61de7..4560c7affa9 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -7,13 +7,13 @@ if(usr.client) if(usr.client.prefs.muted & MUTE_PRAY) - to_chat(usr, "\red You cannot pray (muted).") + to_chat(usr, "You cannot pray (muted).") return if(client.handle_spam_prevention(msg, MUTE_PRAY, OOC_COOLDOWN)) return var/image/cross = image('icons/obj/storage.dmi',"bible") - msg = "\blue [bicon(cross)] PRAY: [key_name(src, 1)] (?) (PP) (VV) (SM) ([admin_jump_link(src)]) (CA) (SC) (BLESS) (SMITE): [msg]" + msg = "[bicon(cross)] PRAY: [key_name(src, 1)] (?) (PP) (VV) (SM) ([admin_jump_link(src)]) (CA) (SC) (BLESS) (SMITE): [msg]" for(var/client/X in admins) if(check_rights(R_EVENT,0,X.mob)) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index a19901fa6fc..170e5e8cf9f 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -39,9 +39,9 @@ prisoner.equip_to_slot_or_del(new /obj/item/clothing/under/color/orange(prisoner), slot_w_uniform) prisoner.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(prisoner), slot_shoes) spawn(50) - to_chat(M, "\red You have been sent to the prison station!") + to_chat(M, "You have been sent to the prison station!") log_admin("[key_name(usr)] sent [key_name(M)] to the prison station.") - message_admins("\blue [key_name_admin(usr)] sent [key_name_admin(M)] to the prison station.", 1) + message_admins("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station.", 1) feedback_add_details("admin_verb","PRISON") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_subtle_message(mob/M as mob in mob_list) @@ -61,10 +61,10 @@ if(usr) if(usr.client) if(usr.client.holder) - to_chat(M, "\bold You hear a voice in your head... \italic [msg]") + to_chat(M, "old You hear a voice in your head... [msg]") log_admin("SubtlePM: [key_name(usr)] -> [key_name(M)] : [msg]") - message_admins("\blue \bold SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]", 1) + message_admins("SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]", 1) feedback_add_details("admin_verb","SMS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_mentor_check_new_players() //Allows mentors / admins to determine who the newer players are. @@ -115,7 +115,7 @@ return to_chat(world, "[msg]") log_admin("GlobalNarrate: [key_name(usr)] : [msg]") - message_admins("\blue \bold GlobalNarrate: [key_name_admin(usr)]: [msg]
", 1) + message_admins("GlobalNarrate: [key_name_admin(usr)]: [msg]
", 1) feedback_add_details("admin_verb","GLN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_direct_narrate(var/mob/M) // Targetted narrate -- TLE @@ -138,7 +138,7 @@ to_chat(M, msg) log_admin("DirectNarrate: [key_name(usr)] to ([key_name(M)]): [msg]") - message_admins("\blue \bold DirectNarrate: [key_name_admin(usr)] to ([key_name_admin(M)]): [msg]
", 1) + message_admins("DirectNarrate: [key_name_admin(usr)] to ([key_name_admin(M)]): [msg]
", 1) feedback_add_details("admin_verb","DIRN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_godmode(mob/M as mob in mob_list) @@ -149,7 +149,7 @@ return M.status_flags ^= GODMODE - to_chat(usr, "\blue Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]") + to_chat(usr, "Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]") log_admin("[key_name(usr)] has toggled [key_name(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]") message_admins("[key_name_admin(usr)] has toggled [key_name_admin(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]", 1) @@ -333,7 +333,7 @@ Traitors and the like can also be revived with the previous role mostly intact. G_found.mind.transfer_to(new_xeno) //be careful when doing stuff like this! I've already checked the mind isn't in use new_xeno.key = G_found.key to_chat(new_xeno, "You have been fully respawned. Enjoy the game.") - message_admins("\blue [key_name_admin(usr)] has respawned [new_xeno.key] as a filthy xeno.", 1) + message_admins("[key_name_admin(usr)] has respawned [new_xeno.key] as a filthy xeno.", 1) return //all done. The ghost is auto-deleted var/mob/living/carbon/human/new_character = new(pick(latejoin))//The mob being spawned. @@ -437,7 +437,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if(alert(new_character,"Would you like an active AI to announce this character?",,"No","Yes")=="Yes") call(/mob/new_player/proc/AnnounceArrival)(new_character, new_character.mind.assigned_role) - message_admins("\blue [key_name_admin(usr)] has respawned [key_name_admin(G_found)] as [new_character.real_name].", 1) + message_admins("[key_name_admin(usr)] has respawned [key_name_admin(G_found)] as [new_character.real_name].", 1) to_chat(new_character, "You have been fully respawned. Enjoy the game.") @@ -473,7 +473,7 @@ Traitors and the like can also be revived with the previous role mostly intact. else return 0 new_xeno.ckey = ckey - message_admins("\blue [key_name_admin(usr)] has spawned [ckey] as a filthy xeno [alien_caste].", 1) + message_admins("[key_name_admin(usr)] has spawned [ckey] as a filthy xeno [alien_caste].", 1) return 1 @@ -537,7 +537,7 @@ Traitors and the like can also be revived with the previous role mostly intact. M.revive() log_admin("[key_name(usr)] healed / revived [key_name(M)]") - message_admins("\red Admin [key_name_admin(usr)] healed / revived [key_name_admin(M)]!", 1) + message_admins("Admin [key_name_admin(usr)] healed / revived [key_name_admin(M)]!", 1) feedback_add_details("admin_verb","REJU") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_create_centcom_report() @@ -711,7 +711,7 @@ Traitors and the like can also be revived with the previous role mostly intact. mob.gib() log_admin("[key_name(usr)] used gibself.") - message_admins("\blue [key_name_admin(usr)] used gibself.", 1) + message_admins("[key_name_admin(usr)] used gibself.", 1) feedback_add_details("admin_verb","GIBS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_check_contents(mob/living/M as mob in mob_list) @@ -740,7 +740,7 @@ Traitors and the like can also be revived with the previous role mostly intact. view = world.view log_admin("[key_name(usr)] changed their view range to [view].") - //message_admins("\blue [key_name_admin(usr)] changed their view range to [view].", 1) //why? removed by order of XSI + //message_admins("[key_name_admin(usr)] changed their view range to [view].", 1) //why? removed by order of XSI feedback_add_details("admin_verb","CVRA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -838,7 +838,7 @@ Traitors and the like can also be revived with the previous role mostly intact. message_admins("Admin [key_name_admin(usr)] has forced the players to have random appearances.", 1) if(notifyplayers == "Yes") - to_chat(world, "\blue Admin [usr.key] has forced the players to have completely random identities!") + to_chat(world, "Admin [usr.key] has forced the players to have completely random identities!") to_chat(usr, "Remember: you can always disable the randomness by using the verb again, assuming the round hasn't started yet.") @@ -895,12 +895,12 @@ Traitors and the like can also be revived with the previous role mostly intact. if(ticker.mode.ert_disabled) ticker.mode.ert_disabled = 0 - to_chat(usr, "\blue ERT has been Enabled.") + to_chat(usr, "ERT has been Enabled.") log_admin("Admin [key_name(src)] has enabled ERT calling.") message_admins("Admin [key_name_admin(usr)] has enabled ERT calling.", 1) else ticker.mode.ert_disabled = 1 - to_chat(usr, "\red ERT has been Disabled.") + to_chat(usr, "ERT has been Disabled.") log_admin("Admin [key_name(src)] has disabled ERT calling.") message_admins("Admin [key_name_admin(usr)] has disabled ERT calling.", 1) diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index f6de49de939..d90c8a50a84 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -68,10 +68,10 @@ var/global/sent_strike_team = 0 //So they don't forget their code or mission. if(nuke_code) - new_commando.mind.store_memory("Nuke Code: \red [nuke_code].") - new_commando.mind.store_memory("Mission: \red [input].") + new_commando.mind.store_memory("Nuke Code: [nuke_code].") + new_commando.mind.store_memory("Mission: [input].") - to_chat(new_commando, "\blue You are a Special Ops. [!leader_selected?"commando":"LEADER"] in the service of Central Command. Check the table ahead for detailed instructions.\nYour current mission is: [input]") + to_chat(new_commando, "You are a Special Ops. [!leader_selected ? "commando" : "LEADER"] in the service of Central Command. Check the table ahead for detailed instructions.\nYour current mission is: [input]") commando_number-- @@ -92,7 +92,7 @@ var/global/sent_strike_team = 0 new /obj/effect/spawner/newbomb/timer/syndicate(L.loc) qdel(L) - message_admins("\blue [key_name_admin(usr)] has spawned a CentComm strike squad.", 1) + message_admins("[key_name_admin(usr)] has spawned a CentComm strike squad.", 1) log_admin("[key_name(usr)] used Spawn Death Squad.") return 1 @@ -157,7 +157,7 @@ var/global/sent_strike_team = 0 equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse(src), slot_r_hand) - var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(src)//Here you go Deuryn + var/obj/item/weapon/implant/mindshield/L = new/obj/item/weapon/implant/mindshield(src) L.imp_in = src L.implanted = 1 sec_hud_set_implants() diff --git a/code/modules/admin/verbs/striketeam_syndicate.dm b/code/modules/admin/verbs/striketeam_syndicate.dm index 33512a3fe10..da6d981a890 100644 --- a/code/modules/admin/verbs/striketeam_syndicate.dm +++ b/code/modules/admin/verbs/striketeam_syndicate.dm @@ -75,10 +75,10 @@ var/global/sent_syndicate_strike_team = 0 //So they don't forget their code or mission. if(nuke_code) - new_syndicate_commando.mind.store_memory("Nuke Code: \red [nuke_code].") - new_syndicate_commando.mind.store_memory("Mission: \red [input].") + new_syndicate_commando.mind.store_memory("Nuke Code: [nuke_code].") + new_syndicate_commando.mind.store_memory("Mission: [input].") - to_chat(new_syndicate_commando, "\blue You are an Elite Syndicate. [!syndicate_leader_selected?"commando":"LEADER"] in the service of the Syndicate. \nYour current mission is: [input]") + to_chat(new_syndicate_commando, "You are an Elite Syndicate. [!syndicate_leader_selected ? "commando" : "LEADER"] in the service of the Syndicate. \nYour current mission is: [input]") new_syndicate_commando.faction += "syndicate" syndicate_commando_number-- @@ -87,7 +87,7 @@ var/global/sent_syndicate_strike_team = 0 new /obj/effect/spawner/newbomb/timer/syndicate(L.loc) qdel(L) - message_admins("\blue [key_name_admin(usr)] has spawned a Syndicate strike squad.", 1) + message_admins("[key_name_admin(usr)] has spawned a Syndicate strike squad.", 1) log_admin("[key_name(usr)] used Spawn Syndicate Squad.") feedback_add_details("admin_verb","SDTHS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/ticklag.dm b/code/modules/admin/verbs/ticklag.dm index cabf767b620..f49984b8fb3 100644 --- a/code/modules/admin/verbs/ticklag.dm +++ b/code/modules/admin/verbs/ticklag.dm @@ -19,6 +19,6 @@ if("Yes") config.Tickcomp = 1 else config.Tickcomp = 0 else - to_chat(src, "\red Error: ticklag(): Invalid world.ticklag value. No changes made.") + to_chat(src, "Error: ticklag(): Invalid world.ticklag value. No changes made.") diff --git a/code/modules/admin/verbs/tripAI.dm b/code/modules/admin/verbs/tripAI.dm index 6c95873a7da..0da0dfc42f6 100644 --- a/code/modules/admin/verbs/tripAI.dm +++ b/code/modules/admin/verbs/tripAI.dm @@ -14,9 +14,9 @@ if(ticker.triai) ticker.triai = 0 to_chat(usr, "Only one AI will be spawned at round start.") - message_admins("\blue [key_name_admin(usr)] has toggled off triple AIs at round start.", 1) + message_admins("[key_name_admin(usr)] has toggled off triple AIs at round start.", 1) else ticker.triai = 1 to_chat(usr, "There will be an AI Triumvirate at round start.") - message_admins("\blue [key_name_admin(usr)] has toggled on triple AIs at round start.", 1) + message_admins("[key_name_admin(usr)] has toggled on triple AIs at round start.", 1) return diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index fbbb4e0cd4b..bd981e99076 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -116,7 +116,7 @@ attach_assembly(var/obj/item/device/assembly/A, var/mob/user) holder = new/obj/item/device/assembly_holder(get_turf(src)) if(holder.attach(A,src,user)) - to_chat(user, "\blue You attach \the [A] to \the [src]!") + to_chat(user, "You attach \the [A] to \the [src]!") return 1 return 0 @@ -129,9 +129,9 @@ return if(istype(W, /obj/item/weapon/screwdriver)) if(toggle_secure()) - to_chat(user, "\blue \The [src] is ready!") + to_chat(user, "\The [src] is ready!") else - to_chat(user, "\blue \The [src] can now be attached!") + to_chat(user, "\The [src] can now be attached!") return ..() return diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index f4cafef9c97..47d33a1e5ce 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -140,15 +140,15 @@ attackby(obj/item/weapon/W as obj, mob/user as mob, params) if(istype(W, /obj/item/weapon/screwdriver)) if(!a_left || !a_right) - to_chat(user, "\red BUG:Assembly part missing, please report this!") + to_chat(user, "BUG:Assembly part missing, please report this!") return a_left.toggle_secure() a_right.toggle_secure() secured = !secured if(secured) - to_chat(user, "\blue \The [src] is ready!") + to_chat(user, "\The [src] is ready!") else - to_chat(user, "\blue \The [src] can now be taken apart!") + to_chat(user, "\The [src] can now be taken apart!") update_icon() return else @@ -160,7 +160,7 @@ src.add_fingerprint(user) if(src.secured) if(!a_left || !a_right) - to_chat(user, "\red Assembly part missing!") + to_chat(user, "Assembly part missing!") return if(istype(a_left,a_right.type))//If they are the same type it causes issues due to window code switch(alert("Which side would you like to use?",,"Left","Right")) diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index e1078ed9caa..f3296cdabb0 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -19,7 +19,7 @@ describe() if(timing) - return "\blue The proximity sensor is arming." + return "The proximity sensor is arming." return "The proximity sensor is [scanning?"armed":"disarmed"]." activate() @@ -109,7 +109,7 @@ interact(mob/user as mob)//TODO: Change this to the wires thingy if(!secured) - user.show_message("\red The [name] is unsecured!") + user.show_message("The [name] is unsecured!") return 0 var/second = time % 60 var/minute = (time - second) / 60 diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index 179d7df2347..0587a806b2b 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -74,7 +74,7 @@ interact(mob/user as mob)//TODO: Have this use the wires if(!secured) - user.show_message("\red The [name] is unsecured!") + user.show_message("The [name] is unsecured!") return 0 var/second = time % 60 var/minute = (time - second) / 60 diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm index af9138724e6..ba0752dd28e 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -35,7 +35,7 @@ if(findtext(msg, recorded) && type == recorded_type) pulse(0) var/turf/T = get_turf(src) //otherwise it won't work in hand - T.visible_message("[bicon(src)] \red beeps!") + T.visible_message("[bicon(src)] beeps!") activate() return // previously this toggled listning when not in a holder, that's a little silly. It was only called in attack_self that way. diff --git a/code/modules/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm index dd1afe83361..0a2eaeef1bf 100644 --- a/code/modules/awaymissions/mission_code/wildwest.dm +++ b/code/modules/awaymissions/mission_code/wildwest.dm @@ -83,9 +83,9 @@ if(ishuman(user)) var/mob/living/carbon/human/human = user if(human.species.name != "Shadow") - to_chat(user, "\red Your flesh rapidly mutates!") + to_chat(user, "Your flesh rapidly mutates!") to_chat(user, "You are now a Shadow Person, a mutant race of darkness-dwelling humanoids.") - to_chat(user, "\red Your body reacts violently to light. \green However, it naturally heals in darkness.") + to_chat(user, "Your body reacts violently to light. However, it naturally heals in darkness.") to_chat(user, "Aside from your new traits, you are mentally unchanged and retain your prior obligations.") human.set_species("Shadow") user.regenerate_icons() @@ -96,9 +96,9 @@ if(ishuman(user)) var/mob/living/carbon/human/human = user if(human.species.name != "Shadow") - to_chat(user, "\red Your flesh rapidly mutates!") + to_chat(user, "Your flesh rapidly mutates!") to_chat(user, "You are now a Shadow Person, a mutant race of darkness-dwelling humanoids.") - to_chat(user, "\red Your body reacts violently to light. \green However, it naturally heals in darkness.") + to_chat(user, "Your body reacts violently to light. However, it naturally heals in darkness.") to_chat(user, "Aside from your new traits, you are mentally unchanged and retain your prior obligations.") human.set_species("Shadow") user.regenerate_icons() @@ -109,9 +109,9 @@ if(ishuman(user)) var/mob/living/carbon/human/human = user if(human.species.name != "Shadow") - to_chat(user, "\red Your flesh rapidly mutates!") + to_chat(user, "Your flesh rapidly mutates!") to_chat(user, "You are now a Shadow Person, a mutant race of darkness-dwelling humanoids.") - to_chat(user, "\red Your body reacts violently to light. \green However, it naturally heals in darkness.") + to_chat(user, "Your body reacts violently to light. However, it naturally heals in darkness.") to_chat(user, "Aside from your new traits, you are mentally unchanged and retain your prior obligations.") human.set_species("Shadow") user.regenerate_icons() @@ -131,9 +131,9 @@ if(ishuman(user)) var/mob/living/carbon/human/human = user if(human.species.name != "Shadow") - to_chat(user, "\red Your flesh rapidly mutates!") + to_chat(user, "Your flesh rapidly mutates!") to_chat(user, "You are now a Shadow Person, a mutant race of darkness-dwelling humanoids.") - to_chat(user, "\red Your body reacts violently to light. \green However, it naturally heals in darkness.") + to_chat(user, "Your body reacts violently to light. However, it naturally heals in darkness.") to_chat(user, "Aside from your new traits, you are mentally unchanged and retain your prior obligations.") human.set_species("Shadow") user.regenerate_icons() diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index c83cd6973b6..8e386446b9f 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -326,7 +326,7 @@ preload_rsc = pick(config.resource_urls) else preload_rsc = 1 // If config.resource_urls is not set, preload like normal. - to_chat(src, "\red If the title screen is black, resources are still downloading. Please be patient until the title screen appears.") + to_chat(src, "If the title screen is black, resources are still downloading. Please be patient until the title screen appears.") clients += src diff --git a/code/modules/client/preference/loadout/loadout_hat.dm b/code/modules/client/preference/loadout/loadout_hat.dm index 7e4ca4620d9..2abfd08f8ce 100644 --- a/code/modules/client/preference/loadout/loadout_hat.dm +++ b/code/modules/client/preference/loadout/loadout_hat.dm @@ -118,6 +118,11 @@ path = /obj/item/clothing/head/beret/sci allowed_roles = list("Research Director", "Scientist") +/datum/gear/hat/med_beret + display_name = "medical beret" + path = /obj/item/clothing/head/beret/med + allowed_roles = list("Chief Medical Officer", "Medical Doctor" , "Virologist", "Brig Physician") + /datum/gear/hat/surgicalcap_purple display_name = "surgical cap, purple" path = /obj/item/clothing/head/surgery/purple diff --git a/code/modules/client/preference/loadout/loadout_uniform.dm b/code/modules/client/preference/loadout/loadout_uniform.dm index b7b768561d9..82ccc357312 100644 --- a/code/modules/client/preference/loadout/loadout_uniform.dm +++ b/code/modules/client/preference/loadout/loadout_uniform.dm @@ -50,7 +50,7 @@ /datum/gear/uniform/skirt/job/cmo display_name = "skirt, cmo" - path = /obj/item/clothing/under/rank/chief_medical_officer + path = /obj/item/clothing/under/rank/chief_medical_officer/skirt allowed_roles = list("Chief Medical Officer") /datum/gear/uniform/skirt/job/chem diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 700b5e0f542..d46c028fdf6 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -788,7 +788,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts return if(!isnum(desiredLvl)) - to_chat(user, "\red UpdateJobPreference - desired level was not a number. Please notify coders!") + to_chat(user, "UpdateJobPreference - desired level was not a number. Please notify coders!") ShowChoices(user) return diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index ac5ef057b83..167a2b9d3ee 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -58,7 +58,7 @@ wearable = 1 if(!wearable) - to_chat(M, "\red Your species cannot wear [src].") + to_chat(M, "Your species cannot wear [src].") return 0 return 1 @@ -250,7 +250,7 @@ BLIND // can't see anything switch(sensor_mode) if(0) for(var/mob/V in viewers(user, 1)) - V.show_message("\red [user] disables [src.loc]'s remote sensing equipment.", 1) + V.show_message("[user] disables [src.loc]'s remote sensing equipment.", 1) if(1) for(var/mob/V in viewers(user, 1)) V.show_message("[user] turns [src.loc]'s remote sensors to binary.", 1) diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index d8037901c2a..9fe951a7dc7 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -378,7 +378,7 @@ emp_act(severity) if(istype(src.loc, /mob/living/carbon/human)) var/mob/living/carbon/human/M = src.loc - to_chat(M, "\red The Optical Thermal Scanner overloads and blinds you!") + to_chat(M, "The Optical Thermal Scanner overloads and blinds you!") if(M.glasses == src) M.EyeBlind(3) M.EyeBlurry(5) diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index b9789e17ad9..ee5022a1793 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -63,7 +63,7 @@ desc = "Horrendous and awful. It smells like cancer. The fact it has wires attached to it is incidental." var/obj/item/weapon/stock_parts/cell/cell = null var/stun_strength = 5 - var/stun_cost = 3750 + var/stun_cost = 2000 /obj/item/clothing/gloves/color/yellow/stun/New() ..() diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 5d6dde79848..9c76701c2bb 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -129,6 +129,11 @@ icon_state = "beret_sci" //Medical +/obj/item/clothing/head/beret/med + name = "medical beret" + desc = "A white beret with a green cross finely threaded into it. It has that sterile smell about it." + icon_state = "beret_med" + /obj/item/clothing/head/surgery name = "surgical cap" desc = "A cap surgeons wear during operations. Keeps their hair from tickling your internal organs." diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 220781a8bfb..319c0fd5fce 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -379,9 +379,6 @@ flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE actions_types = list(/datum/action/item_action/caw) -/obj/item/clothing/head/griffin/super_hero - flags = BLOCKHAIR|NODROP - /obj/item/clothing/head/griffin/attack_self() caw() diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 1983e5094b9..ce7bd03896e 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -382,26 +382,26 @@ if(istype(W, /obj/item/weapon/screwdriver)) switch(aggressiveness) if(1) - to_chat(user, "\blue You set the aggressiveness restrictor to the second position.") + to_chat(user, "You set the aggressiveness restrictor to the second position.") aggressiveness = 2 phrase = 7 if(2) - to_chat(user, "\blue You set the aggressiveness restrictor to the third position.") + to_chat(user, "You set the aggressiveness restrictor to the third position.") aggressiveness = 3 phrase = 13 if(3) - to_chat(user, "\blue You set the aggressiveness restrictor to the fourth position.") + to_chat(user, "You set the aggressiveness restrictor to the fourth position.") aggressiveness = 4 phrase = 1 if(4) - to_chat(user, "\blue You set the aggressiveness restrictor to the first position.") + to_chat(user, "You set the aggressiveness restrictor to the first position.") aggressiveness = 1 phrase = 1 if(5) - to_chat(user, "\red You adjust the restrictor but nothing happens, probably because its broken.") + to_chat(user, "You adjust the restrictor but nothing happens, probably because its broken.") else if(istype(W, /obj/item/weapon/wirecutters)) if(aggressiveness != 5) - to_chat(user, "\red You broke it!") + to_chat(user, "You broke it!") aggressiveness = 5 else ..() diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 49c3c3d2392..09ec70e6729 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -167,8 +167,6 @@ icon_state = "griffinboots" item_state = "griffinboots" -/obj/item/clothing/shoes/griffin/super_hero - flags = NODROP /obj/item/clothing/shoes/fluff/noble_boot name = "noble boots" diff --git a/code/modules/clothing/spacesuits/breaches.dm b/code/modules/clothing/spacesuits/breaches.dm index 86c1d2503b0..f9801496f32 100644 --- a/code/modules/clothing/spacesuits/breaches.dm +++ b/code/modules/clothing/spacesuits/breaches.dm @@ -178,7 +178,7 @@ var/global/list/breach_burn_descriptors = list( if(istype(W,/obj/item/stack/sheet/plastic) || istype(W,/obj/item/stack/sheet/metal)) if(istype(src.loc,/mob/living)) - to_chat(user, "\red How do you intend to patch a hardsuit while someone is wearing it?") + to_chat(user, "How do you intend to patch a hardsuit while someone is wearing it?") return if(!damage || !burn_damage) @@ -197,7 +197,7 @@ var/global/list/breach_burn_descriptors = list( else if(istype(W, /obj/item/weapon/weldingtool)) if(istype(src.loc,/mob/living)) - to_chat(user, "\red How do you intend to patch a hardsuit while someone is wearing it?") + to_chat(user, "How do you intend to patch a hardsuit while someone is wearing it?") return if(!damage || ! brute_damage) @@ -206,7 +206,7 @@ var/global/list/breach_burn_descriptors = list( var/obj/item/weapon/weldingtool/WT = W if(!WT.remove_fuel(5)) - to_chat(user, "\red You need more welding fuel to repair this suit.") + to_chat(user, "You need more welding fuel to repair this suit.") return repair_breaches(BRUTE, 3, user) diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 2c7272f92d0..d05982ac4fa 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -457,6 +457,7 @@ icon_state = "black_hoodie" item_state = "blueshieldcoat" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS + allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/emergency_oxygen) hoodtype = /obj/item/clothing/head/hood species_fit = list("Vox") sprite_sheets = list( @@ -817,8 +818,6 @@ allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite) actions_types = list(/datum/action/item_action/toggle_wings) -/obj/item/clothing/suit/toggle/owlwings/super_hero - flags = NODROP /obj/item/clothing/suit/toggle/owlwings/griffinwings name = "griffon cloak" @@ -826,9 +825,6 @@ icon_state = "griffin_wings" item_state = "griffin_wings" -/obj/item/clothing/suit/toggle/owlwings/griffinwings/super_hero - flags = NODROP - /obj/item/clothing/suit/toggle/attack_self() if(icon_state == initial(icon_state)) icon_state = icon_state + "_t" @@ -951,4 +947,4 @@ linked_staff.faith += 5 if(linked_staff.faith >= 100) //if this charge puts the staff at or above full, notify the wearer - to_chat(H, "Faith renewed; ready to convert new followers.") \ No newline at end of file + to_chat(H, "Faith renewed; ready to convert new followers.") diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 8ad91dad6fb..2e79b68a11a 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -243,7 +243,7 @@ to_chat(user, "Waving around a badge before swiping an ID would be pretty pointless.") return if(isliving(user)) - user.visible_message("\red [user] displays their Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.","\red You display your Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.") + user.visible_message("[user] displays their Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.","You display your Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.") /obj/item/clothing/accessory/holobadge/attackby(var/obj/item/O as obj, var/mob/user as mob, params) if(istype(O, /obj/item/weapon/card/id) || istype(O, /obj/item/device/pda)) @@ -268,16 +268,16 @@ /obj/item/clothing/accessory/holobadge/emag_act(user as mob) if(emagged) - to_chat(user, "\red [src] is already cracked.") + to_chat(user, "[src] is already cracked.") return else emagged = 1 - to_chat(user, "\red You swipe the card and crack the holobadge security checks.") + to_chat(user, "You swipe the card and crack the holobadge security checks.") return /obj/item/clothing/accessory/holobadge/attack(mob/living/carbon/human/M, mob/living/user) if(isliving(user)) - user.visible_message("\red [user] invades [M]'s personal space, thrusting [src] into their face insistently.","\red You invade [M]'s personal space, thrusting [src] into their face insistently. You are the law.") + user.visible_message("[user] invades [M]'s personal space, thrusting [src] into their face insistently.","You invade [M]'s personal space, thrusting [src] into their face insistently. You are the law.") /obj/item/weapon/storage/box/holobadge name = "holobadge box" diff --git a/code/modules/clothing/under/accessories/holster.dm b/code/modules/clothing/under/accessories/holster.dm index a30522768ed..ef106005bdc 100644 --- a/code/modules/clothing/under/accessories/holster.dm +++ b/code/modules/clothing/under/accessories/holster.dm @@ -57,7 +57,7 @@ to_chat(user, "You need an empty hand to draw the [holstered]!") else if(user.a_intent == I_HARM) - usr.visible_message("\red [user] draws the [holstered], ready to shoot!", \ + usr.visible_message("[user] draws the [holstered], ready to shoot!", \ "You draw the [holstered], ready to shoot!") else user.visible_message("[user] draws the [holstered], pointing it at the ground.", \ diff --git a/code/modules/clothing/under/chameleon.dm b/code/modules/clothing/under/chameleon.dm index 8d7a92e3e8a..63f09efd3bf 100644 --- a/code/modules/clothing/under/chameleon.dm +++ b/code/modules/clothing/under/chameleon.dm @@ -25,14 +25,14 @@ attackby(obj/item/clothing/under/U as obj, mob/user as mob, params) ..() if(istype(U, /obj/item/clothing/under/chameleon)) - to_chat(user, "\red Nothing happens.") + to_chat(user, "Nothing happens.") return if(istype(U, /obj/item/clothing/under)) if(src.clothing_choices.Find(U)) - to_chat(user, "\red Pattern is already recognised by the suit.") + to_chat(user, "Pattern is already recognised by the suit.") return src.clothing_choices += U - to_chat(user, "\red Pattern absorbed by the suit.") + to_chat(user, "Pattern absorbed by the suit.") emp_act(severity) @@ -56,7 +56,7 @@ set src in usr if(icon_state == "psyche") - to_chat(usr, "\red Your suit is malfunctioning") + to_chat(usr, "Your suit is malfunctioning") return var/obj/item/clothing/under/A diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 10376b48ba8..d388db29b5c 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -729,18 +729,12 @@ icon_state = "owl" item_color = "owl" -/obj/item/clothing/under/owl/super_hero - flags = NODROP - /obj/item/clothing/under/griffin name = "griffon uniform" desc = "A soft brown jumpsuit with a white feather collar made of synthetic feathers and a lust for mayhem." icon_state = "griffin" item_color = "griffin" -/obj/item/clothing/under/griffin/super_hero - flags = NODROP - /obj/item/clothing/under/noble_clothes name = "noble clothes" desc = "They fall just short of majestic." @@ -761,7 +755,7 @@ ..() /obj/item/clothing/under/contortionist/dropped(mob/living/carbon/human/user) - if(!user.get_int_organ(/obj/item/organ/internal/gland/ventcrawling)) + if(!user.get_int_organ(/obj/item/organ/internal/heart/gland/ventcrawling)) user.ventcrawler = 0 ..() diff --git a/code/modules/computer3/bios.dm b/code/modules/computer3/bios.dm index e8f1b1f8c4c..5deda2bd35f 100644 --- a/code/modules/computer3/bios.dm +++ b/code/modules/computer3/bios.dm @@ -24,22 +24,22 @@ if(istype(user,/mob/living/silicon)) if(!program.ai_allowed) - to_chat(user, "\blue You are forbidden from accessing this program.") + to_chat(user, "You are forbidden from accessing this program.") return 0 else if(program.human_controls) if(!ishuman(user)) - to_chat(user, "\red Your body can't work the controls!") + to_chat(user, "Your body can't work the controls!") return 0 if(user.restrained()) - to_chat(user, "\red You need a free hand!") + to_chat(user, "You need a free hand!") return 0 if(!in_range(src,user)) // telekinesis check if(ishuman(user) && istype(user.get_active_hand(),/obj/item/tk_grab)) if(program.human_controls) - to_chat(user, "\red It's too complicated to work at a distance!") + to_chat(user, "It's too complicated to work at a distance!") return 0 add_fingerprint(user) user.set_machine(src) @@ -115,7 +115,7 @@ switch(errorcode) if(PROG_CRASH) if(usr) - to_chat(usr, "\red The program crashed!") + to_chat(usr, "The program crashed!") usr << browse(null,"\ref[src]") Reset() @@ -148,7 +148,7 @@ else if(usr) - to_chat(usr, "\red The program crashed!") + to_chat(usr, "The program crashed!") usr << browse(null,"\ref[src]") testing("computer/Crash() - unknown error code [errorcode]") Reset() diff --git a/code/modules/computer3/buildandrepair.dm b/code/modules/computer3/buildandrepair.dm index 94b09c680b6..0521176f48e 100644 --- a/code/modules/computer3/buildandrepair.dm +++ b/code/modules/computer3/buildandrepair.dm @@ -86,7 +86,7 @@ if(istype(P, /obj/item/weapon/wrench)) playsound(src.loc, P.usesound, 50, 1) if(do_after(user, 20 * P.toolspeed, target = src)) - to_chat(user, "\blue You wrench the frame into place.") + to_chat(user, "You wrench the frame into place.") src.anchored = 1 src.state = 1 if(istype(P, /obj/item/weapon/weldingtool)) @@ -97,35 +97,35 @@ playsound(src.loc, WT.usesound, 50, 1) if(do_after(user, 20 * WT.toolspeed, target = src)) if(!src || !WT.isOn()) return - to_chat(user, "\blue You deconstruct the frame.") + to_chat(user, "You deconstruct the frame.") new /obj/item/stack/sheet/metal( src.loc, 5 ) qdel(src) if(1) if(istype(P, /obj/item/weapon/wrench)) playsound(src.loc, P.usesound, 50, 1) if(do_after(user, 20 * P.toolspeed, target = src)) - to_chat(user, "\blue You unfasten the frame.") + to_chat(user, "You unfasten the frame.") src.anchored = 0 src.state = 0 if(istype(P, /obj/item/weapon/circuitboard) && !circuit) var/obj/item/weapon/circuitboard/B = P if(B.board_type == "computer") playsound(src.loc, B.usesound, 50, 1) - to_chat(user, "\blue You place the circuit board inside the frame.") + to_chat(user, "You place the circuit board inside the frame.") src.icon_state = "1" src.circuit = P user.drop_item() P.loc = src else - to_chat(user, "\red This frame does not accept circuit boards of this type!") + to_chat(user, "This frame does not accept circuit boards of this type!") if(istype(P, /obj/item/weapon/screwdriver) && circuit) playsound(src.loc, P.usesound, 50, 1) - to_chat(user, "\blue You screw the circuit board into place.") + to_chat(user, "You screw the circuit board into place.") src.state = 2 src.icon_state = "2" if(istype(P, /obj/item/weapon/crowbar) && circuit) playsound(src.loc, P.usesound, 50, 1) - to_chat(user, "\blue You remove the circuit board.") + to_chat(user, "You remove the circuit board.") src.state = 1 src.icon_state = "0" circuit.loc = src.loc @@ -133,7 +133,7 @@ if(2) if(istype(P, /obj/item/weapon/screwdriver) && circuit) playsound(src.loc, P.usesound, 50, 1) - to_chat(user, "\blue You unfasten the circuit board.") + to_chat(user, "You unfasten the circuit board.") src.state = 1 src.icon_state = "1" @@ -142,10 +142,10 @@ playsound(src.loc, P.usesound, 50, 1) if(do_after(10 * P.toolspeed, target = src)) battery.loc = loc - to_chat(user, "\blue You remove [battery].") + to_chat(user, "You remove [battery].") battery = null else - to_chat(user, "\red There's no battery to remove!") + to_chat(user, "There's no battery to remove!") if(istype(P, /obj/item/weapon/stock_parts/cell)) if(!battery) @@ -153,9 +153,9 @@ if(do_after(5 * P.toolspeed, target = src)) battery = P P.loc = src - to_chat(user, "\blue You insert [battery].") + to_chat(user, "You insert [battery].") else - to_chat(user, "\red There's already \an [battery] in [src]!") + to_chat(user, "There's already \an [battery] in [src]!") if(istype(P, /obj/item/stack/cable_coil)) @@ -165,7 +165,7 @@ if(P) P:amount -= 5 if(!P:amount) qdel(P) - to_chat(user, "\blue You add cables to the frame.") + to_chat(user, "You add cables to the frame.") src.state = 3 src.icon_state = "3" if(3) @@ -174,7 +174,7 @@ to_chat(user, "There are parts in the way!") return playsound(src.loc, P.usesound, 50, 1) - to_chat(user, "\blue You remove the cables.") + to_chat(user, "You remove the cables.") src.state = 2 src.icon_state = "2" var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( src.loc ) @@ -189,19 +189,19 @@ if(do_after(user, 20 * P.toolspeed, target = src)) if(P) P:use(2) - to_chat(user, "\blue You put in the glass panel.") + to_chat(user, "You put in the glass panel.") src.state = 4 src.icon_state = "4" if(4) if(istype(P, /obj/item/weapon/crowbar)) playsound(src.loc, P.usesound, 50, 1) - to_chat(user, "\blue You remove the glass panel.") + to_chat(user, "You remove the glass panel.") src.state = 3 src.icon_state = "3" new /obj/item/stack/sheet/glass( src.loc, 2 ) if(istype(P, /obj/item/weapon/screwdriver)) playsound(src.loc, P.usesound, 50, 1) - to_chat(user, "\blue You connect the monitor.") + to_chat(user, "You connect the monitor.") var/obj/machinery/computer3/B = new src.circuit.build_path ( src.loc, built=1 ) /*if(circuit.powernet) B:powernet = circuit.powernet if(circuit.id) B:id = circuit.id @@ -224,7 +224,7 @@ */ /obj/structure/computer3frame/proc/remove_peripheral(var/obj/item/I = null) if(!components || !components.len) - to_chat(usr, "\red There are no components in [src] to take out!") + to_chat(usr, "There are no components in [src] to take out!") return 0 if(!I) I = input(usr, "Remove which component?","Remove component", null) as null|obj in components @@ -263,7 +263,7 @@ else warning("Erronous component in computerframe/remove_peripheral: [I]") I.loc = loc - to_chat(usr, "\blue You remove [I]") + to_chat(usr, "You remove [I]") return 1 return 0 /obj/structure/computer3frame/proc/insert_peripheral(var/obj/item/I) diff --git a/code/modules/computer3/computer.dm b/code/modules/computer3/computer.dm index eca1207c692..3adf8542261 100644 --- a/code/modules/computer3/computer.dm +++ b/code/modules/computer3/computer.dm @@ -77,7 +77,7 @@ set src in view(1) if(usr.stat || usr.restrained() || usr.lying || !istype(usr, /mob/living)) - to_chat(usr, "\red You can't do that.") + to_chat(usr, "You can't do that.") return if(!Adjacent(usr)) diff --git a/code/modules/computer3/computers/HolodeckControl.dm b/code/modules/computer3/computers/HolodeckControl.dm index dc4c71a0f90..748f1a0b2b8 100644 --- a/code/modules/computer3/computers/HolodeckControl.dm +++ b/code/modules/computer3/computers/HolodeckControl.dm @@ -202,7 +202,7 @@ if(world.time < (last_change + 15))//To prevent super-spam clicking, reduced process size and annoyance -Sieve return for(var/mob/M in range(3,src)) - M.show_message("\b ERROR. Recalibrating projetion apparatus.") + M.show_message("ERROR. Recalibrating projetion apparatus.") last_change = world.time return diff --git a/code/modules/computer3/computers/atmos_alert.dm b/code/modules/computer3/computers/atmos_alert.dm index 894286d334b..31fa38f143f 100644 --- a/code/modules/computer3/computers/atmos_alert.dm +++ b/code/modules/computer3/computers/atmos_alert.dm @@ -97,14 +97,14 @@ var/removing_zone = href_list["priority_clear"] for(var/zone in priority_alarms) if(ckey(zone) == removing_zone) - to_chat(usr, "\green Priority Alert for area [zone] cleared.") + to_chat(usr, "Priority Alert for area [zone] cleared.") priority_alarms -= zone if("minor_clear" in href_list) var/removing_zone = href_list["minor_clear"] for(var/zone in minor_alarms) if(ckey(zone) == removing_zone) - to_chat(usr, "\green Minor Alert for area [zone] cleared.") + to_chat(usr, "Minor Alert for area [zone] cleared.") minor_alarms -= zone computer.updateUsrDialog() diff --git a/code/modules/computer3/computers/law.dm b/code/modules/computer3/computers/law.dm index e36aca935ec..fb040230a06 100644 --- a/code/modules/computer3/computers/law.dm +++ b/code/modules/computer3/computers/law.dm @@ -17,9 +17,9 @@ opened = !opened if(opened) - to_chat(usr, "\blue The access panel is now open.") + to_chat(usr, "The access panel is now open.") else - to_chat(usr, "\blue The access panel is now closed.") + to_chat(usr, "The access panel is now closed.") return diff --git a/code/modules/computer3/computers/prisoner.dm b/code/modules/computer3/computers/prisoner.dm index e2c41a6f71d..f6e91fb9346 100644 --- a/code/modules/computer3/computers/prisoner.dm +++ b/code/modules/computer3/computers/prisoner.dm @@ -94,7 +94,7 @@ if( istype(I) && I.imp_in) var/mob/living/carbon/R = I.imp_in log_say("PrisonComputer3 message: [key_name(usr)]->[key_name(R)] : [warning]") - to_chat(R, "\green You hear a voice in your head saying: '[warning]'") + to_chat(R, "You hear a voice in your head saying: '[warning]'") interact() return diff --git a/code/modules/computer3/computers/robot.dm b/code/modules/computer3/computers/robot.dm index a68475bf732..7b7659878ea 100644 --- a/code/modules/computer3/computers/robot.dm +++ b/code/modules/computer3/computers/robot.dm @@ -118,14 +118,14 @@ if(istype(I)) if(src.check_access(I)) if(!status) - message_admins("\blue [key_name_admin(usr)] has initiated the global cyborg killswitch!") - log_game("\blue [key_name(usr)] has initiated the global cyborg killswitch!") + message_admins("[key_name_admin(usr)] has initiated the global cyborg killswitch!") + log_game("[key_name(usr)] has initiated the global cyborg killswitch!") src.status = 1 src.start_sequence() src.temp = null else - to_chat(usr, "\red Access Denied.") + to_chat(usr, "Access Denied.") if("stop" in href_list) src.temp = {" @@ -163,11 +163,11 @@ R.ResetSecurityCodes() else - message_admins("\blue [key_name_admin(usr)] detonated [R.name]!") - log_game("\blue [key_name_admin(usr)] detonated [R.name]!") + message_admins("[key_name_admin(usr)] detonated [R.name]!") + log_game("[key_name_admin(usr)] detonated [R.name]!") R.self_destruct() else - to_chat(usr, "\red Access Denied.") + to_chat(usr, "Access Denied.") if("stopbot" in href_list) if(computer.allowed(usr)) @@ -176,7 +176,7 @@ var/choice = input("Are you certain you wish to [R.canmove ? "lock down" : "release"] [R.name]?") in list("Confirm", "Abort") if(choice == "Confirm") if(R && istype(R)) - message_admins("\blue [key_name_admin(usr)] [R.canmove ? "locked down" : "released"] [R.name]!") + message_admins("[key_name_admin(usr)] [R.canmove ? "locked down" : "released"] [R.name]!") log_game("[key_name(usr)] [R.canmove ? "locked down" : "released"] [R.name]!") R.canmove = !R.canmove if(R.lockcharge) @@ -189,7 +189,7 @@ to_chat(R, "You have been locked down!") else - to_chat(usr, "\red Access Denied.") + to_chat(usr, "Access Denied.") if("magbot" in href_list) if(computer.allowed(usr)) @@ -198,7 +198,7 @@ var/choice = input("Are you certain you wish to hack [R.name]?") in list("Confirm", "Abort") if(choice == "Confirm") if(R && istype(R)) -// message_admins("\blue [key_name_admin(usr)] emagged [R.name] using robotic console!") +// message_admins("[key_name_admin(usr)] emagged [R.name] using robotic console!") log_game("[key_name(usr)] emagged [R.name] using robotic console!") R.emagged = 1 if(R.mind.special_role) diff --git a/code/modules/computer3/laptop.dm b/code/modules/computer3/laptop.dm index e32375a457c..1eaf28de60d 100644 --- a/code/modules/computer3/laptop.dm +++ b/code/modules/computer3/laptop.dm @@ -35,7 +35,7 @@ set src in view(1) if(usr.stat || usr.restrained() || usr.lying || !istype(usr, /mob/living)) - to_chat(usr, "\red You can't do that.") + to_chat(usr, "You can't do that.") return if(!Adjacent(usr)) @@ -67,7 +67,7 @@ stored_computer.manipulating = 0 qdel(src) else - to_chat(usr, "\red You are already opening the computer!") + to_chat(usr, "You are already opening the computer!") AltClick() @@ -136,7 +136,7 @@ set src in view(1) if(usr.stat || usr.restrained() || usr.lying || !istype(usr, /mob/living)) - to_chat(usr, "\red You can't do that.") + to_chat(usr, "You can't do that.") return if(!Adjacent(usr)) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index c58d932bf29..7a9620a1d1a 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -129,6 +129,12 @@ icon_state = "zeldacrowbar" item_state = "crowbar" +/obj/item/clothing/glasses/monocle/fluff/trubus //Trubus: Wolf O'Shaw + name = "Gold Thermal Eyepatch" + desc = "Wolf's non-functional thermal eyepatch." + icon = 'icons/obj/custom_items.dmi' + icon_state = "wolf_eyepatch" + /obj/item/clothing/glasses/meson/fluff/book_berner_1 // Adrkiller59: Adam Cooper name = "bespectacled mesonic surveyors" desc = "One of the older meson scanner models retrofitted to perform like its modern counterparts." @@ -140,6 +146,28 @@ desc = "A weathered Vox thermonocle, doesn't seem to work anymore." icon_state = "thermoncle" +/obj/item/device/fluff/rapid_wheelchair_kit //Rapidvalj: Hakikarahiti + name = "wheelchair conversion kit" + desc = "An assorted set of exchangable parts for a wheelchair." + icon_state = "modkit" + +/obj/item/device/fluff/rapid_wheelchair_kit/afterattack(atom/target, mob/user, proximity) + if(!proximity || !ishuman(user) || user.incapacitated()) + return + + if(istype(target, /obj/structure/stool/bed/chair/wheelchair) && !istype(target, /obj/structure/stool/bed/chair/wheelchair/bike)) + to_chat(user, "You modify the appearance of [target].") + var/obj/structure/stool/bed/chair/wheelchair/chair = target + chair.icon = 'icons/obj/custom_items.dmi' + chair.icon_state = "vox_wheelchair" + chair.name = "vox wheelchair" + chair.desc = "A luxurious Vox Wheelchair, weathered from use." + chair.handle_rotation() + qdel(src) + return + + to_chat(user, "You can't modify [target]!") + /obj/item/weapon/lighter/zippo/fluff/purple // GodOfOreos: Jason Conrad name = "purple engraved zippo" desc = "All craftsspacemanship is of the highest quality. It is encrusted with refined plasma sheets. On the item is an image of a dwarf and the words 'Strike the Earth!' etched onto the side." @@ -235,6 +263,32 @@ to_chat(target, "You comb your tail with the [src].") used = 1 +/obj/item/device/fluff/desolate_baton_kit //DesolateG: Michael steampunk_witch + name = "stun baton converstion kit" + desc = "Some sci-fi looking parts for a stun baton." + icon = 'icons/obj/custom_items.dmi' + icon_state = "scifikit" + w_class = 2 + +/obj/item/device/fluff/desolate_baton_kit/afterattack(atom/target, mob/user, proximity) + if(!proximity || !ishuman(user) || user.incapacitated()) + return + + if(istype(target, /obj/item/weapon/melee/baton) && !istype(target, /obj/item/weapon/melee/baton/cattleprod)) + to_chat(user, "You modify the appearance of [target].") + var/obj/item/weapon/melee/baton/the_baton = target + the_baton.base_icon = "desolate_baton" + the_baton.item_state = "desolate_baton" + the_baton.icon = 'icons/obj/custom_items.dmi' + the_baton.lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' + the_baton.righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' + the_baton.update_icon() + user.update_icons() + qdel(src) + return + + to_chat(user, "You can't modify [target]!") + /obj/item/device/fluff/cardgage_helmet_kit //captain cardgage: Richard Ulery name = "welding helmet modkit" desc = "Some spraypaint and a stencil, perfect for painting flames onto a welding helmet!" @@ -244,14 +298,14 @@ throwforce = 0 /obj/item/device/fluff/cardgage_helmet_kit/afterattack(atom/target, mob/user, proximity) - if(!proximity || !ishuman(user) || user.lying) + if(!proximity || !ishuman(user) || user.incapacitated()) return if(istype(target, /obj/item/clothing/head/welding)) to_chat(user, "You modify the appearance of [target].") var/obj/item/clothing/head/welding/flamedecal/P = new(get_turf(target)) - transfer_fingerprints_to(P) + target.transfer_fingerprints_to(P) qdel(target) qdel(src) return @@ -269,7 +323,7 @@ throwforce = 0 /obj/item/device/fluff/shadey_plasman_modkit/afterattack(atom/target, mob/user, proximity) - if(!proximity || !ishuman(user) || user.lying) + if(!proximity || !ishuman(user) || user.incapacitated()) return var/mob/living/carbon/human/H = user @@ -326,6 +380,7 @@ /obj/item/clothing/glasses/hud/security/sunglasses/fluff/voxxyhud //LP Spartan: Kaskreyarawkta name = "VoxxyHUD" desc = "A worn down visor from a vox raider's gear, crudely ripped from its helmet and linked into the security systems of the station. The word 'Kask' is scratched into the side." + icon = 'icons/obj/custom_items.dmi' icon_state = "hud-spartan" //////////// Hats //////////// @@ -341,13 +396,12 @@ desc = "Fuzzy, and also stained with blood." icon = 'icons/obj/custom_items.dmi' icon_state = "polarbearpelt" - item_state = "polarbearpelt" /obj/item/clothing/head/fluff/sparkyninja_beret // Sparkyninja: Neil Wilkinson name = "royal marines commando beret" desc = "Dark Green beret with an old insignia on it." + icon = 'icons/obj/custom_items.dmi' icon_state = "sparkyninja_beret" - item_state = "sparkyninja_beret" /obj/item/clothing/head/beret/fluff/sigholt //sigholtstarsong: Sigholt Starsong name = "Lieutenant Starsong's beret" @@ -378,25 +432,29 @@ /obj/item/clothing/head/beret/fluff/linda //Epic_Charger: Linda Clark name = "Green beret" desc = "A beret, an artist's favorite headwear. This one has two holes cut on the edges." + icon = 'icons/obj/custom_items.dmi' icon_state = "linda_beret" /obj/item/clothing/head/fluff/kaki //Rapidvalj: Kakicharakiti name = "sleek fancy leader hat" desc = "A uniquely colored vox leader hat. Has some signs of wear." + icon = 'icons/obj/custom_items.dmi' icon_state = "kakicharakiti" //////////// Suits //////////// +/obj/item/clothing/suit/fluff + icon = 'icons/obj/custom_items.dmi' + actions_types = list() + ignore_suitadjust = 1 + adjust_flavour = null + species_fit = null + sprite_sheets = null + /obj/item/clothing/suit/fluff/dusty_jacket //ComputerlessCitizen: Screech name = "Dusty Jacket" desc = "A worn leather jacket. Some burn holes have been patched." body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS - icon = 'icons/obj/custom_items.dmi' icon_state = "dusty_jacket" - ignore_suitadjust = 1 - actions_types = list() - adjust_flavour = null - species_fit = null - sprite_sheets = null /obj/item/clothing/suit/storage/labcoat/fluff/aeneas_rinil //Socialsystem: Lynn Fea name = "Robotics labcoat" @@ -421,6 +479,7 @@ /obj/item/clothing/suit/fluff/kluys // Kluys: Cripty Pandaen name = "Nano Fibre Jacket" desc = "A Black Suit made out of nanofibre. The newest of cyberpunk fashion using hightech liquid to solid materials." + icon = 'icons/obj/custom_items.dmi' icon_state = "Kluysfluff1" item_state = "Kluysfluff1" blood_overlay_type = "coat" @@ -467,15 +526,29 @@ /obj/item/clothing/suit/hooded/hoodie/fluff/linda // Epic_Charger: Linda Clark name = "Green Nanotrasen Hoodie" desc = "A green hoodie with the Nanotrasen logo on the back. It looks weathered." + icon = 'icons/obj/custom_items.dmi' icon_state = "linda_hoodie" hoodtype = /obj/item/clothing/head/hood/fluff/linda /obj/item/clothing/head/hood/fluff/linda //Epic_Charger: Linda Clark icon_state = "greenhood" +/obj/item/clothing/suit/hooded/fluff/bone //Doru7: Jack Bone + name = "skeleton suit" + desc = "A spooky full-body suit! This one doesn't glow in the dark." + body_parts_covered = HEAD|UPPER_TORSO|LOWER_TORSO|LEGS|ARMS + icon = 'icons/obj/custom_items.dmi' + icon_state = "skeleton_suit" + hoodtype = /obj/item/clothing/head/hood/fluff/skeleton + +/obj/item/clothing/head/hood/fluff/skeleton + icon = 'icons/obj/custom_items.dmi' + icon_state = "skeleton_hood" + /obj/item/clothing/suit/armor/shodanscoat // RazekPraxis: SHODAN name = "SHODAN's Captain's Coat" desc = "A black coat with gold trim and an old US Chevron printed on the back. Edgy." + icon = 'icons/obj/custom_items.dmi' icon_state = "shodancoat" //////////// Uniforms //////////// @@ -496,6 +569,15 @@ item_color = "elishirt" displays_id = 0 +/obj/item/clothing/under/fluff/jay_turtleneck // Jayfeather: Jay Wingler + name = "Mar's Pattern Custom Turtleneck" + desc = "It seems to be lightly dusted in orange fuzz, and damp with the smell of anti-freeze. It has a strange symbol in the middle." + icon = 'icons/obj/custom_items.dmi' + icon_state = "jaywingler" + item_state = "jaywingler" + item_color = "jaywingler" + displays_id = 0 + /obj/item/clothing/under/psysuit/fluff/isaca_sirius_1 // Xilia: Isaca Sirius name = "Isaca's suit" desc = "Black, comfortable and nicely fitting suit. Made not to hinder the wearer in any way. Made of some exotic fabric. And some strange glowing jewel at the waist. Name labels says; Property of Isaca Sirius; The Seeder." @@ -542,6 +624,9 @@ /obj/item/clothing/under/fluff/aegis //PlagueWalker: A.E.G.I.S. name = "gilded waistcoat" desc = "This black, gold-trimmed, rather expensive-looking uniform laced with fine materials appears comfortable despite its stiffness." + icon = 'icons/obj/custom_items.dmi' + lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' + righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' icon_state = "aegisuniform" item_state = "aegisuniform" item_color = "aegisuniform" @@ -552,9 +637,9 @@ /obj/item/clothing/mask/bandana/fluff/dar //sasanek12: Dar'Konr name = "camo bandana" desc = "It's a worn-out bandana in camo paint" + icon = 'icons/obj/custom_items.dmi' icon_state = "bandcamo" - /obj/item/clothing/mask/gas/sechailer/fluff/spartan //LP Spartan: Kaskreyarawkta name = "minimal gasmask" desc = "Designed to cover as little of face as possible while still being a functional gasmask." @@ -696,6 +781,7 @@ /obj/item/weapon/storage/backpack/fluff/krich_back //lizardzsi: Krichahka name = "Voxcaster" desc = "Battered, Sol-made military radio backpack that had its speakers fried from playing Vox opera. The words 'Swift-Talon' are crudely scratched onto its side." + icon = 'icons/obj/custom_items.dmi' icon_state = "voxcaster_fluff" /obj/item/clothing/head/wizard/fake/fluff/dreamy //phantasmicdream : Dreamy Rockwall @@ -744,4 +830,3 @@ new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass(src) new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass(src) new /obj/item/weapon/reagent_containers/food/drinks/bottle/fluff/moonshine(src) - diff --git a/code/modules/economy/ATM.dm b/code/modules/economy/ATM.dm index e1852cf9cfd..40f258b0c2a 100644 --- a/code/modules/economy/ATM.dm +++ b/code/modules/economy/ATM.dm @@ -242,9 +242,7 @@ log transactions T.date = current_date_string T.time = worldtime2text() authenticated_account.transaction_log.Add(T) - to_chat(usr, "[bicon(src)]Access granted. Welcome user '[authenticated_account.owner_name].'") - previous_account_number = tried_account_num if("withdrawal") var/amount = max(text2num(href_list["funds_amount"]),0) diff --git a/code/modules/economy/POS.dm b/code/modules/economy/POS.dm index 76109d3d981..ca5189ce122 100644 --- a/code/modules/economy/POS.dm +++ b/code/modules/economy/POS.dm @@ -403,7 +403,7 @@ var/const/POS_HEADER = {" src.attack_hand(usr) return if(usr != logged_in) - to_chat(usr, "\red [logged_in.name] is already logged in. You cannot use this machine until they log out.") + to_chat(usr, "[logged_in.name] is already logged in. You cannot use this machine until they log out.") return if("act" in href_list) switch(href_list["act"]) @@ -431,7 +431,7 @@ var/const/POS_HEADER = {" for(var/list/line in splittext(href_list["csv"],"\n")) var/list/cells = splittext(line,",") if(cells.len<2) - to_chat(usr, "\red The CSV must have at least two columns: Product Name, followed by Price (as a number).") + to_chat(usr, "The CSV must have at least two columns: Product Name, followed by Price (as a number).") src.attack_hand(usr) return var/line_item/LI = new @@ -445,7 +445,7 @@ var/const/POS_HEADER = {" if("Save Settings") var/datum/money_account/new_linked_account = get_money_account(text2num(href_list["payableto"]),z) if(!new_linked_account) - to_chat(usr, "\red Unable to link new account.") + to_chat(usr, "Unable to link new account.") else linked_account = new_linked_account screen=POS_SCREEN_SETTINGS @@ -482,7 +482,7 @@ var/const/POS_HEADER = {" if(istype(A,/obj/item/weapon/card/id)) var/obj/item/weapon/card/id/I = A if(!logged_in) - user.visible_message("\blue The machine beeps, and logs you in","You hear a beep.") + user.visible_message("The machine beeps, and logs you in","You hear a beep.") logged_in = user screen=POS_SCREEN_ORDER update_icon() @@ -490,23 +490,23 @@ var/const/POS_HEADER = {" return else if(!linked_account) - visible_message("\red The machine buzzes, and flashes \"NO LINKED ACCOUNT\" on the screen.","You hear a buzz.") + visible_message("The machine buzzes, and flashes \"NO LINKED ACCOUNT\" on the screen.","You hear a buzz.") flick(src,"pos-error") return if(screen!=POS_SCREEN_FINALIZE) - visible_message("\blue The machine buzzes.","\red You hear a buzz.") + visible_message("The machine buzzes.","You hear a buzz.") flick(src,"pos-error") return var/datum/money_account/acct = get_card_account(I) if(!acct) - visible_message("\red The machine buzzes, and flashes \"NO ACCOUNT\" on the screen.","You hear a buzz.") + visible_message("The machine buzzes, and flashes \"NO ACCOUNT\" on the screen.","You hear a buzz.") flick(src,"pos-error") return if(credits_needed > acct.money) - visible_message("\red The machine buzzes, and flashes \"NOT ENOUGH FUNDS\" on the screen.","You hear a buzz.") + visible_message("The machine buzzes, and flashes \"NOT ENOUGH FUNDS\" on the screen.","You hear a buzz.") flick(src,"pos-error") return - visible_message("\blue The machine beeps, and begins printing a receipt","You hear a beep.") + visible_message("The machine beeps, and begins printing a receipt","You hear a beep.") PrintReceipt() NewOrder() acct.charge(credits_needed,linked_account,"Purchase at POS #[id].") @@ -514,17 +514,17 @@ var/const/POS_HEADER = {" screen=POS_SCREEN_ORDER else if(istype(A, /obj/item/stack/spacecash)) if(!linked_account) - visible_message("\red The machine buzzes, and flashes \"NO LINKED ACCOUNT\" on the screen.","You hear a buzz.") + visible_message("The machine buzzes, and flashes \"NO LINKED ACCOUNT\" on the screen.","You hear a buzz.") flick(src,"pos-error") return if(!logged_in || screen!=POS_SCREEN_FINALIZE) - visible_message("\blue The machine buzzes.","\red You hear a buzz.") + visible_message("The machine buzzes.","You hear a buzz.") flick(src,"pos-error") return var/obj/item/stack/spacecash/C = A credits_held += C.amount if(credits_held >= credits_needed) - visible_message("\blue The machine beeps, and begins printing a receipt","You hear a beep and the sound of paper being shredded.") + visible_message("The machine beeps, and begins printing a receipt","You hear a beep and the sound of paper being shredded.") PrintReceipt() NewOrder() credits_held -= credits_needed diff --git a/code/modules/events/holidays/Holidays.dm b/code/modules/events/holidays/Holidays.dm index 107767455f6..5a2c35ebe52 100644 --- a/code/modules/events/holidays/Holidays.dm +++ b/code/modules/events/holidays/Holidays.dm @@ -133,7 +133,7 @@ var/global/Holiday = null world.update_status() Holiday_Game_Start() - message_admins("\blue ADMIN: Event: [key_name_admin(src)] force-set Holiday to \"[Holiday]\"") + message_admins("ADMIN: Event: [key_name_admin(src)] force-set Holiday to \"[Holiday]\"") log_admin("[key_name(src)] force-set Holiday to \"[Holiday]\"") @@ -174,7 +174,7 @@ var/global/Holiday = null if(!is_station_level(S.z)) continue containers += S - message_admins("\blue DEBUG: Event: Egg spawned at [Egg.loc] ([Egg.x],[Egg.y],[Egg.z])")*/ + message_admins("DEBUG: Event: Egg spawned at [Egg.loc] ([Egg.x],[Egg.y],[Egg.z])")*/ if("End of the World") if(prob(eventchance)) GameOver() diff --git a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat_2.dm b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat_2.dm index 19da4fb85ac..a6401446767 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat_2.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat_2.dm @@ -179,7 +179,7 @@ var/list/ingredients_source = list( return if(href_list["dispense"]) dispense_flavour = text2num(href_list["dispense"]) - visible_message("\blue[usr] sets [src] to dispense [get_icecream_flavour_string(dispense_flavour)] flavoured icecream.") + visible_message("[usr] sets [src] to dispense [get_icecream_flavour_string(dispense_flavour)] flavoured icecream.") if(href_list["cone"]) var/dispense_cone = text2num(href_list["cone"]) diff --git a/code/modules/garbage_collection/gc_testing.dm b/code/modules/garbage_collection/gc_testing.dm index aa9ad743a06..934a93adc21 100644 --- a/code/modules/garbage_collection/gc_testing.dm +++ b/code/modules/garbage_collection/gc_testing.dm @@ -11,7 +11,7 @@ garbageCollector.del_everything = !garbageCollector.del_everything // to_chat(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_admin(usr)] turned qdel [garbageCollector.del_everything ? "off" : "on"].", 1) + message_admins("[key_name_admin(usr)] turned qdel [garbageCollector.del_everything ? "off" : "on"].", 1) /client/proc/cmd_display_del_log() set category = "Debug" diff --git a/code/modules/holiday/holiday.dm b/code/modules/holiday/holiday.dm index db82a5227e6..85162a75c2d 100644 --- a/code/modules/holiday/holiday.dm +++ b/code/modules/holiday/holiday.dm @@ -354,5 +354,5 @@ //update our hub status world.update_status() - message_admins("\blue ADMIN: Event: [key_name(src)] force-set Holiday to \"[H]\"") + message_admins("ADMIN: Event: [key_name_admin(src)] force-set Holiday to \"[H]\"") log_admin("[key_name(src)] force-set Holiday to \"[H]\"") \ No newline at end of file diff --git a/code/modules/karma/karma.dm b/code/modules/karma/karma.dm index 464ecd8ae23..bdbe222990a 100644 --- a/code/modules/karma/karma.dm +++ b/code/modules/karma/karma.dm @@ -79,7 +79,7 @@ var/list/karma_spenders = list() to_chat(src, "You can't spend karma on someone connected from the same IP.") return 0 return 1 - + /mob/verb/spend_karma_list() set name = "Award Karma" @@ -118,8 +118,6 @@ var/list/karma_spenders = list() if(!M) to_chat(usr, "Please right click a mob to award karma directly, or use the 'Award Karma' verb to select a player from the player listing.") return - if(!can_give_karma_to_mob(M)) - return if(alert("Give [M.name] good karma?", "Karma", "Yes", "No") != "Yes") return if(!can_give_karma_to_mob(M)) @@ -154,7 +152,7 @@ var/list/karma_spenders = list() /client/proc/verify_karma() var/currentkarma=0 if(!dbcon.IsConnected()) - to_chat(usr, "\red Unable to connect to karma database. Please try again later.
") + to_chat(usr, "Unable to connect to karma database. Please try again later.
") return else var/DBQuery/query = dbcon.NewQuery("SELECT karma, karmaspent FROM [format_table_name("karmatotals")] WHERE byondkey='[src.ckey]'") @@ -380,7 +378,7 @@ You've gained [totalkarma] total karma in your time here.
"} else if(name == "Nanotrasen Recruiter") cost = 10 else - to_chat(usr, "\red That job is not refundable.") + to_chat(usr, "That job is not refundable.") return var/DBQuery/query = dbcon.NewQuery("SELECT * FROM [format_table_name("whitelist")] WHERE ckey='[usr.ckey]'") @@ -401,7 +399,7 @@ You've gained [totalkarma] total karma in your time here.
"} else if(type == "species") typelist = splittext(dbspecies,",") else - to_chat(usr, "\red Type [type] is not a valid column.") + to_chat(usr, "Type [type] is not a valid column.") if(name in typelist) typelist -= name @@ -417,10 +415,10 @@ You've gained [totalkarma] total karma in your time here.
"} message_admins("[key_name(usr)] has been refunded [cost] karma for [type] [name].") karmacharge(text2num(cost),1) else - to_chat(usr, "\red You have not bought [name].") + to_chat(usr, "You have not bought [name].") else - to_chat(usr, "\red Your ckey ([dbckey]) was not found.") + to_chat(usr, "Your ckey ([dbckey]) was not found.") /client/proc/checkpurchased(var/name = null) // If the first parameter is null, return a full list of purchases var/DBQuery/query = dbcon.NewQuery("SELECT * FROM [format_table_name("whitelist")] WHERE ckey='[usr.ckey]'") diff --git a/code/modules/mining/coins.dm b/code/modules/mining/coins.dm index 83f9c871f44..00ea7632900 100644 --- a/code/modules/mining/coins.dm +++ b/code/modules/mining/coins.dm @@ -134,7 +134,7 @@ "uranium" = /obj/item/clothing/gloves/ring/uranium) var/typekey = typelist[cmineral] if(ispath(typekey)) - to_chat(user, "\blue You make [src] into a ring.") + to_chat(user, "You make [src] into a ring.") new typekey(get_turf(loc)) qdel(src) else ..() diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 5be43822c6f..b7dc83c149d 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -308,7 +308,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set name = "Toggle AntagHUD" set desc = "Toggles AntagHUD allowing you to see who is the antagonist" if(!config.antag_hud_allowed && !client.holder) - to_chat(src, "\red Admins have disabled this for this round.") + to_chat(src, "Admins have disabled this for this round.") return if(!client) return @@ -462,11 +462,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/memory() set hidden = 1 - to_chat(src, "\red You are dead! You have no mind to store memory!") + to_chat(src, "You are dead! You have no mind to store memory!") /mob/dead/observer/add_memory() set hidden = 1 - to_chat(src, "\red You are dead! You have no mind to store memory!") + to_chat(src, "You are dead! You have no mind to store memory!") /mob/dead/observer/verb/analyze_air() set name = "Analyze Air" @@ -485,9 +485,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp to_chat(src, "Results:") if(abs(pressure - ONE_ATMOSPHERE) < 10) - to_chat(src, "\blue Pressure: [round(pressure,0.1)] kPa") + to_chat(src, "Pressure: [round(pressure,0.1)] kPa") else - to_chat(src, "\red Pressure: [round(pressure,0.1)] kPa") + to_chat(src, "Pressure: [round(pressure,0.1)] kPa") if(total_moles) var/o2_concentration = environment.oxygen/total_moles var/n2_concentration = environment.nitrogen/total_moles @@ -496,28 +496,28 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/unknown_concentration = 1-(o2_concentration+n2_concentration+co2_concentration+plasma_concentration) if(abs(n2_concentration - N2STANDARD) < 20) - to_chat(src, "\blue Nitrogen: [round(n2_concentration*100)]% ([round(environment.nitrogen,0.01)] moles)") + to_chat(src, "Nitrogen: [round(n2_concentration*100)]% ([round(environment.nitrogen,0.01)] moles)") else - to_chat(src, "\red Nitrogen: [round(n2_concentration*100)]% ([round(environment.nitrogen,0.01)] moles)") + to_chat(src, "Nitrogen: [round(n2_concentration*100)]% ([round(environment.nitrogen,0.01)] moles)") if(abs(o2_concentration - O2STANDARD) < 2) - to_chat(src, "\blue Oxygen: [round(o2_concentration*100)]% ([round(environment.oxygen,0.01)] moles)") + to_chat(src, "Oxygen: [round(o2_concentration*100)]% ([round(environment.oxygen,0.01)] moles)") else - to_chat(src, "\red Oxygen: [round(o2_concentration*100)]% ([round(environment.oxygen,0.01)] moles)") + to_chat(src, "Oxygen: [round(o2_concentration*100)]% ([round(environment.oxygen,0.01)] moles)") if(co2_concentration > 0.01) - to_chat(src, "\red CO2: [round(co2_concentration*100)]% ([round(environment.carbon_dioxide,0.01)] moles)") + to_chat(src, "CO2: [round(co2_concentration*100)]% ([round(environment.carbon_dioxide,0.01)] moles)") else - to_chat(src, "\blue CO2: [round(co2_concentration*100)]% ([round(environment.carbon_dioxide,0.01)] moles)") + to_chat(src, "CO2: [round(co2_concentration*100)]% ([round(environment.carbon_dioxide,0.01)] moles)") if(plasma_concentration > 0.01) - to_chat(src, "\red Plasma: [round(plasma_concentration*100)]% ([round(environment.toxins,0.01)] moles)") + to_chat(src, "Plasma: [round(plasma_concentration*100)]% ([round(environment.toxins,0.01)] moles)") if(unknown_concentration > 0.01) - to_chat(src, "\red Unknown: [round(unknown_concentration*100)]% ([round(unknown_concentration*total_moles,0.01)] moles)") + to_chat(src, "Unknown: [round(unknown_concentration*100)]% ([round(unknown_concentration*total_moles,0.01)] moles)") - to_chat(src, "\blue Temperature: [round(environment.temperature-T0C,0.1)]°C") - to_chat(src, "\blue Heat Capacity: [round(environment.heat_capacity(),0.1)]") + to_chat(src, "Temperature: [round(environment.temperature-T0C,0.1)]°C") + to_chat(src, "Heat Capacity: [round(environment.heat_capacity(),0.1)]") /mob/dead/observer/verb/view_manifest() set name = "View Crew Manifest" diff --git a/code/modules/mob/dead/observer/say.dm b/code/modules/mob/dead/observer/say.dm index b4ae61f3e82..82e8c620192 100644 --- a/code/modules/mob/dead/observer/say.dm +++ b/code/modules/mob/dead/observer/say.dm @@ -8,7 +8,7 @@ if(src.client) if(src.client.prefs.muted & MUTE_DEADCHAT) - to_chat(src, "\red You cannot talk in deadchat (muted).") + to_chat(src, "You cannot talk in deadchat (muted).") return if(src.client.handle_spam_prevention(message,MUTE_DEADCHAT)) @@ -30,7 +30,7 @@ if(src.client) if(src.client.prefs.muted & MUTE_DEADCHAT) - to_chat(src, "\red You cannot emote in deadchat (muted).") + to_chat(src, "You cannot emote in deadchat (muted).") return if(src.client.handle_spam_prevention(message, MUTE_DEADCHAT)) diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm index be6fa4a6c39..4a340c1bb24 100644 --- a/code/modules/mob/emote.dm +++ b/code/modules/mob/emote.dm @@ -13,6 +13,16 @@ return 0 // Proceed with emote //--FalseIncarnate +/mob/proc/handle_emote_param(var/target, var/not_self, var/vicinity, var/return_mob) //Only returns not null if the target param is valid. + var/view_vicinity = vicinity ? vicinity : null //not_self means we'll only return if target is valid and not us + if(target) //vicinity is the distance passed to the view proc. + for(var/mob/A in view(view_vicinity, null)) //if set, return_mob will cause this proc to return the mob instead of just its name if the target is valid. + if(target == A.name && (!not_self || (not_self && target != name))) + if(return_mob) + return A + else + return target + // All mobs should have custom emote, really.. /mob/proc/custom_emote(var/m_type=1,var/message = null) @@ -86,16 +96,16 @@ /mob/proc/emote_dead(var/message) if(client.prefs.muted & MUTE_DEADCHAT) - to_chat(src, "\red You cannot send deadchat emotes (muted).") + to_chat(src, "You cannot send deadchat emotes (muted).") return if(!(client.prefs.toggles & CHAT_DEAD)) - to_chat(src, "\red You have deadchat muted.") + to_chat(src, "You have deadchat muted.") return if(!src.client.holder) if(!config.dsay_allowed) - to_chat(src, "\red Deadchat is globally muted") + to_chat(src, "Deadchat is globally muted") return diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index ca520ba9289..b5fa736dfc3 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -220,7 +220,7 @@ threatcount += 4 //Mindshield implants imply trustworthyness - if(isloyal(src)) + if(ismindshielded(src)) threatcount -= 1 return threatcount diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm index 2644ef8a306..8d8f8894234 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm @@ -73,7 +73,7 @@ if(powerc(250)) adjustToxLoss(-250) - to_chat(src, "\green You begin to evolve!") + to_chat(src, "You begin to evolve!") for(var/mob/O in viewers(src, null)) O.show_message(text("[src] begins to twist and contort!"), 1) var/mob/living/carbon/alien/humanoid/sentinel/praetorian/new_xeno = new(loc) diff --git a/code/modules/mob/living/carbon/alien/humanoid/empress.dm b/code/modules/mob/living/carbon/alien/humanoid/empress.dm index d50befa47f0..287974b610f 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/empress.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/empress.dm @@ -85,6 +85,6 @@ if(powerc(250,1))//Can't plant eggs on spess tiles. That's silly. adjustPlasma(-250) for(var/mob/O in viewers(src, null)) - O.show_message(text("\green [src] has laid an egg!"), 1) + O.show_message(text("[src] has laid an egg!"), 1) new /obj/structure/alien/egg(loc) return diff --git a/code/modules/mob/living/carbon/alien/larva/emote.dm b/code/modules/mob/living/carbon/alien/larva/emote.dm index 01d834b07cf..d3140e4a969 100644 --- a/code/modules/mob/living/carbon/alien/larva/emote.dm +++ b/code/modules/mob/living/carbon/alien/larva/emote.dm @@ -15,7 +15,7 @@ return if(src.client) if(client.prefs.muted & MUTE_IC) - to_chat(src, "\red You cannot send IC messages (muted).") + to_chat(src, "You cannot send IC messages (muted).") return if(src.client.handle_spam_prevention(message,MUTE_IC)) return diff --git a/code/modules/mob/living/carbon/alien/larva/powers.dm b/code/modules/mob/living/carbon/alien/larva/powers.dm index c02c141c456..b3df2879f8f 100644 --- a/code/modules/mob/living/carbon/alien/larva/powers.dm +++ b/code/modules/mob/living/carbon/alien/larva/powers.dm @@ -15,7 +15,7 @@ to_chat(O, text("[] scurries to the ground!", src)) else layer = MOB_LAYER - to_chat(src, text("\green You have stopped hiding.")) + to_chat(src, text("You have stopped hiding.")) for(var/mob/O in oviewers(src, null)) if((O.client && !( O.blinded ))) to_chat(O, text("[] slowly peaks up from the ground...", src)) @@ -29,15 +29,15 @@ return if(handcuffed || legcuffed) - to_chat(src, "\red You cannot evolve when you are cuffed.") + to_chat(src, "You cannot evolve when you are cuffed.") if(amount_grown >= max_grown) //TODO ~Carn //green is impossible to read, so i made these blue and changed the formatting slightly to_chat(src, "You are growing into a beautiful alien! It is time to choose a caste.") - to_chat(src, "\blue There are three to choose from:") - to_chat(src, "Hunters \blue are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves.") - to_chat(src, "Sentinels \blue are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the hunters.") - to_chat(src, "Drones \blue are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded alien queen.") + to_chat(src, "There are three to choose from:") + to_chat(src, "Hunters are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves.") + to_chat(src, "Sentinels are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the hunters.") + to_chat(src, "Drones are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded alien queen.") var/alien_caste = alert(src, "Please choose which alien caste you shall belong to.",,"Hunter","Sentinel","Drone") var/mob/living/carbon/alien/humanoid/new_xeno diff --git a/code/modules/mob/living/carbon/brain/death.dm b/code/modules/mob/living/carbon/brain/death.dm index 255f3c03897..d6a07d48f7e 100644 --- a/code/modules/mob/living/carbon/brain/death.dm +++ b/code/modules/mob/living/carbon/brain/death.dm @@ -2,7 +2,7 @@ if(stat == DEAD) return if(!gibbed && container && istype(container, /obj/item/device/mmi))//If not gibbed but in a container. for(var/mob/O in viewers(container, null)) - O.show_message(text("[]'s MMI flatlines!", src), 1, "\red You hear something flatline.", 2) + O.show_message(text("[]'s MMI flatlines!", src), 1, "You hear something flatline.", 2) container.icon_state = "mmi_dead" stat = DEAD diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm index 4e2c7acb2b2..565dd250fd8 100644 --- a/code/modules/mob/living/carbon/brain/posibrain.dm +++ b/code/modules/mob/living/carbon/brain/posibrain.dm @@ -98,7 +98,7 @@ var/turf/T = get_turf_or_move(src.loc) for(var/mob/M in viewers(T)) - M.show_message("\blue The positronic brain chimes quietly.") + M.show_message("The positronic brain chimes quietly.") icon_state = "posibrain-occupied" /obj/item/device/mmi/posibrain/proc/reset_search() //We give the players sixty seconds to decide, then reset the timer. @@ -109,7 +109,7 @@ var/turf/T = get_turf_or_move(src.loc) for(var/mob/M in viewers(T)) - M.show_message("\blue The positronic brain buzzes quietly, and the golden lights fade away. Perhaps you could try again?") + M.show_message("The positronic brain buzzes quietly, and the golden lights fade away. Perhaps you could try again?") /obj/item/device/mmi/posibrain/Topic(href,href_list) if("signup" in href_list) @@ -122,22 +122,22 @@ to_chat(O, "Not looking for a ghost, yet.") return if(!istype(O)) - to_chat(O, "\red Error.") + to_chat(O, "Error.") return if(O in ghost_volunteers) - to_chat(O, "\blue Removed from registration list.") + to_chat(O, "Removed from registration list.") ghost_volunteers.Remove(O) return if(!check_observer(O)) - to_chat(O, "\red You cannot be \a [src].") + to_chat(O, "You cannot be \a [src].") return if(O.has_enabled_antagHUD == 1 && config.antag_hud_restricted) - to_chat(O, "\red Upon using the antagHUD you forfeited the ability to join the round.") + to_chat(O, "Upon using the antagHUD you forfeited the ability to join the round.") return if(jobban_isbanned(O, "Cyborg") || jobban_isbanned(O,"nonhumandept")) - to_chat(O, "\red You are job banned from this role.") + to_chat(O, "You are job banned from this role.") return - to_chat(O., "\blue You've been added to the list of ghosts that may become this [src]. Click again to unvolunteer.") + to_chat(O., "You've been added to the list of ghosts that may become this [src]. Click again to unvolunteer.") ghost_volunteers.Add(O) @@ -196,7 +196,7 @@ playsound(get_turf(src), 'sound/items/posiping.ogg', 80, 0) var/turf/T = get_turf_or_move(src.loc) for(var/mob/M in viewers(T)) - M.show_message("\blue The positronic brain pings softly.") + M.show_message("The positronic brain pings softly.") /obj/item/device/mmi/posibrain/ipc desc = "A cube of shining metal, four inches to a side and covered in shallow grooves. The speaker switch is set to 'off'." diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index d3fc28499e4..e211d49160f 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -56,7 +56,7 @@ last_stomach_attack = world.time for(var/mob/M in hearers(4, src)) if(M.client) - M.show_message(text("\red You hear something rumbling inside [src]'s stomach..."), 2) + M.show_message(text("You hear something rumbling inside [src]'s stomach..."), 2) var/obj/item/I = user.get_active_hand() if(I && I.force) @@ -76,7 +76,7 @@ for(var/mob/M in viewers(user, null)) if(M.client) - M.show_message(text("\red [user] attacks [src]'s stomach wall with the [I.name]!"), 2) + M.show_message(text("[user] attacks [src]'s stomach wall with the [I.name]!"), 2) playsound(user.loc, 'sound/effects/attackblob.ogg', 50, 1) if(prob(src.getBruteLoss() - 50)) @@ -217,8 +217,8 @@ if(src == M && istype(src, /mob/living/carbon/human)) var/mob/living/carbon/human/H = src src.visible_message( \ - text("\blue [src] examines [].",src.gender==MALE?"himself":"herself"), \ - "\blue You check yourself for injuries." \ + text("[src] examines [].",src.gender==MALE?"himself":"herself"), \ + "You check yourself for injuries." \ ) for(var/obj/item/organ/external/org in H.organs) @@ -247,7 +247,7 @@ status = "weirdly shapen." if(status == "") status = "OK" - src.show_message(text("\t []My [] is [].",status=="OK"?"\blue ":"\red ",org.name,status),1) + src.show_message(text("\t []My [] is [].",status=="OK"?"":"",org.name,status),1) if(staminaloss) if(staminaloss > 30) to_chat(src, "You're completely exhausted.") diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 06d49959b60..e88468e2018 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -53,6 +53,19 @@ if(!found_slime_bodypart) //Everyone else fails, skip the emote attempt return + + if("clack", "clacks") + if(species.name == "Kidan") //Only Kidan can clack and rightfully so. + on_CD = handle_emote_CD() //proc located in code\modules\mob\emote.dm' + else //Everyone else fails, skip the emote attempt + return + + if("click", "clicks") + if(species.name == "Kidan") //Only Kidan can click and rightfully so. + on_CD = handle_emote_CD() //proc located in code\modules\mob\emote.dm' + else //Everyone else fails, skip the emote attempt + return + if("scream", "screams") on_CD = handle_emote_CD(50) //longer cooldown if("fart", "farts", "flip", "flips", "snap", "snaps") @@ -72,128 +85,73 @@ if("me") //OKAY SO RANT TIME, THIS FUCKING HAS TO BE HERE OR A SHITLOAD OF THINGS BREAK return custom_emote(m_type, message) //DO YOU KNOW WHY SHIT BREAKS? BECAUSE SO MUCH OLDCODE CALLS mob.emote("me",1,"whatever_the_fuck_it_wants_to_emote") //WHO THE FUCK THOUGHT THAT WAS A GOOD FUCKING IDEA!?!? - if("ping", "pings") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) //Check to see if the param is valid (mob with the param name is in view). - if(param) - message = "[src] pings at [param]." - else - message = "[src] pings." + message = "[src] pings[M ? " at [M]" : ""]." playsound(loc, 'sound/machines/ping.ogg', 50, 0) m_type = 2 if("buzz2") - message = "[src] emits an irritated buzzing sound." + var/M = handle_emote_param(param) + + message = "[src] emits an irritated buzzing sound[M ? " at [M]" : ""]." playsound(loc, 'sound/machines/buzz-two.ogg', 50, 0) m_type = 2 if("buzz", "buzzes") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] buzzes at [param]." - else - message = "[src] buzzes." + message = "[src] buzzes[M ? " at [M]" : ""]." playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, 0) m_type = 2 if("beep", "beeps") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] beeps at [param]." - else - message = "[src] beeps." + message = "[src] beeps[M ? " at [M]" : ""]." playsound(loc, 'sound/machines/twobeep.ogg', 50, 0) m_type = 2 if("drone", "drones", "hum", "hums", "rumble", "rumbles") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] drones at [param]." - else - message = "[src] rumbles." + message = "[src] [M ? "drones at [M]" : "rumbles"]." playsound(loc, 'sound/voice/DraskTalk.ogg', 50, 0) m_type = 2 if("squish", "squishes") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] squishes at [param]." - else - message = "[src] squishes." + message = "[src] squishes[M ? " at [M]" : ""]." playsound(loc, 'sound/effects/slime_squish.ogg', 50, 0) //Credit to DrMinky (freesound.org) for the sound. m_type = 2 - if("yes") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + if("clack", "clacks") + var/M = handle_emote_param(param) - if(param) - message = "[src] emits an affirmative blip at [param]." - else - message = "[src] emits an affirmative blip." + message = "[src] clacks their mandibles[M ? " at [M]" : ""]." + playsound(loc, 'sound/effects/Kidanclack.ogg', 50, 0) //Credit to DrMinky (freesound.org) for the sound. + m_type = 2 + + if("click", "clicks") + var/M = handle_emote_param(param) + + message = "[src] clicks their mandibles[M ? " at [M]" : ""]." + playsound(loc, 'sound/effects/Kidanclack2.ogg', 50, 0) //Credit to DrMinky (freesound.org) for the sound. + m_type = 2 + + if("yes") + var/M = handle_emote_param(param) + + message = "[src] emits an affirmative blip[M ? " at [M]" : ""]." playsound(loc, 'sound/machines/synth_yes.ogg', 50, 0) m_type = 2 if("no") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] emits a negative blip at [param]." - else - message = "[src] emits a negative blip." + message = "[src] emits a negative blip[M ? " at [M]" : ""]." playsound(loc, 'sound/machines/synth_no.ogg', 50, 0) m_type = 2 @@ -225,12 +183,12 @@ if(!restrained()) message = "[src] is strumming the air and headbanging like a safari chimp." m_type = 1 - + if("dance") if(!restrained()) message = "[src] dances around happily." m_type = 1 - + if("jump") if(!restrained()) message = "[src] jumps!" @@ -246,36 +204,16 @@ if("bow", "bows") if(!buckled) - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] bows to [param]." - else - message = "[src] bows." + message = "[src] bows[M ? " to [M]" : ""]." m_type = 1 if("salute", "salutes") if(!buckled) - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] salutes to [param]." - else - message = "[src] salutes." + message = "[src] salutes[M ? " to [M]" : ""]." m_type = 1 if("choke", "chokes") @@ -414,11 +352,15 @@ m_type = 2 if("frown", "frowns") - message = "[src] frowns." + var/M = handle_emote_param(param) + + message = "[src] frowns[M ? " at [M]" : ""]." m_type = 1 if("nod", "nods") - message = "[src] nods." + var/M = handle_emote_param(param) + + message = "[src] nods[M ? " at [M]" : ""]." m_type = 1 if("blush", "blushes") @@ -426,7 +368,9 @@ m_type = 1 if("wave", "waves") - message = "[src] waves." + var/M = handle_emote_param(param) + + message = "[src] waves[M ? " at [M]" : ""]." m_type = 1 if("quiver", "quivers") @@ -462,56 +406,27 @@ m_type = 2 if("glare", "glares") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] glares at [param]." - else - message = "[src] glares." + message = "[src] glares[M ? " at [M]" : ""]." m_type = 1 if("stare", "stares") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] stares at [param]." - else - message = "[src] stares." + message = "[src] stares[M ? " at [M]" : ""]." m_type = 1 if("look", "looks") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break + var/M = handle_emote_param(param) - if(!M) - param = null - - if(param) - message = "[src] looks at [param]." - else - message = "[src] looks." + message = "[src] looks[M ? " at [M]" : ""]." m_type = 1 if("grin", "grins") - message = "[src] grins." + var/M = handle_emote_param(param) + + message = "[src] grins[M ? " at [M]" : ""]." m_type = 1 if("cry", "cries") @@ -527,24 +442,26 @@ m_type = 2 if("sigh", "sighs") + var/M = handle_emote_param(param) if(miming) - message = "[src] sighs." + message = "[src] sighs[M ? " at [M]" : ""]." m_type = 1 else if(!muzzled) - message = "[src] sighs." + message = "[src] sighs[M ? " at [M]" : ""]." m_type = 2 else - message = "[src] makes a weak noise." + message = "[src] makes a weak noise" m_type = 2 if("laugh", "laughs") + var/M = handle_emote_param(param) if(miming) - message = "[src] acts out a laugh." + message = "[src] acts out a laugh[M ? " at [M]" : ""]." m_type = 1 else if(!muzzled) - message = "[src] laughs." + message = "[src] laughs[M ? " at [M]" : ""]." m_type = 2 else message = "[src] makes a noise." @@ -557,11 +474,12 @@ m_type = 1 if("grumble", "grumbles") + var/M = handle_emote_param(param) if(miming) - message = "[src] grumbles!" + message = "[src] grumbles[M ? " at [M]" : ""]!" m_type = 1 if(!muzzled) - message = "[src] grumbles!" + message = "[src] grumbles[M ? " at [M]" : ""]!" m_type = 2 else message = "[src] makes a noise." @@ -622,7 +540,9 @@ m_type = 1 if("shake", "shakes") - message = "[src] shakes \his head." + var/M = handle_emote_param(param, 1) //Check to see if the param is valid (mob with the param name is in view) but exclude ourselves. + + message = "[src] shakes \his head[M ? " at [M]" : ""]." m_type = 1 if("shrug", "shrugs") @@ -640,7 +560,9 @@ m_type = 1 if("smile", "smiles") - message = "[src] smiles." + var/M = handle_emote_param(param, 1) + + message = "[src] smiles[M ? " at [M]" : ""]." m_type = 1 if("shiver", "shivers") @@ -704,7 +626,9 @@ m_type = 2 if("wink", "winks") - message = "[src] winks." + var/M = handle_emote_param(param, 1) + + message = "[src] winks[M ? " at [M]" : ""]." m_type = 1 if("yawn", "yawns") @@ -724,14 +648,7 @@ if("hug", "hugs") m_type = 1 if(!restrained()) - var/M = null - if(param) - for(var/mob/A in view(1, null)) - if(param == A.name) - M = A - break - if(M == src) - M = null + var/M = handle_emote_param(param, 1, 1) //Check to see if the param is valid (mob with the param name is in view) but exclude ourselves and only check mobs in our immediate vicinity (1 tile distance). if(M) message = "[src] hugs [M]." @@ -741,14 +658,7 @@ if("handshake") m_type = 1 if(!restrained() && !r_hand) - var/mob/M = null - if(param) - for(var/mob/A in view(1, null)) - if(param == A.name) - M = A - break - if(M == src) - M = null + var/mob/M = handle_emote_param(param, 1, 1, 1) //Check to see if the param is valid (mob with the param name is in view) but exclude ourselves, only check mobs in our immediate vicinity (1 tile distance) and return the whole mob instead of just its name. if(M) if(M.canmove && !M.r_hand && !M.restrained()) @@ -759,12 +669,8 @@ if("dap", "daps") m_type = 1 if(!restrained()) - var/M = null - if(param) - for(var/mob/A in view(1, null)) - if(param == A.name) - M = A - break + var/M = handle_emote_param(param, null, 1) + if(M) message = "[src] gives daps to [M]." else @@ -773,27 +679,23 @@ if("slap", "slaps") m_type = 1 if(!restrained()) - var/M = null - if(param) - for(var/mob/A in view(1, null)) - if(param == A.name) - M = A - break + var/M = handle_emote_param(param, null, 1) + if(M) message = "[src] slaps [M] across the face. Ouch!" - playsound(loc, 'sound/effects/snap.ogg', 50, 1) else message = "[src] slaps \himself!" - playsound(loc, 'sound/effects/snap.ogg', 50, 1) adjustFireLoss(4) + playsound(loc, 'sound/effects/snap.ogg', 50, 1) if("scream", "screams") + var/M = handle_emote_param(param) if(miming) - message = "[src] acts out a scream!" + message = "[src] acts out a scream[M ? " at [M]" : ""]!" m_type = 1 else if(!muzzled) - message = "[src] [species.scream_verb]!" + message = "[src] [species.scream_verb][M ? " at [M]" : ""]!" m_type = 2 if(gender == FEMALE) playsound(loc, "[species.female_scream_sound]", 80, 1, 0, pitch = get_age_pitch()) @@ -801,10 +703,9 @@ playsound(loc, "[species.male_scream_sound]", 80, 1, 0, pitch = get_age_pitch()) //default to male screams if no gender is present. else - message = "[src] makes a very loud noise." + message = "[src] makes a very loud noise[M ? " at [M]" : ""]." m_type = 2 - if("snap", "snaps") if(prob(95)) m_type = 2 @@ -822,13 +723,14 @@ to_chat(usr, "You need at least one hand in good working order to snap your fingers.") return - message = "[src] snaps \his fingers." + var/M = handle_emote_param(param) + + message = "[src] snaps \his fingers[M ? " at [M]" : ""]." playsound(loc, 'sound/effects/fingersnap.ogg', 50, 1, -3) else message = "[src] snaps \his fingers right off!" playsound(loc, 'sound/effects/snap.ogg', 50, 1) - // Needed for M_TOXIC_FART if("fart", "farts") if(reagents.has_reagent("simethicone")) @@ -836,11 +738,11 @@ // playsound(loc, 'sound/effects/fart.ogg', 50, 1, -3) //Admins still vote no to fun if(locate(/obj/item/weapon/storage/bible) in get_turf(src)) to_chat(viewers(src), "[src] farts on the Bible!") - var/image/cross = image('icons/obj/storage.dmi',"bible") - var/adminbfmessage = "\blue [bicon(cross)] Bible Fart: [key_name(src, 1)] (?) (PP) (VV) (SM) ([admin_jump_link(src)]) (CA) (SMITE):" - for(var/client/X in admins) - if(check_rights(R_EVENT,0,X.mob)) - to_chat(X, adminbfmessage) + var/image/cross = image('icons/obj/storage.dmi',"bible") + var/adminbfmessage = "\blue [bicon(cross)] Bible Fart: [key_name(src, 1)] (?) (PP) (VV) (SM) ([admin_jump_link(src)]) (CA) (SMITE):" + for(var/client/X in admins) + if(check_rights(R_EVENT,0,X.mob)) + to_chat(X, adminbfmessage) else if(TOXIC_FARTS in mutations) message = "[src] unleashes a [pick("horrible","terrible","foul","disgusting","awful")] fart." else if(SUPER_FART in mutations) @@ -877,13 +779,9 @@ to_chat(src, emotelist) else - to_chat(src, "\blue Unusable emote '[act]'. Say *help for a list.") + to_chat(src, "Unusable emote '[act]'. Say *help for a list.") - - - - - if(message) //Humans are special fucking snowflakes and have 735 lines of emotes, they get to handle their own emotes, not call the parent + if(message) //Humans are special fucking snowflakes and have 800 lines of emotes, they get to handle their own emotes, not call the parent. log_emote("[name]/[key] : [message]") //Hearing gasp and such every five seconds is not good emotes were not global for a reason. diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index f849185d9ff..10b21d8b946 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -872,7 +872,7 @@ sec_hud_set_security_status() if(!modified) - to_chat(usr, "\red Unable to locate a data core entry for this person.") + to_chat(usr, "Unable to locate a data core entry for this person.") if(href_list["secrecord"]) if(hasHUD(usr,"security")) @@ -902,7 +902,7 @@ read = 1 if(!read) - to_chat(usr, "\red Unable to locate a data core entry for this person.") + to_chat(usr, "Unable to locate a data core entry for this person.") if(href_list["secrecordComment"]) if(hasHUD(usr,"security")) @@ -931,7 +931,7 @@ to_chat(usr, "\[Add comment\]") if(!read) - to_chat(usr, "\red Unable to locate a data core entry for this person.") + to_chat(usr, "Unable to locate a data core entry for this person.") if(href_list["secrecordadd"]) if(hasHUD(usr,"security")) @@ -993,7 +993,7 @@ sec_hud_set_security_status() if(!modified) - to_chat(usr, "\red Unable to locate a data core entry for this person.") + to_chat(usr, "Unable to locate a data core entry for this person.") if(href_list["medrecord"]) if(hasHUD(usr,"medical")) @@ -1024,7 +1024,7 @@ read = 1 if(!read) - to_chat(usr, "\red Unable to locate a data core entry for this person.") + to_chat(usr, "Unable to locate a data core entry for this person.") if(href_list["medrecordComment"]) if(hasHUD(usr,"medical")) @@ -1053,7 +1053,7 @@ to_chat(usr, "\[Add comment\]") if(!read) - to_chat(usr, "\red Unable to locate a data core entry for this person.") + to_chat(usr, "Unable to locate a data core entry for this person.") if(href_list["medrecordadd"]) if(hasHUD(usr,"medical")) @@ -1168,7 +1168,7 @@ /mob/living/carbon/human/proc/play_xylophone() if(!src.xylophone) - visible_message("\red [src] begins playing his ribcage like a xylophone. It's quite spooky.","\blue You begin to play a spooky refrain on your ribcage.","\red You hear a spooky xylophone melody.") + visible_message("[src] begins playing his ribcage like a xylophone. It's quite spooky.","You begin to play a spooky refrain on your ribcage.","You hear a spooky xylophone melody.") var/song = pick('sound/effects/xylophone1.ogg','sound/effects/xylophone2.ogg','sound/effects/xylophone3.ogg') playsound(loc, song, 50, 1, -1) xylophone = 1 @@ -1456,16 +1456,16 @@ if(usr == src) self = 1 if(!self) - usr.visible_message("\blue [usr] kneels down, puts \his hand on [src]'s wrist and begins counting their pulse.",\ + usr.visible_message("[usr] kneels down, puts \his hand on [src]'s wrist and begins counting their pulse.",\ "You begin counting [src]'s pulse") else - usr.visible_message("\blue [usr] begins counting their pulse.",\ + usr.visible_message("[usr] begins counting their pulse.",\ "You begin counting your pulse.") if(src.pulse) - to_chat(usr, "\blue [self ? "You have a" : "[src] has a"] pulse! Counting...") + to_chat(usr, "[self ? "You have a" : "[src] has a"] pulse! Counting...") else - to_chat(usr, "\red [src] has no pulse!")//it is REALLY UNLIKELY that a dead person would check his own pulse + to_chat(usr, "[src] has no pulse!")//it is REALLY UNLIKELY that a dead person would check his own pulse return @@ -1475,7 +1475,7 @@ if(usr.l_move_time >= time) //checks if our mob has moved during the sleep() to_chat(usr, "You moved while counting. Try again.") else - to_chat(usr, "\blue [self ? "Your" : "[src]'s"] pulse is [src.get_pulse(GETPULSE_HAND)].") + to_chat(usr, "[self ? "Your" : "[src]'s"] pulse is [src.get_pulse(GETPULSE_HAND)].") /mob/living/carbon/human/proc/set_species(var/new_species, var/default_colour, var/delay_icon_update = 0) var/datum/species/oldspecies = species @@ -1765,7 +1765,7 @@ if(status_flags & LEAPING) status_flags &= ~LEAPING if(!src.Adjacent(T)) - to_chat(src, "\red You miss!") + to_chat(src, "You miss!") return T.Weaken(5) @@ -1778,7 +1778,7 @@ var/use_hand = "left" if(l_hand) if(r_hand) - to_chat(src, "\red You need to have one hand free to grab someone.") + to_chat(src, "You need to have one hand free to grab someone.") return else use_hand = "right" @@ -1804,16 +1804,16 @@ return if(!canmove) - to_chat(src, "\red You cannot do that in your current state.") + to_chat(src, "You cannot do that in your current state.") return var/obj/item/weapon/grab/G = locate() in src if(!G || !istype(G)) - to_chat(src, "\red You are not grabbing anyone.") + to_chat(src, "You are not grabbing anyone.") return if(G.state < GRAB_AGGRESSIVE) - to_chat(src, "\red You must have an aggressive grab to gut your prey!") + to_chat(src, "You must have an aggressive grab to gut your prey!") return last_special = world.time + 50 @@ -1892,7 +1892,7 @@ //Mindshield implants imply slight trustworthiness - if(isloyal(src)) + if(ismindshielded(src)) threatcount -= 1 //Agent cards lower threatlevel. diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index fac8dbfaf69..99df89de5c7 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -4,7 +4,7 @@ return if(frozen) - to_chat(M, "\red Do not touch Admin-Frozen people.") + to_chat(M, "Do not touch Admin-Frozen people.") return var/mob/living/carbon/human/H = M diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 7685e5ab898..029c207a2d8 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -178,12 +178,12 @@ emp_act if(!istype(affecting)) return if(!(affecting.status & ORGAN_ROBOT)) - to_chat(user, "\red That limb isn't robotic.") + to_chat(user, "That limb isn't robotic.") return if(affecting.sabotaged) - to_chat(user, "\red [src]'s [affecting.name] is already sabotaged!") + to_chat(user, "[src]'s [affecting.name] is already sabotaged!") else - to_chat(user, "\red You sneakily slide the card into the dataport on [src]'s [affecting.name] and short out the safeties.") + to_chat(user, "You sneakily slide the card into the dataport on [src]'s [affecting.name] and short out the safeties.") affecting.sabotaged = 1 return 1 @@ -200,7 +200,7 @@ emp_act src.reagents.trans_to (newmeat, round ((src.reagents.total_volume) / 3, 1)) src.loc.add_blood(src) --src.meatleft - to_chat(user, "\red You hack off a chunk of meat from [src.name]") + to_chat(user, "You hack off a chunk of meat from [src.name]") if(!src.meatleft) src.create_attack_log("Was chopped up into meat by [key_name(user)]") user.create_attack_log("Chopped up [key_name(src)] into meat") @@ -345,7 +345,7 @@ emp_act return var/hit_area = affecting.name - src.visible_message("\red [src] has been hit in the [hit_area] by [I].") + src.visible_message("[src] has been hit in the [hit_area] by [I].") var/armor = run_armor_check(affecting, "melee", "Your armor has protected your [hit_area].", "Your armor has softened hit to your [hit_area].", I.armour_penetration) //I guess "melee" is the best fit here apply_damage(throw_damage, dtype, zone, armor, is_sharp(I), has_edge(I), I) @@ -378,7 +378,7 @@ emp_act var/momentum = speed/2 var/dir = get_dir(I.throw_source, src) - visible_message("\red [src] staggers under the impact!","\red You stagger under the impact!") + visible_message("[src] staggers under the impact!","You stagger under the impact!") src.throw_at(get_edge_target_turf(src,dir),1,momentum) if(!W || !src) return diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 63378d1a776..15f9b6d112e 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -1,7 +1,7 @@ var/global/default_martial_art = new/datum/martial_art /mob/living/carbon/human - hud_possible = list(HEALTH_HUD,STATUS_HUD,ID_HUD,WANTED_HUD,IMPLOYAL_HUD,IMPCHEM_HUD,IMPTRACK_HUD,SPECIALROLE_HUD,NATIONS_HUD) + hud_possible = list(HEALTH_HUD,STATUS_HUD,ID_HUD,WANTED_HUD,IMPMINDSHIELD_HUD,IMPCHEM_HUD,IMPTRACK_HUD,SPECIALROLE_HUD,NATIONS_HUD) //Marking colour and style var/list/m_colours = DEFAULT_MARKING_COLOURS //All colours set to #000000. diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 624b4a9ca84..c7018183da3 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1181,7 +1181,8 @@ else AdjustLoseBreath(2, bound_lower = 0, bound_upper = 3) adjustOxyLoss(5) - adjustBruteLoss(1) + Paralyse(4) + adjustBruteLoss(2) diff --git a/code/modules/mob/living/carbon/human/species/abductor.dm b/code/modules/mob/living/carbon/human/species/abductor.dm index 4690529524f..8e9c61992aa 100644 --- a/code/modules/mob/living/carbon/human/species/abductor.dm +++ b/code/modules/mob/living/carbon/human/species/abductor.dm @@ -18,7 +18,7 @@ "eyes" = /obj/item/organ/internal/eyes/abductor //3 darksight. ) - flags = HAS_LIPS | NO_BLOOD | NO_BREATHE + flags = HAS_LIPS | NO_BLOOD | NO_BREATHE | NOGUNS oxy_mod = 0 @@ -27,11 +27,14 @@ dietflags = DIET_OMNI reagent_tag = PROCESS_ORG blood_color = "#FF5AFF" + female_scream_sound = 'sound/goonstation/voice/male_scream.ogg' + female_cough_sounds = list('sound/effects/mob_effects/m_cougha.ogg','sound/effects/mob_effects/m_coughb.ogg', 'sound/effects/mob_effects/m_coughc.ogg') + female_sneeze_sound = 'sound/effects/mob_effects/sneeze.ogg' //Abductors always scream like guys -/datum/species/abductor/can_understand(var/mob/other) //Abductors can understand everyone, but they can only speak over their mindlink to another team-member +/datum/species/abductor/can_understand(mob/other) //Abductors can understand everyone, but they can only speak over their mindlink to another team-member return 1 -/datum/species/abductor/handle_post_spawn(var/mob/living/carbon/human/H) +/datum/species/abductor/handle_post_spawn(mob/living/carbon/human/H) H.gender = NEUTER if(H.mind) H.mind.abductor = new /datum/abductor diff --git a/code/modules/mob/living/carbon/human/species/apollo.dm b/code/modules/mob/living/carbon/human/species/apollo.dm index 7c6e01a69dd..4fcedc1844a 100644 --- a/code/modules/mob/living/carbon/human/species/apollo.dm +++ b/code/modules/mob/living/carbon/human/species/apollo.dm @@ -122,7 +122,7 @@ /datum/species/nucleation/handle_death(var/mob/living/carbon/human/H) var/turf/T = get_turf(H) - H.visible_message("\red[H]'s body explodes, leaving behind a pile of microscopic crystals!") + H.visible_message("[H]'s body explodes, leaving behind a pile of microscopic crystals!") explosion(T, 0, 0, 2, 2) // Create a small explosion burst upon death // new /obj/item/weapon/shard/supermatter( T ) qdel(H) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species/plasmaman.dm b/code/modules/mob/living/carbon/human/species/plasmaman.dm index 47407f495a2..ae236b1ebd4 100644 --- a/code/modules/mob/living/carbon/human/species/plasmaman.dm +++ b/code/modules/mob/living/carbon/human/species/plasmaman.dm @@ -210,10 +210,10 @@ return 1 //godmode if(breath.temperature < cold_level_1) if(prob(20)) - to_chat(src, "\red You feel your face freezing and an icicle forming in your lungs!") + to_chat(src, "You feel your face freezing and an icicle forming in your lungs!") else if(breath.temperature > heat_level_1) if(prob(20)) - to_chat(src, "\red You feel your face burning and a searing heat in your lungs!") + to_chat(src, "You feel your face burning and a searing heat in your lungs!") switch(breath.temperature) if(-INFINITY to cold_level_3) diff --git a/code/modules/mob/living/carbon/human/species/station.dm b/code/modules/mob/living/carbon/human/species/station.dm index 04cbbe653ba..10e39022315 100644 --- a/code/modules/mob/living/carbon/human/species/station.dm +++ b/code/modules/mob/living/carbon/human/species/station.dm @@ -486,7 +486,7 @@ brute_mod = 0.8 flags = IS_WHITELISTED - clothing_flags = HAS_SOCKS + clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS bodyflags = FEET_CLAWS | HAS_HEAD_ACCESSORY eyes = "kidan_eyes_s" dietflags = DIET_HERB @@ -512,6 +512,8 @@ "is attempting to bite their antenna off!", "is jamming their claws into their eye sockets!", "is twisting their own neck!", + "is cracking their exoskeleton!", + "is stabbing themselves with their mandibles!", "is holding their breath!") /datum/species/slime diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 61906d0c967..4c0088e0157 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -638,7 +638,7 @@ var/global/list/damage_icon_parts = list() if(w_uniform.flags_size & ONESIZEFITSALL) standing.icon = 'icons/mob/uniform_fat.dmi' else - to_chat(src, "\red You burst out of \the [w_uniform]!") + to_chat(src, "You burst out of \the [w_uniform]!") unEquip(w_uniform) return else @@ -957,7 +957,7 @@ var/global/list/damage_icon_parts = list() if(wear_suit.flags_size & ONESIZEFITSALL) standing = image("icon" = 'icons/mob/suit_fat.dmi', "icon_state" = "[wear_suit.icon_state]") else - to_chat(src, "\red You burst out of \the [wear_suit]!") + to_chat(src, "You burst out of \the [wear_suit]!") unEquip(wear_suit) return else diff --git a/code/modules/mob/living/carbon/slime/emote.dm b/code/modules/mob/living/carbon/slime/emote.dm index c77d5e24a65..b4a6eb140f0 100644 --- a/code/modules/mob/living/carbon/slime/emote.dm +++ b/code/modules/mob/living/carbon/slime/emote.dm @@ -14,7 +14,7 @@ return if(src.client) if(client.prefs.muted & MUTE_IC) - to_chat(src, "\red You cannot send IC messages (muted).") + to_chat(src, "You cannot send IC messages (muted).") return if(src.client.handle_spam_prevention(message,MUTE_IC)) return @@ -62,7 +62,7 @@ to_chat(src, "Help for slime emotes. You can use these emotes with say \"*emote\":\n\nbounce, custom, jiggle, light, moan, shiver, sway, twitch, vibrate") else - to_chat(src, "\blue Unusable emote '[act]'. Say *help for a list.") + to_chat(src, "Unusable emote '[act]'. Say *help for a list.") if((message && src.stat == 0)) if(m_type & 1) for(var/mob/O in viewers(src, null)) diff --git a/code/modules/mob/living/carbon/slime/powers.dm b/code/modules/mob/living/carbon/slime/powers.dm index 38a4a310b41..95359f7d573 100644 --- a/code/modules/mob/living/carbon/slime/powers.dm +++ b/code/modules/mob/living/carbon/slime/powers.dm @@ -27,7 +27,7 @@ if(met.Victim == M && met != src) to_chat(src, "The [met.name] is already feeding on this subject...") return - to_chat(src, "\blue I have latched onto the subject and begun feeding...") + to_chat(src, "I have latched onto the subject and begun feeding...") to_chat(M, "The [src.name] has latched onto your head!") Feedon(M) diff --git a/code/modules/mob/living/carbon/slime/slime.dm b/code/modules/mob/living/carbon/slime/slime.dm index 4952a4bd61b..003cd4a079e 100644 --- a/code/modules/mob/living/carbon/slime/slime.dm +++ b/code/modules/mob/living/carbon/slime/slime.dm @@ -371,7 +371,7 @@ visible_message("[src] has been touched with the stun gloves by [M]!") return else - to_chat(M, "\red Not enough charge! ") + to_chat(M, "Not enough charge! ") return */ diff --git a/code/modules/mob/living/carbon/superheroes.dm b/code/modules/mob/living/carbon/superheroes.dm index fac41aa66f7..ce9fe15ae6e 100644 --- a/code/modules/mob/living/carbon/superheroes.dm +++ b/code/modules/mob/living/carbon/superheroes.dm @@ -14,15 +14,19 @@ assign_genes(H) assign_spells(H) equip(H) + fixflags(H) assign_id(H) /datum/superheroes/proc/equip(var/mob/living/carbon/human/H) H.rename_character(H.real_name, name) - for(var/obj/item/W in H) - if(istype(W,/obj/item/organ)) continue + for(var/obj/item/W in H.get_all_slots()) H.unEquip(W) H.equip_to_slot_or_del(new /obj/item/device/radio/headset(H), slot_l_ear) +/datum/superheroes/proc/fixflags(var/mob/living/carbon/human/H) + for(var/obj/item/W in H.get_all_slots()) + W.flags |= NODROP + /datum/superheroes/proc/assign_genes(var/mob/living/carbon/human/H) if(default_genes.len) for(var/gene in default_genes) @@ -42,14 +46,17 @@ W.registered_name = H.real_name W.access = list(access_maint_tunnels) if(class == "Superhero") - W.name = "[H.real_name]'s ID Card (Superhero)" W.assignment = "Superhero" + W.rank = "Superhero" ticker.mode.superheroes += H.mind else if(class == "Supervillain") - W.name = "[H.real_name]'s ID Card (Supervillain)" W.assignment = "Supervillain" + W.rank = "Supervillain" ticker.mode.supervillains += H.mind - + W.icon_state = "lifetimeid" + W.SetOwnerInfo(H) + W.UpdateName() + W.flags |= NODROP H.equip_to_slot_or_del(W, slot_wear_id) H.regenerate_icons() @@ -66,8 +73,8 @@ ..() H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black/greytide(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/clothing/under/owl/super_hero(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/owlwings/super_hero(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/under/owl(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/owlwings(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/owl_mask/super_hero(H), slot_wear_mask) H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/bluespace/owlman(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/glasses/night(H), slot_glasses) @@ -84,15 +91,13 @@ /datum/superheroes/griffin/equip(var/mob/living/carbon/human/H) ..() - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/griffin/super_hero(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/clothing/under/griffin/super_hero(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/owlwings/griffinwings/super_hero(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/clothing/head/griffin/super_hero(H), slot_head) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/griffin(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/clothing/under/griffin(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/owlwings/griffinwings(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/head/griffin/(H), slot_head) var/obj/item/weapon/implant/freedom/L = new/obj/item/weapon/implant/freedom(H) - L.imp_in = H - L.implanted = 1 - return 1 + L.implant(H, H) /datum/superheroes/lightnian @@ -189,7 +194,7 @@ to_chat(target, "You feel yourself agreeing with [user], and a surge of loyalty begins building.") target.Weaken(12) sleep(20) - if(isloyal(target)) + if(ismindshielded(target)) to_chat(user, "They are enslaved by Nanotrasen. You feel their interest in your cause wane and disappear.") user.visible_message("[user] stops talking for a moment, then moves back away from [target].") to_chat(target, "Your mindshield implant activates, protecting you from conversion.") @@ -217,18 +222,20 @@ target.s_tone = 35 // No `update_dna=0` here because the character is being over-written target.change_eye_color(1,1,1) - for(var/obj/item/W in target) - if(istype(W,/obj/item/organ)) continue + for(var/obj/item/W in target.get_all_slots()) target.unEquip(W) target.rename_character(target.real_name, "Generic Henchman ([rand(1, 1000)])") target.equip_to_slot_or_del(new /obj/item/clothing/under/color/grey/greytide(target), slot_w_uniform) target.equip_to_slot_or_del(new /obj/item/clothing/shoes/black/greytide(target), slot_shoes) target.equip_to_slot_or_del(new /obj/item/weapon/storage/toolbox/mechanical/greytide(target), slot_l_hand) - var/obj/item/weapon/card/id/syndicate/W = new(target) - W.registered_name = target.real_name - W.access = list(access_maint_tunnels) - W.name = "[target.real_name]'s ID Card (Greyshirt)" - W.assignment = "Greyshirt" - target.equip_to_slot_or_del(W, slot_wear_id) target.equip_to_slot_or_del(new /obj/item/device/radio/headset(target), slot_l_ear) + var/obj/item/weapon/card/id/syndicate/W = new(target) + W.icon_state = "lifetimeid" + W.access = list(access_maint_tunnels) + W.assignment = "Greyshirt" + W.rank = "Greyshirt" + W.flags |= NODROP + W.SetOwnerInfo(target) + W.UpdateName() + target.equip_to_slot_or_del(W, slot_wear_id) target.regenerate_icons() diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 31fed13fdc5..525559e8e6c 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -471,7 +471,7 @@ var/obj/item/weapon/grab/G = pick(M.grabbed_by) if(istype(G, /obj/item/weapon/grab)) for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] has been pulled from []'s grip by []", G.affecting, G.assailant, src), 1) + O.show_message(text("[] has been pulled from []'s grip by []", G.affecting, G.assailant, src), 1) //G = null qdel(G) else diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 609d166183d..bdca022648e 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -81,7 +81,7 @@ var/throw_damage = I.throwforce*(speed/5) - src.visible_message("\red [src] has been hit by [I].") + src.visible_message("[src] has been hit by [I].") var/armor = run_armor_check(zone, "melee", "Your armor has protected your [parse_zone(zone)].", "Your armor has softened hit to your [parse_zone(zone)].", I.armour_penetration) apply_damage(throw_damage, dtype, zone, armor, is_sharp(I), has_edge(I), I) @@ -102,7 +102,7 @@ var/momentum = speed/2 var/dir = get_dir(I.throw_source, src) - visible_message("\red [src] staggers under the impact!","\red You stagger under the impact!") + visible_message("[src] staggers under the impact!","You stagger under the impact!") src.throw_at(get_edge_target_turf(src,dir),1,momentum) if(!W || !src) return diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 1e34b43e583..81664f631d4 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -331,7 +331,7 @@ proc/get_radio_key_from_channel(var/channel) else //everything else failed, emote is probably invalid if(act == "help") return //except help, because help is handled individually - to_chat(src, "\blue Unusable emote '[act]'. Say *help for a list.") + to_chat(src, "Unusable emote '[act]'. Say *help for a list.") /mob/living/whisper(message as text) message = trim_strip_html_properly(message) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 87f2a4bea42..06021939ac9 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -837,7 +837,7 @@ var/list/ai_verbs_default = list( if(network in C.network) U.eyeobj.setLoc(get_turf(C)) break - to_chat(src, "\blue Switched to [network] camera network.") + to_chat(src, "Switched to [network] camera network.") //End of code by Mord_Sith @@ -1023,7 +1023,7 @@ var/list/ai_verbs_default = list( var/obj/machinery/power/apc/apc = loc if(!istype(apc)) - to_chat(src, "\blue You are already in your Main Core.") + to_chat(src, "You are already in your Main Core.") return apc.malfvacate() @@ -1098,19 +1098,19 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/attackby(obj/item/weapon/W, mob/user, params) if(istype(W, /obj/item/weapon/wrench)) if(anchored) - user.visible_message("\blue \The [user] starts to unbolt \the [src] from the plating...") + user.visible_message("\The [user] starts to unbolt \the [src] from the plating...") if(!do_after(user, 40 * W.toolspeed, target = src)) - user.visible_message("\blue \The [user] decides not to unbolt \the [src].") + user.visible_message("\The [user] decides not to unbolt \the [src].") return - user.visible_message("\blue \The [user] finishes unfastening \the [src]!") + user.visible_message("\The [user] finishes unfastening \the [src]!") anchored = 0 return else - user.visible_message("\blue \The [user] starts to bolt \the [src] to the plating...") + user.visible_message("\The [user] starts to bolt \the [src] to the plating...") if(!do_after(user, 40 * W.toolspeed, target = src)) - user.visible_message("\blue \The [user] decides not to bolt \the [src].") + user.visible_message("\The [user] decides not to bolt \the [src].") return - user.visible_message("\blue \The [user] finishes fastening down \the [src]!") + user.visible_message("\The [user] finishes fastening down \the [src]!") anchored = 1 return else diff --git a/code/modules/mob/living/silicon/emote.dm b/code/modules/mob/living/silicon/emote.dm index 9e95b9cefaa..3385c4ce622 100644 --- a/code/modules/mob/living/silicon/emote.dm +++ b/code/modules/mob/living/silicon/emote.dm @@ -26,97 +26,51 @@ switch(act) if("ping","pings") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] pings at [param]." - else - message = "[src] pings." + message = "[src] pings[M ? " at [M]" : ""]." playsound(src.loc, 'sound/machines/ping.ogg', 50, 0) m_type = 2 if("buzz","buzzs","buzzes") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] buzzes at [param]." - else - message = "[src] buzzes." + message = "[src] buzzes[M ? " at [M]" : ""]." playsound(src.loc, 'sound/machines/buzz-sigh.ogg', 50, 0) m_type = 2 if("beep","beeps") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] beeps at [param]." - else - message = "[src] beeps." + message = "[src] beeps[M ? " at [M]" : ""]." playsound(src.loc, 'sound/machines/twobeep.ogg', 50, 0) m_type = 2 if("yes") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] emits an affirmative blip at [param]." - else - message = "[src] emits an affirmative blip." + message = "[src] emits an affirmative blip[M ? " at [M]" : ""]." playsound(src.loc, 'sound/machines/synth_yes.ogg', 50, 0) m_type = 2 if("no") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] emits a negative blip at [param]." - else - message = "[src] emits a negative blip." + message = "[src] emits a negative blip[M ? " at [M]" : ""]." playsound(src.loc, 'sound/machines/synth_no.ogg', 50, 0) m_type = 2 if("scream", "screams") - message = "[src] screams!" + var/M = handle_emote_param(param) + + message = "[src] screams[M ? " at [M]" : ""]!" playsound(src.loc, 'sound/goonstation/voice/robot_scream.ogg', 80, 0) m_type = 2 if("buzz2") - message = "[src] emits an irritated buzzing sound." + var/M = handle_emote_param(param) + + message = "[src] emits an irritated buzzing sound[M ? " at [M]" : ""]." playsound(src.loc, 'sound/machines/buzz-two.ogg', 50, 0) m_type = 2 @@ -124,4 +78,4 @@ if("help") to_chat(src, "yes, no, beep, ping, buzz, scream, buzz2") - ..(act, m_type, message) \ No newline at end of file + ..(act, m_type, message) diff --git a/code/modules/mob/living/silicon/pai/life.dm b/code/modules/mob/living/silicon/pai/life.dm index c0e4c2f275b..ec40dff7739 100644 --- a/code/modules/mob/living/silicon/pai/life.dm +++ b/code/modules/mob/living/silicon/pai/life.dm @@ -14,7 +14,7 @@ if(get_dist(src, cable) > 1) var/turf/T = get_turf_or_move(loc) for(var/mob/M in viewers(T)) - M.show_message("\red The data cable rapidly retracts back into its spool.", 3, "\red You hear a click and the sound of wire spooling rapidly.", 2) + M.show_message("The data cable rapidly retracts back into its spool.", 3, "You hear a click and the sound of wire spooling rapidly.", 2) qdel(src.cable) cable = null diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index ecd30b18c9a..5218d399007 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -173,7 +173,7 @@ if(prob(20)) var/turf/T = get_turf_or_move(loc) for(var/mob/M in viewers(T)) - M.show_message("\red A shower of sparks spray from [src]'s inner workings.", 3, "\red You hear and smell the ozone hiss of electrical sparks being expelled violently.", 2) + M.show_message("A shower of sparks spray from [src]'s inner workings.", 3, "You hear and smell the ozone hiss of electrical sparks being expelled violently.", 2) return death(0) switch(pick(1,2,3)) @@ -242,7 +242,7 @@ if(I_HELP) for(var/mob/O in viewers(src, null)) if((O.client && !( O.blinded ))) - O.show_message(text("\blue [M] caresses [src]'s casing with its scythe like arm."), 1) + O.show_message(text("[M] caresses [src]'s casing with its scythe like arm."), 1) else //harm M.do_attack_animation(src) @@ -320,7 +320,7 @@ cameralist[C.network] = C.network network = input(usr, "Which network would you like to view?") as null|anything in cameralist - to_chat(src, "\blue Switched to [network] camera network.") + to_chat(src, "Switched to [network] camera network.") //End of code by Mord_Sith */ diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 2838dbcf850..4c52f2f415d 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -115,7 +115,7 @@ /mob/living/silicon/robot/drone/attackby(obj/item/weapon/W as obj, mob/user as mob, params) if(istype(W, /obj/item/borg/upgrade/)) - to_chat(user, "\red The maintenance drone chassis not compatible with \the [W].") + to_chat(user, "The maintenance drone chassis not compatible with \the [W].") return else if(istype(W, /obj/item/weapon/crowbar)) @@ -127,20 +127,20 @@ if(stat == 2) if(!config.allow_drone_spawn || emagged || health < -35) //It's dead, Dave. - to_chat(user, "\red The interface is fried, and a distressing burned smell wafts from the robot's interior. You're not rebooting this one.") + to_chat(user, "The interface is fried, and a distressing burned smell wafts from the robot's interior. You're not rebooting this one.") return if(!allowed(usr)) - to_chat(user, "\red Access denied.") + to_chat(user, "Access denied.") return var/delta = (world.time / 10) - last_reboot if(reboot_cooldown > delta) var/cooldown_time = round(reboot_cooldown - ((world.time / 10) - last_reboot), 1) - to_chat(usr, "\red The reboot system is currently offline. Please wait another [cooldown_time] seconds.") + to_chat(usr, "The reboot system is currently offline. Please wait another [cooldown_time] seconds.") return - user.visible_message("\red \the [user] swipes \his ID card through \the [src], attempting to reboot it.", "\red You swipe your ID card through \the [src], attempting to reboot it.") + user.visible_message("\the [user] swipes \his ID card through \the [src], attempting to reboot it.", "You swipe your ID card through \the [src], attempting to reboot it.") last_reboot = world.time / 10 var/drones = 0 for(var/mob/living/silicon/robot/drone/D in world) @@ -151,7 +151,7 @@ return else - user.visible_message("\red \the [user] swipes \his ID card through \the [src], attempting to shut it down.", "\red You swipe your ID card through \the [src], attempting to shut it down.") + user.visible_message("\the [user] swipes \his ID card through \the [src], attempting to shut it down.", "You swipe your ID card through \the [src], attempting to shut it down.") if(emagged) return @@ -159,7 +159,7 @@ if(allowed(usr)) shut_down() else - to_chat(user, "\red Access denied.") + to_chat(user, "Access denied.") return @@ -167,7 +167,7 @@ /mob/living/silicon/robot/drone/emag_act(user as mob) if(!client || stat == 2) - to_chat(user, "\red There's not much point subverting this heap of junk.") + to_chat(user, "There's not much point subverting this heap of junk.") return if(!ishuman(user)) @@ -175,12 +175,12 @@ var/mob/living/carbon/human/H = user if(emagged) - to_chat(src, "\red [user] attempts to load subversive software into you, but your hacked subroutined ignore the attempt.") - to_chat(user, "\red You attempt to subvert [src], but the sequencer has no effect.") + to_chat(src, "[user] attempts to load subversive software into you, but your hacked subroutined ignore the attempt.") + to_chat(user, "You attempt to subvert [src], but the sequencer has no effect.") return - to_chat(user, "\red You swipe the sequencer across [src]'s interface and watch its eyes flicker.") - to_chat(src, "\red You feel a sudden burst of malware loaded into your execute-as-root buffer. Your tiny brain methodically parses, loads and executes the script.") + to_chat(user, "You swipe the sequencer across [src]'s interface and watch its eyes flicker.") + to_chat(src, "You feel a sudden burst of malware loaded into your execute-as-root buffer. Your tiny brain methodically parses, loads and executes the script.") message_admins("[key_name_admin(user)] emagged drone [key_name_admin(src)]. Laws overridden.") log_game("[key_name(user)] emagged drone [key_name(src)]. Laws overridden.") @@ -197,7 +197,7 @@ to_chat(src, "Obey these laws:") laws.show_laws(src) - to_chat(src, "\red \b ALERT: [H.real_name] is your new master. Obey your new laws and his commands.") + to_chat(src, "ALERT: [H.real_name] is your new master. Obey your new laws and his commands.") return //DRONE LIFE/DEATH @@ -236,18 +236,18 @@ /mob/living/silicon/robot/drone/proc/law_resync() if(stat != 2) if(emagged) - to_chat(src, "\red You feel something attempting to modify your programming, but your hacked subroutines are unaffected.") + to_chat(src, "You feel something attempting to modify your programming, but your hacked subroutines are unaffected.") else - to_chat(src, "\red A reset-to-factory directive packet filters through your data connection, and you obediently modify your programming to suit it.") + to_chat(src, "A reset-to-factory directive packet filters through your data connection, and you obediently modify your programming to suit it.") full_law_reset() show_laws() /mob/living/silicon/robot/drone/proc/shut_down() if(stat != 2) if(emagged) - to_chat(src, "\red You feel a system kill order percolate through your tiny brain, but it doesn't seem like a good idea to you.") + to_chat(src, "You feel a system kill order percolate through your tiny brain, but it doesn't seem like a good idea to you.") else - to_chat(src, "\red You feel a system kill order percolate through your tiny brain, and you obediently destroy yourself.") + to_chat(src, "You feel a system kill order percolate through your tiny brain, and you obediently destroy yourself.") death() /mob/living/silicon/robot/drone/proc/full_law_reset() diff --git a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm index 2ee6eeb9f53..f9c711b4b17 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm @@ -10,13 +10,13 @@ mail_destination = 0 return - to_chat(src, "\blue You configure your internal beacon, tagging yourself for delivery to '[tag]'.") + to_chat(src, "You configure your internal beacon, tagging yourself for delivery to '[tag]'.") mail_destination = TAGGERLOCATIONS.Find(tag) //Auto flush if we use this verb inside a disposal chute. var/obj/machinery/disposal/D = src.loc if(istype(D)) - to_chat(src, "\blue \The [D] acknowledges your signal.") + to_chat(src, "\The [D] acknowledges your signal.") D.flush_count = D.flush_every_ticks return @@ -28,10 +28,10 @@ if(layer != TURF_LAYER+0.2) layer = TURF_LAYER+0.2 - to_chat(src, text("\blue You are now hiding.")) + to_chat(src, text("You are now hiding.")) else layer = MOB_LAYER - to_chat(src, text("\blue You have stopped hiding.")) + to_chat(src, text("You have stopped hiding.")) /mob/living/silicon/robot/drone/verb/light() set name = "Light On/Off" diff --git a/code/modules/mob/living/silicon/robot/drone/drone_console.dm b/code/modules/mob/living/silicon/robot/drone/drone_console.dm index 05ff03794cb..056a65a8e66 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_console.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_console.dm @@ -20,7 +20,7 @@ return if(!allowed(user)) - to_chat(user, "\red Access denied.") + to_chat(user, "Access denied.") return interact(user) @@ -54,7 +54,7 @@ return if(!allowed(usr)) - to_chat(usr, "\red Access denied.") + to_chat(usr, "Access denied.") return if((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) @@ -69,11 +69,11 @@ return drone_call_area = t_area - to_chat(usr, "\blue You set the area selector to [drone_call_area].") + to_chat(usr, "You set the area selector to [drone_call_area].") else if(href_list["ping"]) - to_chat(usr, "\blue You issue a maintenance request for all active drones, highlighting [drone_call_area].") + to_chat(usr, "You issue a maintenance request for all active drones, highlighting [drone_call_area].") for(var/mob/living/silicon/robot/drone/D in world) if(D.client && D.stat == 0) to_chat(D, "-- Maintenance drone presence requested in: [drone_call_area].") @@ -83,7 +83,7 @@ var/mob/living/silicon/robot/drone/D = locate(href_list["resync"]) if(D.stat != 2) - to_chat(usr, "\red You issue a law synchronization directive for the drone.") + to_chat(usr, "You issue a law synchronization directive for the drone.") D.law_resync() else if(href_list["shutdown"]) @@ -91,7 +91,7 @@ var/mob/living/silicon/robot/drone/D = locate(href_list["shutdown"]) if(D.stat != 2) - to_chat(usr, "\red You issue a kill command for the unfortunate drone.") + to_chat(usr, "You issue a kill command for the unfortunate drone.") message_admins("[key_name_admin(usr)] issued kill order for drone [key_name_admin(D)] from control console.") log_game("[key_name(usr)] issued kill order for [key_name(src)] from control console.") D.shut_down() @@ -106,10 +106,10 @@ continue dronefab = fab - to_chat(usr, "\blue Drone fabricator located.") + to_chat(usr, "Drone fabricator located.") return - to_chat(usr, "\red Unable to locate drone fabricator.") + to_chat(usr, "Unable to locate drone fabricator.") else if(href_list["toggle_fab"]) @@ -118,10 +118,10 @@ if(get_dist(src,dronefab) > 3) dronefab = null - to_chat(usr, "\red Unable to locate drone fabricator.") + to_chat(usr, "Unable to locate drone fabricator.") return dronefab.produce_drones = !dronefab.produce_drones - to_chat(usr, "\blue You [dronefab.produce_drones ? "enable" : "disable"] drone production in the nearby fabricator.") + to_chat(usr, "You [dronefab.produce_drones ? "enable" : "disable"] drone production in the nearby fabricator.") src.updateUsrDialog() \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm index aeed17ef9fd..187a32633b6 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm @@ -85,7 +85,7 @@ set desc = "If there is a powered, enabled fabricator in the game world with a prepared chassis, join as a maintenance drone." if(!(config.allow_drone_spawn)) - to_chat(src, "\red That verb is not currently permitted.") + to_chat(src, "That verb is not currently permitted.") return if(!src.stat) @@ -95,7 +95,7 @@ return 0 //something is terribly wrong if(jobban_isbanned(src,"nonhumandept") || jobban_isbanned(src,"Drone")) - to_chat(usr, "\red You are banned from playing drones and cannot spawn as a drone.") + to_chat(usr, "You are banned from playing drones and cannot spawn as a drone.") return if(!ticker || ticker.current_state < 3) @@ -141,11 +141,11 @@ continue if(DF.count_drones() >= config.max_maint_drones) - to_chat(src, "\red There are too many active drones in the world for you to spawn.") + to_chat(src, "There are too many active drones in the world for you to spawn.") return if(DF.drone_progress >= 100) DF.create_drone(src.client) return - to_chat(src, "\red There are no available drone spawn points, sorry.") + to_chat(src, "There are no available drone spawn points, sorry.") diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index afa2d0667c4..f42f19b67fa 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -229,7 +229,7 @@ weaponlock_time -- if(weaponlock_time <= 0) if(src.client) - to_chat(src, "\red Weapon Lock Timed Out!") + to_chat(src, "Weapon Lock Timed Out!") weapon_lock = 0 weaponlock_time = 120 diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 233fbd0f3d4..2b0ded32896 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -262,7 +262,7 @@ var/list/robot_verbs_default = list( return var/list/modules = list("Standard", "Engineering", "Medical", "Miner", "Janitor", "Service", "Security") if(security_level == (SEC_LEVEL_GAMMA || SEC_LEVEL_EPSILON) || crisis) - to_chat(src, "\red Crisis mode active. Combat module available.") + to_chat(src, "Crisis mode active. Combat module available.") modules+="Combat" if(ticker && ticker.mode && ticker.mode.name == "nations") var/datum/game_mode/nations/N = ticker.mode @@ -426,7 +426,7 @@ var/list/robot_verbs_default = list( set name = "Self Diagnosis" if(!is_component_functioning("diagnosis unit")) - to_chat(src, "\red Your self-diagnosis component isn't functioning.") + to_chat(src, "Your self-diagnosis component isn't functioning.") var/dat = self_diagnosis() src << browse(dat, "window=robotdiagnosis") @@ -451,10 +451,10 @@ var/list/robot_verbs_default = list( var/datum/robot_component/C = components[toggle] if(C.toggled) C.toggled = 0 - to_chat(src, "\red You disable [C.name].") + to_chat(src, "You disable [C.name].") else C.toggled = 1 - to_chat(src, "\red You enable [C.name].") + to_chat(src, "You enable [C.name].") /mob/living/silicon/robot/proc/sensor_mode() set name = "Set Sensor Augmentation" @@ -601,7 +601,7 @@ var/list/robot_verbs_default = list( C.brute_damage = WC.brute C.electronics_damage = WC.burn - to_chat(usr, "\blue You install the [W.name].") + to_chat(usr, "You install the [W.name].") return @@ -802,22 +802,22 @@ var/list/robot_verbs_default = list( var/time = time2text(world.realtime,"hh:mm:ss") lawchanges.Add("[time] : [M.name]([M.key]) emagged [name]([key])") set_zeroth_law("Only [M.real_name] and people he designates as being such are Syndicate Agents.") - to_chat(src, "\red ALERT: Foreign software detected.") + to_chat(src, "ALERT: Foreign software detected.") sleep(5) - to_chat(src, "\red Initiating diagnostics...") + to_chat(src, "Initiating diagnostics...") sleep(20) - to_chat(src, "\red SynBorg v1.7 loaded.") + to_chat(src, "SynBorg v1.7 loaded.") sleep(5) - to_chat(src, "\red LAW SYNCHRONISATION ERROR") + to_chat(src, "LAW SYNCHRONISATION ERROR") sleep(5) - to_chat(src, "\red Would you like to send a report to NanoTraSoft? Y/N") + to_chat(src, "Would you like to send a report to NanoTraSoft? Y/N") sleep(10) - to_chat(src, "\red > N") + to_chat(src, "> N") sleep(20) - to_chat(src, "\red ERRORERRORERROR") + to_chat(src, "ERRORERRORERROR") to_chat(src, "Obey these laws:") laws.show_laws(src) - to_chat(src, "\red \b ALERT: [M.real_name] is your new master. Obey your new laws and his commands.") + to_chat(src, "ALERT: [M.real_name] is your new master. Obey your new laws and his commands.") SetLockdown(0) if(src.module && istype(src.module, /obj/item/weapon/robot_module/miner)) for(var/obj/item/weapon/pickaxe/drill/cyborg/D in src.module.modules) @@ -1010,7 +1010,7 @@ var/list/robot_verbs_default = list( /mob/living/silicon/robot/proc/installed_modules() if(weapon_lock) - to_chat(src, "\red Weapon lock active, unable to use modules! Count:[weaponlock_time]") + to_chat(src, "Weapon lock active, unable to use modules! Count:[weaponlock_time]") return if(!module) diff --git a/code/modules/mob/living/silicon/robot/robot_damage.dm b/code/modules/mob/living/silicon/robot/robot_damage.dm index 2ef7f30e45b..780a622906a 100644 --- a/code/modules/mob/living/silicon/robot/robot_damage.dm +++ b/code/modules/mob/living/silicon/robot/robot_damage.dm @@ -90,11 +90,11 @@ cell.charge -= cost if(cell.charge <= 0) cell.charge = 0 - to_chat(src, "\red Your shield has overloaded!") + to_chat(src, "Your shield has overloaded!") else brute -= absorb_brute burn -= absorb_burn - to_chat(src, "\red Your shield absorbs some of the impact!") + to_chat(src, "Your shield absorbs some of the impact!") var/datum/robot_component/armour/A = get_armour() if(A) @@ -141,11 +141,11 @@ cell.charge -= cost if(cell.charge <= 0) cell.charge = 0 - to_chat(src, "\red Your shield has overloaded!") + to_chat(src, "Your shield has overloaded!") else brute -= absorb_brute burn -= absorb_burn - to_chat(src, "\red Your shield absorbs some of the impact!") + to_chat(src, "Your shield absorbs some of the impact!") var/datum/robot_component/armour/A = get_armour() if(A) diff --git a/code/modules/mob/living/silicon/robot/robot_items.dm b/code/modules/mob/living/silicon/robot/robot_items.dm index 84c07ee7c20..eba7e05d632 100644 --- a/code/modules/mob/living/silicon/robot/robot_items.dm +++ b/code/modules/mob/living/silicon/robot/robot_items.dm @@ -65,7 +65,7 @@ deploy_paper(get_turf(src)) /obj/item/weapon/form_printer/proc/deploy_paper(var/turf/T) - T.visible_message("\blue \The [src.loc] dispenses a sheet of crisp white paper.") + T.visible_message("\The [src.loc] dispenses a sheet of crisp white paper.") new /obj/item/weapon/paper(T) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index b973d4a0e7f..9365da25f8d 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -221,7 +221,7 @@ /obj/item/weapon/robot_module/security/New() ..() modules += new /obj/item/weapon/restraints/handcuffs/cable/zipties/cyborg(src) - modules += new /obj/item/weapon/melee/baton/loaded/robot(src) + modules += new /obj/item/weapon/melee/baton/loaded(src) modules += new /obj/item/weapon/gun/energy/disabler/cyborg(src) modules += new /obj/item/taperoll/police(src) modules += new /obj/item/clothing/mask/gas/sechailer/cyborg(src) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 469b6e86574..f9849e9b6cc 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -75,7 +75,7 @@ Stun(3) flash_eyes(affect_silicon = 1) to_chat(src, "*BZZZT*") - to_chat(src, "\red Warning: Electromagnetic pulse detected.") + to_chat(src, "Warning: Electromagnetic pulse detected.") ..() diff --git a/code/modules/mob/living/simple_animal/bot/emote.dm b/code/modules/mob/living/simple_animal/bot/emote.dm index 1bf29d14178..70e27937745 100644 --- a/code/modules/mob/living/simple_animal/bot/emote.dm +++ b/code/modules/mob/living/simple_animal/bot/emote.dm @@ -28,92 +28,44 @@ switch(act) if("ping") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] pings at [param]." - else - message = "[src] pings." + message = "[src] pings[M ? " at [M]" : ""]." playsound(src.loc, 'sound/machines/ping.ogg', 50, 0) m_type = 2 if("buzz") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] buzzes at [param]." - else - message = "[src] buzzes." + message = "[src] buzzes[M ? " at [M]" : ""]." playsound(src.loc, 'sound/machines/buzz-sigh.ogg', 50, 0) m_type = 2 if("beep") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] beeps at [param]." - else - message = "[src] beeps." + message = "[src] beeps[M ? " at [M]" : ""]." playsound(src.loc, 'sound/machines/twobeep.ogg', 50, 0) m_type = 2 if("yes") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] emits an affirmative blip at [param]." - else - message = "[src] emits an affirmative blip." + message = "[src] emits an affirmative blip[M ? " at [M]" : ""]." playsound(src.loc, 'sound/machines/synth_yes.ogg', 50, 0) m_type = 2 if("no") - var/M = null - if(param) - for(var/mob/A in view(null, null)) - if(param == A.name) - M = A - break - if(!M) - param = null + var/M = handle_emote_param(param) - if(param) - message = "[src] emits a negative blip at [param]." - else - message = "[src] emits a negative blip." + message = "[src] emits an negative blip[M ? " at [M]" : ""]." playsound(src.loc, 'sound/machines/synth_no.ogg', 50, 0) m_type = 2 if("scream", "screams") - message = "[src] screams!" + var/M = handle_emote_param(param) + + message = "[src] screams[M ? " at [M]" : ""]!" playsound(src.loc, 'sound/goonstation/voice/robot_scream.ogg', 80, 0) m_type = 2 diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index 746442f8649..86beb8f6bda 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -572,7 +572,7 @@ //Lisa already has a cute bow! /mob/living/simple_animal/pet/corgi/Lisa/Topic(href, href_list) if(href_list["remove_inv"] || href_list["add_inv"]) - to_chat(usr, "\red [src] already has a cute bow!") + to_chat(usr, "[src] already has a cute bow!") return ..() @@ -628,7 +628,7 @@ /mob/living/simple_animal/pet/corgi/Ian/borgi/proc/explode() for(var/mob/M in viewers(src, null)) if(M.client) - M.show_message("\red [src] makes an odd whining noise.") + M.show_message("[src] makes an odd whining noise.") sleep(10) explosion(get_turf(src), 0, 1, 4, 7) death() diff --git a/code/modules/mob/living/simple_animal/friendly/crab.dm b/code/modules/mob/living/simple_animal/friendly/crab.dm index 7a81f52e2b7..02c1445ad27 100644 --- a/code/modules/mob/living/simple_animal/friendly/crab.dm +++ b/code/modules/mob/living/simple_animal/friendly/crab.dm @@ -52,7 +52,7 @@ /*/mob/living/simple_animal/crab/attackby(var/obj/item/O as obj, var/mob/user as mob, params) if(istype(O, /obj/item/weapon/wirecutters)) if(prob(50)) - to_chat(user, "\red \b This kills the crab.") + to_chat(user, "This kills the crab.") health -= 20 death() else @@ -69,20 +69,20 @@ qdel(MED) for(var/mob/M in viewers(src, null)) if((M.client && !( M.blinded ))) - M.show_message("\blue [user] applies the [MED] on [src]") + M.show_message("[user] applies the [MED] on [src]") else - to_chat(user, "\blue this [src] is dead, medical items won't bring it back to life.") + to_chat(user, "this [src] is dead, medical items won't bring it back to life.") else if(O.force) health -= O.force for(var/mob/M in viewers(src, null)) if((M.client && !( M.blinded ))) - M.show_message("\red \b [src] has been attacked with the [O] by [user]. ") + M.show_message("[src] has been attacked with the [O] by [user]. ") else - to_chat(usr, "\red This weapon is ineffective, it does no damage.") + to_chat(usr, "This weapon is ineffective, it does no damage.") for(var/mob/M in viewers(src, null)) if((M.client && !( M.blinded ))) - M.show_message("\red [user] gently taps [src] with the [O]. ") + M.show_message("[user] gently taps [src] with the [O]. ") /mob/living/simple_animal/crab/Topic(href, href_list) if(usr.stat) return @@ -105,14 +105,14 @@ inventory_head.loc = src.loc inventory_head = null else - to_chat(usr, "\red There is nothing to remove from its [remove_from].") + to_chat(usr, "There is nothing to remove from its [remove_from].") return if("mask") if(inventory_mask) inventory_mask.loc = src.loc inventory_mask = null else - to_chat(usr, "\red There is nothing to remove from its [remove_from].") + to_chat(usr, "There is nothing to remove from its [remove_from].") return //show_inv(usr) //Commented out because changing Ian's name and then calling up his inventory opens a new inventory...which is annoying. @@ -123,12 +123,12 @@ return var/add_to = href_list["add_inv"] if(!usr.get_active_hand()) - to_chat(usr, "\red You have nothing in your hand to put on its [add_to].") + to_chat(usr, "You have nothing in your hand to put on its [add_to].") return switch(add_to) if("head") if(inventory_head) - to_chat(usr, "\red It's is already wearing something.") + to_chat(usr, "It's is already wearing something.") return else var/obj/item/item_to_add = usr.get_active_hand() @@ -170,7 +170,7 @@ ) if( ! ( item_to_add.type in allowed_types ) ) - to_chat(usr, "\red It doesn't seem too keen on wearing that item.") + to_chat(usr, "It doesn't seem too keen on wearing that item.") return usr.drop_item() @@ -233,7 +233,7 @@ if("mask") if(inventory_mask) - to_chat(usr, "\red It's already wearing something.") + to_chat(usr, "It's already wearing something.") return else var/obj/item/item_to_add = usr.get_active_hand() @@ -249,7 +249,7 @@ ) if( ! ( item_to_add.type in allowed_types ) ) - to_chat(usr, "\red This object won't fit.") + to_chat(usr, "This object won't fit.") return usr.drop_item() diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index adbc309412e..840c988dc98 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -45,7 +45,7 @@ if(enemies.len && prob(10)) enemies = list() LoseTarget() - src.visible_message("\blue [src] calms down.") + src.visible_message("[src] calms down.") var/obj/structure/spacevine/SV = locate(/obj/structure/spacevine) in loc if(SV) @@ -59,7 +59,7 @@ /mob/living/simple_animal/hostile/retaliate/goat/Retaliate() ..() - src.visible_message("\red [src] gets an evil-looking gleam in their eye.") + src.visible_message("[src] gets an evil-looking gleam in their eye.") /mob/living/simple_animal/hostile/retaliate/goat/Move() ..() @@ -78,9 +78,9 @@ G.reagents.add_reagent("milk", transfered) milk_content -= transfered else if(G.reagents.total_volume >= G.volume) - to_chat(user, "\red \The [O] is full.") + to_chat(user, "\The [O] is full.") else - to_chat(user, "\red The udder is dry. Wait a bit longer...") + to_chat(user, "The udder is dry. Wait a bit longer...") else ..() @@ -124,9 +124,9 @@ G.reagents.add_reagent("milk", transfered) milk_content -= transfered else if(G.reagents.total_volume >= G.volume) - to_chat(user, "\red \The [O] is full.") + to_chat(user, "\The [O] is full.") else - to_chat(user, "\red The udder is dry. Wait a bit longer...") + to_chat(user, "The udder is dry. Wait a bit longer...") else ..() diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index 0b0a182ed44..fdcf39dd51b 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -112,7 +112,7 @@ if( ishuman(AM) ) if(!stat) var/mob/M = AM - to_chat(M, "\blue [bicon(src)] Squeek!") + to_chat(M, "[bicon(src)] Squeek!") M << 'sound/effects/mousesqueek.ogg' ..() diff --git a/code/modules/mob/living/simple_animal/friendly/spiderbot.dm b/code/modules/mob/living/simple_animal/friendly/spiderbot.dm index 38eea833e04..5b2419bf7e8 100644 --- a/code/modules/mob/living/simple_animal/friendly/spiderbot.dm +++ b/code/modules/mob/living/simple_animal/friendly/spiderbot.dm @@ -48,10 +48,10 @@ if(istype(O, /obj/item/device/mmi) || istype(O, /obj/item/device/mmi/posibrain)) var/obj/item/device/mmi/B = O if(src.mmi) //There's already a brain in it. - to_chat(user, "\red There's already a brain in [src]!") + to_chat(user, "There's already a brain in [src]!") return if(!B.brainmob) - to_chat(user, "\red Sticking an empty MMI into the frame would sort of defeat the purpose.") + to_chat(user, "Sticking an empty MMI into the frame would sort of defeat the purpose.") return if(!B.brainmob.key) var/ghost_can_reenter = 0 @@ -69,14 +69,14 @@ return if(B.brainmob.stat == DEAD) - to_chat(user, "\red [O] is dead. Sticking it into the frame would sort of defeat the purpose.") + to_chat(user, "[O] is dead. Sticking it into the frame would sort of defeat the purpose.") return if(jobban_isbanned(B.brainmob, "Cyborg") || jobban_isbanned(B.brainmob,"nonhumandept")) - to_chat(user, "\red [O] does not seem to fit.") + to_chat(user, "[O] does not seem to fit.") return - to_chat(user, "\blue You install [O] in [src]!") + to_chat(user, "You install [O] in [src]!") user.drop_item() src.mmi = O @@ -95,15 +95,15 @@ health = maxHealth add_fingerprint(user) for(var/mob/W in viewers(user, null)) - W.show_message(text("\red [user] has spot-welded some of the damage to [src]!"), 1) + W.show_message(text("[user] has spot-welded some of the damage to [src]!"), 1) else - to_chat(user, "\blue [src] is undamaged!") + to_chat(user, "[src] is undamaged!") else to_chat(user, "Need more welding fuel!") return else if(istype(O, /obj/item/weapon/card/id)||istype(O, /obj/item/device/pda)) if(!mmi) - to_chat(user, "\red There's no reason to swipe your ID - the spiderbot has no brain to remove.") + to_chat(user, "There's no reason to swipe your ID - the spiderbot has no brain to remove.") return 0 var/obj/item/weapon/card/id/id_card @@ -115,7 +115,7 @@ id_card = pda.id if(access_robotics in id_card.access) - to_chat(user, "\blue You swipe your access card and pop the brain out of [src].") + to_chat(user, "You swipe your access card and pop the brain out of [src].") eject_brain() if(held_item) @@ -124,7 +124,7 @@ return 1 else - to_chat(user, "\red You swipe your card, with no effect.") + to_chat(user, "You swipe your card, with no effect.") return 0 else @@ -135,24 +135,24 @@ adjustBruteLoss(damage) for(var/mob/M in viewers(src, null)) if((M.client && !( M.blinded ))) - M.show_message("\red \b [src] has been attacked with the [O] by [user]. ") + M.show_message("[src] has been attacked with the [O] by [user]. ") else - to_chat(usr, "\red This weapon is ineffective, it does no damage.") + to_chat(usr, "This weapon is ineffective, it does no damage.") for(var/mob/M in viewers(src, null)) if((M.client && !( M.blinded ))) - M.show_message("\red [user] gently taps [src] with the [O]. ") + M.show_message("[user] gently taps [src] with the [O]. ") /mob/living/simple_animal/spiderbot/emag_act(user as mob) if(emagged) - to_chat(user, "\red [src] is already overloaded - better run.") + to_chat(user, "[src] is already overloaded - better run.") return 0 else emagged = 1 - to_chat(user, "\blue You short out the security protocols and overload [src]'s cell, priming it to explode in a short time.") + to_chat(user, "You short out the security protocols and overload [src]'s cell, priming it to explode in a short time.") spawn(100) - to_chat(src, "\red Your cell seems to be outputting a lot of power...") + to_chat(src, "Your cell seems to be outputting a lot of power...") spawn(200) - to_chat(src, "\red Internal heat sensors are spiking! Something is badly wrong with your cell!") + to_chat(src, "Internal heat sensors are spiking! Something is badly wrong with your cell!") spawn(300) src.explode() @@ -166,7 +166,7 @@ /mob/living/simple_animal/spiderbot/proc/explode() //When emagged. for(var/mob/M in viewers(src, null)) if((M.client && !( M.blinded ))) - M.show_message("\red [src] makes an odd warbling noise, fizzles, and explodes.") + M.show_message("[src] makes an odd warbling noise, fizzles, and explodes.") explosion(get_turf(loc), -1, -1, 3, 5) eject_brain() death() @@ -227,18 +227,18 @@ return if(!held_item) - to_chat(usr, "\red You have nothing to drop!") + to_chat(usr, "You have nothing to drop!") return 0 if(istype(held_item, /obj/item/weapon/grenade)) - visible_message("\red [src] launches \the [held_item]!", "\red You launch \the [held_item]!", "You hear a skittering noise and a thump!") + visible_message("[src] launches \the [held_item]!", "You launch \the [held_item]!", "You hear a skittering noise and a thump!") var/obj/item/weapon/grenade/G = held_item G.loc = src.loc G.prime() held_item = null return 1 - visible_message("\blue [src] drops \the [held_item]!", "\blue You drop \the [held_item]!", "You hear a skittering noise and a soft thump.") + visible_message("[src] drops \the [held_item]!", "You drop \the [held_item]!", "You hear a skittering noise and a soft thump.") held_item.loc = src.loc held_item = null @@ -255,7 +255,7 @@ return -1 if(held_item) - to_chat(src, "\red You are already holding \the [held_item]") + to_chat(src, "You are already holding \the [held_item]") return 1 var/list/items = list() @@ -270,12 +270,12 @@ if(selection == I) held_item = selection selection.loc = src - visible_message("\blue [src] scoops up \the [held_item]!", "\blue You grab \the [held_item]!", "You hear a skittering noise and a clink.") + visible_message("[src] scoops up \the [held_item]!", "You grab \the [held_item]!", "You hear a skittering noise and a clink.") return held_item - to_chat(src, "\red \The [selection] is too far away.") + to_chat(src, "\The [selection] is too far away.") return 0 - to_chat(src, "\red There is nothing of interest to take.") + to_chat(src, "There is nothing of interest to take.") return 0 /mob/living/simple_animal/spiderbot/examine(mob/user) diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index 5b76f3a633c..3c521d56d04 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -83,7 +83,7 @@ /mob/living/simple_animal/hostile/hivebot/tele/warpbots() icon_state = "def_radar" - visible_message("\red The [src] turns on!") + visible_message("The [src] turns on!") while(bot_amt > 0) bot_amt-- switch(bot_type) diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm index 9f98b205fc9..3cfc1b2c291 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm @@ -79,7 +79,7 @@ //repair a bit of damage if(prob(1)) - src.visible_message("\red [bicon(src)] [src] shudders and shakes as some of it's damaged systems come back online.") + src.visible_message("[bicon(src)] [src] shudders and shakes as some of it's damaged systems come back online.") var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread s.set_up(3, 1, src) s.start() @@ -94,10 +94,10 @@ //sometimes our targetting sensors malfunction, and we attack anyone nearby if(prob(disabled ? 0 : 1)) if(hostile_drone) - src.visible_message("\blue [bicon(src)] [src] retracts several targetting vanes, and dulls it's running lights.") + src.visible_message("[bicon(src)] [src] retracts several targetting vanes, and dulls it's running lights.") hostile_drone = 0 else - src.visible_message("\red [bicon(src)] [src] suddenly lights up, and additional targetting vanes slide into place.") + src.visible_message("[bicon(src)] [src] suddenly lights up, and additional targetting vanes slide into place.") hostile_drone = 1 if(health / maxHealth > 0.9) @@ -118,17 +118,17 @@ exploding = 0 if(!disabled) if(prob(50)) - src.visible_message("\blue [bicon(src)] [src] suddenly shuts down!") + src.visible_message("[bicon(src)] [src] suddenly shuts down!") else - src.visible_message("\blue [bicon(src)] [src] suddenly lies still and quiet.") + src.visible_message("[bicon(src)] [src] suddenly lies still and quiet.") disabled = rand(150, 600) walk(src,0) if(exploding && prob(20)) if(prob(50)) - src.visible_message("\red [bicon(src)] [src] begins to spark and shake violenty!") + src.visible_message("[bicon(src)] [src] begins to spark and shake violenty!") else - src.visible_message("\red [bicon(src)] [src] sparks and shakes like it's about to explode!") + src.visible_message("[bicon(src)] [src] sparks and shakes like it's about to explode!") var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread s.set_up(3, 1, src) s.start() diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index be2cfff6f0c..805059f25f7 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -46,13 +46,13 @@ if(O.damtype == STAMINA) damage = 0 health -= damage - visible_message("\red \b [src] has been attacked with the [O] by [user]. ") + visible_message("[src] has been attacked with the [O] by [user]. ") else - visible_message("\red \b [src] blocks the [O] with its shield! ") + visible_message("[src] blocks the [O] with its shield! ") playsound(loc, O.hitsound, 25, 1, -1) else - to_chat(usr, "\red This weapon is ineffective, it does no damage.") - visible_message("\red [user] gently taps [src] with the [O]. ") + to_chat(usr, "This weapon is ineffective, it does no damage.") + visible_message("[user] gently taps [src] with the [O]. ") /mob/living/simple_animal/hostile/syndicate/melee/bullet_act(var/obj/item/projectile/Proj) diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 8e655760d11..2c1fb61be2f 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -406,7 +406,7 @@ if(!parrot_perch || parrot_interest.loc != parrot_perch.loc) held_item = parrot_interest parrot_interest.loc = src - visible_message("[src] grabs the [held_item]!", "\blue You grab the [held_item]!", "You hear the sounds of wings flapping furiously.") + visible_message("[src] grabs the [held_item]!", "You grab the [held_item]!", "You hear the sounds of wings flapping furiously.") parrot_interest = null parrot_state = PARROT_SWOOP | PARROT_RETURN diff --git a/code/modules/mob/living/simple_animal/powers.dm b/code/modules/mob/living/simple_animal/powers.dm index 9177b61ea2d..9d1d6217415 100644 --- a/code/modules/mob/living/simple_animal/powers.dm +++ b/code/modules/mob/living/simple_animal/powers.dm @@ -8,13 +8,13 @@ if(layer != TURF_LAYER+0.2) layer = TURF_LAYER+0.2 - to_chat(src, text("\green You are now hiding.")) + to_chat(src, text("You are now hiding.")) for(var/mob/O in oviewers(src, null)) if((O.client && !( O.blinded ))) to_chat(O, text("[] scurries to the ground!", src)) else layer = MOB_LAYER - to_chat(src, text("\green You have stopped hiding.")) + to_chat(src, text("You have stopped hiding.")) for(var/mob/O in oviewers(src, null)) if((O.client && !( O.blinded ))) to_chat(O, text("[] slowly peaks up from the ground...", src)) diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm index d4d52f63ce5..01ce4964ece 100644 --- a/code/modules/mob/living/simple_animal/shade.dm +++ b/code/modules/mob/living/simple_animal/shade.dm @@ -40,12 +40,12 @@ health -= damage for(var/mob/M in viewers(src, null)) if((M.client && !( M.blinded ))) - M.show_message("\red \b [src] has been attacked with the [O] by [user]. ") + M.show_message("[src] has been attacked with the [O] by [user]. ") else - to_chat(usr, "\red This weapon is ineffective, it does no damage.") + to_chat(usr, "This weapon is ineffective, it does no damage.") for(var/mob/M in viewers(src, null)) if((M.client && !( M.blinded ))) - M.show_message("\red [user] gently taps [src] with the [O]. ") + M.show_message("[user] gently taps [src] with the [O]. ") return /mob/living/simple_animal/shade/sword diff --git a/code/modules/mob/living/simple_animal/tribbles.dm b/code/modules/mob/living/simple_animal/tribbles.dm index 6a18da90aaa..78b28abf9f8 100644 --- a/code/modules/mob/living/simple_animal/tribbles.dm +++ b/code/modules/mob/living/simple_animal/tribbles.dm @@ -195,10 +195,10 @@ var/global/totaltribbles = 0 //global variable so it updates for all tribbles, if(src.destroyed) return else - to_chat(usr, text("\blue You kick the lab cage.")) + to_chat(usr, text("You kick the lab cage.")) for(var/mob/O in oviewers()) if((O.client && !( O.blinded ))) - to_chat(O, text("\red [] kicks the lab cage.", usr)) + to_chat(O, text("[] kicks the lab cage.", usr)) src.health -= 2 healthcheck() return diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index a4036555aac..40835475e2c 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -47,14 +47,14 @@ var/datum/gas_mixture/environment = loc.return_air() - var/t = "\blue Coordinates: [x],[y] \n" - t+= "\red Temperature: [environment.temperature] \n" - t+= "\blue Nitrogen: [environment.nitrogen] \n" - t+= "\blue Oxygen: [environment.oxygen] \n" - t+= "\blue Plasma : [environment.toxins] \n" - t+= "\blue Carbon Dioxide: [environment.carbon_dioxide] \n" + var/t = "Coordinates: [x],[y] \n" + t+= "Temperature: [environment.temperature] \n" + t+= "Nitrogen: [environment.nitrogen] \n" + t+= "Oxygen: [environment.oxygen] \n" + t+= "Plasma : [environment.toxins] \n" + t+= "Carbon Dioxide: [environment.carbon_dioxide] \n" for(var/datum/gas/trace_gas in environment.trace_gases) - to_chat(usr, "\blue [trace_gas.type]: [trace_gas.moles] \n") + to_chat(usr, "[trace_gas.type]: [trace_gas.moles] \n") usr.show_message(t, 1) @@ -172,8 +172,7 @@ if(istype(W, /obj/item/clothing)) var/obj/item/clothing/C = W if(C.hardsuit_restrict_helmet) - to_chat(src, "\red You must fasten the helmet to a hardsuit first. (Target the head and use on a hardsuit)")// Stop eva helms equipping. - + to_chat(src, "You must fasten the helmet to a hardsuit first. (Target the head and use on a hardsuit)")// Stop eva helms equipping. else equip_to_slot_if_possible(C, slot) else @@ -208,7 +207,7 @@ qdel(W) else if(!disable_warning) - to_chat(src, "\red You are unable to equip that.")//Only print if del_on_fail is false + to_chat(src, "You are unable to equip that.")//Only print if del_on_fail is false return 0 @@ -348,7 +347,7 @@ var/list/slot_equipment_priority = list( \ if(slot_belt) if(!H.w_uniform) if(!disable_warning) - to_chat(H, "\red You need a jumpsuit before you can attach this [name].") + to_chat(H, "You need a jumpsuit before you can attach this [name].") return 0 if( !(slot_flags & SLOT_BELT) ) return 0 @@ -408,7 +407,7 @@ var/list/slot_equipment_priority = list( \ if(slot_wear_id) if(!H.w_uniform) if(!disable_warning) - to_chat(H, "\red You need a jumpsuit before you can attach this [name].") + to_chat(H, "You need a jumpsuit before you can attach this [name].") return 0 if( !(slot_flags & SLOT_ID) ) return 0 @@ -423,7 +422,7 @@ var/list/slot_equipment_priority = list( \ return 0 if(!H.w_uniform) if(!disable_warning) - to_chat(H, "\red You need a jumpsuit before you can attach this [name].") + to_chat(H, "You need a jumpsuit before you can attach this [name].") return 0 if(slot_flags & SLOT_DENYPOCKET) return @@ -434,7 +433,7 @@ var/list/slot_equipment_priority = list( \ return 0 if(!H.w_uniform) if(!disable_warning) - to_chat(H, "\red You need a jumpsuit before you can attach this [name].") + to_chat(H, "You need a jumpsuit before you can attach this [name].") return 0 if(slot_flags & SLOT_DENYPOCKET) return 0 @@ -444,7 +443,7 @@ var/list/slot_equipment_priority = list( \ if(slot_s_store) if(!H.wear_suit) if(!disable_warning) - to_chat(H, "\red You need a suit before you can attach this [name].") + to_chat(H, "You need a suit before you can attach this [name].") return 0 if(!H.wear_suit.allowed) if(!disable_warning) @@ -748,7 +747,7 @@ var/list/slot_equipment_priority = list( \ if(client.holder && (client.holder.rights & R_ADMIN)) is_admin = 1 else if(stat != DEAD || istype(src, /mob/new_player)) - to_chat(usr, "\blue You must be observing to use this!") + to_chat(usr, "You must be observing to use this!") return if(is_admin && stat == DEAD) diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 3a131854185..e52854621bd 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -364,7 +364,7 @@ eyes.damage += rand(3,4) if(eyes.damage >= eyes.min_broken_damage) if(M.stat != 2) - to_chat(M, "\red You go blind!")*///This is a demonstration of adding a new damaging type based on intent as well as hitzone. + to_chat(M, "You go blind!")*///This is a demonstration of adding a new damaging type based on intent as well as hitzone. //This specific example would allow you to squish people's eyes with a GRAB_NECK. diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 6926e08af52..69bba669de0 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -41,8 +41,8 @@ else if(eyes) //If they're not, check to see if their eyes got one of them there colour matrices. Will be null if eyes are robotic/the mob isn't colourblind and they have no default colour matrix. return eyes.get_colourmatrix() -/proc/isloyal(A) //Checks to see if the person contains a mindshield implant, then checks that the implant is actually inside of them - for(var/obj/item/weapon/implant/loyalty/L in A) +/proc/ismindshielded(A) //Checks to see if the person contains a mindshield implant, then checks that the implant is actually inside of them + for(var/obj/item/weapon/implant/mindshield/L in A) if(L && L.implanted) return 1 return 0 diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 52fdbdf0328..cef870811db 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -50,12 +50,12 @@ var/mob/living/silicon/robot/R = usr var/module = R.get_selected_module() if(!module) - to_chat(usr, "\red You have no module selected.") + to_chat(usr, "You have no module selected.") return R.cycle_modules() R.uneq_numbered(module) else - to_chat(usr, "\red This mob type cannot throw items.") + to_chat(usr, "This mob type cannot throw items.") return @@ -63,17 +63,17 @@ if(iscarbon(usr)) var/mob/living/carbon/C = usr if(!C.get_active_hand()) - to_chat(usr, "\red You have nothing to drop in your hand.") + to_chat(usr, "You have nothing to drop in your hand.") return drop_item() else if(isrobot(usr)) var/mob/living/silicon/robot/R = usr if(!R.get_selected_module()) - to_chat(usr, "\red You have no module selected.") + to_chat(usr, "You have no module selected.") return R.deselect_module(R.get_selected_module()) else - to_chat(usr, "\red This mob type cannot drop items.") + to_chat(usr, "This mob type cannot drop items.") return //This gets called when you press the delete button. @@ -81,7 +81,7 @@ set hidden = 1 if(!usr.pulling) - to_chat(usr, "\blue You are not pulling anything.") + to_chat(usr, "You are not pulling anything.") return usr.stop_pulling() @@ -212,13 +212,13 @@ for(var/mob/M in range(mob, 1)) if(M.pulling == mob) if(!M.restrained() && M.stat == 0 && M.canmove && mob.Adjacent(M)) - to_chat(src, "\blue You're restrained! You can't move!") + to_chat(src, "You're restrained! You can't move!") return 0 else M.stop_pulling() if(mob.pinned.len) - to_chat(src, "\blue You're pinned to a wall by [mob.pinned[1]]!") + to_chat(src, "You're pinned to a wall by [mob.pinned[1]]!") return 0 var/turf/T = mob.loc diff --git a/code/modules/mob/mob_transformation_simple.dm b/code/modules/mob/mob_transformation_simple.dm index 856879acf38..a94be6a54c1 100644 --- a/code/modules/mob/mob_transformation_simple.dm +++ b/code/modules/mob/mob_transformation_simple.dm @@ -5,7 +5,7 @@ /mob/proc/change_mob_type(var/new_type = null, var/turf/location = null, var/new_name = null as text, var/delete_old_mob = 0 as num, var/forcekey = 0) if(istype(src,/mob/new_player)) - to_chat(usr, "\red cannot convert players who have not entered yet.") + to_chat(usr, "cannot convert players who have not entered yet.") return if(!new_type) @@ -19,7 +19,7 @@ return if( new_type == /mob/new_player ) - to_chat(usr, "\red cannot convert into a new_player mob type.") + to_chat(usr, "cannot convert into a new_player mob type.") return var/mob/M diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index bccd7990de9..770460d8a93 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -131,7 +131,7 @@ observer.started_as_observer = 1 close_spawn_windows() var/obj/O = locate("landmark*Observer-Start") - to_chat(src, "\blue Now teleporting.") + to_chat(src, "Now teleporting.") observer.loc = O.loc observer.timeofdeath = world.time // Set the time of death so that the respawn timer works correctly. client.prefs.update_preview_icon(1) @@ -151,7 +151,7 @@ if(href_list["late_join"]) if(!ticker || ticker.current_state != GAME_STATE_PLAYING) - to_chat(usr, "\red The round is either not ready, or has already finished...") + to_chat(usr, "The round is either not ready, or has already finished...") return if(client.prefs.species in whitelisted_species) @@ -168,7 +168,7 @@ if(href_list["SelectedJob"]) if(!enter_allowed) - to_chat(usr, "\blue There is an administrative lock on entering the game!") + to_chat(usr, "There is an administrative lock on entering the game!") return if(client.prefs.randomslot) @@ -285,10 +285,10 @@ if(src != usr) return 0 if(!ticker || ticker.current_state != GAME_STATE_PLAYING) - to_chat(usr, "\red The round is either not ready, or has already finished...") + to_chat(usr, "The round is either not ready, or has already finished...") return 0 if(!enter_allowed) - to_chat(usr, "\blue There is an administrative lock on entering the game!") + to_chat(usr, "There is an administrative lock on entering the game!") return 0 if(!IsJobAvailable(rank)) to_chat(src, alert("[rank] is not available. Please try another.")) diff --git a/code/modules/mob/new_player/poll.dm b/code/modules/mob/new_player/poll.dm index f85a8c9ded1..afe1e63ea12 100644 --- a/code/modules/mob/new_player/poll.dm +++ b/code/modules/mob/new_player/poll.dm @@ -59,7 +59,7 @@ break if(!found) - to_chat(usr, "\red Poll question details not found.") + to_chat(usr, "Poll question details not found.") return switch(polltype) @@ -316,7 +316,7 @@ break if(!validpoll) - to_chat(usr, "\red Poll is not valid.") + to_chat(usr, "Poll is not valid.") return var/DBQuery/select_query2 = dbcon.NewQuery("SELECT id FROM [format_table_name("poll_option")] WHERE id = [optionid] AND pollid = [pollid]") @@ -329,7 +329,7 @@ break if(!validoption) - to_chat(usr, "\red Poll option is not valid.") + to_chat(usr, "Poll option is not valid.") return var/alreadyvoted = 0 @@ -343,11 +343,11 @@ break if(!multichoice && alreadyvoted) - to_chat(usr, "\red You already voted in this poll.") + to_chat(usr, "You already voted in this poll.") return if(multichoice && (alreadyvoted >= multiplechoiceoptions)) - to_chat(usr, "\red You already have more than [multiplechoiceoptions] logged votes on this poll. Enough is enough. Contact the database admin if this is an error.") + to_chat(usr, "You already have more than [multiplechoiceoptions] logged votes on this poll. Enough is enough. Contact the database admin if this is an error.") return var/adminrank = "Player" @@ -358,7 +358,7 @@ var/DBQuery/insert_query = dbcon.NewQuery("INSERT INTO [format_table_name("poll_vote")] (id ,datetime ,pollid ,optionid ,ckey ,ip ,adminrank) VALUES (null, Now(), [pollid], [optionid], '[usr.ckey]', '[usr.client.address]', '[adminrank]')") insert_query.Execute() - to_chat(usr, "\blue Vote successful.") + to_chat(usr, "Vote successful.") usr << browse(null,"window=playerpoll") @@ -383,7 +383,7 @@ break if(!validpoll) - to_chat(usr, "\red Poll is not valid.") + to_chat(usr, "Poll is not valid.") return var/alreadyvoted = 0 @@ -396,7 +396,7 @@ break if(alreadyvoted) - to_chat(usr, "\red You already sent your feedback for this poll.") + to_chat(usr, "You already sent your feedback for this poll.") return var/adminrank = "Player" @@ -416,7 +416,7 @@ var/DBQuery/insert_query = dbcon.NewQuery("INSERT INTO [format_table_name("poll_textreply")] (id ,datetime ,pollid ,ckey ,ip ,replytext ,adminrank) VALUES (null, Now(), [pollid], '[usr.ckey]', '[usr.client.address]', '[replytext]', '[adminrank]')") insert_query.Execute() - to_chat(usr, "\blue Feedback logging successful.") + to_chat(usr, "Feedback logging successful.") usr << browse(null,"window=playerpoll") @@ -441,7 +441,7 @@ break if(!validpoll) - to_chat(usr, "\red Poll is not valid.") + to_chat(usr, "Poll is not valid.") return var/DBQuery/select_query2 = dbcon.NewQuery("SELECT id FROM [format_table_name("poll_option")] WHERE id = [optionid] AND pollid = [pollid]") @@ -454,7 +454,7 @@ break if(!validoption) - to_chat(usr, "\red Poll option is not valid.") + to_chat(usr, "Poll option is not valid.") return var/alreadyvoted = 0 @@ -467,7 +467,7 @@ break if(alreadyvoted) - to_chat(usr, "\red You already voted in this poll.") + to_chat(usr, "You already voted in this poll.") return var/adminrank = "Player" @@ -478,5 +478,5 @@ var/DBQuery/insert_query = dbcon.NewQuery("INSERT INTO [format_table_name("poll_vote")] (id ,datetime ,pollid ,optionid ,ckey ,ip ,adminrank, rating) VALUES (null, Now(), [pollid], [optionid], '[usr.ckey]', '[usr.client.address]', '[adminrank]', [(isnull(rating)) ? "null" : rating])") insert_query.Execute() - to_chat(usr, "\blue Vote successful.") + to_chat(usr, "Vote successful.") usr << browse(null,"window=playerpoll") \ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 4d305cdee54..ea80c4def16 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -1938,7 +1938,7 @@ icon = 'icons/mob/human_face.dmi' species_allowed = list("Kidan") over_hair = 1 - do_colouration = 0 + do_colouration = 1 /datum/sprite_accessory/head_accessory/kidan/perked_antennae name = "Perked-up Antennae" diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 35de8bd3ed6..60a501f1ecf 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -267,7 +267,7 @@ // check for exploits for(var/bad in paper_blacklist) if(findtext(t,bad)) - to_chat(usr, "\blue You think to yourself, \"Hm.. this is only paper...\"") + to_chat(usr, "You think to yourself, \"Hm.. this is only paper...\"") log_admin("PAPER: [key_name(usr)] tried to use forbidden word in [src]: [bad].") message_admins("PAPER: [key_name_admin(usr)] tried to use forbidden word in [src]: [bad].") return diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index 1710ae1d485..da20ed65dde 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -94,7 +94,7 @@ qdel(src) else - to_chat(user, "\red You must hold \the [P] steady to burn \the [src].") + to_chat(user, "You must hold \the [P] steady to burn \the [src].") /obj/item/weapon/paper_bundle/examine(mob/user) if(..(user, 1)) diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index beef706d70a..a9e232560fc 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -71,7 +71,7 @@ qdel(src) else - to_chat(user, "\red You must hold \the [P] steady to burn \the [src].") + to_chat(user, "You must hold \the [P] steady to burn \the [src].") /obj/item/weapon/photo/examine(mob/user) if(..(user, 1) || isobserver(user)) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index c449fa5cdb0..03a84d161e5 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -90,7 +90,6 @@ var/update_overlay = -1 var/global/status_overlays = 0 var/updating_icon = 0 - var/standard_max_charge var/datum/wires/apc/wires = null //var/debug = 0 var/global/list/status_overlays_lock @@ -142,9 +141,6 @@ apcs += src apcs = sortAtom(apcs) wires = new(src) - var/tmp/obj/item/weapon/stock_parts/cell/tmp_cell = new - standard_max_charge = tmp_cell.maxcharge - qdel(tmp_cell) // offset 24 pixels in direction of dir // this allows the APC to be embedded in a wall, yet still inside an area @@ -198,7 +194,7 @@ if(cell_type) src.cell = new/obj/item/weapon/stock_parts/cell(src) cell.maxcharge = cell_type // cell_type is maximum charge (old default was 1000 or 2500 (values one and two respectively) - cell.charge = start_charge * cell.maxcharge / 100.0 // (convert percentage to actual value) + cell.charge = start_charge * cell.maxcharge / 100 // (convert percentage to actual value) var/area/A = get_area(src) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 0669c674a01..775c53fee72 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -131,7 +131,7 @@ By design, d1 is the smallest direction and d2 is the highest return */ ///// Z-Level Stuff /* if(breaker_box) - to_chat(user, "\red This cable is connected to nearby breaker box. Use breaker box to interact with it.") + to_chat(user, "This cable is connected to nearby breaker box. Use breaker box to interact with it.") return */ if(shock(user, 50)) diff --git a/code/modules/power/cable_heavyduty.dm b/code/modules/power/cable_heavyduty.dm index 87a25032eb7..e0992d1b79e 100644 --- a/code/modules/power/cable_heavyduty.dm +++ b/code/modules/power/cable_heavyduty.dm @@ -16,10 +16,10 @@ return if(istype(W, /obj/item/weapon/wirecutters)) - to_chat(usr, "\blue These cables are too tough to be cut with those [W.name].") + to_chat(usr, "These cables are too tough to be cut with those [W.name].") return else if(istype(W, /obj/item/stack/cable_coil)) - to_chat(usr, "\blue You will need heavier cables to connect to these.") + to_chat(usr, "You will need heavier cables to connect to these.") return else ..() diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index f88dce25b51..942ed2ac98a 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -5,24 +5,25 @@ return 100.0*charge/maxcharge // use power from a cell -/obj/item/weapon/stock_parts/cell/proc/use(var/amount) +/obj/item/weapon/stock_parts/cell/proc/use(amount) if(rigged && amount > 0) explode() return 0 - - if(charge < amount) return 0 + if(charge < amount) + return 0 charge = (charge - amount) return 1 // recharge the cell -/obj/item/weapon/stock_parts/cell/proc/give(var/amount) +/obj/item/weapon/stock_parts/cell/proc/give(amount) if(rigged && amount > 0) explode() return 0 - - if(maxcharge < amount) return 0 + if(maxcharge < amount) + return 0 var/power_used = min(maxcharge-charge,amount) - if(crit_fail) return 0 + if(crit_fail) + return 0 if(!prob(reliability)) minor_fault++ if(prob(minor_fault)) @@ -31,7 +32,6 @@ charge += power_used return power_used - /obj/item/weapon/stock_parts/cell/examine(mob/user) if(..(user, 1)) if(maxcharge <= 2500) @@ -39,7 +39,7 @@ else to_chat(user, "This power cell has an exciting chrome finish, as it is an uber-capacity cell type! It has a power rating of [maxcharge]!\nThe charge meter reads [round(src.percent() )]%.") if(crit_fail) - to_chat(user, "\red This power cell seems to be faulty.") + to_chat(user, "This power cell seems to be faulty.") /obj/item/weapon/stock_parts/cell/attack_self(mob/user as mob) src.add_fingerprint(user) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index b8d6d214464..5e3cc9dcce6 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -403,7 +403,7 @@ // Aliens smash the bulb but do not get electrocuted./N /obj/machinery/light/attack_alien(mob/living/carbon/alien/humanoid/user)//So larva don't go breaking light bulbs. if(status == LIGHT_EMPTY||status == LIGHT_BROKEN) - to_chat(user, "\green That object is useless to you.") + to_chat(user, "That object is useless to you.") return else if(status == LIGHT_OK||status == LIGHT_BURNED) user.do_attack_animation(src) @@ -414,7 +414,7 @@ /obj/machinery/light/attack_animal(mob/living/simple_animal/M) if(M.melee_damage_upper == 0) return if(status == LIGHT_EMPTY||status == LIGHT_BROKEN) - to_chat(M, "\red That object is useless to you.") + to_chat(M, "That object is useless to you.") return else if(status == LIGHT_OK||status == LIGHT_BURNED) M.do_attack_animation(src) @@ -696,7 +696,7 @@ /obj/item/weapon/light/proc/shatter() if(status == LIGHT_OK || status == LIGHT_BURNED) - src.visible_message("\red [name] shatters.","\red You hear a small glass object shatter.") + src.visible_message("[name] shatters.","You hear a small glass object shatter.") status = LIGHT_BROKEN force = 5 sharp = 1 diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index c4b44be0524..11c83313737 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -44,7 +44,7 @@ var/global/list/rad_collectors = list() investigate_log("turned [active?"on":"off"] by [user.key]. [P?"Fuel: [round(P.air_contents.toxins/0.29)]%":"It is empty"].","singulo") return else - to_chat(user, "\red The controls are locked!") + to_chat(user, "The controls are locked!") return ..() @@ -57,10 +57,10 @@ var/global/list/rad_collectors = list() atmosanalyzer_scan(P.air_contents, user) else if(istype(W, /obj/item/weapon/tank/plasma)) if(!src.anchored) - to_chat(user, "\red The [src] needs to be secured to the floor first.") + to_chat(user, "The [src] needs to be secured to the floor first.") return 1 if(src.P) - to_chat(user, "\red There's already a plasma tank loaded.") + to_chat(user, "There's already a plasma tank loaded.") return 1 user.drop_item() src.P = W @@ -72,7 +72,7 @@ var/global/list/rad_collectors = list() return 1 else if(istype(W, /obj/item/weapon/wrench)) if(P) - to_chat(user, "\blue Remove the plasma tank first.") + to_chat(user, "Remove the plasma tank first.") return 1 playsound(src.loc, W.usesound, 75, 1) src.anchored = !src.anchored @@ -90,9 +90,9 @@ var/global/list/rad_collectors = list() to_chat(user, "The controls are now [src.locked ? "locked." : "unlocked."]") else src.locked = 0 //just in case it somehow gets locked - to_chat(user, "\red The controls can only be locked when the [src] is active") + to_chat(user, "The controls can only be locked when the [src] is active") else - to_chat(user, "\red Access denied!") + to_chat(user, "Access denied!") return 1 else ..() diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 76472ab0321..7ee9ea5edf1 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -154,9 +154,9 @@ investigate_log("turned on by [key_name(usr)]","singulo") update_icon() else - to_chat(user, "\red The controls are locked!") + to_chat(user, "The controls are locked!") else - to_chat(user, "\red The [src] needs to be firmly secured to the floor first.") + to_chat(user, "The [src] needs to be firmly secured to the floor first.") return 1 @@ -249,7 +249,7 @@ "You hear a ratchet") src.anchored = 0 if(2) - to_chat(user, "\red The [src.name] needs to be unwelded from the floor.") + to_chat(user, "The [src.name] needs to be unwelded from the floor.") return if(istype(W, /obj/item/weapon/weldingtool)) @@ -259,7 +259,7 @@ return switch(state) if(0) - to_chat(user, "\red The [src.name] needs to be wrenched to the floor.") + to_chat(user, "The [src.name] needs to be wrenched to the floor.") if(1) if(WT.remove_fuel(0,user)) playsound(src.loc, WT.usesound, 50, 1) @@ -272,7 +272,7 @@ to_chat(user, "You weld the [src] to the floor.") connect_to_network() else - to_chat(user, "\red You need more welding fuel to complete this task.") + to_chat(user, "You need more welding fuel to complete this task.") if(2) if(WT.remove_fuel(0,user)) playsound(src.loc, WT.usesound, 50, 1) @@ -285,12 +285,12 @@ to_chat(user, "You cut the [src] free from the floor.") disconnect_from_network() else - to_chat(user, "\red You need more welding fuel to complete this task.") + to_chat(user, "You need more welding fuel to complete this task.") return if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda)) if(emagged) - to_chat(user, "\red The lock seems to be broken") + to_chat(user, "The lock seems to be broken") return if(src.allowed(user)) if(active) @@ -298,9 +298,9 @@ to_chat(user, "The controls are now [src.locked ? "locked." : "unlocked."]") else src.locked = 0 //just in case it somehow gets locked - to_chat(user, "\red The controls can only be locked when the [src] is online") + to_chat(user, "The controls can only be locked when the [src] is online") else - to_chat(user, "\red Access denied.") + to_chat(user, "Access denied.") return if(default_deconstruction_screwdriver(user, "emitter_open", "emitter", W)) @@ -319,4 +319,4 @@ locked = 0 emagged = 1 if(user) - user.visible_message("[user.name] emags the [src.name].","\red You short out the lock.") + user.visible_message("[user.name] emags the [src.name].","You short out the lock.") diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index b8c0133d8f3..f73d306d15b 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -438,7 +438,7 @@ if(is_station_level(src.z)) if(prob(1)) //explosion for(var/mob/M in viewers(src)) - M.show_message("\red The [src.name] is making strange noises!", 3, "\red You hear sizzling electronics.", 2) + M.show_message("The [src.name] is making strange noises!", 3, "You hear sizzling electronics.", 2) sleep(10*pick(4,5,6,7,10,14)) var/datum/effect/system/harmless_smoke_spread/smoke = new /datum/effect/system/harmless_smoke_spread() smoke.set_up(3, 0, src.loc) diff --git a/code/modules/power/supermatter/sm_shard.dm b/code/modules/power/supermatter/sm_shard.dm index 690aeac6fce..2ffd5b040ec 100644 --- a/code/modules/power/supermatter/sm_shard.dm +++ b/code/modules/power/supermatter/sm_shard.dm @@ -66,13 +66,13 @@ /obj/item/weapon/shard/supermatter/attack_hand(var/mob/user) if(!istype(user,/mob/living/carbon/human/nucleation)) - to_chat(user, pick( "\red You think twice before touching that without protection.",) - "\red You don't want to touch that without some protection.", - "\red You probably should get something else to pick that up.", - "\red You aren't sure that's a good idea.", - "\red You aren't in the mood to get vaporized today.", - "\red You really don't feel like frying your hand off.", - "\red You assume that's a bad idea." ) + to_chat(user, pick( "You think twice before touching that without protection.",) + "You don't want to touch that without some protection.", + "You probably should get something else to pick that up.", + "You aren't sure that's a good idea.", + "You aren't in the mood to get vaporized today.", + "You really don't feel like frying your hand off.", + "You assume that's a bad idea." ) return ..() diff --git a/code/modules/power/switch.dm b/code/modules/power/switch.dm index cba253be5f0..34e867005e1 100644 --- a/code/modules/power/switch.dm +++ b/code/modules/power/switch.dm @@ -29,25 +29,25 @@ to_chat(user, "The switch is in the off position") /obj/structure/powerswitch/attack_ai(mob/user) - to_chat(user, "\red You're an AI. This is a manual switch. It's not going to work.") + to_chat(user, "You're an AI. This is a manual switch. It's not going to work.") return /obj/structure/powerswitch/attack_hand(mob/user) if(busy) - to_chat(user, "\red This switch is already being toggled.") + to_chat(user, "This switch is already being toggled.") return ..() busy = 1 for(var/mob/O in viewers(user)) - O.show_message(text("\red [user] starts pulling the [src]."), 1) + O.show_message(text("[user] starts pulling the [src]."), 1) if(do_after(user, 50, target = src)) set_state(!on) for(var/mob/O in viewers(user)) - O.show_message(text("\red [user] flips the [src] into the [on ? "on": "off"] position."), 1) + O.show_message(text("[user] flips the [src] into the [on ? "on": "off"] position."), 1) busy = 0 /obj/structure/powerswitch/proc/set_state(var/state) diff --git a/code/modules/projectiles/ammunition/energy.dm b/code/modules/projectiles/ammunition/energy.dm index d0b4488d557..cdb0e063184 100644 --- a/code/modules/projectiles/ammunition/energy.dm +++ b/code/modules/projectiles/ammunition/energy.dm @@ -3,7 +3,7 @@ desc = "The part of the gun that makes the laser go pew" caliber = "energy" projectile_type = /obj/item/projectile/energy - var/e_cost = 1000 //The amount of energy a cell needs to expend to create this shot. + var/e_cost = 100 //The amount of energy a cell needs to expend to create this shot. var/select_name = "energy" fire_sound = 'sound/weapons/Laser.ogg' @@ -13,10 +13,11 @@ /obj/item/ammo_casing/energy/lasergun projectile_type = /obj/item/projectile/beam/laser - e_cost = 830 + e_cost = 83 select_name = "kill" /obj/item/ammo_casing/energy/laser/hos //allows balancing of HoS and blueshit guns seperately from other energy weapons + e_cost = 100 /obj/item/ammo_casing/energy/laser/practice projectile_type = /obj/item/projectile/beam/practice @@ -35,13 +36,13 @@ /obj/item/ammo_casing/energy/laser/pulse projectile_type = /obj/item/projectile/beam/pulse - e_cost = 2000 + e_cost = 200 select_name = "DESTROY" fire_sound = 'sound/weapons/pulse.ogg' /obj/item/ammo_casing/energy/laser/scatter/pulse projectile_type = /obj/item/projectile/beam/pulse - e_cost = 2000 + e_cost = 200 select_name = "ANNIHILATE" fire_sound = 'sound/weapons/pulse.ogg' @@ -55,26 +56,27 @@ /obj/item/ammo_casing/energy/xray projectile_type = /obj/item/projectile/beam/xray - e_cost = 500 + e_cost = 50 fire_sound = 'sound/weapons/laser3.ogg' /obj/item/ammo_casing/energy/immolator projectile_type = /obj/item/projectile/beam/immolator fire_sound = 'sound/weapons/laser3.ogg' - e_cost = 1250 + e_cost = 125 /obj/item/ammo_casing/energy/electrode projectile_type = /obj/item/projectile/energy/electrode select_name = "stun" fire_sound = 'sound/weapons/taser.ogg' - e_cost = 2000 + e_cost = 200 delay = 15 /obj/item/ammo_casing/energy/electrode/gun fire_sound = 'sound/weapons/gunshot.ogg' - e_cost = 1000 + e_cost = 100 /obj/item/ammo_casing/energy/electrode/hos //allows balancing of HoS and blueshit guns seperately from other energy weapons + e_cost = 200 /obj/item/ammo_casing/energy/ion projectile_type = /obj/item/projectile/ion @@ -121,7 +123,7 @@ /obj/item/ammo_casing/energy/disabler projectile_type = /obj/item/projectile/beam/disabler select_name = "disable" - e_cost = 500 + e_cost = 50 fire_sound = 'sound/weapons/taser2.ogg' /obj/item/ammo_casing/energy/plasma @@ -129,12 +131,12 @@ select_name = "plasma burst" fire_sound = 'sound/weapons/plasma_cutter.ogg' delay = 15 - e_cost = 250 + e_cost = 25 /obj/item/ammo_casing/energy/plasma/adv projectile_type = /obj/item/projectile/plasma/adv delay = 10 - e_cost = 100 + e_cost = 10 /obj/item/ammo_casing/energy/wormhole projectile_type = /obj/item/projectile/beam/wormhole @@ -153,7 +155,7 @@ /obj/item/ammo_casing/energy/bolt projectile_type = /obj/item/projectile/energy/bolt select_name = "bolt" - e_cost = 5000 + e_cost = 500 fire_sound = 'sound/weapons/Genhit.ogg' /obj/item/ammo_casing/energy/bolt/large @@ -163,7 +165,7 @@ /obj/item/ammo_casing/energy/dart projectile_type = /obj/item/projectile/energy/dart fire_sound = 'sound/weapons/Genhit.ogg' - e_cost = 5000 + e_cost = 500 select_name = "toxic dart" /obj/item/ammo_casing/energy/instakill @@ -187,7 +189,7 @@ /obj/item/ammo_casing/energy/shock_revolver fire_sound = 'sound/magic/lightningbolt.ogg' - e_cost = 2000 + e_cost = 200 select_name = "lightning beam" projectile_type = /obj/item/projectile/energy/shock_revolver @@ -210,7 +212,7 @@ /obj/item/ammo_casing/energy/teleport projectile_type = /obj/item/projectile/energy/teleport fire_sound = 'sound/weapons/wave.ogg' - e_cost = 1250 + e_cost = 250 select_name = "teleport beam" var/teleport_target diff --git a/code/modules/projectiles/ammunition/special.dm b/code/modules/projectiles/ammunition/special.dm index d5c7df48200..1af728100f8 100644 --- a/code/modules/projectiles/ammunition/special.dm +++ b/code/modules/projectiles/ammunition/special.dm @@ -26,7 +26,7 @@ /obj/item/ammo_casing/magic/chaos projectile_type = /obj/item/projectile/magic - + /obj/item/ammo_casing/magic/spellblade projectile_type = /obj/item/projectile/magic/spellblade @@ -49,4 +49,4 @@ projectile_type = /obj/item/projectile/bullet/midbullet3 select_name = "spraydown" fire_sound = 'sound/weapons/gunshot_smg.ogg' - e_cost = 200 + e_cost = 20 diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 4e5bbce386c..7b848dca5c7 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -34,7 +34,7 @@ if(selfcharge) processing_objects.Add(src) update_icon() - + /obj/item/weapon/gun/energy/proc/update_ammo_types() var/obj/item/ammo_casing/energy/shot for(var/i = 1, i <= ammo_type.len, i++) @@ -61,9 +61,9 @@ var/obj/item/ammo_casing/energy/E = ammo_type[select] if(use_external_power) var/obj/item/weapon/stock_parts/cell/external = get_external_power_supply() - if(!external || !external.use((E.e_cost)/10)) //Take power from the borg... + if(!external || !external.use(E.e_cost)) //Take power from the borg... return //Note, uses /10 because of shitty mods to the cell system - power_supply.give(1000) //... to recharge the shot + power_supply.give(100) //... to recharge the shot update_icon() /obj/item/weapon/gun/energy/attack_self(mob/living/user as mob) @@ -176,7 +176,7 @@ var/mob/living/silicon/robot/R = loc if(R && R.cell) var/obj/item/ammo_casing/energy/shot = ammo_type[select] //Necessary to find cost of shot - if(R.cell.use(shot.e_cost/10)) //Take power from the borg... //Divided by 10 because cells and charge costs are fucked. + if(R.cell.use(shot.e_cost)) //Take power from the borg... power_supply.give(shot.e_cost) //... to recharge the shot /obj/item/weapon/gun/energy/proc/get_external_power_supply() diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index fb811c19d78..bdc4126a25c 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -94,7 +94,7 @@ empty() /obj/item/weapon/gun/energy/kinetic_accelerator/proc/empty() - power_supply.use(5000) + power_supply.use(500) update_icon() /obj/item/weapon/gun/energy/kinetic_accelerator/proc/attempt_reload() @@ -120,7 +120,7 @@ return /obj/item/weapon/gun/energy/kinetic_accelerator/proc/reload() - power_supply.give(5000) + power_supply.give(500) if(!suppressed) playsound(loc, 'sound/weapons/kenetic_reload.ogg', 60, 1) else if(isliving(loc)) @@ -144,7 +144,7 @@ /obj/item/ammo_casing/energy/kinetic projectile_type = /obj/item/projectile/kinetic select_name = "kinetic" - e_cost = 5000 + e_cost = 500 fire_sound = 'sound/weapons/Kenetic_accel.ogg' // fine spelling there chap /obj/item/ammo_casing/energy/kinetic/ready_proj(atom/target, mob/living/user, quiet, zone_override = "") @@ -181,7 +181,7 @@ /obj/item/projectile/kinetic/pod range = 4 - + /obj/item/projectile/kinetic/pod/regular damage = 50 pressure_decrease = 0.5 diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index ef184bd8d5b..727ebdd7082 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -39,8 +39,8 @@ /obj/item/weapon/gun/energy/gun/mini/New() gun_light = new /obj/item/device/flashlight/seclite(src) ..() - power_supply.maxcharge = 6000 - power_supply.charge = 6000 + power_supply.maxcharge = 600 + power_supply.charge = 600 /obj/item/weapon/gun/energy/gun/mini/update_icon() ..() diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 3131e49c4f2..3595b9c7ea8 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -157,11 +157,11 @@ if(istype(A, /obj/item/stack/sheet/mineral/plasma)) var/obj/item/stack/sheet/S = A S.use(1) - power_supply.give(10000) + power_supply.give(1000) to_chat(user, "You insert [A] in [src], recharging it.") else if(istype(A, /obj/item/weapon/ore/plasma)) qdel(A) - power_supply.give(5000) + power_supply.give(500) to_chat(user, "You insert [A] in [src], recharging it.") else ..() @@ -308,12 +308,10 @@ desc = "A gun that changes the body temperature of its targets." var/temperature = 300 var/target_temperature = 300 - var/e_cost = 1000 origin_tech = "combat=3;materials=4;powerstorage=3;magnets=2" ammo_type = list(/obj/item/ammo_casing/energy/temp) selfcharge = 1 - cell_type = /obj/item/weapon/stock_parts/cell var/powercost = "" var/powercostcolor = "" @@ -369,19 +367,19 @@ T.temp = temperature switch(temperature) if(0 to 100) - T.e_cost = 3000 + T.e_cost = 300 powercost = "High" if(100 to 250) - T.e_cost = 2000 + T.e_cost = 200 powercost = "Medium" if(251 to 300) - T.e_cost = 1000 + T.e_cost = 100 powercost = "Low" if(301 to 400) - T.e_cost = 2000 + T.e_cost = 200 powercost = "Medium" if(401 to 1000) - T.e_cost = 3000 + T.e_cost = 300 powercost = "High" switch(powercost) if("High") @@ -471,16 +469,16 @@ /obj/item/weapon/gun/energy/temperature/proc/update_charge() var/charge = power_supply.charge switch(charge) - if(9000 to INFINITY) overlays += "900" - if(8000 to 9000) overlays += "800" - if(7000 to 8000) overlays += "700" - if(6000 to 7000) overlays += "600" - if(5000 to 6000) overlays += "500" - if(4000 to 5000) overlays += "400" - if(3000 to 4000) overlays += "300" - if(2000 to 3000) overlays += "200" - if(1000 to 2002) overlays += "100" - if(-INFINITY to 1000) overlays += "0" + if(900 to INFINITY) overlays += "900" + if(800 to 900) overlays += "800" + if(700 to 800) overlays += "700" + if(600 to 700) overlays += "600" + if(500 to 600) overlays += "500" + if(400 to 500) overlays += "400" + if(300 to 400) overlays += "300" + if(200 to 300) overlays += "200" + if(100 to 202) overlays += "100" + if(-INFINITY to 100) overlays += "0" /obj/item/weapon/gun/energy/mimicgun name = "mimic gun" diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 9728a9442e1..ea92cb06449 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -5,23 +5,12 @@ item_state = null //so the human update icon uses the icon_state instead. ammo_type = list(/obj/item/ammo_casing/energy/electrode) ammo_x_offset = 3 - cell_type = /obj/item/weapon/stock_parts/cell/crap /obj/item/weapon/gun/energy/taser/mounted name = "mounted taser gun" selfcharge = 1 use_external_power = 1 -/obj/item/weapon/gun/energy/taser/cyborg - name = "taser gun" - desc = "A small, low capacity gun used for non-lethal takedowns." - icon_state = "taser" - cell_type = /obj/item/weapon/stock_parts/cell/secborg - -/obj/item/weapon/gun/energy/disabler/cyborg/newshot() - ..() - robocharge() - /obj/item/weapon/gun/energy/shock_revolver name = "tesla revolver" desc = "A high-tech revolver that fires internal, reusable shock cartridges in a revolving cylinder. The cartridges can be recharged using conventional rechargers." diff --git a/code/modules/projectiles/guns/energy/telegun.dm b/code/modules/projectiles/guns/energy/telegun.dm index 7b94698f0e9..2e66b00643f 100644 --- a/code/modules/projectiles/guns/energy/telegun.dm +++ b/code/modules/projectiles/guns/energy/telegun.dm @@ -6,7 +6,6 @@ icon_state = "telegun" item_state = "ionrifle" origin_tech = "combat=6;materials=7;powerstorage=5;bluespace=5;syndicate=4" - cell_type = /obj/item/weapon/stock_parts/cell/crap ammo_type = list(/obj/item/ammo_casing/energy/teleport) shaded_charge = 1 var/teleport_target = null diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic.dm index 9fc96c714a8..43e81db402f 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic.dm @@ -287,15 +287,6 @@ C.adjustPlasma(20) ..() -/datum/reagent/plasma_dust/reaction_obj(obj/O, volume) - if((!O) || (!volume)) - return 0 - O.atmos_spawn_air(SPAWN_TOXINS|SPAWN_20C, volume) - -/datum/reagent/plasma_dust/reaction_turf(turf/simulated/T, volume) - if(istype(T)) - T.atmos_spawn_air(SPAWN_TOXINS|SPAWN_20C, volume) - /datum/reagent/plasma_dust/reaction_mob(mob/living/M, method=TOUCH, volume)//Splashing people with plasma dust is stronger than fuel! if(method == TOUCH) M.adjust_fire_stacks(volume / 5) diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm index 8c0d4fb32e3..8fabc46db00 100644 --- a/code/modules/reagents/chemistry/reagents/toxins.dm +++ b/code/modules/reagents/chemistry/reagents/toxins.dm @@ -73,7 +73,7 @@ if(human.species.name != "Shadow") to_chat(M, "Your flesh rapidly mutates!") to_chat(M, "You are now a Shadow Person, a mutant race of darkness-dwelling humanoids.") - to_chat(M, "Your body reacts violently to light. \green However, it naturally heals in darkness.") + to_chat(M, "Your body reacts violently to light. However, it naturally heals in darkness.") to_chat(M, "Aside from your new traits, you are mentally unchanged and retain your prior obligations.") human.set_species("Shadow") ..() diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 6bd1ee79cbf..0f2b766bb3c 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -68,22 +68,22 @@ return if(mode == SYRINGE_BROKEN) - to_chat(user, "\red This syringe is broken!") + to_chat(user, "This syringe is broken!") return switch(mode) if(SYRINGE_DRAW) if(reagents.total_volume >= reagents.maximum_volume) - to_chat(user, "\red The syringe is full.") + to_chat(user, "The syringe is full.") return if(ismob(target))//Blood! if(istype(target, /mob/living/carbon/slime)) - to_chat(user, "\red You are unable to locate any blood.") + to_chat(user, "You are unable to locate any blood.") return if(reagents.has_reagent("blood")) - to_chat(user, "\red There is already a blood sample in this syringe") + to_chat(user, "There is already a blood sample in this syringe") return if(istype(target, /mob/living/carbon))//maybe just add a blood reagent to all mobs. Then you can suck them dry...With hundreds of syringes. Jolly good idea. var/mob/living/carbon/T = target @@ -91,7 +91,7 @@ to_chat(usr, "You are unable to locate any blood. (To be specific, your target seems to be missing their DNA datum)") return if(NOCLONE in T.mutations) //target done been et, no more blood in him - to_chat(user, "\red You are unable to locate any blood.") + to_chat(user, "You are unable to locate any blood.") return @@ -130,45 +130,45 @@ on_reagent_change() reagents.handle_reactions() - to_chat(user, "\blue You take a blood sample from [target]") + to_chat(user, "You take a blood sample from [target]") for(var/mob/O in viewers(4, user)) - O.show_message("\red [user] takes a blood sample from [target].", 1) + O.show_message("[user] takes a blood sample from [target].", 1) else user.visible_message("[user] takes a sample from [target].", "You take a sample from [target].") else //if not mob if(!target.reagents.total_volume) - to_chat(user, "\red [target] is empty.") + to_chat(user, "[target] is empty.") return if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers) && !istype(target,/obj/item/slime_extract)) - to_chat(user, "\red You cannot directly remove reagents from this object.") + to_chat(user, "You cannot directly remove reagents from this object.") return var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) // transfer from, transfer to - who cares? - to_chat(user, "\blue You fill the syringe with [trans] units of the solution.") + to_chat(user, "You fill the syringe with [trans] units of the solution.") if(reagents.total_volume >= reagents.maximum_volume) mode=!mode update_icon() if(SYRINGE_INJECT) if(!reagents.total_volume) - to_chat(user, "\red The Syringe is empty.") + to_chat(user, "The Syringe is empty.") return if(istype(target, /obj/item/weapon/implantcase/chem)) return if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/slime_extract) && !istype(target, /obj/item/clothing/mask/cigarette) && !istype(target, /obj/item/weapon/storage/fancy/cigarettes)) - to_chat(user, "\red You cannot directly fill this object.") + to_chat(user, "You cannot directly fill this object.") return if(istype(target, /obj/item/clothing/mask/cigarette)) var/obj/item/clothing/mask/cigarette/C = target if(istype(C.loc, /obj/item/weapon/storage/fancy/cigarettes)) - to_chat(user, "\red You cannot inject a cigarette while it's still in the pack.") + to_chat(user, "You cannot inject a cigarette while it's still in the pack.") return if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, "\red [target] is full.") + to_chat(user, "[target] is full.") return var/mob/living/carbon/human/H = target @@ -188,7 +188,7 @@ if(!do_mob(user, target, 30)) return for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] injects [] with the syringe!", user, target), 1) + O.show_message(text("[] injects [] with the syringe!", user, target), 1) if(istype(target,/mob/living)) var/mob/living/M = target @@ -220,7 +220,7 @@ C.inject_blood(src, 5) else trans = reagents.trans_to(target, amount_per_transfer_from_this) - to_chat(user, "\blue You inject [trans] units of the solution. The syringe now contains [reagents.total_volume] units.") + to_chat(user, "You inject [trans] units of the solution. The syringe now contains [reagents.total_volume] units.") if(istype(target, /obj/item/weapon/reagent_containers/food/pill/patch)) var/obj/item/weapon/reagent_containers/food/pill/patch/P = target if(P.instant_application) @@ -300,7 +300,7 @@ if(SYRINGE_DRAW) if(reagents.total_volume >= reagents.maximum_volume) - to_chat(user, "\red The syringe is full.") + to_chat(user, "The syringe is full.") return if(ismob(target)) @@ -309,31 +309,31 @@ return else //if not mob if(!target.reagents.total_volume) - to_chat(user, "\red [target] is empty.") + to_chat(user, "[target] is empty.") return if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers)) - to_chat(user, "\red You cannot directly remove reagents from this object.") + to_chat(user, "You cannot directly remove reagents from this object.") return var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) // transfer from, transfer to - who cares? - to_chat(user, "\blue You fill the syringe with [trans] units of the solution.") + to_chat(user, "You fill the syringe with [trans] units of the solution.") if(reagents.total_volume >= reagents.maximum_volume) mode=!mode update_icon() if(SYRINGE_INJECT) if(!reagents.total_volume) - to_chat(user, "\red The Syringe is empty.") + to_chat(user, "The Syringe is empty.") return if(istype(target, /obj/item/weapon/implantcase/chem)) return if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food)) - to_chat(user, "\red You cannot directly fill this object.") + to_chat(user, "You cannot directly fill this object.") return if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, "\red [target] is full.") + to_chat(user, "[target] is full.") return if(ismob(target) && target != user) @@ -341,13 +341,13 @@ O.show_message(text("[] is trying to inject [] with a giant syringe!", user, target), 1) if(!do_mob(user, target, 300)) return for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] injects [] with a giant syringe!", user, target), 1) + O.show_message(text("[] injects [] with a giant syringe!", user, target), 1) reagents.reaction(target, INGEST) if(ismob(target) && target == user) reagents.reaction(target, INGEST) spawn(5) var/trans = reagents.trans_to(target, amount_per_transfer_from_this) - to_chat(user, "\blue You inject [trans] units of the solution. The syringe now contains [reagents.total_volume] units.") + to_chat(user, "You inject [trans] units of the solution. The syringe now contains [reagents.total_volume] units.") if(reagents.total_volume >= reagents.maximum_volume && mode==SYRINGE_INJECT) mode = SYRINGE_DRAW update_icon() diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 5d02d8a93f1..961edb70450 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -130,7 +130,7 @@ if(do_after(usr, 20, target = GM)) GM.forceMove(src) for(var/mob/C in viewers(src)) - C.show_message("\red [GM.name] has been placed in the [src] by [user].", 3) + C.show_message("[GM.name] has been placed in the [src] by [user].", 3) qdel(G) usr.create_attack_log("Has placed [key_name(GM)] in disposals.") GM.create_attack_log("Has been placed in disposals by [key_name(user)]") @@ -231,7 +231,7 @@ return if(user && user.loc == src) - to_chat(usr, "\red You cannot reach the controls from inside.") + to_chat(usr, "You cannot reach the controls from inside.") return // Clumsy folks can only flush it. @@ -272,11 +272,11 @@ /obj/machinery/disposal/Topic(href, href_list) if(usr.loc == src) - to_chat(usr, "\red You cannot reach the controls from inside.") + to_chat(usr, "You cannot reach the controls from inside.") return if(mode==-1 && !href_list["eject"]) // only allow ejecting if mode is -1 - to_chat(usr, "\red The disposal units power is disabled.") + to_chat(usr, "The disposal units power is disabled.") return if(..()) @@ -1027,7 +1027,7 @@ sortType = O.currTag playsound(src.loc, 'sound/machines/twobeep.ogg', 100, 1) var/tag = uppertext(TAGGERLOCATIONS[O.currTag]) - to_chat(user, "\blue Changed filter to [tag]") + to_chat(user, "Changed filter to [tag]") updatedesc() diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm index 23dc9d8ea36..52fa9596d92 100644 --- a/code/modules/research/message_server.dm +++ b/code/modules/research/message_server.dm @@ -113,7 +113,7 @@ var/global/list/obj/machinery/message_server/message_servers = list() Console.set_light(2) /obj/machinery/message_server/attack_hand(user as mob) -// to_chat(user, "\blue There seem to be some parts missing from this server. They should arrive on the station in a few days, give or take a few CentComm delays.") +// to_chat(user, "There seem to be some parts missing from this server. They should arrive on the station in a few days, give or take a few CentComm delays.") to_chat(user, "You toggle PDA message passing from [active ? "On" : "Off"] to [active ? "Off" : "On"]") active = !active update_icon() diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index 5b842c90e08..0fa680faf6a 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -208,7 +208,7 @@ add_fingerprint(usr) usr.set_machine(src) if(!src.allowed(usr) && !emagged) - to_chat(usr, "\red You do not have the required access level") + to_chat(usr, "You do not have the required access level") return if(href_list["main"]) @@ -338,7 +338,7 @@ if(!emagged) playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1) emagged = 1 - to_chat(user, "\blue You you disable the security protocols") + to_chat(user, "You you disable the security protocols") src.updateUsrDialog() /obj/machinery/r_n_d/server/core diff --git a/code/modules/research/xenoarchaeology/artifact/artifact.dm b/code/modules/research/xenoarchaeology/artifact/artifact.dm index fc4cda15541..366ce13107b 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact.dm @@ -79,26 +79,26 @@ if(istype(W, /obj/item/device/measuring_tape)) var/obj/item/device/measuring_tape/P = W - user.visible_message("\blue[user] extends [P] towards [src].","\blue You extend [P] towards [src].") + user.visible_message("[user] extends [P] towards [src].","You extend [P] towards [src].") if(do_after(user, 40, target = src)) - to_chat(user, "\blue [bicon(P)] [src] has been excavated to a depth of [2*src.excavation_level]cm.") + to_chat(user, "[bicon(P)] [src] has been excavated to a depth of [2*src.excavation_level]cm.") return if(istype(W, /obj/item/weapon/pickaxe)) var/obj/item/weapon/pickaxe/P = W - to_chat(user, "\red You start [P.drill_verb] [src].") + to_chat(user, "You start [P.drill_verb] [src].") if(!do_after(user, P.digspeed, target = src)) return - to_chat(user, "\blue You finish [P.drill_verb] [src].") + to_chat(user, "You finish [P.drill_verb] [src].") excavation_level += P.excavation_amount if(excavation_level > 100) //failure user.visible_message("[src] suddenly crumbles away.",\ - "\red [src] has disintegrated under your onslaught, any secrets it was holding are long gone.") + "[src] has disintegrated under your onslaught, any secrets it was holding are long gone.") qdel(src) return @@ -114,5 +114,5 @@ src.visible_message("[src] suddenly crumbles away.") else user.visible_message("[src] suddenly crumbles away.",\ - "\blue [src] has been whittled away under your careful excavation, but there was nothing of interest inside.") + "[src] has been whittled away under your careful excavation, but there was nothing of interest inside.") qdel(src) diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_autocloner.dm b/code/modules/research/xenoarchaeology/artifact/artifact_autocloner.dm index 95489be4775..410f05a925c 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact_autocloner.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact_autocloner.dm @@ -50,17 +50,17 @@ if(!previous_power_state) previous_power_state = 1 icon_state = "cellold1" - src.visible_message("\blue [bicon(src)] [src] suddenly comes to life!") + src.visible_message("[bicon(src)] [src] suddenly comes to life!") //slowly grow a mob if(prob(5)) - src.visible_message("\blue [bicon(src)] [src] [pick("gloops","glugs","whirrs","whooshes","hisses","purrs","hums","gushes")].") + src.visible_message("[bicon(src)] [src] [pick("gloops","glugs","whirrs","whooshes","hisses","purrs","hums","gushes")].") //if we've finished growing... if(time_spent_spawning >= time_per_spawn) time_spent_spawning = 0 use_power = 1 - src.visible_message("\blue [bicon(src)] [src] pings!") + src.visible_message("[bicon(src)] [src] pings!") icon_state = "cellold1" desc = "It's full of a bubbling viscous liquid, and is lit by a mysterious glow." if(spawn_type) @@ -81,7 +81,7 @@ if(previous_power_state) previous_power_state = 0 icon_state = "cellold0" - src.visible_message("\blue [bicon(src)] [src] suddenly shuts down.") + src.visible_message("[bicon(src)] [src] suddenly shuts down.") //cloned mob slowly breaks down time_spent_spawning = max(time_spent_spawning + last_process - world.time, 0) diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_gigadrill.dm b/code/modules/research/xenoarchaeology/artifact/artifact_gigadrill.dm index 4073b0bd74c..96b9f2e2fb4 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact_gigadrill.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact_gigadrill.dm @@ -14,11 +14,11 @@ if(active) active = 0 icon_state = "gigadrill" - to_chat(user, "\blue You press a button and [src] slowly spins down.") + to_chat(user, "You press a button and [src] slowly spins down.") else active = 1 icon_state = "gigadrill_mov" - to_chat(user, "\blue You press a button and [src] shudders to life.") + to_chat(user, "You press a button and [src] shudders to life.") /obj/machinery/giga_drill/Bump(atom/A) if(active && !drilling_turf) diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm index 5ca29dc6d43..d87c71dbc72 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm @@ -78,19 +78,19 @@ viables.Remove(type) construction[button_desc] = type - fail_message = "\blue [bicon(src)] a [pick("loud","soft","sinister","eery","triumphant","depressing","cheerful","angry")] \ + fail_message = "[bicon(src)] a [pick("loud","soft","sinister","eery","triumphant","depressing","cheerful","angry")] \ [pick("horn","beep","bing","bleep","blat","honk","hrumph","ding")] sounds and a \ [pick("yellow","purple","green","blue","red","orange","white")] \ [pick("light","dial","meter","window","protrusion","knob","antenna","swirly thing")] \ [pick("swirls","flashes","whirrs","goes schwing","blinks","flickers","strobes","lights up")] on the \ [pick("front","side","top","bottom","rear","inside")] of [src]. A [pick("slot","funnel","chute","tube")] opens up in the \ - [pick("front","side","top","bottom","rear","inside")]." + [pick("front","side","top","bottom","rear","inside")]." /obj/machinery/replicator/process() if(spawning_types.len && powered()) spawn_progress_time += world.time - last_process_time if(spawn_progress_time > max_spawn_time) - src.visible_message("\blue [bicon(src)] [src] pings!") + src.visible_message("[bicon(src)] [src] pings!") var/obj/source_material = pop(stored_materials) var/spawn_type = pop(spawning_types) @@ -113,7 +113,7 @@ icon_state = "borgcharger0(old)" else if(prob(5)) - src.visible_message("\blue [bicon(src)] [src] [pick("clicks","whizzes","whirrs","whooshes","clanks","clongs","clonks","bangs")].") + src.visible_message("[bicon(src)] [src] [pick("clicks","whizzes","whirrs","whooshes","clanks","clongs","clonks","bangs")].") last_process_time = world.time @@ -132,7 +132,7 @@ user.drop_item() W.loc = src stored_materials.Add(W) - src.visible_message("\blue [user] inserts [W] into [src].") + src.visible_message("[user] inserts [W] into [src].") /obj/machinery/replicator/Topic(href, href_list) @@ -141,9 +141,9 @@ if(index > 0 && index <= construction.len) if(stored_materials.len > spawning_types.len) if(spawning_types.len) - src.visible_message("\blue [bicon(src)] a [pick("light","dial","display","meter","pad")] on [src]'s front [pick("blinks","flashes")] [pick("red","yellow","blue","orange","purple","green","white")].") + src.visible_message("[bicon(src)] a [pick("light","dial","display","meter","pad")] on [src]'s front [pick("blinks","flashes")] [pick("red","yellow","blue","orange","purple","green","white")].") else - src.visible_message("\blue [bicon(src)] [src]'s front compartment slides shut.") + src.visible_message("[bicon(src)] [src]'s front compartment slides shut.") spawning_types.Add(construction[construction[index]]) spawn_progress_time = 0 diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_unknown.dm b/code/modules/research/xenoarchaeology/artifact/artifact_unknown.dm index 7a4b36707f9..894f54dc3bc 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact_unknown.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact_unknown.dm @@ -221,7 +221,7 @@ var/list/valid_secondary_effect_types = list(\ /obj/machinery/artifact/attack_hand(var/mob/user as mob) if(get_dist(user, src) > 1) - to_chat(user, "\red You can't reach [src] from here.") + to_chat(user, "You can't reach [src] from here.") return if(ishuman(user) && user:gloves) to_chat(user, "You touch [src] with your gloved hands, [pick("but nothing of note happens","but nothing happens","but nothing interesting happens","but you notice nothing different","but nothing seems to have happened")].") diff --git a/code/modules/research/xenoarchaeology/artifact/effect.dm b/code/modules/research/xenoarchaeology/artifact/effect.dm index 727c016849b..981cea4156d 100644 --- a/code/modules/research/xenoarchaeology/artifact/effect.dm +++ b/code/modules/research/xenoarchaeology/artifact/effect.dm @@ -64,7 +64,7 @@ var/atom/toplevelholder = holder while(!istype(toplevelholder.loc, /turf)) toplevelholder = toplevelholder.loc - toplevelholder.visible_message("\red [bicon(toplevelholder)] [toplevelholder] [display_msg]") + toplevelholder.visible_message("[bicon(toplevelholder)] [toplevelholder] [display_msg]") /datum/artifact_effect/proc/DoEffectTouch(var/mob/user) /datum/artifact_effect/proc/DoEffectAura(var/atom/holder) diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_affect_cold.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_affect_cold.dm index 89c74776f55..16862948644 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_affect_cold.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_affect_cold.dm @@ -12,7 +12,7 @@ /datum/artifact_effect/cold/DoEffectTouch(var/mob/user) if(holder) - to_chat(user, "\blue A chill passes up your spine!") + to_chat(user, "A chill passes up your spine!") var/datum/gas_mixture/env = holder.loc.return_air() if(env) env.temperature = max(env.temperature - rand(5,50), 0) diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_cellcharge.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_cellcharge.dm index d67c33d1e4e..8d6735e3a31 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_cellcharge.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_cellcharge.dm @@ -10,7 +10,7 @@ var/mob/living/silicon/robot/R = user for(var/obj/item/weapon/stock_parts/cell/D in R.contents) D.charge += rand() * 100 + 50 - to_chat(R, "\blue SYSTEM ALERT: Large energy boost detected!") + to_chat(R, "SYSTEM ALERT: Large energy boost detected!") return 1 /datum/artifact_effect/cellcharge/DoEffectAura() @@ -24,7 +24,7 @@ for(var/mob/living/silicon/robot/M in mob_list) for(var/obj/item/weapon/stock_parts/cell/D in M.contents) D.charge += 25 - to_chat(M, "\blue SYSTEM ALERT: Energy boost detected!") + to_chat(M, "SYSTEM ALERT: Energy boost detected!") return 1 /datum/artifact_effect/cellcharge/DoEffectPulse() @@ -38,5 +38,5 @@ for(var/mob/living/silicon/robot/M in mob_list) for(var/obj/item/weapon/stock_parts/cell/D in M.contents) D.charge += rand() * 100 - to_chat(M, "\blue SYSTEM ALERT: Energy boost detected!") + to_chat(M, "SYSTEM ALERT: Energy boost detected!") return 1 diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_celldrain.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_celldrain.dm index fcba3be4dec..44be592e7fa 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_celldrain.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_celldrain.dm @@ -10,7 +10,7 @@ var/mob/living/silicon/robot/R = user for(var/obj/item/weapon/stock_parts/cell/D in R.contents) D.charge = max(D.charge - rand() * 100, 0) - to_chat(R, "\blue SYSTEM ALERT: Energy drain detected!") + to_chat(R, "SYSTEM ALERT: Energy drain detected!") return 1 return 1 @@ -26,7 +26,7 @@ for(var/mob/living/silicon/robot/M in mob_list) for(var/obj/item/weapon/stock_parts/cell/D in M.contents) D.charge = max(D.charge - 50,0) - to_chat(M, "\red SYSTEM ALERT: Energy drain detected!") + to_chat(M, "SYSTEM ALERT: Energy drain detected!") return 1 /datum/artifact_effect/celldrain/DoEffectPulse() @@ -40,5 +40,5 @@ for(var/mob/living/silicon/robot/M in mob_list) for(var/obj/item/weapon/stock_parts/cell/D in M.contents) D.charge = max(D.charge - rand() * 150,0) - to_chat(M, "\red SYSTEM ALERT: Energy drain detected!") + to_chat(M, "SYSTEM ALERT: Energy drain detected!") return 1 diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_dnaswitch.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_dnaswitch.dm index d005fb9e64c..f31788602ad 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_dnaswitch.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_dnaswitch.dm @@ -15,13 +15,13 @@ /datum/artifact_effect/dnaswitch/DoEffectTouch(var/mob/toucher) var/weakness = GetAnomalySusceptibility(toucher) if(ishuman(toucher) && prob(weakness * 100)) - to_chat(toucher, pick("\green You feel a little different.", - "\green You feel very strange.", - "\green Your stomach churns.", - "\green Your skin feels loose.", - "\green You feel a stabbing pain in your head.", - "\green You feel a tingling sensation in your chest.", - "\green Your entire body vibrates.")) + to_chat(toucher, pick("You feel a little different.", + "You feel very strange.", + "Your stomach churns.", + "Your skin feels loose.", + "You feel a stabbing pain in your head.", + "You feel a tingling sensation in your chest.", + "Your entire body vibrates.")) if(prob(75)) scramble(1, toucher, weakness * severity) else @@ -35,13 +35,13 @@ var/weakness = GetAnomalySusceptibility(H) if(prob(weakness * 100)) if(prob(30)) - to_chat(H, pick("\green You feel a little different.", - "\green You feel very strange.", - "\green Your stomach churns.", - "\green Your skin feels loose.", - "\green You feel a stabbing pain in your head.", - "\green You feel a tingling sensation in your chest.", - "\green Your entire body vibrates.")) + to_chat(H, pick("You feel a little different.", + "You feel very strange.", + "Your stomach churns.", + "Your skin feels loose.", + "You feel a stabbing pain in your head.", + "You feel a tingling sensation in your chest.", + "Your entire body vibrates.")) if(prob(50)) scramble(1, H, weakness * severity) else @@ -54,13 +54,13 @@ var/weakness = GetAnomalySusceptibility(H) if(prob(weakness * 100)) if(prob(75)) - to_chat(H, pick("\green You feel a little different.", - "\green You feel very strange.", - "\green Your stomach churns.", - "\green Your skin feels loose.", - "\green You feel a stabbing pain in your head.", - "\green You feel a tingling sensation in your chest.", - "\green Your entire body vibrates.")) + to_chat(H, pick("You feel a little different.", + "You feel very strange.", + "Your stomach churns.", + "Your skin feels loose.", + "You feel a stabbing pain in your head.", + "You feel a tingling sensation in your chest.", + "Your entire body vibrates.")) if(prob(25)) if(prob(75)) scramble(1, H, weakness * severity) diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_heal.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_heal.dm index cde5632eaa5..3f823315078 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_heal.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_heal.dm @@ -9,7 +9,7 @@ var/weakness = GetAnomalySusceptibility(toucher) if(prob(weakness * 100)) var/mob/living/carbon/C = toucher - to_chat(C, "\blue You feel a soothing energy invigorate you.") + to_chat(C, "You feel a soothing energy invigorate you.") if(ishuman(toucher)) var/mob/living/carbon/human/H = toucher @@ -42,7 +42,7 @@ var/weakness = GetAnomalySusceptibility(C) if(prob(weakness * 100)) if(prob(10)) - to_chat(C, "\blue You feel a soothing energy radiating from something nearby.") + to_chat(C, "You feel a soothing energy radiating from something nearby.") C.adjustBruteLoss(-1 * weakness) C.adjustFireLoss(-1 * weakness) C.adjustToxLoss(-1 * weakness) @@ -57,7 +57,7 @@ for(var/mob/living/carbon/C in range(src.effectrange,T)) var/weakness = GetAnomalySusceptibility(C) if(prob(weakness * 100)) - to_chat(C, "\blue A wave of energy invigorates you.") + to_chat(C, "A wave of energy invigorates you.") C.adjustBruteLoss(-5 * weakness) C.adjustFireLoss(-5 * weakness) C.adjustToxLoss(-5 * weakness) diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_heat.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_heat.dm index 86828f7ef39..fb1f9645735 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_heat.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_heat.dm @@ -15,7 +15,7 @@ /datum/artifact_effect/heat/DoEffectTouch(var/mob/user) if(holder) - to_chat(user, "\red You feel a wave of heat travel up your spine!") + to_chat(user, "You feel a wave of heat travel up your spine!") var/datum/gas_mixture/env = holder.loc.return_air() if(env) env.temperature += rand(5,50) diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_hurt.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_hurt.dm index 399b7252d20..f9e3803ff9f 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_hurt.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_hurt.dm @@ -8,7 +8,7 @@ var/weakness = GetAnomalySusceptibility(toucher) if(iscarbon(toucher) && prob(weakness * 100)) var/mob/living/carbon/C = toucher - to_chat(C, "\red A painful discharge of energy strikes you!") + to_chat(C, "A painful discharge of energy strikes you!") C.adjustOxyLoss(rand(5,25) * weakness) C.adjustToxLoss(rand(5,25) * weakness) C.adjustBruteLoss(rand(5,25) * weakness) @@ -26,7 +26,7 @@ var/weakness = GetAnomalySusceptibility(C) if(prob(weakness * 100)) if(prob(10)) - to_chat(C, "\red You feel a painful force radiating from something nearby.") + to_chat(C, "You feel a painful force radiating from something nearby.") C.adjustBruteLoss(1 * weakness) C.adjustFireLoss(1 * weakness) C.adjustToxLoss(1 * weakness) @@ -40,7 +40,7 @@ for(var/mob/living/carbon/C in range(effectrange, T)) var/weakness = GetAnomalySusceptibility(C) if(prob(weakness * 100)) - to_chat(C, "\red A wave of painful energy strikes you!") + to_chat(C, "A wave of painful energy strikes you!") C.adjustBruteLoss(3 * weakness) C.adjustFireLoss(3 * weakness) C.adjustToxLoss(3 * weakness) diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_roboheal.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_roboheal.dm index 30316fc3342..191c0beb3fe 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_roboheal.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_roboheal.dm @@ -10,7 +10,7 @@ if(user) if(istype(user, /mob/living/silicon/robot)) var/mob/living/silicon/robot/R = user - to_chat(R, "\blue Your systems report damaged components mending by themselves!") + to_chat(R, "Your systems report damaged components mending by themselves!") R.adjustBruteLoss(rand(-10,-30)) R.adjustFireLoss(rand(-10,-30)) return 1 @@ -20,7 +20,7 @@ var/turf/T = get_turf(holder) for(var/mob/living/silicon/robot/M in range(src.effectrange,T)) if(prob(10)) - to_chat(M, "\blue SYSTEM ALERT: Beneficial energy field detected!") + to_chat(M, "SYSTEM ALERT: Beneficial energy field detected!") M.adjustBruteLoss(-1) M.adjustFireLoss(-1) M.updatehealth() @@ -30,7 +30,7 @@ if(holder) var/turf/T = get_turf(holder) for(var/mob/living/silicon/robot/M in range(src.effectrange,T)) - to_chat(M, "\blue SYSTEM ALERT: Structural damage has been repaired by energy pulse!") + to_chat(M, "SYSTEM ALERT: Structural damage has been repaired by energy pulse!") M.adjustBruteLoss(-10) M.adjustFireLoss(-10) M.updatehealth() diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_robohurt.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_robohurt.dm index da22a45b32b..43f49a6ee36 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_robohurt.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_robohurt.dm @@ -10,7 +10,7 @@ if(user) if(istype(user, /mob/living/silicon/robot)) var/mob/living/silicon/robot/R = user - to_chat(R, "\red Your systems report severe damage has been inflicted!") + to_chat(R, "Your systems report severe damage has been inflicted!") R.adjustBruteLoss(rand(10,50)) R.adjustFireLoss(rand(10,50)) return 1 @@ -20,7 +20,7 @@ var/turf/T = get_turf(holder) for(var/mob/living/silicon/robot/M in range(src.effectrange,T)) if(prob(10)) - to_chat(M, "\red SYSTEM ALERT: Harmful energy field detected!") + to_chat(M, "SYSTEM ALERT: Harmful energy field detected!") M.adjustBruteLoss(1) M.adjustFireLoss(1) M.updatehealth() @@ -30,7 +30,7 @@ if(holder) var/turf/T = get_turf(holder) for(var/mob/living/silicon/robot/M in range(src.effectrange,T)) - to_chat(M, "\red SYSTEM ALERT: Structural damage inflicted by energy pulse!") + to_chat(M, "SYSTEM ALERT: Structural damage inflicted by energy pulse!") M.adjustBruteLoss(10) M.adjustFireLoss(10) M.updatehealth() diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_sleepy.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_sleepy.dm index 1f098ddfa6b..ec3c5ced009 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_sleepy.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_sleepy.dm @@ -12,12 +12,12 @@ var/weakness = GetAnomalySusceptibility(toucher) if(ishuman(toucher) && prob(weakness * 100)) var/mob/living/carbon/human/H = toucher - to_chat(H, pick("\blue You feel like taking a nap.","\blue You feel a yawn coming on.","\blue You feel a little tired.")) + to_chat(H, pick("You feel like taking a nap.","You feel a yawn coming on.","You feel a little tired.")) H.AdjustDrowsy(rand(5,25) * weakness, bound_lower = 0, bound_upper = 50 * weakness) H.AdjustEyeBlurry(rand(1,3) * weakness, bound_lower = 0, bound_upper = 50 * weakness) return 1 else if(isrobot(toucher)) - to_chat(toucher, "\red SYSTEM ALERT: CPU cycles slowing down.") + to_chat(toucher, "SYSTEM ALERT: CPU cycles slowing down.") return 1 /datum/artifact_effect/sleepy/DoEffectAura() @@ -27,11 +27,11 @@ var/weakness = GetAnomalySusceptibility(H) if(prob(weakness * 100)) if(prob(10)) - to_chat(H, pick("\blue You feel like taking a nap.","\blue You feel a yawn coming on.","\blue You feel a little tired.")) + to_chat(H, pick("You feel like taking a nap.","You feel a yawn coming on.","You feel a little tired.")) H.AdjustDrowsy(1 * weakness, bound_lower = 0, bound_upper = 25 * weakness) H.AdjustEyeBlurry(1 * weakness, bound_lower = 0, bound_upper = 25 * weakness) for(var/mob/living/silicon/robot/R in range(src.effectrange,holder)) - to_chat(R, "\red SYSTEM ALERT: CPU cycles slowing down.") + to_chat(R, "SYSTEM ALERT: CPU cycles slowing down.") return 1 /datum/artifact_effect/sleepy/DoEffectPulse() @@ -40,9 +40,9 @@ for(var/mob/living/carbon/human/H in range(src.effectrange, T)) var/weakness = GetAnomalySusceptibility(H) if(prob(weakness * 100)) - to_chat(H, pick("\blue You feel like taking a nap.","\blue You feel a yawn coming on.","\blue You feel a little tired.")) + to_chat(H, pick("You feel like taking a nap.","You feel a yawn coming on.","You feel a little tired.")) H.AdjustDrowsy(rand(5,15) * weakness, bound_lower = 0, bound_upper = 50 * weakness) H.AdjustEyeBlurry(rand(5,15) * weakness, bound_lower = 0, bound_upper = 50 * weakness) for(var/mob/living/silicon/robot/R in range(src.effectrange,holder)) - to_chat(R, "\red SYSTEM ALERT: CPU cycles slowing down.") + to_chat(R, "SYSTEM ALERT: CPU cycles slowing down.") return 1 diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_stun.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_stun.dm index 327e732fa12..bc2aa655e34 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_stun.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_stun.dm @@ -11,7 +11,7 @@ var/mob/living/carbon/C = toucher var/susceptibility = GetAnomalySusceptibility(C) if(prob(susceptibility * 100)) - to_chat(C, "\red A powerful force overwhelms your consciousness.") + to_chat(C, "A powerful force overwhelms your consciousness.") C.Weaken(rand(1,10) * susceptibility) C.stuttering += 30 * susceptibility C.Stun(rand(1,10) * susceptibility) @@ -22,13 +22,13 @@ for(var/mob/living/carbon/C in range(src.effectrange,T)) var/susceptibility = GetAnomalySusceptibility(C) if(prob(10 * susceptibility)) - to_chat(C, "\red Your body goes numb for a moment.") + to_chat(C, "Your body goes numb for a moment.") C.Weaken(2) C.stuttering += 2 if(prob(10)) C.Stun(1) else if(prob(10)) - to_chat(C, "\red You feel numb.") + to_chat(C, "You feel numb.") /datum/artifact_effect/stun/DoEffectPulse() if(holder) @@ -36,7 +36,7 @@ for(var/mob/living/carbon/C in range(src.effectrange,T)) var/susceptibility = GetAnomalySusceptibility(C) if(prob(100 * susceptibility)) - to_chat(C, "\red A wave of energy overwhelms your senses!") + to_chat(C, "A wave of energy overwhelms your senses!") C.SetWeakened(4 * susceptibility) C.stuttering = 4 * susceptibility if(prob(10)) diff --git a/code/modules/research/xenoarchaeology/chemistry.dm b/code/modules/research/xenoarchaeology/chemistry.dm index ea91ef76b35..b198bd02459 100644 --- a/code/modules/research/xenoarchaeology/chemistry.dm +++ b/code/modules/research/xenoarchaeology/chemistry.dm @@ -15,7 +15,7 @@ obj/item/weapon/reagent_containers/glass/solution_tray/attackby(obj/item/weapon/ var/new_label = input("What should the new label be?","Label solution tray") if(new_label) name = "solution tray ([new_label])" - to_chat(user, "\blue You write on the label of the solution tray.") + to_chat(user, "You write on the label of the solution tray.") else ..(W, user) diff --git a/code/modules/research/xenoarchaeology/finds/finds_special.dm b/code/modules/research/xenoarchaeology/finds/finds_special.dm index f062724f20c..5fd432a7a6f 100644 --- a/code/modules/research/xenoarchaeology/finds/finds_special.dm +++ b/code/modules/research/xenoarchaeology/finds/finds_special.dm @@ -99,7 +99,7 @@ if(charges >= 0.1) if(prob(5)) - src.visible_message("\red [bicon(src)] [src]'s eyes glow ruby red for a moment!") + src.visible_message("[bicon(src)] [src]'s eyes glow ruby red for a moment!") charges -= 0.1 //check on our shadow wights @@ -129,7 +129,7 @@ var/target = pick("chest","groin","head","l_arm","r_arm","r_leg","l_leg","l_hand","r_hand","l_foot","r_foot") M.apply_damage(rand(5, 10), BRUTE, target) - to_chat(M, "\red The skin on your [parse_zone(target)] feels like it's ripping apart, and a stream of blood flies out.") + to_chat(M, "The skin on your [parse_zone(target)] feels like it's ripping apart, and a stream of blood flies out.") var/obj/effect/decal/cleanable/blood/splatter/animated/B = new(M.loc) B.target_turf = pick(range(1, src)) B.blood_DNA = list() @@ -200,4 +200,4 @@ processing_objects.Remove(src) /obj/effect/shadow_wight/Bump(var/atom/obstacle) - to_chat(obstacle, "\red You feel a chill run down your spine!") + to_chat(obstacle, "You feel a chill run down your spine!") diff --git a/code/modules/research/xenoarchaeology/finds/finds_talkingitem.dm b/code/modules/research/xenoarchaeology/finds/finds_talkingitem.dm index 031e23c260d..178e0600ff7 100644 --- a/code/modules/research/xenoarchaeology/finds/finds_talkingitem.dm +++ b/code/modules/research/xenoarchaeology/finds/finds_talkingitem.dm @@ -57,7 +57,7 @@ var/list/options = list("[holder_atom] seems to be listening intently to [source]...",\ "[holder_atom] seems to be focussing on [source]...",\ "[holder_atom] seems to turn it's attention to [source]...") - holder_atom.loc.visible_message("\blue [bicon(holder_atom)] [pick(options)]") + holder_atom.loc.visible_message("[bicon(holder_atom)] [pick(options)]") if(prob(20)) spawn(2) @@ -121,5 +121,5 @@ listening|=M for(var/mob/M in listening) - to_chat(M, "[bicon(holder_atom)] [holder_atom] reverberates, \blue\"[msg]\"") + to_chat(M, "[bicon(holder_atom)] [holder_atom] reverberates, \"[msg]\"") last_talk_time = world.time diff --git a/code/modules/research/xenoarchaeology/genetics/reconstitutor.dm b/code/modules/research/xenoarchaeology/genetics/reconstitutor.dm index 1da7e900767..2cacdc4801e 100644 --- a/code/modules/research/xenoarchaeology/genetics/reconstitutor.dm +++ b/code/modules/research/xenoarchaeology/genetics/reconstitutor.dm @@ -54,11 +54,11 @@ datum/genesequence W.loc = src.loc switch(scan_fossil(W)) if(1) - src.visible_message("\red [bicon(src)] [src] scans the fossil and rejects it.") + src.visible_message("[bicon(src)] [src] scans the fossil and rejects it.") if(2) - visible_message("\red [bicon(src)] [src] can not extract any more genetic data from new fossils.") + visible_message("[bicon(src)] [src] can not extract any more genetic data from new fossils.") if(4) - src.visible_message("\blue [bicon(src)] [user] inserts [W] into [src], the fossil is consumed as [src] extracts genetic data from it.") + src.visible_message("[bicon(src)] [user] inserts [W] into [src], the fossil is consumed as [src] extracts genetic data from it.") qdel(W) updateDialog() else if(istype(W, /obj/item/weapon/storage)) @@ -78,13 +78,13 @@ datum/genesequence S.remove_from_storage(F, src) //This will move the item to this item's contents qdel(F) updateDialog() - var/outmsg = "\blue You empty all the fossils from [S] into [src]." + var/outmsg = "You empty all the fossils from [S] into [src]." if(numaccepted) - outmsg += " \blue[numaccepted] fossils were accepted and consumed as [src] extracts genetic data from them." + outmsg += " [numaccepted] fossils were accepted and consumed as [src] extracts genetic data from them." if(numrejected) - outmsg += " \red[numrejected] fossils were rejected." + outmsg += " [numrejected] fossils were rejected." if(full) - outmsg += " \red[src] can not extract any more genetic data from new fossils." + outmsg += " [src] can not extract any more genetic data from new fossils." visible_message(outmsg) else @@ -182,13 +182,13 @@ datum/genesequence var/datum/genesequence/cloned_genesequence = completed_genesequences[sequence_num] if(pod1) if(pod1.occupant) - visible_message("\red [bicon(src)] The cloning pod is currently occupied.") + visible_message("[bicon(src)] The cloning pod is currently occupied.") else if(pod1.biomass < CLONE_BIOMASS) - visible_message("\red [bicon(src)] Not enough biomass in the cloning pod.") + visible_message("[bicon(src)] Not enough biomass in the cloning pod.") else if(pod1.mess) - visible_message("\red [bicon(src)] Error: clonepod malfunction.") + visible_message("[bicon(src)] Error: clonepod malfunction.") else - visible_message("\blue [bicon(src)] [src] clones something from a reconstituted gene sequence!") + visible_message("[bicon(src)] [src] clones something from a reconstituted gene sequence!") playsound(src.loc, 'sound/effects/screech.ogg', 50, 1, -3) pod1.occupant = new cloned_genesequence.spawned_type(pod1) pod1.locked = 1 @@ -196,7 +196,7 @@ datum/genesequence //pod1.occupant.name = "[pod1.occupant.name] ([rand(0,999)])" pod1.biomass -= CLONE_BIOMASS else - to_chat(usr, "\red [bicon(src)] Unable to locate cloning pod!") + to_chat(usr, "[bicon(src)] Unable to locate cloning pod!") else ..() @@ -240,7 +240,7 @@ datum/genesequence else if(href_list["clone"]) var/sequence_num = text2num(href_list["sequence_num"]) var/datum/genesequence/cloned_genesequence = completed_genesequences[sequence_num] - visible_message("\blue [bicon(src)] [src] clones a packet of seeds from a reconstituted gene sequence!") + visible_message("[bicon(src)] [src] clones a packet of seeds from a reconstituted gene sequence!") playsound(src.loc, 'sound/effects/screech.ogg', 50, 1, -3) new cloned_genesequence.spawned_type(src.loc) diff --git a/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm b/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm index 4bc8f88e618..38eaa00c6a2 100644 --- a/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm +++ b/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm @@ -24,13 +24,13 @@ /obj/machinery/artifact_harvester/attackby(var/obj/I as obj, var/mob/user as mob, params) if(istype(I,/obj/item/weapon/anobattery)) if(!inserted_battery) - to_chat(user, "\blue You insert [I] into [src].") + to_chat(user, "You insert [I] into [src].") user.drop_item() I.loc = src src.inserted_battery = I updateDialog() else - to_chat(user, "\red There is already a battery in [src].") + to_chat(user, "There is already a battery in [src].") else return..() diff --git a/code/modules/research/xenoarchaeology/machinery/geosample_scanner.dm b/code/modules/research/xenoarchaeology/machinery/geosample_scanner.dm index 4b0cb78116a..7bbd7408173 100644 --- a/code/modules/research/xenoarchaeology/machinery/geosample_scanner.dm +++ b/code/modules/research/xenoarchaeology/machinery/geosample_scanner.dm @@ -226,16 +226,16 @@ //emergency stop if seal integrity reaches 0 if(scanner_seal_integrity <= 0 || (scanner_temperature >= 1273 && !rad_shield)) stop_scanning() - src.visible_message("\blue [bicon(src)] buzzes unhappily. It has failed mid-scan!", 2) + src.visible_message("[bicon(src)] buzzes unhappily. It has failed mid-scan!", 2) if(prob(5)) - src.visible_message("\blue [bicon(src)] [pick("whirrs","chuffs","clicks")][pick(" excitedly"," energetically"," busily")].", 2) + src.visible_message("[bicon(src)] [pick("whirrs","chuffs","clicks")][pick(" excitedly"," energetically"," busily")].", 2) else //gradually cool down over time if(scanner_temperature > 0) scanner_temperature = max(scanner_temperature - 5 - 10 * rand(), 0) if(prob(0.75)) - src.visible_message("\blue [bicon(src)] [pick("plinks","hisses")][pick(" quietly"," softly"," sadly"," plaintively")].", 2) + src.visible_message("[bicon(src)] [pick("plinks","hisses")][pick(" quietly"," softly"," sadly"," plaintively")].", 2) last_process_worldtime = world.time /obj/machinery/radiocarbon_spectrometer/proc/stop_scanning() @@ -253,7 +253,7 @@ used_coolant = 0 /obj/machinery/radiocarbon_spectrometer/proc/complete_scan() - src.visible_message("\blue [bicon(src)] makes an insistent chime.", 2) + src.visible_message("[bicon(src)] makes an insistent chime.", 2) if(scanned_item) //create report diff --git a/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm b/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm index 1f530c832e7..23ba3eb39a8 100644 --- a/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm +++ b/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm @@ -40,7 +40,7 @@ /obj/item/weapon/anodevice/attackby(var/obj/I as obj, var/mob/user as mob, params) if(istype(I, /obj/item/weapon/anobattery)) if(!inserted_battery) - to_chat(user, "\blue You insert the battery.") + to_chat(user, "You insert the battery.") user.drop_item() I.loc = src inserted_battery = I @@ -131,13 +131,13 @@ //work out if we need to shutdown if(inserted_battery.stored_charge <= 0) - src.loc.visible_message("\blue [bicon(src)] [src] buzzes.", "\blue [bicon(src)] You hear something buzz.") + src.loc.visible_message("[bicon(src)] [src] buzzes.", "[bicon(src)] You hear something buzz.") shutdown_emission() else if(world.time > time_end) - src.loc.visible_message("\blue [bicon(src)] [src] chimes.", "\blue [bicon(src)] You hear something chime.") + src.loc.visible_message("[bicon(src)] [src] chimes.", "[bicon(src)] You hear something chime.") shutdown_emission() else - src.visible_message("\blue [bicon(src)] [src] buzzes.", "\blue [bicon(src)] You hear something buzz.") + src.visible_message("[bicon(src)] [src] buzzes.", "[bicon(src)] You hear something buzz.") shutdown_emission() last_process = world.time @@ -164,7 +164,7 @@ if(href_list["startup"]) if(inserted_battery && inserted_battery.battery_effect && (inserted_battery.stored_charge > 0) ) activated = 1 - src.visible_message("\blue [bicon(src)] [src] whirrs.", "[bicon(src)]\blue You hear something whirr.") + src.visible_message("[bicon(src)] [src] whirrs.", "[bicon(src)] You hear something whirr.") if(!inserted_battery.battery_effect.activated) inserted_battery.battery_effect.ToggleActivate(1) time_end = world.time + duration @@ -201,9 +201,9 @@ if(activated && inserted_battery.battery_effect.effect == EFFECT_TOUCH && !isnull(inserted_battery)) inserted_battery.battery_effect.DoEffectTouch(M) inserted_battery.use_power(energy_consumed_on_touch) - user.visible_message("\blue [user] taps [M] with [src], and it shudders on contact.") + user.visible_message("[user] taps [M] with [src], and it shudders on contact.") else - user.visible_message("\blue [user] taps [M] with [src], but nothing happens.") + user.visible_message("[user] taps [M] with [src], but nothing happens.") //admin logging user.lastattacked = M diff --git a/code/modules/research/xenoarchaeology/tools/bunsen_burner.dm b/code/modules/research/xenoarchaeology/tools/bunsen_burner.dm index 3e7b4a05c12..a75378b0a26 100644 --- a/code/modules/research/xenoarchaeology/tools/bunsen_burner.dm +++ b/code/modules/research/xenoarchaeology/tools/bunsen_burner.dm @@ -12,32 +12,32 @@ /obj/machinery/bunsen_burner/attackby(obj/item/weapon/W as obj, mob/user as mob, params) if(istype(W, /obj/item/weapon/reagent_containers)) if(held_container) - to_chat(user, "\red You must remove the [held_container] first.") + to_chat(user, "You must remove the [held_container] first.") else user.drop_item(src) held_container = W held_container.loc = src - to_chat(user, "\blue You put the [held_container] onto the [src].") + to_chat(user, "You put the [held_container] onto the [src].") var/image/I = image("icon"=W, "layer"=FLOAT_LAYER) underlays += I if(heating) spawn(heat_time) try_heating() else - to_chat(user, "\red You can't put the [W] onto the [src].") + to_chat(user, "You can't put the [W] onto the [src].") /obj/machinery/bunsen_burner/attack_hand(mob/user as mob) if(held_container) underlays = null - to_chat(user, "\blue You remove the [held_container] from the [src].") + to_chat(user, "You remove the [held_container] from the [src].") held_container.loc = src.loc held_container.attack_hand(user) held_container = null else - to_chat(user, "\red There is nothing on the [src].") + to_chat(user, "There is nothing on the [src].") /obj/machinery/bunsen_burner/proc/try_heating() - src.visible_message("\blue [bicon(src)] [src] hisses.") + src.visible_message("[bicon(src)] [src] hisses.") if(held_container && heating) heated = 1 held_container.reagents.handle_reactions() diff --git a/code/modules/research/xenoarchaeology/tools/suspension_generator.dm b/code/modules/research/xenoarchaeology/tools/suspension_generator.dm index 37ecc240cf2..775a4e25c98 100644 --- a/code/modules/research/xenoarchaeology/tools/suspension_generator.dm +++ b/code/modules/research/xenoarchaeology/tools/suspension_generator.dm @@ -31,14 +31,14 @@ M.Weaken(3) cell.charge -= power_use if(prob(5)) - to_chat(M, "\blue [pick("You feel tingly.","You feel like floating.","It is hard to speak.","You can barely move.")]") + to_chat(M, "[pick("You feel tingly.","You feel like floating.","It is hard to speak.","You can barely move.")]") if(field_type == "iron") for(var/mob/living/silicon/M in T) M.Weaken(3) cell.charge -= power_use if(prob(5)) - to_chat(M, "\blue [pick("You feel tingly.","You feel like floating.","It is hard to speak.","You can barely move.")]") + to_chat(M, "[pick("You feel tingly.","You feel like floating.","It is hard to speak.","You can barely move.")]") for(var/obj/item/I in T) if(!suspension_field.contents.len) @@ -50,7 +50,7 @@ M.Weaken(3) cell.charge -= power_use if(prob(5)) - to_chat(M, "\blue [pick("You feel tingly.","You feel like floating.","It is hard to speak.","You can barely move.")]") + to_chat(M, "[pick("You feel tingly.","You feel like floating.","It is hard to speak.","You can barely move.")]") if(cell.charge <= 0) deactivate() @@ -248,7 +248,7 @@ success = 1 for(var/mob/living/carbon/C in T) C.AdjustWeakened(5) - C.visible_message("\blue [bicon(C)] [C] begins to float in the air!","You feel tingly and light, but it is difficult to move.") + C.visible_message("[bicon(C)] [C] begins to float in the air!","You feel tingly and light, but it is difficult to move.") if("nitrogen") success = 1 // @@ -271,19 +271,19 @@ success = 1 for(var/mob/living/silicon/R in T) R.AdjustWeakened(5) - R.visible_message("\blue [bicon(R)] [R] begins to float in the air!","You feel tingly and light, but it is difficult to move.") + R.visible_message("[bicon(R)] [R] begins to float in the air!","You feel tingly and light, but it is difficult to move.") // //in case we have a bad field type if(!success) return for(var/mob/living/simple_animal/C in T) - C.visible_message("\blue [bicon(C)] [C] begins to float in the air!","You feel tingly and light, but it is difficult to move.") + C.visible_message("[bicon(C)] [C] begins to float in the air!","You feel tingly and light, but it is difficult to move.") C.AdjustWeakened(5) suspension_field = new(T) suspension_field.field_type = field_type - src.visible_message("\blue [bicon(src)] [src] activates with a low hum.") + src.visible_message("[bicon(src)] [src] activates with a low hum.") icon_state = "suspension3" for(var/obj/item/I in T) @@ -293,7 +293,7 @@ if(collected) suspension_field.icon_state = "energynet" suspension_field.overlays += "shield2" - src.visible_message("\blue [bicon(suspension_field)] [suspension_field] gently absconds [collected > 1 ? "something" : "several things"].") + src.visible_message("[bicon(suspension_field)] [suspension_field] gently absconds [collected > 1 ? "something" : "several things"].") else if(istype(T,/turf/simulated/mineral) || istype(T,/turf/simulated/wall)) suspension_field.icon_state = "shieldsparkles" @@ -308,7 +308,7 @@ to_chat(M, "You no longer feel like floating.") M.SetWeakened(min(M.weakened, 3)) - src.visible_message("\blue [bicon(src)] [src] deactivates with a gentle shudder.") + src.visible_message("[bicon(src)] [src] deactivates with a gentle shudder.") qdel(suspension_field) icon_state = "suspension2" @@ -323,7 +323,7 @@ set category = "Object" if(anchored) - to_chat(usr, "\red You cannot rotate [src], it has been firmly fixed to the floor.") + to_chat(usr, "You cannot rotate [src], it has been firmly fixed to the floor.") else dir = turn(dir, 90) @@ -333,7 +333,7 @@ set category = "Object" if(anchored) - to_chat(usr, "\red You cannot rotate [src], it has been firmly fixed to the floor.") + to_chat(usr, "You cannot rotate [src], it has been firmly fixed to the floor.") else dir = turn(dir, -90) diff --git a/code/modules/research/xenoarchaeology/tools/tools_coresampler.dm b/code/modules/research/xenoarchaeology/tools/tools_coresampler.dm index e8daea89b74..72f85146df1 100644 --- a/code/modules/research/xenoarchaeology/tools/tools_coresampler.dm +++ b/code/modules/research/xenoarchaeology/tools/tools_coresampler.dm @@ -27,16 +27,16 @@ /obj/item/device/core_sampler/examine(mob/user) if(..(user, 2)) - to_chat(user, "\blue Used to extract geological core samples - this one is [sampled_turf ? "full" : "empty"], and has [num_stored_bags] bag[num_stored_bags != 1 ? "s" : ""] remaining.") + to_chat(user, "Used to extract geological core samples - this one is [sampled_turf ? "full" : "empty"], and has [num_stored_bags] bag[num_stored_bags != 1 ? "s" : ""] remaining.") /obj/item/device/core_sampler/attackby(obj/item/weapon/W as obj, mob/user as mob, params) if(istype(W,/obj/item/weapon/evidencebag)) if(num_stored_bags < 10) qdel(W) num_stored_bags += 1 - to_chat(user, "\blue You insert the [W] into the core sampler.") + to_chat(user, "You insert the [W] into the core sampler.") else - to_chat(user, "\red The core sampler can not fit any more bags!") + to_chat(user, "The core sampler can not fit any more bags!") else return ..() @@ -52,9 +52,9 @@ if(geo_data) if(filled_bag) - to_chat(user, "\red The core sampler is full!") + to_chat(user, "The core sampler is full!") else if(num_stored_bags < 1) - to_chat(user, "\red The core sampler is out of sample bags!") + to_chat(user, "The core sampler is out of sample bags!") else //create a new sample bag which we'll fill with rock samples filled_bag = new /obj/item/weapon/evidencebag(src) @@ -75,13 +75,13 @@ filled_bag.underlays += I filled_bag.w_class = 1 - to_chat(user, "\blue You take a core sample of the [item_to_sample].") + to_chat(user, "You take a core sample of the [item_to_sample].") else - to_chat(user, "\red You are unable to take a sample of [item_to_sample].") + to_chat(user, "You are unable to take a sample of [item_to_sample].") /obj/item/device/core_sampler/attack_self() if(filled_bag) - to_chat(usr, "\blue You eject the full sample bag.") + to_chat(usr, "You eject the full sample bag.") var/success = 0 if(istype(src.loc, /mob)) var/mob/M = src.loc @@ -91,4 +91,4 @@ filled_bag = null icon_state = "sampler0" else - to_chat(usr, "\red The core sampler is empty.") + to_chat(usr, "The core sampler is empty.") diff --git a/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm b/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm index eca8c423273..83429d509bc 100644 --- a/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm +++ b/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm @@ -24,7 +24,7 @@ var/material = "unknown" /obj/item/device/depth_scanner/proc/scan_atom(var/mob/user, var/atom/A) - user.visible_message("\blue [user] scans [A], the air around them humming gently.") + user.visible_message("[user] scans [A], the air around them humming gently.") if(istype(A,/turf/simulated/mineral)) var/turf/simulated/mineral/M = A if((M.finds && M.finds.len) || M.artifact_find) @@ -46,7 +46,7 @@ positive_locations.Add(D) for(var/mob/L in range(src, 1)) - to_chat(L, "\blue [bicon(src)] [src] pings.") + to_chat(L, "[bicon(src)] [src] pings.") else if(istype(A,/obj/structure/boulder)) var/obj/structure/boulder/B = A @@ -65,7 +65,7 @@ positive_locations.Add(D) for(var/mob/L in range(src, 1)) - to_chat(L, "\blue [bicon(src)] [src] pings [pick("madly","wildly","excitedly","crazily")]!.") + to_chat(L, "[bicon(src)] [src] pings [pick("madly","wildly","excitedly","crazily")]!.") /obj/item/device/depth_scanner/attack_self(var/mob/user as mob) return src.interact(user) diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index c3072758331..c42b6e8286c 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -422,7 +422,7 @@ var/mob/dead/observer/ghost for(var/mob/dead/observer/O in loc) if(!check_observer(O)) - to_chat(O, "\red You are not eligible to become a golem.") + to_chat(O, "You are not eligible to become a golem.") continue ghost = O break @@ -463,13 +463,13 @@ /obj/effect/golemrune/proc/volunteer(var/mob/dead/observer/O) if(O in ghosts) ghosts.Remove(O) - to_chat(O, "\red You are no longer signed up to be a golem.") + to_chat(O, "You are no longer signed up to be a golem.") else if(!check_observer(O)) - to_chat(O, "\red You are not eligible to become a golem.") + to_chat(O, "You are not eligible to become a golem.") return ghosts.Add(O) - to_chat(O, "\blue You are signed up to be a golem.") + to_chat(O, "You are signed up to be a golem.") diff --git a/code/modules/security_levels/keycard authentication.dm b/code/modules/security_levels/keycard authentication.dm index 8435d8cf992..069440e0b62 100644 --- a/code/modules/security_levels/keycard authentication.dm +++ b/code/modules/security_levels/keycard authentication.dm @@ -156,7 +156,7 @@ feedback_inc("alert_keycard_auth_maintRevoke",1) if("Emergency Response Team") if(is_ert_blocked()) - to_chat(usr, "\red All Emergency Response Teams are dispatched and can not be called at this time.") + to_chat(usr, "All Emergency Response Teams are dispatched and can not be called at this time.") return to_chat(usr, "ERT request transmitted.") diff --git a/code/modules/space_management/space_chunk.dm b/code/modules/space_management/space_chunk.dm index 8b6e5b6974e..e139394e963 100644 --- a/code/modules/space_management/space_chunk.dm +++ b/code/modules/space_management/space_chunk.dm @@ -96,6 +96,13 @@ /datum/space_chunk/proc/return_turfs() return +/datum/space_chunk/proc/search_chunk(object_list) + var/list/located = list() + for(var/atom/object in object_list) + if(((object.x >= x) && (object.x <= (x + width))) && ((object.y >= y) && (object.y <= (y + height))) && (object.z == zpos)) + located.Add(object) + return located + #undef BOTTOM_LEFT_CHUNK #undef BOTTOM_RIGHT_CHUNK #undef TOP_LEFT_CHUNK diff --git a/code/modules/spacepods/spacepod.dm b/code/modules/spacepods/spacepod.dm index d69b915574b..0881c821431 100644 --- a/code/modules/spacepods/spacepod.dm +++ b/code/modules/spacepods/spacepod.dm @@ -212,8 +212,8 @@ user.changeNext_move(CLICK_CD_MELEE) deal_damage(15) playsound(src.loc, 'sound/weapons/slash.ogg', 50, 1, -1) - to_chat(user, "\red You slash at \the [src]!") - visible_message("\red The [user] slashes at [src.name]'s armor!") + to_chat(user, "You slash at \the [src]!") + visible_message("The [user] slashes at [src.name]'s armor!") return /obj/spacepod/proc/deal_damage(var/damage) @@ -267,7 +267,7 @@ cargo_hold.emp_act(severity) if(battery && battery.charge > 0) - battery.use((battery.charge / 2) / severity) + battery.use((battery.charge/3)/(severity*2)) deal_damage(80 / severity) if(empcounter < (40 / severity)) empcounter = 40 / severity @@ -310,7 +310,7 @@ return if(istype(W, /obj/item/weapon/stock_parts/cell)) if(!hatch_open) - to_chat(user, "\red The maintenance hatch is closed!") + to_chat(user, "The maintenance hatch is closed!") return if(battery) to_chat(user, "The pod already has a battery.") @@ -321,7 +321,7 @@ return if(istype(W, /obj/item/device/spacepod_equipment)) if(!hatch_open) - to_chat(user, "\red The maintenance hatch is closed!") + to_chat(user, "The maintenance hatch is closed!") return if(!equipment_system) to_chat(user, "The pod has no equipment datum, yell at the coders") @@ -353,19 +353,19 @@ if(istype(W, /obj/item/weapon/weldingtool)) if(!hatch_open) - to_chat(user, "\red You must open the maintenance hatch before attempting repairs.") + to_chat(user, "You must open the maintenance hatch before attempting repairs.") return var/obj/item/weapon/weldingtool/WT = W if(!WT.isOn()) - to_chat(user, "\red The welder must be on for this task.") + to_chat(user, "The welder must be on for this task.") return if(health < initial(health)) - to_chat(user, "\blue You start welding the spacepod...") + to_chat(user, "You start welding the spacepod...") playsound(loc, W.usesound, 50, 1) if(do_after(user, 20 * W.toolspeed, target = src)) if(!src || !WT.remove_fuel(3, user)) return repair_damage(10) - to_chat(user, "\blue You mend some [pick("dents","bumps","damage")] with \the [WT]") + to_chat(user, "You mend some [pick("dents","bumps","damage")] with \the [WT]") return to_chat(user, "\The [src] is fully repaired!") return diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index 242b6e48217..a077853a5fc 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -50,7 +50,7 @@ // Internal organs of this body part var/list/internal_organs = list() - var/damage_msg = "\red You feel an intense pain" + var/damage_msg = "You feel an intense pain" var/broken_description var/open = 0 @@ -818,7 +818,7 @@ Note that amputating the affected organ does in fact remove the infection from t return if(owner) owner.visible_message(\ - "\red You hear a loud cracking sound coming from \the [owner].",\ + "You hear a loud cracking sound coming from \the [owner].",\ "Something feels like it shattered in your [name]!",\ "You hear a sickening crack.") if(owner.species && !(owner.species.flags & NO_PAIN)) @@ -970,13 +970,13 @@ Note that amputating the affected organ does in fact remove the infection from t return if(owner) if(type == "brute") - owner.visible_message("\red You hear a sickening cracking sound coming from \the [owner]'s [name].", \ + owner.visible_message("You hear a sickening cracking sound coming from \the [owner]'s [name].", \ "Your [name] becomes a mangled mess!", \ - "\red You hear a sickening crack.") + "You hear a sickening crack.") else - owner.visible_message("\red \The [owner]'s [name] melts away, turning into mangled mess!", \ + owner.visible_message("\The [owner]'s [name] melts away, turning into mangled mess!", \ "Your [name] melts away!", \ - "\red You hear a sickening sizzle.") + "You hear a sickening sizzle.") disfigured = 1 /obj/item/organ/external/is_primary_organ(var/mob/living/carbon/human/O = null) diff --git a/code/modules/surgery/organs/pain.dm b/code/modules/surgery/organs/pain.dm index f0b4b912eaf..7852ac05a5b 100644 --- a/code/modules/surgery/organs/pain.dm +++ b/code/modules/surgery/organs/pain.dm @@ -55,7 +55,7 @@ mob/living/carbon/human/proc/custom_pain(var/message, var/flash_strength) return var/msg = "[message]" if(flash_strength >= 1) - msg = "\red [message]" + msg = "[message]" // Anti message spam checks if(msg && ((msg != last_pain_message) || (world.time >= next_pain_time))) diff --git a/code/modules/telesci/telepad.dm b/code/modules/telesci/telepad.dm index e8239af6570..f8a177e413d 100644 --- a/code/modules/telesci/telepad.dm +++ b/code/modules/telesci/telepad.dm @@ -128,7 +128,7 @@ var/rand_y = 0 var/emagged = 0 var/teleporting = 0 - var/chargecost = 1500 + var/chargecost = 1000 /obj/item/weapon/rcs/New() ..() diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm index b35968625e5..aa65b6337d5 100644 --- a/code/modules/telesci/telesci_computer.dm +++ b/code/modules/telesci/telesci_computer.dm @@ -80,10 +80,10 @@ /obj/machinery/computer/telescience/emag_act(user as mob) if(!emagged) - to_chat(user, "\blue You scramble the Telescience authentication key to an unknown signal. You should be able to teleport to more places now!") + to_chat(user, "You scramble the Telescience authentication key to an unknown signal. You should be able to teleport to more places now!") emagged = 1 else - to_chat(user, "\red The machine seems unaffected by the card swipe...") + to_chat(user, "The machine seems unaffected by the card swipe...") /obj/machinery/computer/telescience/attack_ai(mob/user) src.attack_hand(user) diff --git a/code/modules/vr/vr_controller.dm b/code/modules/vr/vr_controller.dm new file mode 100644 index 00000000000..45bf2a6cc74 --- /dev/null +++ b/code/modules/vr/vr_controller.dm @@ -0,0 +1,63 @@ +//Control file with the backbone for the vr rooms and avatars + +var/datum/vr_rooms = list() +var/roomcap = 20 + +/datum/vr_room + var/name = null + var/datum/map_template/vr/template = null + var/datum/space_chunk/chunk = null + var/list/spawn_points = list() + var/expires = 1 + +proc/make_vr_room(name, template, expires) + var/datum/vr_room/R = new + R.name = name + R.template = template + R.template = vr_templates[R.template] + R.chunk = space_manager.allocate_space(R.template.width, R.template.height) + R.expires = expires + vr_rooms[R.name] = R + R.template.load(locate(R.chunk.x,R.chunk.y,R.chunk.zpos), centered = FALSE) + + for(var/atom/landmark in R.chunk.search_chunk(landmarks_list)) + if(landmark.name == "avatarspawn") + R.spawn_points.Add(landmark) + +//Control code for the avatars +proc/build_virtual_avatar(mob/living/carbon/human/H, location, datum/map_template/vr/level/template) + if(!location) + return + var/mob/living/carbon/human/virtual_reality/vr_avatar + location = get_turf(location) + vr_avatar = new /mob/living/carbon/human/virtual_reality(location) + vr_avatar.set_species(H.species.name) + if(istype(H, /mob/living/carbon/human/virtual_reality)) + var/mob/living/carbon/human/virtual_reality/V = H + vr_avatar.real_me = V.real_me + else + vr_avatar.real_me = H + vr_avatar.dna = H.dna.Clone() + vr_avatar.name = H.name + vr_avatar.real_name = H.real_name + vr_avatar.undershirt = H.undershirt + vr_avatar.underwear = H.underwear + vr_avatar.UpdateAppearance() + vr_avatar.equipOutfit(template.outfit) + return vr_avatar + +proc/control_remote(mob/living/carbon/human/H, mob/living/carbon/human/virtual_reality/vr_avatar) + if(H.mind) + H.mind.transfer_to(vr_avatar) + +proc/spawn_vr_avatar(mob/living/carbon/human/H, datum/vr_room/room) + room = vr_rooms[room] + var/mob/living/carbon/human/virtual_reality/vr_human + vr_human = build_virtual_avatar(H, pick(room.spawn_points), room.template) + control_remote(H, vr_human) + return vr_human + +//Preloaded rooms +/hook/roundstart/proc/starting_levels() + make_vr_room("Lobby", "lobby", 0) + return 1 \ No newline at end of file diff --git a/code/modules/vr/vr_outfits.dm b/code/modules/vr/vr_outfits.dm new file mode 100644 index 00000000000..4f673fd4e8c --- /dev/null +++ b/code/modules/vr/vr_outfits.dm @@ -0,0 +1,15 @@ +//place all the outfits for your levels in here. + +/datum/outfit/vr/vr_basic + name = "basic vr" + uniform = /obj/item/clothing/under/psysuit + shoes = /obj/item/clothing/shoes/black + +/datum/outfit/vr/roman + name = "roman" + uniform = /obj/item/clothing/under/roman + shoes = /obj/item/clothing/shoes/roman + l_hand = /obj/item/weapon/shield/riot/roman + r_hand = /obj/item/weapon/twohanded/spear + head = /obj/item/clothing/head/helmet/roman + back = /obj/item/weapon/twohanded/spear \ No newline at end of file diff --git a/code/world.dm b/code/world.dm index f37fd273e86..ebf4865a1a8 100644 --- a/code/world.dm +++ b/code/world.dm @@ -327,7 +327,7 @@ var/world_topic_spam_protect_time = world.timeofday if(C.is_afk(INACTIVITY_KICK)) if(!istype(C.mob, /mob/dead)) log_access("AFK: [key_name(C)]") - to_chat(C, "\red You have been inactive for more than 10 minutes and have been disconnected.") + to_chat(C, "You have been inactive for more than 10 minutes and have been disconnected.") del(C) if( ((world.timeofday - sleep_check) > work_length) || ((world.timeofday - sleep_check) < 0) ) sleep(sleep_length) diff --git a/html/changelog.html b/html/changelog.html index 25c7c7efe57..d883140c0ef 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,106 @@ -->
+

21 April 2017

+

Spacemanspark updated:

+
    +
  • Permits hoodies to carry flashlights.
  • +
+ +

19 April 2017

+

IK3I updated:

+
    +
  • Chaplain now spawns with his bible
  • +
+

Xantholne updated:

+
    +
  • You now correctly spawn with the CMO Skirt if selected in loadout menu
  • +
+ +

17 April 2017

+

KasparoVy updated:

+
    +
  • The God-emperor of Mankind diskette's UI works again.
  • +
  • DNA UI injectors will now immediately update a person's eye colour.
  • +
+

Krausus updated:

+
    +
  • You can no longer squeeze non-match objects into matchboxes.
  • +
+ +

16 April 2017

+

FalseIncarnate updated:

+
    +
  • Potential collaborators for traitors now are informed they are potentially a collaborator for a potential increase in them potentially helping the traitors potentially do potentially bad things. Potentially.
  • +
  • Potential collaborators are given a single code word and response set so they can discretely find out that their best friend is a filthy traitor.
  • +
+

KasparoVy updated:

+
    +
  • Adds secondary (facial) hair colours to the genome (UI). There are 6 new blocks.
  • +
  • Characters with secondary (facial) hair colours won't find they've turned black after cloning anymore.
  • +
+

Kyep updated:

+
    +
  • Plasma dust no longer creates plasma gas on objects or turfs during reactions.
  • +
+

Twinmold93 updated:

+
    +
  • Missing sprite for pod pilot Drask now added.
  • +
+

Xantholne updated:

+
    +
  • Adds Medical Beret available via loadout menu
  • +
+

ZomgPonies updated:

+
    +
  • Fixes Superhero ID cards
  • +
  • Fixes Griffin missing his Freedom Implant
  • +
  • Fixes ElectroNegmatic's Ability not working at all.
  • +
  • Changes LightnIan's ability into a non-damaging stun lasting 2 ticks, with the amount of people affected depending on how long you hold the power in for.
  • +
+

uraniummeltdown updated:

+
    +
  • You can now create heat-proof glass airlocks by using a sheet of reinforced glass on the assembly during construction. Regular glass airlocks just require a sheet of glass.
  • +
+ +

11 April 2017

+

FalseIncarnate updated:

+
    +
  • Damage done to the shuttle engines by a shadowling's "Extend Shuttle" ability now prevent the shuttle from being recalled to CentComm.
  • +
+ +

09 April 2017

+

Fox McCloud updated:

+
    +
  • abductor glands now act as actual hearts; removing them induces heart failure
  • +
  • plasma gland no longer gibs you, but makes you vomit plasma instead
  • +
  • bodysnatcher gland no longer gibs you, but will deal brute damage instead
  • +
  • bloody gland will now drain blood instead of dealing brute damage
  • +
  • species change gland will now change your species until the gland is removed
  • +
  • adjusted the origin tech on a few gland
  • +
  • heart attacks will once again paralyse you and do slightly more brute damage
  • +
  • body snatch clones look more like their originator
  • +
  • Abductors can no longer use guns (minus their own alien energy gun)
  • +
  • Sending someone with an abductor teleport via the console will stun them for 3 cycles (doesn't apply with the advanced camera console)
  • +
  • Abductors can now purchase additional abductor vests
  • +
  • Abductors can lock/unlock vests
  • +
  • Purchasing supplies from the abductor console will no longer increase the amount of experiments you must do
  • +
  • Wonderprods will not induce sleep in those who are stunned OR sleeping
  • +
  • altered the origin tech of abductor tools
  • +
  • Can make abductor surgery tables from regular tables by adding silver sheets to an abductor table frame
  • +
  • Added a bunch more abductee objectives
  • +
  • abductors no long scream like girls
  • +
  • High capacity cells have 10,000 charge instead of 15,000
  • +
  • Mech equipment power costs minorly adjusted
  • +
  • APCs charge a bit faster
  • +
  • EMPs less effective against pods and mechs
  • +
  • Fixes not being able to recharge modular laptops/tablets
  • +
+

Purpose2 updated:

+
    +
  • Welders must now been fueled and active to cut lattices.
  • +
+

06 April 2017

Fox McCloud updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index f6eea631b93..9adeb1c3429 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -4425,3 +4425,79 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - bugfix: Fixes autopsy report printing; print reports by clicking the device itself davipatury: - rscadd: Rapid Cable Layer now have an autolathe design. +2017-04-09: + Fox McCloud: + - tweak: abductor glands now act as actual hearts; removing them induces heart failure + - tweak: plasma gland no longer gibs you, but makes you vomit plasma instead + - tweak: bodysnatcher gland no longer gibs you, but will deal brute damage instead + - tweak: bloody gland will now drain blood instead of dealing brute damage + - tweak: species change gland will now change your species until the gland is removed + - tweak: adjusted the origin tech on a few gland + - tweak: heart attacks will once again paralyse you and do slightly more brute damage + - bugfix: body snatch clones look more like their originator + - tweak: Abductors can no longer use guns (minus their own alien energy gun) + - tweak: Sending someone with an abductor teleport via the console will stun them + for 3 cycles (doesn't apply with the advanced camera console) + - rscadd: Abductors can now purchase additional abductor vests + - rscadd: Abductors can lock/unlock vests + - tweak: Purchasing supplies from the abductor console will no longer increase the + amount of experiments you must do + - tweak: Wonderprods will not induce sleep in those who are stunned OR sleeping + - tweak: altered the origin tech of abductor tools + - rscadd: Can make abductor surgery tables from regular tables by adding silver + sheets to an abductor table frame + - rscadd: Added a bunch more abductee objectives + - tweak: abductors no long scream like girls + - tweak: High capacity cells have 10,000 charge instead of 15,000 + - tweak: Mech equipment power costs minorly adjusted + - tweak: APCs charge a bit faster + - tweak: EMPs less effective against pods and mechs + - bugfix: Fixes not being able to recharge modular laptops/tablets + Purpose2: + - bugfix: Welders must now been fueled and active to cut lattices. +2017-04-11: + FalseIncarnate: + - tweak: Damage done to the shuttle engines by a shadowling's "Extend Shuttle" ability + now prevent the shuttle from being recalled to CentComm. +2017-04-16: + FalseIncarnate: + - tweak: Potential collaborators for traitors now are informed they are potentially + a collaborator for a potential increase in them potentially helping the traitors + potentially do potentially bad things. Potentially. + - rscadd: Potential collaborators are given a single code word and response set + so they can discretely find out that their best friend is a filthy traitor. + KasparoVy: + - rscadd: Adds secondary (facial) hair colours to the genome (UI). There are 6 new + blocks. + - bugfix: Characters with secondary (facial) hair colours won't find they've turned + black after cloning anymore. + Kyep: + - rscdel: Plasma dust no longer creates plasma gas on objects or turfs during reactions. + Twinmold93: + - bugfix: Missing sprite for pod pilot Drask now added. + Xantholne: + - rscadd: Adds Medical Beret available via loadout menu + ZomgPonies: + - bugfix: Fixes Superhero ID cards + - bugfix: Fixes Griffin missing his Freedom Implant + - bugfix: Fixes ElectroNegmatic's Ability not working at all. + - tweak: Changes LightnIan's ability into a non-damaging stun lasting 2 ticks, with + the amount of people affected depending on how long you hold the power in for. + uraniummeltdown: + - rscadd: You can now create heat-proof glass airlocks by using a sheet of reinforced + glass on the assembly during construction. Regular glass airlocks just require + a sheet of glass. +2017-04-17: + KasparoVy: + - bugfix: The God-emperor of Mankind diskette's UI works again. + - bugfix: DNA UI injectors will now immediately update a person's eye colour. + Krausus: + - bugfix: You can no longer squeeze non-match objects into matchboxes. +2017-04-19: + IK3I: + - bugfix: Chaplain now spawns with his bible + Xantholne: + - bugfix: You now correctly spawn with the CMO Skirt if selected in loadout menu +2017-04-21: + Spacemanspark: + - rscadd: Permits hoodies to carry flashlights. diff --git a/icons/mob/eyes.dmi b/icons/mob/eyes.dmi index 97966c61dac..fdf13394f20 100644 Binary files a/icons/mob/eyes.dmi and b/icons/mob/eyes.dmi differ diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 929e490f63a..acfaf83a92c 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/inhands/clothing_lefthand.dmi b/icons/mob/inhands/clothing_lefthand.dmi index 6028f386552..29ebf19be94 100644 Binary files a/icons/mob/inhands/clothing_lefthand.dmi and b/icons/mob/inhands/clothing_lefthand.dmi differ diff --git a/icons/mob/inhands/clothing_righthand.dmi b/icons/mob/inhands/clothing_righthand.dmi index 488f0b342ee..0d43b6216f7 100644 Binary files a/icons/mob/inhands/clothing_righthand.dmi and b/icons/mob/inhands/clothing_righthand.dmi differ diff --git a/icons/mob/inhands/fluff_lefthand.dmi b/icons/mob/inhands/fluff_lefthand.dmi new file mode 100644 index 00000000000..84380f038ed Binary files /dev/null and b/icons/mob/inhands/fluff_lefthand.dmi differ diff --git a/icons/mob/inhands/fluff_righthand.dmi b/icons/mob/inhands/fluff_righthand.dmi new file mode 100644 index 00000000000..d93ab0ffc68 Binary files /dev/null and b/icons/mob/inhands/fluff_righthand.dmi differ diff --git a/icons/mob/species/drask/uniform.dmi b/icons/mob/species/drask/uniform.dmi index 6610948f641..9dd5a22618c 100644 Binary files a/icons/mob/species/drask/uniform.dmi and b/icons/mob/species/drask/uniform.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 7c532ab179f..03c1180b1dc 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index ce9cab87794..7742bdcc755 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/obj/clothing/glasses.dmi b/icons/obj/clothing/glasses.dmi index fd2947d7d69..227ec28b742 100644 Binary files a/icons/obj/clothing/glasses.dmi and b/icons/obj/clothing/glasses.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 06089134abf..0aece3ac8ac 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi index 8faec500e7b..974efa8a088 100644 Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index a131fc14f04..669e8dff821 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index 21b101e88dd..1db72be54fa 100644 Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ diff --git a/icons/obj/custom_items.dmi b/icons/obj/custom_items.dmi index ec4bb9e314e..9623f991e2f 100644 Binary files a/icons/obj/custom_items.dmi and b/icons/obj/custom_items.dmi differ diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index e2b617812a8..e95b9ce041f 100644 Binary files a/icons/obj/objects.dmi and b/icons/obj/objects.dmi differ diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi index 5977cd3cb66..e9de23533ed 100644 Binary files a/icons/obj/power.dmi and b/icons/obj/power.dmi differ diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi index 72084b5675b..fd89b23d19d 100755 Binary files a/icons/obj/stationobjs.dmi and b/icons/obj/stationobjs.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index d021f5d02b1..ba4485bdbf8 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/vehicles/motorcycle.dmi b/icons/vehicles/motorcycle.dmi index 2f3c2d5517f..5b1a910b7b0 100644 Binary files a/icons/vehicles/motorcycle.dmi and b/icons/vehicles/motorcycle.dmi differ diff --git a/paradise.dme b/paradise.dme index 40e281a0d9d..1fc98107ca4 100644 --- a/paradise.dme +++ b/paradise.dme @@ -219,6 +219,7 @@ #include "code\datums\supplypacks.dm" #include "code\datums\uplink_item.dm" #include "code\datums\vision_override.dm" +#include "code\datums\vr.dm" #include "code\datums\cache\air_alarm.dm" #include "code\datums\cache\apc.dm" #include "code\datums\cache\cache.dm" @@ -317,6 +318,7 @@ #include "code\datums\spells\trigger.dm" #include "code\datums\spells\turf_teleport.dm" #include "code\datums\spells\wizard.dm" +#include "code\datums\vr\level.dm" #include "code\datums\weather\weather.dm" #include "code\datums\weather\weather_types.dm" #include "code\datums\wires\airlock.dm" @@ -601,6 +603,7 @@ #include "code\game\machinery\computer\store.dm" #include "code\game\machinery\computer\syndicate_specops_shuttle.dm" #include "code\game\machinery\computer\telecrystalconsoles.dm" +#include "code\game\machinery\computer\vr_control.dm" #include "code\game\machinery\doors\airlock.dm" #include "code\game\machinery\doors\airlock_control.dm" #include "code\game\machinery\doors\airlock_electronics.dm" @@ -847,6 +850,7 @@ #include "code\game\objects\items\weapons\grenades\spawnergrenade.dm" #include "code\game\objects\items\weapons\grenades\syndieminibomb.dm" #include "code\game\objects\items\weapons\implants\implant.dm" +#include "code\game\objects\items\weapons\implants\implant_abductor.dm" #include "code\game\objects\items\weapons\implants\implant_chem.dm" #include "code\game\objects\items\weapons\implants\implant_death_alarm.dm" #include "code\game\objects\items\weapons\implants\implant_explosive.dm" @@ -2209,6 +2213,10 @@ #include "code\modules\vehicle\speedbike.dm" #include "code\modules\vehicle\sportscar.dm" #include "code\modules\vehicle\vehicle.dm" +#include "code\modules\vr\vr_avatar.dm" +#include "code\modules\vr\vr_controller.dm" +#include "code\modules\vr\vr_goggles.dm" +#include "code\modules\vr\vr_outfits.dm" #include "goon\code\datums\browserOutput.dm" #include "interface\interface.dm" #include "interface\skin.dmf" diff --git a/sound/effects/Kidanclack.ogg b/sound/effects/Kidanclack.ogg new file mode 100644 index 00000000000..a25cf3efab7 Binary files /dev/null and b/sound/effects/Kidanclack.ogg differ diff --git a/sound/effects/kidanclack2.ogg b/sound/effects/kidanclack2.ogg new file mode 100644 index 00000000000..de2d625bc13 Binary files /dev/null and b/sound/effects/kidanclack2.ogg differ