Fixed a few bugs

- Fixed KBT90
- Added simulationService method for nearby players
- Fixed an AI State issue
This commit is contained in:
CharonInferar
2014-08-06 22:26:24 +02:00
parent 1b6f522480
commit 79d56ca4ef
15 changed files with 519 additions and 54 deletions
+15
View File
@@ -214,6 +214,12 @@ def run(core, actor, target, commandString):
if latarget.getAttachment('AI'):
actor.sendSystemMessage('Checking AI progression %s' % latarget.getAttachment('AI').getProgressionMarker(), 0)
elif command == 'checkwithdrawn':
latargetID = long(actor.getIntendedTarget())
latarget = core.objectService.getObject(latargetID)
if latarget.getAttachment('isWithdrawn'):
actor.sendSystemMessage('Checking AIisWithdrawn %s' % latarget.getAttachment('isWithdrawn'), 0)
elif command == 'showbitmask':
latargetID = long(actor.getIntendedTarget())
latarget = core.objectService.getObject(latargetID)
@@ -269,6 +275,15 @@ def run(core, actor, target, commandString):
positionY = core.terrainService.getHeight(inst.getPlanetId(), inst.getPosition().x, inst.getPosition().z)
instpos = Point3D(inst.getPosition().x,positionY+2, inst.getPosition().z)
inst.setPosition(instpos)
elif command == 'los':
latargetID = long(actor.getIntendedTarget())
latarget = core.objectService.getObject(latargetID)
los = core.simulationService.checkLineOfSight(actor, latarget)
if los:
actor.sendSystemMessage('Line of sight between player and target', 0)
else:
actor.sendSystemMessage('NO Line of sight between player and target', 0)
elif command == 'unknownAbilityPacket' and arg1:
packet = UnknownAbilityPacket(arg1)
@@ -0,0 +1,45 @@
import sys
from services.spawn import MobileTemplate
from services.spawn import WeaponTemplate
from resources.datatables import WeaponType
from resources.datatables import Difficulty
from resources.datatables import Options
from resources.datatables import FactionStatus
from java.util import Vector
def addTemplate(core):
mobileTemplate = MobileTemplate()
mobileTemplate.setCustomName('A demoralized imperial soldier')
mobileTemplate.setLevel(90)
mobileTemplate.setDifficulty(Difficulty.ELITE)
mobileTemplate.setMinSpawnDistance(4)
mobileTemplate.setMaxSpawnDistance(8)
mobileTemplate.setDeathblow(True)
mobileTemplate.setSocialGroup("imperial")
mobileTemplate.setAssistRange(0)
mobileTemplate.setStalker(False)
mobileTemplate.setFaction("imperial")
mobileTemplate.setFactionStatus(FactionStatus.Combatant)
mobileTemplate.setAIEnabled(False)
templates = Vector()
templates.add('object/mobile/shared_dressed_stormtrooper_black_white.iff')
templates.add('object/mobile/shared_dressed_stormtrooper_white_black.iff')
templates.add('object/mobile/shared_dressed_stormtrooper_white_white.iff')
templates.add('object/mobile/shared_dark_trooper.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', WeaponType.CARBINE, 1.0, 15, 'energy')
weaponTemplates.add(weapontemplate)
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
mobileTemplate.setDefaultAttack('rangedShot')
mobileTemplate.setAttacks(attacks)
core.spawnService.addMobileTemplate('imp_invasion_demoralized_soldier', mobileTemplate)
return
@@ -0,0 +1,45 @@
import sys
from services.spawn import MobileTemplate
from services.spawn import WeaponTemplate
from resources.datatables import WeaponType
from resources.datatables import Difficulty
from resources.datatables import Options
from resources.datatables import FactionStatus
from java.util import Vector
def addTemplate(core):
mobileTemplate = MobileTemplate()
mobileTemplate.setCustomName('A disabled AT-ST')
mobileTemplate.setLevel(90)
mobileTemplate.setDifficulty(Difficulty.ELITE)
mobileTemplate.setMinSpawnDistance(4)
mobileTemplate.setMaxSpawnDistance(8)
mobileTemplate.setDeathblow(True)
mobileTemplate.setScale(1)
mobileTemplate.setSocialGroup("imperial")
mobileTemplate.setAssistRange(0)
mobileTemplate.setStalker(False)
mobileTemplate.setFaction("imperial")
mobileTemplate.setFactionStatus(FactionStatus.Combatant)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
mobileTemplate.setAIEnabled(False)
templates = Vector()
templates.add('object/mobile/shared_atst.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector() # object/weapon/ranged/turret/shared_turret_heat.iff object/weapon/ranged/vehicle/shared_vehicle_atst_ranged.iff
weapontemplate = WeaponTemplate('object/weapon/ranged/vehicle/shared_vehicle_atst_ranged.iff', WeaponType.CARBINE, 2.0, 55, 'energy')
#weapontemplate = WeaponTemplate('object/weapon/ranged/rifle/shared_rifle_t21.iff', WeaponType.RIFLE, 1.0, 24, 'energy')
weaponTemplates.add(weapontemplate)
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
mobileTemplate.setDefaultAttack('gcw_atst_attack_tower') #gcw_atst_attack_tower #rangedShot
mobileTemplate.setAttacks(attacks)
core.spawnService.addMobileTemplate('imp_invasion_at_st', mobileTemplate)
return
@@ -0,0 +1,44 @@
import sys
from services.spawn import MobileTemplate
from services.spawn import WeaponTemplate
from resources.datatables import WeaponType
from resources.datatables import Difficulty
from resources.datatables import Options
from resources.datatables import FactionStatus
from java.util import Vector
def addTemplate(core):
mobileTemplate = MobileTemplate()
mobileTemplate.setCreatureName('crackdown_stormtrooper_hard')
mobileTemplate.setLevel(90)
mobileTemplate.setDifficulty(Difficulty.ELITE)
mobileTemplate.setMinSpawnDistance(4)
mobileTemplate.setMaxSpawnDistance(8)
mobileTemplate.setDeathblow(True)
mobileTemplate.setSocialGroup("imperial")
mobileTemplate.setAssistRange(0)
mobileTemplate.setStalker(False)
mobileTemplate.setFaction("imperial")
mobileTemplate.setFactionStatus(FactionStatus.Combatant)
templates = Vector()
templates.add('object/mobile/shared_dressed_stormtrooper_black_white.iff')
templates.add('object/mobile/shared_dressed_stormtrooper_white_black.iff')
templates.add('object/mobile/shared_dressed_stormtrooper_white_white.iff')
templates.add('object/mobile/shared_dark_trooper.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', WeaponType.CARBINE, 1.0, 15, 'energy')
weaponTemplates.add(weapontemplate)
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
mobileTemplate.setDefaultAttack('rangedShot')
mobileTemplate.setAttacks(attacks)
core.spawnService.addMobileTemplate('imp_invasion_soldier_cl90', mobileTemplate)
return
@@ -0,0 +1,46 @@
import sys
from services.spawn import MobileTemplate
from services.spawn import WeaponTemplate
from resources.datatables import WeaponType
from resources.datatables import Difficulty
from resources.datatables import Options
from resources.datatables import FactionStatus
from java.util import Vector
def addTemplate(core):
mobileTemplate = MobileTemplate()
mobileTemplate.setCreatureName('A demoralized rebel soldier')
mobileTemplate.setLevel(90)
mobileTemplate.setDifficulty(Difficulty.ELITE)
mobileTemplate.setMinSpawnDistance(4)
mobileTemplate.setMaxSpawnDistance(8)
mobileTemplate.setDeathblow(True)
mobileTemplate.setSocialGroup("rebel")
mobileTemplate.setAssistRange(0)
mobileTemplate.setStalker(True)
mobileTemplate.setFaction("rebel")
mobileTemplate.setFactionStatus(FactionStatus.Combatant)
mobileTemplate.setAIEnabled(False)
templates = Vector()
templates.add('object/mobile/shared_dressed_rebel_commando_human_female_01.iff')
templates.add('object/mobile/shared_dressed_rebel_commando_human_male_01.iff')
templates.add('object/mobile/shared_dressed_rebel_commando_moncal_male_01.iff')
templates.add('object/mobile/shared_dressed_rebel_commando_rodian_male_01.iff')
templates.add('object/mobile/shared_dressed_rebel_commando_twilek_female_01.iff')
templates.add('object/mobile/shared_dressed_rebel_commando_zabrak_female_01.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e5.iff', WeaponType.CARBINE, 1.0, 15, 'energy')
weaponTemplates.add(weapontemplate)
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
mobileTemplate.setDefaultAttack('rangedShot')
mobileTemplate.setAttacks(attacks)
core.spawnService.addMobileTemplate('rebel_invasion_demoralized_soldier', mobileTemplate)
return
@@ -0,0 +1,44 @@
import sys
from services.spawn import MobileTemplate
from services.spawn import WeaponTemplate
from resources.datatables import WeaponType
from resources.datatables import Difficulty
from resources.datatables import Options
from resources.datatables import FactionStatus
from java.util import Vector
def addTemplate(core):
mobileTemplate = MobileTemplate()
mobileTemplate.setCustomName('A disabled AT-XT')
mobileTemplate.setLevel(90)
mobileTemplate.setDifficulty(Difficulty.ELITE)
mobileTemplate.setMinSpawnDistance(4)
mobileTemplate.setMaxSpawnDistance(8)
mobileTemplate.setDeathblow(True)
mobileTemplate.setScale(1)
mobileTemplate.setSocialGroup("rebel")
mobileTemplate.setAssistRange(0)
mobileTemplate.setStalker(False)
mobileTemplate.setFaction("rebel")
mobileTemplate.setFactionStatus(FactionStatus.Combatant)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
mobileTemplate.setAIEnabled(False)
templates = Vector()
templates.add('object/mobile/shared_atxt.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
weapontemplate = WeaponTemplate('object/weapon/ranged/vehicle/shared_vehicle_atst_ranged.iff', WeaponType.CARBINE, 1.0, 15, 'energy')
weaponTemplates.add(weapontemplate)
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
mobileTemplate.setDefaultAttack('gcw_atst_attack_tower')
mobileTemplate.setAttacks(attacks)
core.spawnService.addMobileTemplate('rebel_invasion_disabled_atxt', mobileTemplate)
return