本文整理汇总了Python中pirates.battle.WeaponGlobals.getNeedTarget方法的典型用法代码示例。如果您正苦于以下问题:Python WeaponGlobals.getNeedTarget方法的具体用法?Python WeaponGlobals.getNeedTarget怎么用?Python WeaponGlobals.getNeedTarget使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pirates.battle.WeaponGlobals
的用法示例。
在下文中一共展示了WeaponGlobals.getNeedTarget方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: doAttack
# 需要导入模块: from pirates.battle import WeaponGlobals [as 别名]
# 或者: from pirates.battle.WeaponGlobals import getNeedTarget [as 别名]
def doAttack(self, attacker, skillId, ammoSkillId, targetId, areaIdList, pos, combo = 0, charge = 0):
attacker.battleRandom.advanceAttackSeed()
if targetId:
if WeaponGlobals.getIsShipSkill(skillId):
target = base.cr.doId2do.get(targetId)
elif WeaponGlobals.getIsDollAttackSkill(skillId):
target = base.cr.doId2do.get(targetId)
else:
target = base.cr.doId2do.get(targetId)
if hasattr(target, 'getSkillEffects'):
if WeaponGlobals.C_SPAWN in set(target.getSkillEffects()):
return WeaponGlobals.RESULT_MISS
if target and not TeamUtils.damageAllowed(localAvatar, target) and not WeaponGlobals.isFriendlyFire(skillId, ammoSkillId):
return WeaponGlobals.RESULT_NOT_AVAILABLE
else:
target = None
weaponHit = self.willWeaponHit(attacker, target, skillId, ammoSkillId, charge)
if combo == -1:
if localAvatar.wantComboTiming:
return WeaponGlobals.RESULT_MISS
if not WeaponGlobals.getNeedTarget(skillId, ammoSkillId):
return WeaponGlobals.RESULT_HIT
if not target and not areaIdList:
messenger.send('tooFar')
return WeaponGlobals.RESULT_MISS
if target and not self.obeysPirateCode(attacker, target):
if ItemGlobals.getSubtype(localAvatar.currentWeaponId) == ItemGlobals.BAYONET:
pass
if not (WeaponGlobals.getAttackClass(skillId) == WeaponGlobals.AC_COMBAT):
return WeaponGlobals.RESULT_AGAINST_PIRATE_CODE
if target and not self.targetInRange(attacker, target, skillId, ammoSkillId, pos):
return WeaponGlobals.RESULT_OUT_OF_RANGE
if target and isinstance(target, DistributedBattleNPC.DistributedBattleNPC):
if target.getGameState()[0] == 'BreakCombat':
return WeaponGlobals.RESULT_MISS
if target:
skillEffects = target.getSkillEffects()
if WeaponGlobals.C_SPAWN in skillEffects:
return WeaponGlobals.RESULT_MISS
messenger.send('properHit')
return weaponHit