Merge pull request #10526 from Seris02/bowmanupgrade
allows headsets to be bowmanized and adds a traitor item for that
This commit is contained in:
@@ -26,6 +26,7 @@ GLOBAL_LIST_INIT(channel_tokens, list(
|
||||
slot_flags = ITEM_SLOT_EARS
|
||||
var/obj/item/encryptionkey/keyslot2 = null
|
||||
dog_fashion = null
|
||||
var/bowman = FALSE
|
||||
|
||||
/obj/item/radio/headset/suicide_act(mob/living/carbon/user)
|
||||
user.visible_message("<span class='suicide'>[user] begins putting \the [src]'s antenna up [user.p_their()] nose! It looks like [user.p_theyre()] trying to give [user.p_them()]self cancer!</span>")
|
||||
@@ -52,6 +53,11 @@ GLOBAL_LIST_INIT(channel_tokens, list(
|
||||
else
|
||||
. += "<span class='notice'>A small screen on the headset flashes, it's too small to read without holding or wearing the headset.</span>"
|
||||
|
||||
/obj/item/radio/headset/ComponentInitialize()
|
||||
. = ..()
|
||||
if (bowman)
|
||||
AddComponent(/datum/component/wearertargeting/earprotection, list(SLOT_EARS))
|
||||
|
||||
/obj/item/radio/headset/Initialize()
|
||||
. = ..()
|
||||
recalculateChannels()
|
||||
@@ -81,10 +87,7 @@ GLOBAL_LIST_INIT(channel_tokens, list(
|
||||
desc = "A syndicate headset that can be used to hear all radio frequencies. Protects ears from flashbangs."
|
||||
icon_state = "syndie_headset"
|
||||
item_state = "syndie_headset"
|
||||
|
||||
/obj/item/radio/headset/syndicate/alt/ComponentInitialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/wearertargeting/earprotection, list(SLOT_EARS))
|
||||
bowman = TRUE
|
||||
|
||||
/obj/item/radio/headset/syndicate/alt/leader
|
||||
name = "team leader headset"
|
||||
@@ -112,10 +115,7 @@ GLOBAL_LIST_INIT(channel_tokens, list(
|
||||
desc = "This is used by your elite security force. Protects ears from flashbangs."
|
||||
icon_state = "sec_headset_alt"
|
||||
item_state = "sec_headset_alt"
|
||||
|
||||
/obj/item/radio/headset/headset_sec/alt/ComponentInitialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/wearertargeting/earprotection, list(SLOT_EARS))
|
||||
bowman = TRUE
|
||||
|
||||
/obj/item/radio/headset/headset_eng
|
||||
name = "engineering radio headset"
|
||||
@@ -161,10 +161,7 @@ GLOBAL_LIST_INIT(channel_tokens, list(
|
||||
desc = "The headset of the boss. Protects ears from flashbangs."
|
||||
icon_state = "com_headset_alt"
|
||||
item_state = "com_headset_alt"
|
||||
|
||||
/obj/item/radio/headset/heads/captain/alt/ComponentInitialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/wearertargeting/earprotection, list(SLOT_EARS))
|
||||
bowman = TRUE
|
||||
|
||||
/obj/item/radio/headset/heads/rd
|
||||
name = "\proper the research director's headset"
|
||||
@@ -183,10 +180,7 @@ GLOBAL_LIST_INIT(channel_tokens, list(
|
||||
desc = "The headset of the man in charge of keeping order and protecting the station. Protects ears from flashbangs."
|
||||
icon_state = "com_headset_alt"
|
||||
item_state = "com_headset_alt"
|
||||
|
||||
/obj/item/radio/headset/heads/hos/ComponentInitialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/wearertargeting/earprotection, list(SLOT_EARS))
|
||||
bowman = TRUE
|
||||
|
||||
/obj/item/radio/headset/heads/ce
|
||||
name = "\proper the chief engineer's headset"
|
||||
@@ -258,10 +252,7 @@ GLOBAL_LIST_INIT(channel_tokens, list(
|
||||
icon_state = "cent_headset_alt"
|
||||
item_state = "cent_headset_alt"
|
||||
keyslot = null
|
||||
|
||||
/obj/item/radio/headset/headset_cent/alt/ComponentInitialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/wearertargeting/earprotection, list(SLOT_EARS))
|
||||
bowman = TRUE
|
||||
|
||||
/obj/item/radio/headset/ai
|
||||
name = "\proper Integrated Subspace Transceiver "
|
||||
@@ -273,7 +264,11 @@ GLOBAL_LIST_INIT(channel_tokens, list(
|
||||
|
||||
/obj/item/radio/headset/attackby(obj/item/W, mob/user, params)
|
||||
user.set_machine(src)
|
||||
|
||||
if (istype(W,/obj/item/headsetupgrader))
|
||||
if (!bowman)
|
||||
to_chat(user,"<span class='notice'>You upgrade [src].</span>")
|
||||
bowmanize()
|
||||
qdel(W)
|
||||
if(istype(W, /obj/item/screwdriver))
|
||||
if(keyslot || keyslot2)
|
||||
for(var/ch_name in channels)
|
||||
@@ -341,3 +336,24 @@ GLOBAL_LIST_INIT(channel_tokens, list(
|
||||
use_command = !use_command
|
||||
to_chat(user, "<span class='notice'>You toggle high-volume mode [use_command ? "on" : "off"].</span>")
|
||||
return TRUE
|
||||
|
||||
/obj/item/radio/headset/proc/bowmanize()
|
||||
cut_overlays()
|
||||
var/icon/yeas = icon(icon,icon_state)
|
||||
icon_state = "antenna_alt"
|
||||
var/mutable_appearance/center = mutable_appearance(icon,"center_alt")
|
||||
center.color = yeas.GetPixel(15,18)
|
||||
var/mutable_appearance/centeralt = mutable_appearance(icon,"centeralt_alt")
|
||||
centeralt.color = yeas.GetPixel(14,22)
|
||||
var/mutable_appearance/centercenter = mutable_appearance(icon,"centercenter_alt")
|
||||
centercenter.color = yeas.GetPixel(13,19)
|
||||
var/mutable_appearance/centerpixel = mutable_appearance(icon,"centerpixel_alt")
|
||||
centerpixel.color = yeas.GetPixel(13,21)
|
||||
add_overlay(center)
|
||||
add_overlay(centeralt)
|
||||
add_overlay(centercenter)
|
||||
add_overlay(centerpixel)
|
||||
name = replacetext(name,"headset", "bowman headset")
|
||||
desc = "[desc] Protects ears from flashbangs."
|
||||
bowman = TRUE
|
||||
AddComponent(/datum/component/wearertargeting/earprotection, list(SLOT_EARS))
|
||||
|
||||
@@ -251,3 +251,9 @@ effective or pretty fucking useless.
|
||||
else
|
||||
GLOB.active_jammers -= src
|
||||
update_icon()
|
||||
|
||||
/obj/item/headsetupgrader
|
||||
name = "headset upgrader"
|
||||
desc = "A tool that can be used to upgrade a normal headset to be able to protect from flashbangs."
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "headset_upgrade"
|
||||
|
||||
@@ -629,15 +629,12 @@
|
||||
icon_state = "abductor_headset"
|
||||
item_state = "abductor_headset"
|
||||
keyslot2 = new /obj/item/encryptionkey/heads/captain
|
||||
bowman = TRUE
|
||||
|
||||
/obj/item/radio/headset/abductor/Initialize(mapload)
|
||||
. = ..()
|
||||
make_syndie()
|
||||
|
||||
/obj/item/radio/headset/abductor/ComponentInitialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/wearertargeting/earprotection, list(SLOT_EARS))
|
||||
|
||||
/obj/item/radio/headset/abductor/attackby(obj/item/W, mob/user, params)
|
||||
if(W.tool_behaviour == TOOL_SCREWDRIVER)
|
||||
return // Stops humans from disassembling abductor headsets.
|
||||
|
||||
@@ -164,4 +164,4 @@
|
||||
|
||||
//Discounts (dynamically filled above)
|
||||
/datum/uplink_item/discounts
|
||||
category = "Discounted Gear"
|
||||
category = "Discounted Gear"
|
||||
@@ -135,6 +135,12 @@
|
||||
item = /obj/item/aiModule/syndicate
|
||||
cost = 9
|
||||
|
||||
/datum/uplink_item/device_tools/headsetupgrade
|
||||
name = "Headset Upgrader"
|
||||
desc = "A device that can be used to make one headset immune to flashbangs."
|
||||
item = /obj/item/headsetupgrader
|
||||
cost = 3
|
||||
|
||||
/datum/uplink_item/device_tools/medgun
|
||||
name = "Medbeam Gun"
|
||||
desc = "A wonder of Syndicate engineering, the Medbeam gun, or Medi-Gun enables a medic to keep his fellow \
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.4 KiB |
Reference in New Issue
Block a user