Make combat borg shield only need inv to be active

This commit is contained in:
ZomgPonies
2015-11-20 19:04:49 -05:00
parent b8b7075780
commit 589239f3cd
3 changed files with 37 additions and 6 deletions
+20 -1
View File
@@ -1001,7 +1001,7 @@ var/list/robot_verbs_default = list(
else
overlays += "ov-openpanel -c"
if(module_active && istype(module_active,/obj/item/borg/combat/shield))
if(activated(/obj/item/borg/combat/shield))
overlays += "[icon_state]-shield"
if(modtype == "Combat")
@@ -1430,3 +1430,22 @@ var/list/robot_verbs_default = list(
choose_icon(6,module_sprites)
radio.config(module.channels)
notify_ai(2)
/mob/living/silicon/robot/peacekeeper/New()
..()
var/module_sprites[0] //Used to store the associations between sprite names and sprite index.
module = new /obj/item/weapon/robot_module/combat(src)
module_sprites["Combat Android"] = "droidpeace"
//languages
module.add_languages(src)
//subsystems
module.add_subsystems(src)
hands.icon_state = lowertext("Combat")
updatename()
status_flags &= ~CANPUSH
choose_icon(6,module_sprites)
notify_ai(2)
@@ -67,8 +67,14 @@
return
//Combat shielding absorbs a percentage of damage directly into the cell.
if(module_active && istype(module_active,/obj/item/borg/combat/shield))
var/obj/item/borg/combat/shield/shield = module_active
var/obj/item/borg/combat/shield/shield
if((module_state_1 && istype(module_state_1,/obj/item/borg/combat/shield))
shield = module_state_1
else if(module_state_2 && istype(module_state_2,/obj/item/borg/combat/shield))
shield = module_state 2
else if(module_state 3 && istype(module_state_3,/obj/item/borg/combat/shield))
shield = module_state 3
if(shield)
//Shields absorb a certain percentage of damage based on their power setting.
var/absorb_brute = brute*shield.shield_level
var/absorb_burn = burn*shield.shield_level
@@ -112,8 +118,14 @@
var/list/datum/robot_component/parts = get_damageable_components()
//Combat shielding absorbs a percentage of damage directly into the cell.
if(module_active && istype(module_active,/obj/item/borg/combat/shield))
var/obj/item/borg/combat/shield/shield = module_active
var/obj/item/borg/combat/shield/shield
if((module_state_1 && istype(module_state_1,/obj/item/borg/combat/shield))
shield = module_state_1
else if(module_state_2 && istype(module_state_2,/obj/item/borg/combat/shield))
shield = module_state 2
else if(module_state 3 && istype(module_state_3,/obj/item/borg/combat/shield))
shield = module_state 3
if(shield)
//Shields absorb a certain percentage of damage based on their power setting.
var/absorb_brute = brute*shield.shield_level
var/absorb_burn = burn*shield.shield_level