diff --git a/scripts/conversation/outbreak_imperial_officer_captain_piett.py b/scripts/conversation/outbreak_imperial_officer_captain_piett.py new file mode 100644 index 00000000..a069b06a --- /dev/null +++ b/scripts/conversation/outbreak_imperial_officer_captain_piett.py @@ -0,0 +1,56 @@ +from engine.resources.scene import Point3D +from resources.common import ConversationOption +from resources.common import OutOfBand +from resources.common import ProsePackage +from java.util import Vector +import sys + +def startConversation(core, actor, npc): + convSvc = core.conversationService + + # The quarantine zone is a restricted area, citizen. + convSvc.sendConversationMessage(actor, npc, OutOfBand.ProsePackage('@conversation/gate_keeper_quarantine_zone:s_10')) + + convSvc.sendConversationOptions(actor, npc, options, handleOptionsOne) + return + +def handleOptionsOne(core, actor, npc, selection): + convSvc = core.conversationService + + options = Vector() + # I have authorization to enter. + options.add(ConversationOption(OutOfBand.ProsePackage('@conversation/gate_keeper_quarantine_zone:s_12'), 0)) + + if selection == 0: + # What? Let me see your authorization code. + convSvc.sendConversationMessage(actor, npc, OutOfBand.ProsePackage('@conversation/gate_keeper_quarantine_zone:s_14')) + + convSvc.sendConversationOptions(actor, npc, options, handleOptionsTwo) + return + +def handleOptionsTwo(core, actor, npc, selection): + convSvc = core.conversationService + + options = Vector() + # Here... + options.add(ConversationOption(OutOfBand.ProsePackage('@conversation/gate_keeper_quarantine_zone:s_16'), 1)) + + if selection == 1: + # Well, I see. Everything checks out. I can't say that I envy you, but I certainly appreciate what you are doing for the Empire...whatever you are doing. + convSvc.sendConversationMessage(actor, npc, OutOfBand.ProsePackage('@conversation/gate_keeper_quarantine_zone:s_19')) + + position = Point3D(-5789, 511, -6558) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("dathomir"), position, owner.getOrientation(), None) + convSvc.sendConversationMessage(actor, npc, OutOfBand.ProsePackage('@conversation/gate_keeper_quarantine_zone:s_14')) + + convSvc.sendConversationOptions(actor, npc, options, endConversation) + return + +def endConversation(core, actor, npc): + convSvc = core.conversationService + + # Go with the blessing, then. + convSvc.sendConversationMessage(actor, npc, OutOfBand.ProsePackage('@conversation/azure_cabal_hoolar:s_195')) + return +return + diff --git a/scripts/conversation/outbreak_imperial_officer_gate_keeper.py b/scripts/conversation/outbreak_imperial_officer_gate_keeper.py index 3d11aa00..368874ea 100644 --- a/scripts/conversation/outbreak_imperial_officer_gate_keeper.py +++ b/scripts/conversation/outbreak_imperial_officer_gate_keeper.py @@ -1,23 +1,57 @@ -#Base file generated using Conversation Script Creator for ProjectSWG +from engine.resources.scene import Point3D from resources.common import ConversationOption from resources.common import OutOfBand from resources.common import ProsePackage from java.util import Vector - import sys def startConversation(core, actor, npc): - #options = new Vector() - #options.add(ConversationOption(OutOfBand.ProsePackage('@conversation/New Conversation Response 4'), 0) - #core.conversationService.sendConversationOptions(actor, npc, handleOptionScreen1) - core.conversationService.sendConversationMessage(actor, npc, OutOfBand.ProsePackage('@conversation/arven_wendik:s_4')) # I'm too busy to talk. - return - -# Handle Response for Begin Conversationdef handleOptionScreen1(core, actor, npc, selection): - - #if selection == 0: - # New Conversation Response 4 + convSvc = core.conversationService + + # The quarantine zone is a restricted area, citizen. + convSvc.sendConversationMessage(actor, npc, OutOfBand.ProsePackage('@conversation/gate_keeper_quarantine_zone:s_10')) + + convSvc.sendConversationOptions(actor, npc, options, handleOptionsOne) return - - return - + +def handleOptionsOne(core, actor, npc, selection): + convSvc = core.conversationService + + options = Vector() + # I have authorization to enter. + options.add(ConversationOption(OutOfBand.ProsePackage('@conversation/gate_keeper_quarantine_zone:s_12'), 0)) + + if selection == 0: + # What? Let me see your authorization code. + convSvc.sendConversationMessage(actor, npc, OutOfBand.ProsePackage('@conversation/gate_keeper_quarantine_zone:s_14')) + + convSvc.sendConversationOptions(actor, npc, options, handleOptionsTwo) + return + +def handleOptionsTwo(core, actor, npc, selection): + convSvc = core.conversationService + + options = Vector() + # Here... + options.add(ConversationOption(OutOfBand.ProsePackage('@conversation/gate_keeper_quarantine_zone:s_16'), 1)) + + if selection == 1: + # Well, I see. Everything checks out. I can't say that I envy you, but I certainly appreciate what you are doing for the Empire...whatever you are doing. + convSvc.sendConversationMessage(actor, npc, OutOfBand.ProsePackage('@conversation/gate_keeper_quarantine_zone:s_19')) + + # *Teleport to inside the gate* + position = Point3D(-5789, 511, -6558) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("dathomir"), position, owner.getOrientation(), None) + convSvc.sendConversationMessage(actor, npc, OutOfBand.ProsePackage('@conversation/gate_keeper_quarantine_zone:s_14')) + + convSvc.sendConversationOptions(actor, npc, options, endConversation) + return + +def endConversation(core, actor, npc): + convSvc = core.conversationService + + # Go with the blessing, then. + convSvc.sendConversationMessage(actor, npc, OutOfBand.ProsePackage('@conversation/azure_cabal_hoolar:s_195')) + return +return + diff --git a/scripts/conversation/outbreak_imperial_trooper_gate_keeper.py b/scripts/conversation/outbreak_imperial_trooper_gate_keeper.py deleted file mode 100644 index 3d11aa00..00000000 --- a/scripts/conversation/outbreak_imperial_trooper_gate_keeper.py +++ /dev/null @@ -1,23 +0,0 @@ -#Base file generated using Conversation Script Creator for ProjectSWG -from resources.common import ConversationOption -from resources.common import OutOfBand -from resources.common import ProsePackage -from java.util import Vector - -import sys - -def startConversation(core, actor, npc): - #options = new Vector() - #options.add(ConversationOption(OutOfBand.ProsePackage('@conversation/New Conversation Response 4'), 0) - #core.conversationService.sendConversationOptions(actor, npc, handleOptionScreen1) - core.conversationService.sendConversationMessage(actor, npc, OutOfBand.ProsePackage('@conversation/arven_wendik:s_4')) # I'm too busy to talk. - return - -# Handle Response for Begin Conversationdef handleOptionScreen1(core, actor, npc, selection): - - #if selection == 0: - # New Conversation Response 4 - return - - return - diff --git a/scripts/conversation/stormtrooper_leader_quarantine_zone.py b/scripts/conversation/stormtrooper_leader_quarantine_zone.py new file mode 100644 index 00000000..677ced59 --- /dev/null +++ b/scripts/conversation/stormtrooper_leader_quarantine_zone.py @@ -0,0 +1,24 @@ +from resources.common import ConversationOption +from resources.common import OutOfBand +from resources.common import ProsePackage +from java.util import Vector +import sys +# TODO: Add teleport line +def startConversation(core, actor, npc): + convSvc = core.conversationService + + convSvc.conversationService.sendConversationMessage(actor, npc, OutOfBand.ProsePackage('@conversation/arven_wendik:s_4')) # I'm too busy to talk. + + options = new Vector() + options.add(ConversationOption(OutOfBand.ProsePackage('@conversation/padawan_kill_falumpaset_01 1'), 0) # I see. Well, thanks anyway. + + convSvc.sendConversationOptions(actor, npc, options, handleFirstScreen) + return + +#def handleOptionScreen1(core, actor, npc, selection): + + #if selection == 0: + # New Conversation Response 4 + #return + + #return diff --git a/scripts/mobiles/dathomir/outbreak_imperial_officer_captain_piett.py b/scripts/mobiles/dathomir/outbreak_imperial_officer_captain_piett.py index 069097c9..345d9a55 100644 --- a/scripts/mobiles/dathomir/outbreak_imperial_officer_captain_piett.py +++ b/scripts/mobiles/dathomir/outbreak_imperial_officer_captain_piett.py @@ -10,14 +10,14 @@ from java.util import Vector def addTemplate(core): mobileTemplate = MobileTemplate() - mobileTemplate.setCreatureName('outbreak_imperial_officer_gate_keeper') + mobileTemplate.setCreatureName('outbreak_imperial_officer_captain_piett') mobileTemplate.setLevel(1) mobileTemplate.setDifficulty(Difficulty.NORMAL) mobileTemplate.setMinSpawnDistance(4) mobileTemplate.setMaxSpawnDistance(8) mobileTemplate.setOptionsBitmask(Options.INVULNERABLE | Options.CONVERSABLE) - mobileTemplate.setConversationFileName('outbreak_imperial_officer_gate_keeper') + mobileTemplate.setConversationFileName('outbreak_imperial_officer_captain_piett') templates = Vector() templates.add('object/mobile/shared_dressed_imperial_officer_firmus_piett.iff') @@ -32,5 +32,5 @@ def addTemplate(core): mobileTemplate.setDefaultAttack('meleeHit') mobileTemplate.setAttacks(attacks) - core.spawnService.addMobileTemplate('outbreak_imperial_officer_gate_keeper', mobileTemplate) + core.spawnService.addMobileTemplate('outbreak_imperial_officer_captain_piett', mobileTemplate) return \ No newline at end of file diff --git a/scripts/mobiles/dathomir/outbreak_imperial_officer_gate_keeper.py b/scripts/mobiles/dathomir/outbreak_imperial_officer_gate_keeper.py index 9a0234ec..20c88a9b 100644 --- a/scripts/mobiles/dathomir/outbreak_imperial_officer_gate_keeper.py +++ b/scripts/mobiles/dathomir/outbreak_imperial_officer_gate_keeper.py @@ -20,7 +20,7 @@ def addTemplate(core): mobileTemplate.setConversationFileName('outbreak_imperial_officer_gate_keeper') templates = Vector() - templates.add('object/mobile/shared_dressed_imperial_officer_m_6.iff') + templates.add('object/mobile/shared_dressed_imperial_officer_m_3.iff') mobileTemplate.setTemplates(templates) weaponTemplates = Vector() diff --git a/scripts/mobiles/dathomir/outbreak_imperial_stormtrooper_guards.py b/scripts/mobiles/dathomir/outbreak_imperial_stormtrooper_guards.py new file mode 100644 index 00000000..c7b7546a --- /dev/null +++ b/scripts/mobiles/dathomir/outbreak_imperial_stormtrooper_guards.py @@ -0,0 +1,34 @@ +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 java.util import Vector + + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_stormtrooper') + mobileTemplate.setLevel(90) + mobileTemplate.setDifficulty(Difficulty.BOSS) + + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + + templates = Vector() + templates.add('object/mobile/shared_dressed_stormtrooper_sand_trooper_m.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/rifle/shared_rifle_e11.iff', WeaponType.RIFLE, 1.0, 0, 'kinetic') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedShot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('outbreak_imperial_stormtrooper_guards', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/dathomir/outbreak_imperial_stormtrooper_leader.py b/scripts/mobiles/dathomir/outbreak_imperial_stormtrooper_leader.py new file mode 100644 index 00000000..96f8cb59 --- /dev/null +++ b/scripts/mobiles/dathomir/outbreak_imperial_stormtrooper_leader.py @@ -0,0 +1,36 @@ +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 java.util import Vector + + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('outbreak_imperial_officer_gate_keeper') + mobileTemplate.setLevel(1) + mobileTemplate.setDifficulty(Difficulty.NORMAL) + + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setOptionsBitmask(Options.INVULNERABLE | Options.CONVERSABLE) + mobileTemplate.setConversationFileName('outbreak_imperial_officer_gate_keeper') + + templates = Vector() + templates.add('object/mobile/shared_dressed_imperial_officer_m_2.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 0, 'kinetic') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleeHit') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('outbreak_imperial_officer_gate_keeper', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/dathomir/outbreak_stormtrooper_groupleader_hx138.py b/scripts/mobiles/dathomir/outbreak_stormtrooper_groupleader_hx138.py new file mode 100644 index 00000000..a5db7c73 --- /dev/null +++ b/scripts/mobiles/dathomir/outbreak_stormtrooper_groupleader_hx138.py @@ -0,0 +1,36 @@ +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 java.util import Vector + + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('outbreak_stormtrooper_groupleader_hx138') + mobileTemplate.setLevel(90) + mobileTemplate.setDifficulty(Difficulty.BOSS) + + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setOptionsBitmask(Options.CONVERSABLE) + mobileTemplate.setConversationFileName('outbreak_imperial_trooper_gate_keeper') #Needs correct conversation when made + + templates = Vector() + templates.add('object/mobile/shared_stormtrooper.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/rifle/shared_rifle_e11.iff', WeaponType.RIFLE, 1.0, 0, 'kinetic') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedHit') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('outbreak_stormtrooper_groupleader_hx138', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/static_spawns/dathomir/quarantine_zone.py b/scripts/static_spawns/dathomir/quarantine_zone.py index 1eccbd6c..1851ae54 100644 --- a/scripts/static_spawns/dathomir/quarantine_zone.py +++ b/scripts/static_spawns/dathomir/quarantine_zone.py @@ -10,16 +10,19 @@ def addPlanetSpawns(core, planet): objSvc = core.objectService aiSvc = core.aiService - # Imperial Gate Guards - Entrance - guard1 = stcSvc.spawnObject('vic_dark_trooper_80', 'dathomir', long(0), float(-5775), float(510), float(-6553), float(0.36), float(0.85)) - guard2 = stcSvc.spawnObject('vic_dark_trooper_80', 'dathomir', long(0), float(-5785), float(510), float(-6545), float(0.43), float(0.85)) - gateofficer1 = stcSvc.spawnObject('outbreak_imperial_officer_gate_keeper', 'dathomir', long(0), float(-5780), float(510), float(-6550), float(0.40), float(0.85)) + # Imperial Gate Guards - Entrance + General Starting Area + guard1 = stcSvc.spawnObject('outbreak_imperial_stormtrooper_guards', 'dathomir', long(0), float(-5775), float(510), float(-6553), float(0.36), float(0.85)) + guard2 = stcSvc.spawnObject('outbreak_imperial_stormtrooper_guards', 'dathomir', long(0), float(-5785), float(510), float(-6545), float(0.43), float(0.85)) + guard3 = stcSvc.spawnObject('outbreak_imperial_stormtrooper_guards', 'dathomir', long(0), float(-5745), float(511), float(-6484), float(0.11), float(0.85)) + guard3 = stcSvc.spawnObject('outbreak_imperial_stormtrooper_guards', 'dathomir', long(0), float(-5744), float(511), float(-6480), float(0.37), float(0.85)) + liamwaurie1 = stcSvc.spawnObject('outbreak_imperial_officer_gate_keeper', 'dathomir', long(0), float(-5780), float(510), float(-6550), float(0.40), float(0.85)) + firmuspiett1 = stcSvc.spawnObject('outbreak_imperial_officer_captain_piett', 'dathomir', long(0), float(-5749), float(510), float(-6492), float(0.40), float(0.85)) # Imperial Gate Troopers - Exit - trooper1 = stcSvc.spawnObject('vic_dark_trooper_80', 'dathomir', long(0), float(-5793), float(510), float(-6553), float(0.56), float(0.85)) - trooper2 = stcSvc.spawnObject('vic_dark_trooper_80', 'dathomir', long(0), float(-5784), float(510), float(-6560), float(0.28), float(0.85)) - trooper3 = stcSvc.spawnObject('vic_dark_trooper_80', 'dathomir', long(0), float(-5789), float(510), float(-6562), float(0.23), float(0.85)) - trooper4 = stcSvc.spawnObject('vic_dark_trooper_80', 'dathomir', long(0), float(-5794), float(510), float(-6557), float(0.32), float(0.85)) + trooper1 = stcSvc.spawnObject('outbreak_imperial_stormtrooper_guards', 'dathomir', long(0), float(-5793), float(510), float(-6553), float(0.56), float(0.85)) + trooper2 = stcSvc.spawnObject('outbreak_imperial_stormtrooper_guards', 'dathomir', long(0), float(-5784), float(510), float(-6560), float(0.28), float(0.85)) + trooper3 = stcSvc.spawnObject('outbreak_imperial_stormtrooper_guards', 'dathomir', long(0), float(-5789), float(510), float(-6562), float(0.23), float(0.85)) + trooper4 = stcSvc.spawnObject('outbreak_imperial_stormtrooper_guards', 'dathomir', long(0), float(-5794), float(510), float(-6557), float(0.32), float(0.85)) exittrooper1 = stcSvc.spawnObject('outbreak_facility_stormtrooper_survivor', 'dathomir', long(0), float(-5783), float(510), float(-6552), float(0.38), float(0.85)) # Camp Alpha -5915, -6645 @@ -49,6 +52,7 @@ def addPlanetSpawns(core, planet): #beltasurvivor1 = stcSvc.spawnObject('outbreak_camp_delta_survivor', 'dathomir', long(0), float(-5930), float(560), float(-6690), float(0.26), float(0.85)) # Camp Epsilon -7463 -7392 + hx138 = stcSvc.spawnObject('outbreak_stormtrooper_groupleader_hx138', 'dathomir', long(0), float(-7427), float(560), float(-7334), float(0.75), float(0.85)) # Rancor Boss #rancorboss1 = stcSvc.spawnObject('outbreak_afflicted_rancor', 'dathomir', long(0), float(-7155), float(560), float(-6955), float(-1.29), float(0.85))