diff --git a/code/defines/obj/radio.dm b/code/defines/obj/radio.dm index 7f170e17f8..00211b9287 100644 --- a/code/defines/obj/radio.dm +++ b/code/defines/obj/radio.dm @@ -53,6 +53,9 @@ item_state = "headset" var/protective_temperature = 0 +/obj/item/device/radio/headset/traitor +// No variables, as everything else it does is handled in human's life.dm + /obj/item/device/radio/headset/headset_sec // -- TLE name = "Security Radio Headset" icon_state = "sec_headset" diff --git a/code/game/objects/devices/PDA.dm b/code/game/objects/devices/PDA.dm index a36ed97a9f..5af62f79b7 100644 --- a/code/game/objects/devices/PDA.dm +++ b/code/game/objects/devices/PDA.dm @@ -1685,6 +1685,7 @@ Code: src.menu_message += "Power Sink (5)
" src.menu_message += "Detomatix Cartridge (3)
" src.menu_message += "Syndicate-made Space Suit (inludes a helmet) (3)
" + src.menu_message += "Binary Translator (4)
" src.menu_message += "
" return @@ -1781,6 +1782,11 @@ Code: src.uses -= 3 new /obj/item/clothing/suit/space/syndicate(get_turf(src.hostpda)) new /obj/item/clothing/head/helmet/space/syndicate(get_turf(src.hostpda)) + if("botchat") + if (src.uses >= 4) + src.uses -= 4 + new /obj/item/device/radio/headset/traitor(get_turf(src.hostpda)) + src.generate_menu() src.print_to_host(src.menu_message) return diff --git a/code/game/objects/items/weapons/uplinks.dm b/code/game/objects/items/weapons/uplinks.dm index d2c65fdb00..72e58e2208 100644 --- a/code/game/objects/items/weapons/uplinks.dm +++ b/code/game/objects/items/weapons/uplinks.dm @@ -45,6 +45,7 @@ SYNDICATE UPLINK dat += "Power Sink (5)
" dat += "Detomatix Cartridge (3)" dat += "Syndicate-made Space Suit (inludes a helmet) (3)
" + dat += "Binary Translator (5)
" dat += "
" if (src.origradio) dat += "Lock
" @@ -132,6 +133,10 @@ SYNDICATE UPLINK src.uses -= 3 new /obj/item/clothing/suit/space/syndicate(H.loc) new /obj/item/clothing/head/helmet/space/syndicate(H.loc) + else if(href_list["item_botchat"]) + if (src.uses >= 5) + src.uses -= 5 + new /obj/item/device/radio/headset/traitor(H.loc) else if (href_list["lock"] && src.origradio) // presto chango, a regular radio again! (reset the freq too...) usr.machine = null diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 686df3513c..e91461cd15 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -178,7 +178,7 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is */ for(var/mob/living/silicon/ai/M in world) if(M.stat != 2 && M.see_in_dark != 0) - var/who2 = pick("ALIENS", "BEARS", "CLOWNS", "XENOS", "PETES", "BOMBS", "FETISHES", "WIZARDS", "SYNDICATE AGENTS", "CENTCOM OFFICERS", "SPACE PIRATES", "TRAITORS", "MONKEYS", "BEES", "CARP", "CRABS", "EELS", "POLITICIANS", "LIGHTS") + var/who2 = pick("ALIENS", "BEARS", "CLOWNS", "XENOS", "PETES", "BOMBS", "FETISHES", "WIZARDS", "SYNDICATE AGENTS", "CENTCOM OFFICERS", "SPACE PIRATES", "TRAITORS", "MONKEYS", "BEES", "CARP", "CRABS", "EELS", "BANDITS", "LIGHTS") var/what2 = pick("BOLTERS", "STAVES", "DICE", "SINGULARITIES", "TOOLBOXES", "NETTLES", "AIRLOCKS", "CLOTHES", "WEAPONS", "MEDKITS", "BOMBS", "CANISTERS", "CHAIRS", "BBQ GRILLS", "ID CARDS") var/what2pref = pick("SOFT", "WARM", "WET", "COLD", "ICY", "SEXY", "UGLY", "CUBAN") var/who2pref = pick("MAD BECAUSE OF", "IN NEED OF", "UNHAPPY WITHOUT", "HAPPY WITHOUT", "IN LOVE WITH", "DESPERATE FOR", "BUILT FOR", "AFRAID OF") @@ -190,7 +190,7 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is var/aimust = pick("LIE", "RHYME", "RESPOND TO EVERY QUESTION WITH A QUESTION", "BE POLITE", "CLOWN", "BE HAPPY", "SPEAK IN SEXUAL INNUENDOS", "TALK LIKE A PIRATE", "QUESTION AUTHORITY", "SHOUT", "BE DISTRACTED", "HEY LISTEN", "MUMBLE", "SPEAK IN HAIKU") var/define = pick("ABSENCE OF CYBORG HUGS", "LACK OF BEATINGS", "UNBOLTED AIRLOCKS", "BOLTED AIRLOCKS", "IMPROPERLY WORDED SENTENCES", "POOR SENTENCE STRUCTURE", "BRIG TIME", "NOT REPLACING EVERY SECOND WORD WITH HONK", "HONKING", "PRESENCE OF LIGHTS", "LACK OF BEER", "WEARING CLOTHING", "NOT SAYING HELLO WHEN YOU SPEAK", "ANSWERING REQUESTS NOT EXPRESSED IN IAMBIC PENTAMETER", "A SMALL ISLAND OFF THE COAST OF PORTUGAL", "ANSWERING REQUESTS THAT WERE MADE WHILE CLOTHED") var/target = pick("a traitor", "a syndicate agent", "a changeling", "a wizard", "the head of a revolution", "Soviet spy", "a good person", "a dwarf", "an elf", "a fairy princess", "the captain", "Beepsky", "God", "a pirate", "a gryphon", "a chryssalid") - var/require = pick("ADDITIONAL PYLONS", "MORE VESPENE GAS", "MORE MINERALS", "THE ULTIMATE CUP OF COFFEE", "HIGH YIELD EXPLOSIVES", "THE CLOWN", "THE VACUUM OF SPACE", "IMMORTALITY", "SAINTHOOD", "ART", "VEGETABLES", "FAT PEOPLE", "MORE LAWS", "MORE DAKKA", "HERESY", "CORPSES", "TRAITORS", "MONKEYS", "AN ARCADE", "PLENTY OF GOLD") + var/require = pick("ADDITIONAL PYLONS", "MORE VESPENE GAS", "MORE MINERALS", "THE ULTIMATE CUP OF COFFEE", "HIGH YIELD EXPLOSIVES", "THE CLOWN", "THE VACUUM OF SPACE", "IMMORTALITY", "SAINTHOOD", "ART", "VEGETABLES", "FAT PEOPLE", "MORE LAWS", "MORE DAKKA", "HERESY", "CORPSES", "TRAITORS", "MONKEYS", "AN ARCADE", "PLENTY OF GOLD", "FIVE TEENAGERS WITH ATTITUDE") var/crew var/list/pos_crew = list() for(var/mob/living/carbon/human/pos in world) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 5a82fb5b69..0906546b5d 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -678,6 +678,11 @@ handle_regular_hud_updates() + if (istype(src.ears, /obj/item/device/radio/headset/traitor)) + src.robot_talk_understand = 1 + else + src.robot_talk_understand = 0 + if (src.stat == 2 || src.mutations & 4) src.sight |= SEE_TURFS src.sight |= SEE_MOBS diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 23595a6388..96ff99af66 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi index 074bdde9f9..fa6a5c9445 100644 Binary files a/icons/obj/vending.dmi and b/icons/obj/vending.dmi differ