From 4ff4d50b4500962c9407e87288fbc1d65dc747d7 Mon Sep 17 00:00:00 2001 From: tacef Date: Thu, 19 Jun 2014 12:01:59 +0200 Subject: [PATCH] More Work on Jabba TP Locations --- scripts/mobiles/tatooine/erib_kurrugh.py | 42 +++++++++++++++ .../mobiles/tatooine/sand_splitter_brute.py | 53 ++++++++++++++++++ .../mobiles/tatooine/sand_splitter_knave.py | 54 +++++++++++++++++++ .../mobiles/tatooine/sand_splitter_ruffian.py | 53 ++++++++++++++++++ scripts/mobiles/tatooine/saul_rouse.py | 42 +++++++++++++++ .../tatooine/jabba_tp_sand_splitter_cave.py | 50 +++++++++++++++++ 6 files changed, 294 insertions(+) create mode 100644 scripts/mobiles/tatooine/erib_kurrugh.py create mode 100644 scripts/mobiles/tatooine/sand_splitter_brute.py create mode 100644 scripts/mobiles/tatooine/sand_splitter_knave.py create mode 100644 scripts/mobiles/tatooine/sand_splitter_ruffian.py create mode 100644 scripts/mobiles/tatooine/saul_rouse.py create mode 100644 scripts/static_spawns/tatooine/jabba_tp_sand_splitter_cave.py diff --git a/scripts/mobiles/tatooine/erib_kurrugh.py b/scripts/mobiles/tatooine/erib_kurrugh.py new file mode 100644 index 00000000..7aa517b3 --- /dev/null +++ b/scripts/mobiles/tatooine/erib_kurrugh.py @@ -0,0 +1,42 @@ +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('tatooine_sand_splitter_erib_kurrugh') + mobileTemplate.setLevel(21) + mobileTemplate.setDifficulty(Difficulty.NORMAL) + + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("sand splitter") + mobileTemplate.setAssistRange(5) + mobileTemplate.setStalker(False) + mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE) + + templates = Vector() + templates.add('object/mobile/shared_tatooine_sand_splitter_erib_kurrugh.iff') + + + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/pistol/shared_pistol_d18.iff', WeaponType.PISTOL, 1.0, 24, 'energy') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedShot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('erib_kurrugh', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/sand_splitter_brute.py b/scripts/mobiles/tatooine/sand_splitter_brute.py new file mode 100644 index 00000000..e48a2380 --- /dev/null +++ b/scripts/mobiles/tatooine/sand_splitter_brute.py @@ -0,0 +1,53 @@ +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('tatooine_sand_splitter_brute') + mobileTemplate.setLevel(20) + mobileTemplate.setDifficulty(Difficulty.NORMAL) + + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("sand splitter") + mobileTemplate.setAssistRange(5) + mobileTemplate.setStalker(False) + mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE) + + templates = Vector() + templates.add('object/mobile/shared_coa_aclo_elite_slicer_human_f.iff') + templates.add('object/mobile/shared_coa_aclo_saboteur_human_m.iff') + templates.add('object/mobile/shared_dressed_aakuan_defender_human_female_01.iff') + templates.add('object/mobile/shared_dressed_aakuan_defender_human_male_01.iff') + templates.add('object/mobile/shared_dressed_businessman_human_male_01.iff') + templates.add('object/mobile/shared_dressed_combatmedic_trainer_human_female_01.iff') + templates.add('object/mobile/shared_dressed_combatmedic_trainer_human_male_01.iff') + templates.add('object/mobile/shared_dressed_corsec_detective_human_female_01.iff') + templates.add('object/mobile/shared_dressed_corsec_detective_human_male_01.iff') + templates.add('object/mobile/shared_dressed_criminal_smuggler_human_female_01.iff') + templates.add('object/mobile/shared_dressed_criminal_smuggler_human_male_01.iff') + templates.add('object/mobile/shared_zabrak_female.iff') + templates.add('object/mobile/shared_zabrak_male.iff') + + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/pistol/shared_pistol_d18.iff', WeaponType.PISTOL, 1.0, 24, 'energy') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedShot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('sand_splitter_brute', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/sand_splitter_knave.py b/scripts/mobiles/tatooine/sand_splitter_knave.py new file mode 100644 index 00000000..cd251f5f --- /dev/null +++ b/scripts/mobiles/tatooine/sand_splitter_knave.py @@ -0,0 +1,54 @@ +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('tatooine_sand_splitter_knave') + mobileTemplate.setLevel(19) + mobileTemplate.setDifficulty(Difficulty.NORMAL) + + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("sand splitter") + mobileTemplate.setAssistRange(5) + mobileTemplate.setStalker(False) + mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE) + + + templates = Vector() + templates.add('object/mobile/shared_coa_aclo_elite_slicer_human_f.iff') + templates.add('object/mobile/shared_coa_aclo_saboteur_human_m.iff') + templates.add('object/mobile/shared_dressed_aakuan_defender_human_female_01.iff') + templates.add('object/mobile/shared_dressed_aakuan_defender_human_male_01.iff') + templates.add('object/mobile/shared_dressed_businessman_human_male_01.iff') + templates.add('object/mobile/shared_dressed_combatmedic_trainer_human_female_01.iff') + templates.add('object/mobile/shared_dressed_combatmedic_trainer_human_male_01.iff') + templates.add('object/mobile/shared_dressed_corsec_detective_human_female_01.iff') + templates.add('object/mobile/shared_dressed_corsec_detective_human_male_01.iff') + templates.add('object/mobile/shared_dressed_criminal_smuggler_human_female_01.iff') + templates.add('object/mobile/shared_dressed_criminal_smuggler_human_male_01.iff') + templates.add('object/mobile/shared_zabrak_female.iff') + templates.add('object/mobile/shared_zabrak_male.iff') + + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/pistol/shared_pistol_d18.iff', WeaponType.PISTOL, 1.0, 24, 'energy') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedShot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('sand_splitter_knave', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/sand_splitter_ruffian.py b/scripts/mobiles/tatooine/sand_splitter_ruffian.py new file mode 100644 index 00000000..bb2f962f --- /dev/null +++ b/scripts/mobiles/tatooine/sand_splitter_ruffian.py @@ -0,0 +1,53 @@ +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('tatooine_sand_splitter_ruffian') + mobileTemplate.setLevel(20) + mobileTemplate.setDifficulty(Difficulty.NORMAL) + + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("sand splitter") + mobileTemplate.setAssistRange(5) + mobileTemplate.setStalker(False) + mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE) + + templates = Vector() + templates.add('object/mobile/shared_coa_aclo_elite_slicer_human_f.iff') + templates.add('object/mobile/shared_coa_aclo_saboteur_human_m.iff') + templates.add('object/mobile/shared_dressed_aakuan_defender_human_female_01.iff') + templates.add('object/mobile/shared_dressed_aakuan_defender_human_male_01.iff') + templates.add('object/mobile/shared_dressed_businessman_human_male_01.iff') + templates.add('object/mobile/shared_dressed_combatmedic_trainer_human_female_01.iff') + templates.add('object/mobile/shared_dressed_combatmedic_trainer_human_male_01.iff') + templates.add('object/mobile/shared_dressed_corsec_detective_human_female_01.iff') + templates.add('object/mobile/shared_dressed_corsec_detective_human_male_01.iff') + templates.add('object/mobile/shared_dressed_criminal_smuggler_human_female_01.iff') + templates.add('object/mobile/shared_dressed_criminal_smuggler_human_male_01.iff') + templates.add('object/mobile/shared_zabrak_female.iff') + templates.add('object/mobile/shared_zabrak_male.iff') + + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/pistol/shared_pistol_d18.iff', WeaponType.PISTOL, 1.0, 24, 'energy') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedShot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('sand_splitter_ruffian', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/saul_rouse.py b/scripts/mobiles/tatooine/saul_rouse.py new file mode 100644 index 00000000..cfbf0a99 --- /dev/null +++ b/scripts/mobiles/tatooine/saul_rouse.py @@ -0,0 +1,42 @@ +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('tatooine_sand_splitter_saul_rouse') + mobileTemplate.setLevel(20) + mobileTemplate.setDifficulty(Difficulty.NORMAL) + + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("sand splitter") + mobileTemplate.setAssistRange(5) + mobileTemplate.setStalker(False) + mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE) + + templates = Vector() + templates.add('object/mobile/shared_tatooine_sand_splitter_saul_rouse.iff') + + + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/pistol/shared_pistol_d18.iff', WeaponType.PISTOL, 1.0, 24, 'energy') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedShot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('saul_rouse', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/static_spawns/tatooine/jabba_tp_sand_splitter_cave.py b/scripts/static_spawns/tatooine/jabba_tp_sand_splitter_cave.py new file mode 100644 index 00000000..7e846511 --- /dev/null +++ b/scripts/static_spawns/tatooine/jabba_tp_sand_splitter_cave.py @@ -0,0 +1,50 @@ +import sys +# Project SWG: Jabba TP sand splitter cave: Static Spawns +# (C)2014 ProjectSWG + + + +from resources.datatables import Options +from resources.datatables import State + +def addPlanetSpawns(core, planet): + + + stcSvc = core.staticService + objSvc = core.objectService + + # TODO Check all NPCs for personalized scripting, change format. + cave = core.objectService.getObject(long(-466404038393479071)) + + stcSvc.spawnObject('sand_splitter_knave', 'tatooine', cave.getCellByCellNumber(1), float(42.6), float(-23.3), float(4.9), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_knave', 'tatooine', cave.getCellByCellNumber(2), float(41.5), float(-34.4), float(-21.8), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_ruffian', 'tatooine', cave.getCellByCellNumber(2), float(40), float(-37.9), float(-52.7), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_knave', 'tatooine', cave.getCellByCellNumber(2), float(69.5), float(-43.9), float(-53.7), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_brute', 'tatooine', cave.getCellByCellNumber(10), float(68), float(-47.5), float(-72.1), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_brute', 'tatooine', cave.getCellByCellNumber(10), float(77.5), float(-43.7), float(-93.8), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_knave', 'tatooine', cave.getCellByCellNumber(5), float(110.2), float(-42.3), float(-103.9), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_ruffian', 'tatooine', cave.getCellByCellNumber(5), float(111.9), float(-41.4), float(-86.1), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_knave', 'tatooine', cave.getCellByCellNumber(5), float(95.9), float(-42.3), float(-94.7), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_ruffian', 'tatooine', cave.getCellByCellNumber(2), float(68.9), float(-44.7), float(-11.3), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_knave', 'tatooine', cave.getCellByCellNumber(2), float(61.8), float(-42.8), float(5.7), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_knave', 'tatooine', cave.getCellByCellNumber(2), float(74.7), float(-63.9), float(-22.8), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_knave', 'tatooine', cave.getCellByCellNumber(3), float(94.5), float(-57.3), float(1), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_ruffian', 'tatooine', cave.getCellByCellNumber(3), float(106), float(-61.2), float(-18.7), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_brute', 'tatooine', cave.getCellByCellNumber(3), float(94.6), float(-66.9), float(-33.1), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_knave', 'tatooine', cave.getCellByCellNumber(4), float(107.9), float(-72.4), float(-49.7), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_knave', 'tatooine', cave.getCellByCellNumber(4), float(80.5), float(-72.4), float(-65.8), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_ruffian', 'tatooine', cave.getCellByCellNumber(4), float(96.9), float(-72.5), float(-76.4), float(0), float(0), float(0), float(0), 45) + + stcSvc.spawnObject('sand_splitter_knave', 'tatooine', cave.getCellByCellNumber(6), float(71.8), float(-69.4), float(-94.9), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_knave', 'tatooine', cave.getCellByCellNumber(6), float(83), float(-62.3), float(122.6), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_brute', 'tatooine', cave.getCellByCellNumber(7), float(106.5), float(-62.8), float(-124.1), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_knave', 'tatooine', cave.getCellByCellNumber(5), float(112.1), float(-62.2), float(-92.1), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_brute', 'tatooine', cave.getCellByCellNumber(8), float(132.8), float(-62.6), float(-79.5), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_ruffian', 'tatooine', cave.getCellByCellNumber(8), float(132.3), float(-62), float(-114.2), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('sand_splitter_knave', 'tatooine', cave.getCellByCellNumber(8), float(165.5), float(-62.8), float(-105.4), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('saul_rouse', 'tatooine', cave.getCellByCellNumber(8), float(156.2), float(-62.6), float(-73.6), float(0), float(0), float(0), float(0), 45)#saul + stcSvc.spawnObject('sand_splitter_ruffian', 'tatooine', cave.getCellByCellNumber(9), float(186.3), float(-62.1), float(-84.8), float(0), float(0), float(0), float(0), 45) + stcSvc.spawnObject('erib_kurrugh', 'tatooine', cave.getCellByCellNumber(9), float(205.6), float(-61.9), float(-87.4), float(0), float(0), float(0), float(0), 45) #erib + return + +