Skip to content

Commit

Permalink
Move getFlagName into Common
Browse files Browse the repository at this point in the history
Make DroneHelper refuse to attack targets that are not of type HostileNPC
  • Loading branch information
kg committed Nov 21, 2010
1 parent 92299b9 commit f11c381
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 28 deletions.
29 changes: 2 additions & 27 deletions AutoTargeter/autotargeter.py
@@ -1,5 +1,5 @@
import shootblues
from shootblues.common import forceStartService, forceStopService, log, SafeTimer, MainThreadInvoker
from shootblues.common import forceStartService, forceStopService, log, SafeTimer, MainThreadInvoker, getFlagName
import service
import uix
import json
Expand Down Expand Up @@ -161,31 +161,6 @@ def updateTargets(self):
targetSvc.TryLockTarget,
targetID
)

def getFlagName(self, slimItem):
if (slimItem.categoryID != const.categoryEntity):
return None

stateSvc = eve.LocalSvc("state")
props = stateSvc.GetProps()

flag = stateSvc.CheckStates(slimItem, "flag")
if flag:
flagProps = props.get(flag, None)
if flagProps:
return flagProps[1]

colorFlag = 0
if slimItem.typeID:
itemType = eve.LocalSvc("godma").GetType(slimItem.typeID)
for attr in itemType.displayAttributes:
if attr.attributeID == const.attributeEntityBracketColour:
if attr.value == 1:
return "HostileNPC"
elif attr.value == 0:
return "NeutralNPC"

return None

def populateTargets(self):
self.__populateTargets = None
Expand All @@ -203,7 +178,7 @@ def populateTargets(self):
def DoBallsAdded(self, lst, **kwargs):
for (ball, slimItem) in lst:
isValidTarget = False
flag = self.getFlagName(slimItem)
flag = getFlagName(slimItem)

if getPref("TargetHostileNPCs", True) and (flag == "HostileNPC"):
self.__potentialTargets.append(slimItem.itemID)
Expand Down
25 changes: 25 additions & 0 deletions Common/common.py
Expand Up @@ -107,6 +107,31 @@ def forceStartService(serviceName, serviceType):
return result
finally:
stackless.getcurrent().block_trap = old_block_trap

def getFlagName(self, slimItem):
if (slimItem.categoryID != const.categoryEntity):
return None

stateSvc = eve.LocalSvc("state")
props = stateSvc.GetProps()

flag = stateSvc.CheckStates(slimItem, "flag")
if flag:
flagProps = props.get(flag, None)
if flagProps:
return flagProps[1]

colorFlag = 0
if slimItem.typeID:
itemType = eve.LocalSvc("godma").GetType(slimItem.typeID)
for attr in itemType.displayAttributes:
if attr.attributeID == const.attributeEntityBracketColour:
if attr.value == 1:
return "HostileNPC"
elif attr.value == 0:
return "NeutralNPC"

return None

def replaceEveLogger():
global oldLogException, oldLogTraceback
Expand Down
3 changes: 2 additions & 1 deletion DroneHelper/dronehelper.py
@@ -1,5 +1,5 @@
import shootblues
from shootblues.common import forceStartService, forceStopService, log, SafeTimer
from shootblues.common import forceStartService, forceStopService, log, SafeTimer, getFlagName
import service
import uix
import json
Expand Down Expand Up @@ -154,6 +154,7 @@ def filterTargets(self, ids):
return [id for id in ids if
ballpark.GetInvItem(id) and
(id in targetSvc.targets) and
getFlagName(ballpark.GetInvItem(id)) == "HostileNPC" and
(getPriority(targetID=id) >= 0)]

def selectTarget(self):
Expand Down

0 comments on commit f11c381

Please sign in to comment.