Corrects abductor baton path (#40974)

This commit is contained in:
ShizCalev
2018-10-17 22:35:56 -04:00
committed by yogstation13-bot
parent 98fff88927
commit ffab086fe1
5 changed files with 32 additions and 41 deletions

View File

@@ -83,7 +83,7 @@ SUBSYSTEM_DEF(traumas)
/obj/item/clothing/under/rank/head_of_security/grey, /obj/item/clothing/under/rank/head_of_security/alt, /obj/item/clothing/under/rank/head_of_security/grey, /obj/item/clothing/under/rank/head_of_security/alt,
/obj/item/clothing/under/rank/research_director/alt, /obj/item/clothing/under/rank/research_director/turtleneck, /obj/item/clothing/under/rank/research_director/alt, /obj/item/clothing/under/rank/research_director/turtleneck,
/obj/item/clothing/under/captainparade, /obj/item/clothing/under/hosparademale, /obj/item/clothing/under/hosparadefem, /obj/item/clothing/under/captainparade, /obj/item/clothing/under/hosparademale, /obj/item/clothing/under/hosparadefem,
/obj/item/clothing/head/helmet/abductor, /obj/item/clothing/suit/armor/abductor/vest, /obj/item/abductor_baton, /obj/item/clothing/head/helmet/abductor, /obj/item/clothing/suit/armor/abductor/vest, /obj/item/abductor/baton,
/obj/item/storage/belt/military/abductor, /obj/item/gun/energy/alien, /obj/item/abductor/silencer, /obj/item/storage/belt/military/abductor, /obj/item/gun/energy/alien, /obj/item/abductor/silencer,
/obj/item/abductor/gizmo, /obj/item/clothing/under/rank/centcom_officer, /obj/item/abductor/gizmo, /obj/item/clothing/under/rank/centcom_officer,
/obj/item/clothing/suit/space/hardsuit/ert, /obj/item/clothing/suit/space/hardsuit/ert/sec, /obj/item/clothing/suit/space/hardsuit/ert, /obj/item/clothing/suit/space/hardsuit/ert/sec,
@@ -126,7 +126,7 @@ SUBSYSTEM_DEF(traumas)
"aliens" = typecacheof(list(/obj/item/clothing/mask/facehugger, /obj/item/organ/body_egg/alien_embryo, "aliens" = typecacheof(list(/obj/item/clothing/mask/facehugger, /obj/item/organ/body_egg/alien_embryo,
/obj/structure/alien, /obj/item/toy/toy_xeno, /obj/structure/alien, /obj/item/toy/toy_xeno,
/obj/item/clothing/suit/armor/abductor, /obj/item/abductor, /obj/item/gun/energy/alien, /obj/item/clothing/suit/armor/abductor, /obj/item/abductor, /obj/item/gun/energy/alien,
/obj/item/abductor_baton, /obj/item/radio/headset/abductor, /obj/item/scalpel/alien, /obj/item/hemostat/alien, /obj/item/abductor/baton, /obj/item/radio/headset/abductor, /obj/item/scalpel/alien, /obj/item/hemostat/alien,
/obj/item/retractor/alien, /obj/item/circular_saw/alien, /obj/item/surgicaldrill/alien, /obj/item/cautery/alien, /obj/item/retractor/alien, /obj/item/circular_saw/alien, /obj/item/surgicaldrill/alien, /obj/item/cautery/alien,
/obj/item/clothing/head/helmet/abductor, /obj/structure/bed/abductor, /obj/structure/table_frame/abductor, /obj/item/clothing/head/helmet/abductor, /obj/structure/bed/abductor, /obj/structure/table_frame/abductor,
/obj/structure/table/abductor, /obj/structure/table/optable/abductor, /obj/structure/closet/abductor, /obj/item/organ/heart/gland, /obj/structure/table/abductor, /obj/structure/table/optable/abductor, /obj/structure/closet/abductor, /obj/item/organ/heart/gland,

View File

@@ -17,7 +17,7 @@
actions_types = list(/datum/action/item_action/hands_free/activate) actions_types = list(/datum/action/item_action/hands_free/activate)
allowed = list( allowed = list(
/obj/item/abductor, /obj/item/abductor,
/obj/item/abductor_baton, /obj/item/abductor/baton,
/obj/item/melee/baton, /obj/item/melee/baton,
/obj/item/gun/energy, /obj/item/gun/energy,
/obj/item/restraints/handcuffs /obj/item/restraints/handcuffs
@@ -54,7 +54,7 @@
/obj/item/clothing/suit/armor/abductor/vest/item_action_slot_check(slot, mob/user) /obj/item/clothing/suit/armor/abductor/vest/item_action_slot_check(slot, mob/user)
if(slot == SLOT_WEAR_SUIT) //we only give the mob the ability to activate the vest if he's actually wearing it. if(slot == SLOT_WEAR_SUIT) //we only give the mob the ability to activate the vest if he's actually wearing it.
return 1 return TRUE
/obj/item/clothing/suit/armor/abductor/vest/proc/SetDisguise(datum/icon_snapshot/entry) /obj/item/clothing/suit/armor/abductor/vest/proc/SetDisguise(datum/icon_snapshot/entry)
disguise = entry disguise = entry
@@ -86,11 +86,9 @@
/obj/item/clothing/suit/armor/abductor/vest/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) /obj/item/clothing/suit/armor/abductor/vest/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
DeactivateStealth() DeactivateStealth()
return 0
/obj/item/clothing/suit/armor/abductor/vest/IsReflect() /obj/item/clothing/suit/armor/abductor/vest/IsReflect()
DeactivateStealth() DeactivateStealth()
return 0
/obj/item/clothing/suit/armor/abductor/vest/ui_action_click() /obj/item/clothing/suit/armor/abductor/vest/ui_action_click()
switch(mode) switch(mode)
@@ -133,6 +131,8 @@
/obj/item/abductor /obj/item/abductor
icon = 'icons/obj/abductor.dmi' icon = 'icons/obj/abductor.dmi'
lefthand_file = 'icons/mob/inhands/antag/abductor_lefthand.dmi'
righthand_file = 'icons/mob/inhands/antag/abductor_righthand.dmi'
/obj/item/abductor/proc/AbductorCheck(user) /obj/item/abductor/proc/AbductorCheck(user)
if(isabductor(user)) if(isabductor(user))
@@ -156,8 +156,6 @@
desc = "A dual-mode tool for retrieving specimens and scanning appearances. Scanning can be done through cameras." desc = "A dual-mode tool for retrieving specimens and scanning appearances. Scanning can be done through cameras."
icon_state = "gizmo_scan" icon_state = "gizmo_scan"
item_state = "silencer" item_state = "silencer"
lefthand_file = 'icons/mob/inhands/antag/abductor_lefthand.dmi'
righthand_file = 'icons/mob/inhands/antag/abductor_righthand.dmi'
var/mode = GIZMO_SCAN var/mode = GIZMO_SCAN
var/mob/living/marked = null var/mob/living/marked = null
var/obj/machinery/abductor/console/console var/obj/machinery/abductor/console/console
@@ -245,8 +243,6 @@
desc = "A compact device used to shut down communications equipment." desc = "A compact device used to shut down communications equipment."
icon_state = "silencer" icon_state = "silencer"
item_state = "gizmo" item_state = "gizmo"
lefthand_file = 'icons/mob/inhands/antag/abductor_lefthand.dmi'
righthand_file = 'icons/mob/inhands/antag/abductor_righthand.dmi'
/obj/item/abductor/silencer/attack(mob/living/M, mob/user) /obj/item/abductor/silencer/attack(mob/living/M, mob/user)
if(!AbductorCheck(user)) if(!AbductorCheck(user))
@@ -290,8 +286,6 @@
or to send a command to a test subject with a charged gland." or to send a command to a test subject with a charged gland."
icon_state = "mind_device_message" icon_state = "mind_device_message"
item_state = "silencer" item_state = "silencer"
lefthand_file = 'icons/mob/inhands/antag/abductor_lefthand.dmi'
righthand_file = 'icons/mob/inhands/antag/abductor_righthand.dmi'
var/mode = MIND_DEVICE_MESSAGE var/mode = MIND_DEVICE_MESSAGE
/obj/item/abductor/mind_device/attack_self(mob/user) /obj/item/abductor/mind_device/attack_self(mob/user)
@@ -421,21 +415,18 @@ Congratulations! You are now trained for invasive xenobiology research!"}
#define BATON_PROBE 3 #define BATON_PROBE 3
#define BATON_MODES 4 #define BATON_MODES 4
/obj/item/abductor_baton /obj/item/abductor/baton
name = "advanced baton" name = "advanced baton"
desc = "A quad-mode baton used for incapacitation and restraining of specimens." desc = "A quad-mode baton used for incapacitation and restraining of specimens."
var/mode = BATON_STUN var/mode = BATON_STUN
icon = 'icons/obj/abductor.dmi'
icon_state = "wonderprodStun" icon_state = "wonderprodStun"
item_state = "wonderprod" item_state = "wonderprod"
lefthand_file = 'icons/mob/inhands/antag/abductor_lefthand.dmi'
righthand_file = 'icons/mob/inhands/antag/abductor_righthand.dmi'
slot_flags = ITEM_SLOT_BELT slot_flags = ITEM_SLOT_BELT
force = 7 force = 7
w_class = WEIGHT_CLASS_NORMAL w_class = WEIGHT_CLASS_NORMAL
actions_types = list(/datum/action/item_action/toggle_mode) actions_types = list(/datum/action/item_action/toggle_mode)
/obj/item/abductor_baton/proc/toggle(mob/living/user=usr) /obj/item/abductor/baton/proc/toggle(mob/living/user=usr)
mode = (mode+1)%BATON_MODES mode = (mode+1)%BATON_MODES
var/txt var/txt
switch(mode) switch(mode)
@@ -451,7 +442,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
to_chat(usr, "<span class='notice'>You switch the baton to [txt] mode.</span>") to_chat(usr, "<span class='notice'>You switch the baton to [txt] mode.</span>")
update_icon() update_icon()
/obj/item/abductor_baton/update_icon() /obj/item/abductor/baton/update_icon()
switch(mode) switch(mode)
if(BATON_STUN) if(BATON_STUN)
icon_state = "wonderprodStun" icon_state = "wonderprodStun"
@@ -466,8 +457,8 @@ Congratulations! You are now trained for invasive xenobiology research!"}
icon_state = "wonderprodProbe" icon_state = "wonderprodProbe"
item_state = "wonderprodProbe" item_state = "wonderprodProbe"
/obj/item/abductor_baton/attack(mob/target, mob/living/user) /obj/item/abductor/baton/attack(mob/target, mob/living/user)
if(!isabductor(user)) if(!AbductorCheck(user))
return return
if(iscyborg(target)) if(iscyborg(target))
@@ -484,8 +475,8 @@ Congratulations! You are now trained for invasive xenobiology research!"}
if(ishuman(L)) if(ishuman(L))
var/mob/living/carbon/human/H = L var/mob/living/carbon/human/H = L
if(H.check_shields(src, 0, "[user]'s [name]", MELEE_ATTACK)) if(H.check_shields(src, 0, "[user]'s [name]", MELEE_ATTACK))
playsound(L, 'sound/weapons/genhit.ogg', 50, 1) playsound(H, 'sound/weapons/genhit.ogg', 50, TRUE)
return 0 return FALSE
switch (mode) switch (mode)
if(BATON_STUN) if(BATON_STUN)
@@ -497,10 +488,10 @@ Congratulations! You are now trained for invasive xenobiology research!"}
if(BATON_PROBE) if(BATON_PROBE)
ProbeAttack(L,user) ProbeAttack(L,user)
/obj/item/abductor_baton/attack_self(mob/living/user) /obj/item/abductor/baton/attack_self(mob/living/user)
toggle(user) toggle(user)
/obj/item/abductor_baton/proc/StunAttack(mob/living/L,mob/living/user) /obj/item/abductor/baton/proc/StunAttack(mob/living/L,mob/living/user)
L.lastattacker = user.real_name L.lastattacker = user.real_name
L.lastattackerckey = user.ckey L.lastattackerckey = user.ckey
@@ -511,7 +502,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
L.visible_message("<span class='danger'>[user] has stunned [L] with [src]!</span>", \ L.visible_message("<span class='danger'>[user] has stunned [L] with [src]!</span>", \
"<span class='userdanger'>[user] has stunned you with [src]!</span>") "<span class='userdanger'>[user] has stunned you with [src]!</span>")
playsound(loc, 'sound/weapons/egloves.ogg', 50, 1, -1) playsound(src, 'sound/weapons/egloves.ogg', 50, TRUE, -1)
if(ishuman(L)) if(ishuman(L))
var/mob/living/carbon/human/H = L var/mob/living/carbon/human/H = L
@@ -519,7 +510,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
log_combat(user, L, "stunned") log_combat(user, L, "stunned")
/obj/item/abductor_baton/proc/SleepAttack(mob/living/L,mob/living/user) /obj/item/abductor/baton/proc/SleepAttack(mob/living/L,mob/living/user)
if(L.incapacitated(TRUE, TRUE)) if(L.incapacitated(TRUE, TRUE))
if(istype(L.get_item_by_slot(SLOT_HEAD), /obj/item/clothing/head/foilhat)) if(istype(L.get_item_by_slot(SLOT_HEAD), /obj/item/clothing/head/foilhat))
to_chat(user, "<span class='warning'>The specimen's protective headgear is interfering with the sleep inducement!</span>") to_chat(user, "<span class='warning'>The specimen's protective headgear is interfering with the sleep inducement!</span>")
@@ -529,7 +520,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
return return
L.visible_message("<span class='danger'>[user] has induced sleep in [L] with [src]!</span>", \ L.visible_message("<span class='danger'>[user] has induced sleep in [L] with [src]!</span>", \
"<span class='userdanger'>You suddenly feel very drowsy!</span>") "<span class='userdanger'>You suddenly feel very drowsy!</span>")
playsound(loc, 'sound/weapons/egloves.ogg', 50, 1, -1) playsound(src, 'sound/weapons/egloves.ogg', 50, TRUE, -1)
L.Sleeping(1200) L.Sleeping(1200)
log_combat(user, L, "put to sleep") log_combat(user, L, "put to sleep")
else else
@@ -543,13 +534,13 @@ Congratulations! You are now trained for invasive xenobiology research!"}
L.visible_message("<span class='danger'>[user] tried to induce sleep in [L] with [src]!</span>", \ L.visible_message("<span class='danger'>[user] tried to induce sleep in [L] with [src]!</span>", \
"<span class='userdanger'>You suddenly feel drowsy!</span>") "<span class='userdanger'>You suddenly feel drowsy!</span>")
/obj/item/abductor_baton/proc/CuffAttack(mob/living/L,mob/living/user) /obj/item/abductor/baton/proc/CuffAttack(mob/living/L,mob/living/user)
if(!iscarbon(L)) if(!iscarbon(L))
return return
var/mob/living/carbon/C = L var/mob/living/carbon/C = L
if(!C.handcuffed) if(!C.handcuffed)
if(C.get_num_arms(FALSE) >= 2 || C.get_arm_ignore()) if(C.get_num_arms(FALSE) >= 2 || C.get_arm_ignore())
playsound(loc, 'sound/weapons/cablecuff.ogg', 30, 1, -2) playsound(src, 'sound/weapons/cablecuff.ogg', 30, TRUE, -2)
C.visible_message("<span class='danger'>[user] begins restraining [C] with [src]!</span>", \ C.visible_message("<span class='danger'>[user] begins restraining [C] with [src]!</span>", \
"<span class='userdanger'>[user] begins shaping an energy field around your hands!</span>") "<span class='userdanger'>[user] begins shaping an energy field around your hands!</span>")
if(do_mob(user, C, 30) && (C.get_num_arms(FALSE) >= 2 || C.get_arm_ignore())) if(do_mob(user, C, 30) && (C.get_num_arms(FALSE) >= 2 || C.get_arm_ignore()))
@@ -563,7 +554,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
else else
to_chat(user, "<span class='warning'>[C] doesn't have two hands...</span>") to_chat(user, "<span class='warning'>[C] doesn't have two hands...</span>")
/obj/item/abductor_baton/proc/ProbeAttack(mob/living/L,mob/living/user) /obj/item/abductor/baton/proc/ProbeAttack(mob/living/L,mob/living/user)
L.visible_message("<span class='danger'>[user] probes [L] with [src]!</span>", \ L.visible_message("<span class='danger'>[user] probes [L] with [src]!</span>", \
"<span class='userdanger'>[user] probes you!</span>") "<span class='userdanger'>[user] probes you!</span>")
@@ -608,7 +599,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
S.start() S.start()
. = ..() . = ..()
/obj/item/abductor_baton/examine(mob/user) /obj/item/abductor/baton/examine(mob/user)
..() ..()
switch(mode) switch(mode)
if(BATON_STUN) if(BATON_STUN)
@@ -708,7 +699,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
to_chat(user, "<span class='notice'>You start disassembling [src]...</span>") to_chat(user, "<span class='notice'>You start disassembling [src]...</span>")
I.play_tool_sound(src) I.play_tool_sound(src)
if(I.use_tool(src, user, 30)) if(I.use_tool(src, user, 30))
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1) playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE)
for(var/i = 1, i <= framestackamount, i++) for(var/i = 1, i <= framestackamount, i++)
new framestack(get_turf(src)) new framestack(get_turf(src))
qdel(src) qdel(src)

View File

@@ -34,7 +34,7 @@
name = "Abductor Agent" name = "Abductor Agent"
head = /obj/item/clothing/head/helmet/abductor head = /obj/item/clothing/head/helmet/abductor
suit = /obj/item/clothing/suit/armor/abductor/vest suit = /obj/item/clothing/suit/armor/abductor/vest
suit_store = /obj/item/abductor_baton suit_store = /obj/item/abductor/baton
belt = /obj/item/storage/belt/military/abductor/full belt = /obj/item/storage/belt/military/abductor/full
backpack_contents = list( backpack_contents = list(

View File

@@ -101,7 +101,7 @@
else if(href_list["dispense"]) else if(href_list["dispense"])
switch(href_list["dispense"]) switch(href_list["dispense"])
if("baton") if("baton")
Dispense(/obj/item/abductor_baton,cost=2) Dispense(/obj/item/abductor/baton,cost=2)
if("helmet") if("helmet")
Dispense(/obj/item/clothing/head/helmet/abductor) Dispense(/obj/item/clothing/head/helmet/abductor)
if("silencer") if("silencer")

View File

@@ -945,7 +945,7 @@
prereq_ids = list("biotech","engineering") prereq_ids = list("biotech","engineering")
boost_item_paths = list(/obj/item/gun/energy/alien, /obj/item/scalpel/alien, /obj/item/hemostat/alien, /obj/item/retractor/alien, /obj/item/circular_saw/alien, boost_item_paths = list(/obj/item/gun/energy/alien, /obj/item/scalpel/alien, /obj/item/hemostat/alien, /obj/item/retractor/alien, /obj/item/circular_saw/alien,
/obj/item/cautery/alien, /obj/item/surgicaldrill/alien, /obj/item/screwdriver/abductor, /obj/item/wrench/abductor, /obj/item/crowbar/abductor, /obj/item/multitool/abductor, /obj/item/cautery/alien, /obj/item/surgicaldrill/alien, /obj/item/screwdriver/abductor, /obj/item/wrench/abductor, /obj/item/crowbar/abductor, /obj/item/multitool/abductor,
/obj/item/weldingtool/abductor, /obj/item/wirecutters/abductor, /obj/item/circuitboard/machine/abductor, /obj/item/abductor_baton, /obj/item/abductor) /obj/item/weldingtool/abductor, /obj/item/wirecutters/abductor, /obj/item/circuitboard/machine/abductor, /obj/item/abductor/baton, /obj/item/abductor)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
export_price = 20000 export_price = 20000
hidden = TRUE hidden = TRUE
@@ -959,7 +959,7 @@
design_ids = list("alien_scalpel", "alien_hemostat", "alien_retractor", "alien_saw", "alien_drill", "alien_cautery") design_ids = list("alien_scalpel", "alien_hemostat", "alien_retractor", "alien_saw", "alien_drill", "alien_cautery")
boost_item_paths = list(/obj/item/gun/energy/alien, /obj/item/scalpel/alien, /obj/item/hemostat/alien, /obj/item/retractor/alien, /obj/item/circular_saw/alien, boost_item_paths = list(/obj/item/gun/energy/alien, /obj/item/scalpel/alien, /obj/item/hemostat/alien, /obj/item/retractor/alien, /obj/item/circular_saw/alien,
/obj/item/cautery/alien, /obj/item/surgicaldrill/alien, /obj/item/screwdriver/abductor, /obj/item/wrench/abductor, /obj/item/crowbar/abductor, /obj/item/multitool/abductor, /obj/item/cautery/alien, /obj/item/surgicaldrill/alien, /obj/item/screwdriver/abductor, /obj/item/wrench/abductor, /obj/item/crowbar/abductor, /obj/item/multitool/abductor,
/obj/item/weldingtool/abductor, /obj/item/wirecutters/abductor, /obj/item/circuitboard/machine/abductor, /obj/item/abductor_baton, /obj/item/abductor) /obj/item/weldingtool/abductor, /obj/item/wirecutters/abductor, /obj/item/circuitboard/machine/abductor, /obj/item/abductor/baton, /obj/item/abductor)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
export_price = 20000 export_price = 20000
hidden = TRUE hidden = TRUE
@@ -971,7 +971,7 @@
prereq_ids = list("alientech", "adv_engi") prereq_ids = list("alientech", "adv_engi")
design_ids = list("alien_wrench", "alien_wirecutters", "alien_screwdriver", "alien_crowbar", "alien_welder", "alien_multitool") design_ids = list("alien_wrench", "alien_wirecutters", "alien_screwdriver", "alien_crowbar", "alien_welder", "alien_multitool")
boost_item_paths = list(/obj/item/screwdriver/abductor, /obj/item/wrench/abductor, /obj/item/crowbar/abductor, /obj/item/multitool/abductor, boost_item_paths = list(/obj/item/screwdriver/abductor, /obj/item/wrench/abductor, /obj/item/crowbar/abductor, /obj/item/multitool/abductor,
/obj/item/weldingtool/abductor, /obj/item/wirecutters/abductor, /obj/item/circuitboard/machine/abductor, /obj/item/abductor_baton, /obj/item/abductor) /obj/item/weldingtool/abductor, /obj/item/wirecutters/abductor, /obj/item/circuitboard/machine/abductor, /obj/item/abductor/baton, /obj/item/abductor)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
export_price = 20000 export_price = 20000
hidden = TRUE hidden = TRUE