diff --git a/code/game/gamemodes/nations/nations.dm b/code/game/gamemodes/nations/nations.dm
index 0170f52251f..fe3bf7b9ac4 100644
--- a/code/game/gamemodes/nations/nations.dm
+++ b/code/game/gamemodes/nations/nations.dm
@@ -117,7 +117,7 @@ datum/game_mode/nations
AI.add_inherent_law("Remain available to mediate all conflicts between the various nations when asked to.")
AI.show_laws()
for(var/mob/living/silicon/robot/R in AI.connected_robots)
- R.change_mob_type( /mob/living/silicon/robot/combat , null, null, 1, 1 )
+ R.change_mob_type(/mob/living/silicon/robot/peacekeeper, null, null, 1, 1 )
R.lawsync()
R.show_laws()
diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm
index 063ffefbe78..2302c12165f 100644
--- a/code/game/objects/items/devices/flash.dm
+++ b/code/game/objects/items/devices/flash.dm
@@ -110,7 +110,7 @@
else if(issilicon(M))
var/mob/living/silicon/robot/R = M
- if(R,activated(/obj/item/borg/combat/shield))
+ if(R.activated(/obj/item/borg/combat/shield))
add_logs(M, user, "flashed", object="[src.name]")
user.visible_message("[user] tries to overloads [M]'s sensors with the [src.name], but if blocked by [M]'s shield!", "You try to overload [M]'s sensors with the [src.name], but are blocked by his shield!")
return 1
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index bf1222e76e1..21692df44dc 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -1435,8 +1435,8 @@ var/list/robot_verbs_default = list(
/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"
+ module = new /obj/item/weapon/robot_module/peacekeeper(src)
+ module_sprites["Peacekeeper Android"] = "droidpeace"
//languages
module.add_languages(src)
//subsystems
diff --git a/code/modules/mob/living/silicon/robot/robot_damage.dm b/code/modules/mob/living/silicon/robot/robot_damage.dm
index 6fbef87e174..6628841fa40 100644
--- a/code/modules/mob/living/silicon/robot/robot_damage.dm
+++ b/code/modules/mob/living/silicon/robot/robot_damage.dm
@@ -68,12 +68,12 @@
//Combat shielding absorbs a percentage of damage directly into the cell.
var/obj/item/borg/combat/shield/shield
- if((module_state_1 && istype(module_state_1,/obj/item/borg/combat/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
+ 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
@@ -119,12 +119,12 @@
//Combat shielding absorbs a percentage of damage directly into the cell.
var/obj/item/borg/combat/shield/shield
- if((module_state_1 && istype(module_state_1,/obj/item/borg/combat/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
+ 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
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index 31e2fc7cec6..cc64a760097 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -423,6 +423,21 @@
fix_modules()
+/obj/item/weapon/robot_module/peacekeeper
+ name = "peacekeepert robot module"
+
+/obj/item/weapon/robot_module/peacekeeper/New()
+ src.modules += new /obj/item/device/flash/cyborg(src)
+ src.modules += new /obj/item/weapon/restraints/handcuffs/cable/zipties/cyborg(src)
+ src.modules += new /obj/item/weapon/gun/energy/gun/cyborg(src)
+ src.modules += new /obj/item/weapon/gun/energy/plasmacutter(src)
+ src.modules += new /obj/item/borg/combat/shield(src)
+ src.modules += new /obj/item/borg/combat/mobility(src)
+ src.modules += new /obj/item/weapon/wrench(src) //Is a combat android really going to be stopped by a chair?
+ src.emag = new /obj/item/weapon/gun/energy/lasercannon/cyborg(src)
+
+ fix_modules()
+
/obj/item/weapon/robot_module/alien/hunter
name = "alien hunter module"
diff --git a/icons/mob/robots.dmi b/icons/mob/robots.dmi
index 9d5d09f00ac..6bad482e8e4 100644
Binary files a/icons/mob/robots.dmi and b/icons/mob/robots.dmi differ