diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index f3862f9825b..40b79643cb6 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -1071,12 +1071,20 @@ maxcharge = 500 g_amt = 40 +/obj/item/weapon/cell/crap/empty/New() + ..() + charge = 0 + /obj/item/weapon/cell/secborg name = "\improper Security borg rechargable D battery" origin_tech = "powerstorage=0" maxcharge = 600 //600 max charge / 100 charge per shot = six shots g_amt = 40 +/obj/item/weapon/cell/secborg/empty/New() + ..() + charge = 0 + /obj/item/weapon/cell/high name = "high-capacity power cell" origin_tech = "powerstorage=2" @@ -1084,6 +1092,10 @@ maxcharge = 10000 g_amt = 60 +/obj/item/weapon/cell/high/empty/New() + ..() + charge = 0 + /obj/item/weapon/cell/super name = "super-capacity power cell" origin_tech = "powerstorage=5" @@ -1092,6 +1104,10 @@ g_amt = 70 construction_cost = list("metal"=750,"glass"=100) +/obj/item/weapon/cell/super/empty/New() + ..() + charge = 0 + /obj/item/weapon/cell/hyper name = "hyper-capacity power cell" origin_tech = "powerstorage=6" @@ -1100,6 +1116,10 @@ g_amt = 80 construction_cost = list("metal"=500,"glass"=150,"gold"=200,"silver"=200) +/obj/item/weapon/cell/hyper/empty/New() + ..() + charge = 0 + /obj/item/weapon/cell/infinite name = "infinite-capacity power cell!" icon_state = "icell" diff --git a/code/modules/mob/living/carbon/human/Tajara/say.dm b/code/modules/mob/living/carbon/human/Tajara/say.dm index 9fe3e0614e6..60cdf0e9bf1 100644 --- a/code/modules/mob/living/carbon/human/Tajara/say.dm +++ b/code/modules/mob/living/carbon/human/Tajara/say.dm @@ -113,62 +113,7 @@ else if (length(message) >= 2) var/channel_prefix = copytext(message, 1, 3) - var/list/keys = list( - ":r" = "right ear", - ":l" = "left ear", - ":i" = "intercom", - ":h" = "department", - ":c" = "Command", - ":n" = "Science", - ":m" = "Medical", - ":e" = "Engineering", - ":s" = "Security", - ":w" = "whisper", - ":b" = "binary", - ":a" = "alientalk", - ":t" = "Syndicate", - ":d" = "Mining", - ":q" = "Cargo", - ":g" = "changeling", - - ":R" = "right hand", - ":L" = "left hand", - ":I" = "intercom", - ":H" = "department", - ":C" = "Command", - ":N" = "Science", - ":M" = "Medical", - ":E" = "Engineering", - ":S" = "Security", - ":W" = "whisper", - ":B" = "binary", - ":A" = "alientalk", - ":T" = "Syndicate", - ":D" = "Mining", - ":Q" = "Cargo", - ":G" = "changeling", - - //kinda localization -- rastaf0 - //same keys as above, but on russian keyboard layout. This file uses cp1251 as encoding. - ":ê" = "right hand", - ":ä" = "left hand", - ":ø" = "intercom", - ":ð" = "department", - ":ñ" = "Command", - ":ò" = "Science", - ":ü" = "Medical", - ":ó" = "Engineering", - ":û" = "Security", - ":ö" = "whisper", - ":è" = "binary", - ":ô" = "alientalk", - ":å" = "Syndicate", - ":â" = "Mining", - ":é" = "Cargo", - ":ï" = "changeling", - ) - - message_mode = keys[channel_prefix] + message_mode = department_radio_keys[channel_prefix] //world << "channel_prefix=[channel_prefix]; message_mode=[message_mode]" if (message_mode) message = trim(copytext(message, 3)) diff --git a/code/modules/mob/living/carbon/human/Tajara/whisper.dm b/code/modules/mob/living/carbon/human/Tajara/whisper.dm index b415f3792d5..9b1f180f22b 100644 --- a/code/modules/mob/living/carbon/human/Tajara/whisper.dm +++ b/code/modules/mob/living/carbon/human/Tajara/whisper.dm @@ -5,6 +5,9 @@ if (!message) return + if (silent) + return + log_whisper("[src.name]/[src.key] : [message]") if (src.client && (src.client.muted || src.client.muted_complete)) diff --git a/code/modules/mob/living/carbon/human/whisper.dm b/code/modules/mob/living/carbon/human/whisper.dm index fe53b958aa0..3de25582982 100644 --- a/code/modules/mob/living/carbon/human/whisper.dm +++ b/code/modules/mob/living/carbon/human/whisper.dm @@ -5,6 +5,9 @@ if (!message) return + if (silent) + return + log_whisper("[src.name]/[src.key] : [message]") if (src.client && (src.client.muted || src.client.muted_complete)) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 320568415c7..42dbffffd4c 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -1,3 +1,59 @@ + +var/list/department_radio_keys = list( + ":r" = "right hand", + ":l" = "left hand", + ":i" = "intercom", + ":h" = "department", + ":c" = "Command", + ":n" = "Science", + ":m" = "Medical", + ":e" = "Engineering", + ":s" = "Security", + ":w" = "whisper", + ":b" = "binary", + ":a" = "alientalk", + ":t" = "Syndicate", + ":d" = "Mining", + ":q" = "Cargo", + ":g" = "changeling", + + ":R" = "right hand", + ":L" = "left hand", + ":I" = "intercom", + ":H" = "department", + ":C" = "Command", + ":N" = "Science", + ":M" = "Medical", + ":E" = "Engineering", + ":S" = "Security", + ":W" = "whisper", + ":B" = "binary", + ":A" = "alientalk", + ":T" = "Syndicate", + ":D" = "Mining", + ":Q" = "Cargo", + ":G" = "changeling", + + //kinda localization -- rastaf0 + //same keys as above, but on russian keyboard layout. This file uses cp1251 as encoding. + ":ê" = "right hand", + ":ä" = "left hand", + ":ø" = "intercom", + ":ð" = "department", + ":ñ" = "Command", + ":ò" = "Science", + ":ü" = "Medical", + ":ó" = "Engineering", + ":û" = "Security", + ":ö" = "whisper", + ":è" = "binary", + ":ô" = "alientalk", + ":å" = "Syndicate", + ":â" = "Mining", + ":é" = "Cargo", + ":ï" = "changeling" +) + /mob/living/proc/binarycheck() if (istype(src, /mob/living/silicon/pai)) return @@ -40,7 +96,7 @@ src << "You are muted." return - // wtf? + // stat == 2 is handled above, so this stops transmission of uncontious messages if (stat) return @@ -70,73 +126,18 @@ else if (copytext(message, 1, 2) == ";") if (ishuman(src)) message_mode = "headset" - else if(istype(src, /mob/living/silicon/pai) || istype(src, /mob/living/silicon/robot)) + else if(ispAI(src) || isrobot(src)) message_mode = "pAI" message = copytext(message, 2) else if (length(message) >= 2) var/channel_prefix = copytext(message, 1, 3) - var/list/keys = list( - ":r" = "right hand", - ":l" = "left hand", - ":i" = "intercom", - ":h" = "department", - ":c" = "Command", - ":n" = "Science", - ":m" = "Medical", - ":e" = "Engineering", - ":s" = "Security", - ":w" = "whisper", - ":b" = "binary", - ":a" = "alientalk", - ":t" = "Syndicate", - ":d" = "Mining", - ":q" = "Cargo", - ":g" = "changeling", - - ":R" = "right hand", - ":L" = "left hand", - ":I" = "intercom", - ":H" = "department", - ":C" = "Command", - ":N" = "Science", - ":M" = "Medical", - ":E" = "Engineering", - ":S" = "Security", - ":W" = "whisper", - ":B" = "binary", - ":A" = "alientalk", - ":T" = "Syndicate", - ":D" = "Mining", - ":Q" = "Cargo", - ":G" = "changeling", - - //kinda localization -- rastaf0 - //same keys as above, but on russian keyboard layout. This file uses cp1251 as encoding. - ":ê" = "right hand", - ":ä" = "left hand", - ":ø" = "intercom", - ":ð" = "department", - ":ñ" = "Command", - ":ò" = "Science", - ":ü" = "Medical", - ":ó" = "Engineering", - ":û" = "Security", - ":ö" = "whisper", - ":è" = "binary", - ":ô" = "alientalk", - ":å" = "Syndicate", - ":â" = "Mining", - ":é" = "Cargo", - ":ï" = "changeling", - ) - - message_mode = keys[channel_prefix] + message_mode = department_radio_keys[channel_prefix] //world << "channel_prefix=[channel_prefix]; message_mode=[message_mode]" if (message_mode) message = trim(copytext(message, 3)) - if (!(ishuman(src) || istype(src, /mob/living/simple_animal)) && (message_mode=="department" || (message_mode in radiochannels))) + if (!(ishuman(src) || isanimal(src) && (message_mode=="department" || (message_mode in radiochannels)))) message_mode = null //only humans can use headsets // Check removed so parrots can use headsets! @@ -263,50 +264,6 @@ /////SPECIAL HEADSETS END var/list/listening -/* - if(istype(loc, /obj/item/device/aicard)) // -- TLE - var/obj/O = loc - if(istype(O.loc, /mob)) - var/mob/M = O.loc - listening = hearers(message_range, M) - else - listening = hearers(message_range, O) - else - listening = hearers(message_range, src) - - for (var/obj/O in view(message_range, src)) - for (var/mob/M in O) - listening += M // maybe need to check if M can hear src - spawn (0) - if (O) - O.hear_talk(src, message) - - if (!(src in listening)) - listening += src - -*/ -/* Handing this section over to get_mobs_in_view which was written with radiocode update - var/turf/T = get_turf(src) - listening = hearers(message_range, T) - for (var/O in listening) - world << O - var/list/V = view(message_range, T) - //find mobs in lockers, cryo, intellicards, brains, MMIs, and so on. - for (var/mob/M in world) - if (!M.client) - continue //skip monkeys and leavers - if (istype(M, /mob/new_player)) - continue - if (M.stat <2) //is alive - if (isturf(M.loc)) - continue //if M can hear us it was already found by hearers() - if (get_turf(M) in V) //this is slow, but I don't think we'd have a lot of wardrobewhores every round --rastaf0 - listening+=M - else - if (M.client && M.client.ghost_ears) - listening|=M - -*/ listening = get_mobs_in_view(message_range, src) for(var/mob/M in world) @@ -321,9 +278,6 @@ var/list/V = view(message_range, T) var/list/W = V - - - for (var/obj/O in ((W | contents)-used_radios)) W |= O diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 8d2594b26f6..fa96be30641 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -4,21 +4,12 @@ /obj/item/weapon/cell/New() ..() - - charge = charge * maxcharge/100.0 // map obj has charge as percentage, convert to real value here + charge = maxcharge spawn(5) updateicon() /obj/item/weapon/cell/proc/updateicon() - /*if(maxcharge < 10000) - icon_state = "cell" - if(maxcharge >= 10000 && maxcharge < 20000) - icon_state = "hcell" - if(maxcharge >= 20000 && maxcharge < 30000) - icon_state = "scell" - else - icon_state = "hpcell"*/ overlays = null diff --git a/maps/tgstation.2.0.9.dmm b/maps/tgstation.2.0.9.dmm index b3ab734dd34..81862aebc1e 100644 --- a/maps/tgstation.2.0.9.dmm +++ b/maps/tgstation.2.0.9.dmm @@ -4156,7 +4156,7 @@ "bBV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/toxins/mixing) "bBW" = (/obj/structure/table,/obj/item/device/assembly/signaler{pixel_x = 0; pixel_y = 8},/obj/item/device/assembly/signaler{pixel_x = -8; pixel_y = 5},/obj/item/device/assembly/signaler{pixel_x = 6; pixel_y = 5},/obj/item/device/assembly/signaler{pixel_x = -2; pixel_y = -2},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "bBX" = (/obj/structure/table,/obj/item/device/assembly/igniter{pixel_x = 5; pixel_y = -4},/obj/item/device/assembly/igniter{pixel_x = 2; pixel_y = -1},/obj/item/device/assembly/igniter{pixel_x = 2; pixel_y = 6},/obj/item/device/assembly/igniter{pixel_x = -5; pixel_y = 3},/obj/item/device/assembly/timer{pixel_x = -2; pixel_y = 2},/obj/item/device/assembly/timer{pixel_x = -2; pixel_y = 2},/obj/item/device/assembly/timer{pixel_x = -2; pixel_y = 2},/obj/item/device/assembly/timer{pixel_x = -2; pixel_y = 2},/obj/item/device/assembly/timer{pixel_x = -2; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bBY" = (/obj/structure/table,/obj/item/device/assembly/prox_sensor{pixel_x = -4; pixel_y = 1},/obj/item/device/assembly/prox_sensor{pixel_x = 8; pixel_y = 9},/obj/item/device/assembly/prox_sensor{pixel_x = 9; pixel_y = -2},/obj/item/device/assembly/prox_sensor{pixel_x = 0; pixel_y = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"bBY" = (/obj/structure/table,/obj/item/device/assembly/prox_sensor{pixel_x = -4; pixel_y = 1},/obj/item/device/assembly/prox_sensor{pixel_x = 8; pixel_y = 9},/obj/item/device/assembly/prox_sensor{pixel_x = 9; pixel_y = -2},/obj/item/device/assembly/prox_sensor{pixel_x = 0; pixel_y = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/item/weapon/wrench,/obj/item/weapon/screwdriver{pixel_y = 10},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "bBZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/insulated,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "bCa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/insulated,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/sign/nosmoking_2{pixel_x = 28},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "bCb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/toxins/mixing) @@ -5142,7 +5142,7 @@ "bUT" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port) "bUU" = (/obj/structure/grille,/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area) "bUV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/assembly/assembly_line) -"bUW" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor,/area/assembly/assembly_line) +"bUW" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/assembly/assembly_line) "bUX" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/turf/simulated/floor,/area/assembly/assembly_line) "bUY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/turf/simulated/floor,/area/assembly/assembly_line) "bUZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/assembly/assembly_line) @@ -6628,7 +6628,7 @@ "cxx" = (/obj/machinery/door/airlock/external,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "NTrasen"; name = "Outer Airlock"; opacity = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) "cxy" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/specops/centcom) "cxz" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) -"cxA" = (/obj/structure/table,/obj/item/assembly/shock_kit{icon = 'assemblies.dmi'},/obj/item/device/assembly/signaler,/obj/item/weapon/handcuffs,/obj/item/weapon/melee/classic_baton,/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/centcom/control) +"cxA" = (/obj/structure/table,/obj/item/assembly/shock_kit{icon = 'icons/obj/assemblies.dmi'},/obj/item/device/assembly/signaler,/obj/item/weapon/handcuffs,/obj/item/weapon/melee/classic_baton,/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/centcom/control) "cxB" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/space,/area/shuttle/specops/centcom) "cxC" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/turf/unsimulated/floor,/area/shuttle/specops/centcom) "cxD" = (/obj/effect/landmark{name = "Commando-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)