-Giacom's feedback

-Fixed secbots being able to stun silicons
-Added an attack cooldown for secbots
This commit is contained in:
ikarrus
2014-06-27 09:25:52 -06:00
parent 8b690f492d
commit 6befeed46f
6 changed files with 32 additions and 19 deletions
+3
View File
@@ -53,6 +53,7 @@
return
/obj/machinery/bot/attack_alien(var/mob/living/carbon/alien/user as mob)
user.changeNext_move(8)
src.health -= rand(15,30)*brute_dam_coeff
src.visible_message("\red <B>[user] has slashed [src]!</B>")
playsound(src.loc, 'sound/weapons/slice.ogg', 25, 1, -1)
@@ -63,6 +64,7 @@
/obj/machinery/bot/attack_animal(var/mob/living/simple_animal/M as mob)
if(M.melee_damage_upper == 0) return
M.changeNext_move(8)
src.health -= M.melee_damage_upper
src.visible_message("\red <B>[M] has [M.attacktext] [src]!</B>")
add_logs(M, src, "attacked", admin=0)
@@ -91,6 +93,7 @@
Emag(user)
else
if(hasvar(W,"force") && hasvar(W,"damtype"))
user.changeNext_move(8)
switch(W.damtype)
if("fire")
src.health -= W.force * fire_dam_coeff
+12 -8
View File
@@ -149,7 +149,7 @@ Auto Patrol: []"},
"<A href='?src=\ref[src];operation=declarearrests'>[src.declare_arrests ? "Yes" : "No"]</A>",
"<A href='?src=\ref[src];operation=patrol'>[auto_patrol ? "On" : "Off"]</A>" )
var/datum/browser/popup = new(user, "autosec", "Securitron v2.6 controls")
var/datum/browser/popup = new(user, "autosec", "Securitron v2.09 controls")
popup.set_content(dat)
popup.open()
return
@@ -221,10 +221,13 @@ Auto Patrol: []"},
..()
if (!istype(W, /obj/item/weapon/screwdriver) && !istype(W, /obj/item/weapon/weldingtool) && (!src.target)) // Added check for welding tool to fix #2432. Welding tool behavior is handled in superclass.
if(hasvar(W,"force") && W.force)//If force is defined and non-zero
src.target = user
if(lasercolor)//To make up for the fact that lasertag bots don't hunt
src.shootAt(user)
src.mode = SECBOT_HUNT
threatlevel = user.assess_threat(src)
threatlevel += 6
if(threatlevel > 0)
src.target = user
if(lasercolor)//To make up for the fact that lasertag bots don't hunt
src.shootAt(user)
src.mode = SECBOT_HUNT
/obj/machinery/bot/ed209/Emag(mob/user as mob)
..()
@@ -1014,6 +1017,7 @@ Auto Patrol: []"},
/obj/machinery/bot/ed209/proc/declare_arrest()
var/area/location = get_area(src)
for(var/mob/living/carbon/human/human in world)
if((human.z == src.z) && istype(human.glasses, /obj/item/clothing/glasses/hud/security) && !human.blinded)
human << "<span class='info'>\icon[human.glasses] [src.name] is [arrest_type ? "detaining" : "arresting"] level [threatlevel] scumbag <b>[target]</b> in <b>[location]</b></span>"
for(var/mob/living/carbon/human/human in mob_list)
var/turf/humanturf = get_turf(human)
if((humanturf.z == src.z) && istype(human.glasses, /obj/item/clothing/glasses/hud/security))
human.show_message("<span class='info'>\icon[human.glasses] [src.name] is [arrest_type ? "detaining" : "arresting"] level [threatlevel] scumbag <b>[target]</b> in <b>[location]</b></span>", 1)
+9 -5
View File
@@ -207,8 +207,11 @@ Auto Patrol: []"},
else
..()
if(!istype(W, /obj/item/weapon/screwdriver) && !istype(W, /obj/item/weapon/weldingtool) && (W.force) && (!src.target)) // Added check for welding tool to fix #2432. Welding tool behavior is handled in superclass.
src.target = user
src.mode = SECBOT_HUNT
threatlevel = user.assess_threat(src)
threatlevel += 6
if(threatlevel > 0)
src.target = user
src.mode = SECBOT_HUNT
/obj/machinery/bot/secbot/Emag(mob/user as mob)
..()
@@ -775,6 +778,7 @@ Auto Patrol: []"},
/obj/machinery/bot/secbot/proc/declare_arrest()
var/area/location = get_area(src)
for(var/mob/living/carbon/human/human in world)
if((human.z == src.z) && istype(human.glasses, /obj/item/clothing/glasses/hud/security) && !human.blinded)
human << "<span class='info'>\icon[human.glasses] [src.name] is [arrest_type ? "detaining" : "arresting"] level [threatlevel] scumbag <b>[target]</b> in <b>[location]</b></span>"
for(var/mob/living/carbon/human/human in mob_list)
var/turf/humanturf = get_turf(human)
if((humanturf.z == src.z) && istype(human.glasses, /obj/item/clothing/glasses/hud/security))
human.show_message("<span class='info'>\icon[human.glasses] [src.name] is [arrest_type ? "detaining" : "arresting"] level [threatlevel] scumbag <b>[target]</b> in <b>[location]</b></span>", 1)
+1 -5
View File
@@ -482,8 +482,4 @@ var/const/GALOSHES_DONT_HELP = 8
loc.handle_slip(src, s_amount, w_amount, O, lube)
/mob/living/carbon/fall(var/forced)
loc.handle_fall(src, forced)//it's loc so it doesn't call the mob's handle_fall which does nothing
/mob/living/carbon/proc/assess_threat()
return
loc.handle_fall(src, forced)//it's loc so it doesn't call the mob's handle_fall which does nothing
+5 -1
View File
@@ -306,4 +306,8 @@
// The src mob is trying to place an item on someone
// But the src mob is a silicon!! Disable.
/mob/living/silicon/stripPanelEquip(obj/item/what, mob/who, slot)
return 0
return 0
/mob/living/silicon/assess_threat() //Secbots won't hunt silicon units
return -10
+2
View File
@@ -794,3 +794,5 @@ var/list/slot_equipment_priority = list( \
update_canmove()
return
/mob/proc/assess_threat() //For sec bot threat assessment
return