diff --git a/scripts/mobiles/dathomir/nightsister_elder.py b/scripts/mobiles/dathomir/nightsister_elder.py new file mode 100644 index 00000000..3531fec8 --- /dev/null +++ b/scripts/mobiles/dathomir/nightsister_elder.py @@ -0,0 +1,61 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('nightsister_elder') + mobileTemplate.setLevel(82) + mobileTemplate.setDifficulty(2) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(6) + mobileTemplate.setDeathblow(True) + mobileTemplate.setSocialGroup('nightsister') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_nightsister_elder.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + mobileTemplate.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + mobileTemplate.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('nightsister_elder', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/nightsister_initiate.py b/scripts/mobiles/dathomir/nightsister_initiate.py new file mode 100644 index 00000000..30290e6b --- /dev/null +++ b/scripts/mobiles/dathomir/nightsister_initiate.py @@ -0,0 +1,48 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('nightsister_initiate') + mobileTemplate.setLevel(76) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(6) + mobileTemplate.setDeathblow(True) + mobileTemplate.setStalker(True) + mobileTemplate.setSocialGroup('nightsister') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_nightsister_initiate.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + + core.spawnService.addMobileTemplate('nightsister_initiate', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/nightsister_outcast.py b/scripts/mobiles/dathomir/nightsister_outcast.py new file mode 100644 index 00000000..f87f5f19 --- /dev/null +++ b/scripts/mobiles/dathomir/nightsister_outcast.py @@ -0,0 +1,56 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('nightsister_outcast') + mobileTemplate.setLevel(76) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(6) + mobileTemplate.setDeathblow(True) + mobileTemplate.setSocialGroup('nightsister') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_nightsister_outcast.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + mobileTemplate.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('nightsister_outcast', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/nightsister_protector.py b/scripts/mobiles/dathomir/nightsister_protector.py new file mode 100644 index 00000000..adcb0d07 --- /dev/null +++ b/scripts/mobiles/dathomir/nightsister_protector.py @@ -0,0 +1,56 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('nightsister_protector') + mobileTemplate.setLevel(81) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(6) + mobileTemplate.setDeathblow(True) + mobileTemplate.setSocialGroup('nightsister') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_nightsister_protector.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + mobileTemplate.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('nightsister_protector', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/nightsister_rancor.py b/scripts/mobiles/dathomir/nightsister_rancor.py new file mode 100644 index 00000000..1a783345 --- /dev/null +++ b/scripts/mobiles/dathomir/nightsister_rancor.py @@ -0,0 +1,36 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('nightsister_rancor') + mobileTemplate.setLevel(80) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(6) + mobileTemplate.setDeathblow(True) + mobileTemplate.setSocialGroup('nightsister') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_rancor.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('nightsister_rancor', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/nightsister_rancor_tamer.py b/scripts/mobiles/dathomir/nightsister_rancor_tamer.py new file mode 100644 index 00000000..dc77680f --- /dev/null +++ b/scripts/mobiles/dathomir/nightsister_rancor_tamer.py @@ -0,0 +1,56 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('nightsister_rancor_tamer') + mobileTemplate.setLevel(79) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(6) + mobileTemplate.setDeathblow(True) + mobileTemplate.setSocialGroup('nightsister') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_nightsister_rancor_tamer.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + mobileTemplate.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('nightsister_rancor_tamer', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/nightsister_ranger.py b/scripts/mobiles/dathomir/nightsister_ranger.py new file mode 100644 index 00000000..3c474823 --- /dev/null +++ b/scripts/mobiles/dathomir/nightsister_ranger.py @@ -0,0 +1,57 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('nightsister_ranger') + mobileTemplate.setLevel(79) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(6) + mobileTemplate.setDeathblow(True) + mobileTemplate.setStalker(True) + mobileTemplate.setSocialGroup('nightsister') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_nightsister_ranger.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + mobileTemplate.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('nightsister_ranger', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/nightsister_sentinel.py b/scripts/mobiles/dathomir/nightsister_sentinel.py new file mode 100644 index 00000000..75158183 --- /dev/null +++ b/scripts/mobiles/dathomir/nightsister_sentinel.py @@ -0,0 +1,56 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('nightsister_sentinal') + mobileTemplate.setLevel(80) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(6) + mobileTemplate.setDeathblow(True) + mobileTemplate.setSocialGroup('nightsister') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_nightsister_sentinal.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + mobileTemplate.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('nightsister_sentinal', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/nightsister_sentry.py b/scripts/mobiles/dathomir/nightsister_sentry.py new file mode 100644 index 00000000..160e6232 --- /dev/null +++ b/scripts/mobiles/dathomir/nightsister_sentry.py @@ -0,0 +1,56 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('nightsister_sentry') + mobileTemplate.setLevel(77) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(6) + mobileTemplate.setDeathblow(True) + mobileTemplate.setSocialGroup('nightsister') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_nightsister_stalker.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + mobileTemplate.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('nightsister_sentry', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/nightsister_slave.py b/scripts/mobiles/dathomir/nightsister_slave.py index 7ce31682..88e64f2b 100644 --- a/scripts/mobiles/dathomir/nightsister_slave.py +++ b/scripts/mobiles/dathomir/nightsister_slave.py @@ -1,5 +1,6 @@ import sys from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate from java.util import Vector def addTemplate(core): @@ -10,14 +11,22 @@ def addTemplate(core): mobileTemplate.setDifficulty(1) mobileTemplate.setAttackRange(5) mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setOptionsBitmask(192) templates = Vector() templates.add('object/mobile/shared_dressed_dathomir_nightsister_slave.iff') mobileTemplate.setTemplates(templates) + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + attacks = Vector() - mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setDefaultAttack('creatureMeleeAttack') mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('nightsister_slave', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/nightsister_spell_weaver.py b/scripts/mobiles/dathomir/nightsister_spell_weaver.py new file mode 100644 index 00000000..cc12a19a --- /dev/null +++ b/scripts/mobiles/dathomir/nightsister_spell_weaver.py @@ -0,0 +1,56 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('nightsister_spell_weaver') + mobileTemplate.setLevel(81) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(6) + mobileTemplate.setDeathblow(True) + mobileTemplate.setSocialGroup('nightsister') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_nightsister_spellweaver.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + mobileTemplate.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('nightsister_spell_weaver', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/nightsister_stalker.py b/scripts/mobiles/dathomir/nightsister_stalker.py new file mode 100644 index 00000000..53a0a500 --- /dev/null +++ b/scripts/mobiles/dathomir/nightsister_stalker.py @@ -0,0 +1,57 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('nightsister_stalker') + mobileTemplate.setLevel(81) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(6) + mobileTemplate.setMaxSpawnDistance(10) + mobileTemplate.setDeathblow(True) + mobileTemplate.setStalker(True) + mobileTemplate.setSocialGroup('nightsister') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_nightsister_stalker.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + mobileTemplate.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('nightsister_stalker', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/rancor.py b/scripts/mobiles/dathomir/rancor.py index 975e6869..06211eee 100644 --- a/scripts/mobiles/dathomir/rancor.py +++ b/scripts/mobiles/dathomir/rancor.py @@ -9,6 +9,7 @@ def addTemplate(core): mobileTemplate.setLevel(50) mobileTemplate.setDifficulty(1) mobileTemplate.setAttackRange(5) + mobileTemplate.setOptionsBitmask(192) templates = Vector() templates.add('object/mobile/shared_rancor.iff') diff --git a/scripts/mobiles/dathomir/singing_mountain_clan_rancor.py b/scripts/mobiles/dathomir/singing_mountain_clan_rancor.py new file mode 100644 index 00000000..47ff1b5e --- /dev/null +++ b/scripts/mobiles/dathomir/singing_mountain_clan_rancor.py @@ -0,0 +1,36 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('singing_mountain_clan_rancor') + mobileTemplate.setLevel(80) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(6) + mobileTemplate.setDeathblow(True) + mobileTemplate.setSocialGroup('mountain clan') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_rancor.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('singing_mountain_clan_rancor', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/singing_mountain_clan_sentry.py b/scripts/mobiles/dathomir/singing_mountain_clan_sentry.py new file mode 100644 index 00000000..ea81eb8e --- /dev/null +++ b/scripts/mobiles/dathomir/singing_mountain_clan_sentry.py @@ -0,0 +1,56 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('singing_mountain_clan_sentry') + mobileTemplate.setLevel(76) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(6) + mobileTemplate.setMaxSpawnDistance(10) + mobileTemplate.setDeathblow(False) + mobileTemplate.setSocialGroup('mountain clan') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_sing_mt_clan_sentry.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/polearm/shared_lance_staff_wood_s1.iff', 7, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + mobileTemplate.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('singing_mountain_clan_sentry', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/singing_mtn_clan_arch_witch.py b/scripts/mobiles/dathomir/singing_mtn_clan_arch_witch.py new file mode 100644 index 00000000..d8028835 --- /dev/null +++ b/scripts/mobiles/dathomir/singing_mtn_clan_arch_witch.py @@ -0,0 +1,56 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('singing_mtn_clan_arch_witch') + mobileTemplate.setLevel(80) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(6) + mobileTemplate.setMaxSpawnDistance(10) + mobileTemplate.setDeathblow(True) + mobileTemplate.setSocialGroup('mountain clan') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_sing_mt_clan_arch_witch.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + mobileTemplate.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('singing_mtn_clan_arch_witch', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/singing_mtn_clan_councilwoman.py b/scripts/mobiles/dathomir/singing_mtn_clan_councilwoman.py new file mode 100644 index 00000000..388b3f29 --- /dev/null +++ b/scripts/mobiles/dathomir/singing_mtn_clan_councilwoman.py @@ -0,0 +1,61 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('singing_mtn_clan_councilwoman') + mobileTemplate.setLevel(80) + mobileTemplate.setDifficulty(2) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(6) + mobileTemplate.setMaxSpawnDistance(10) + mobileTemplate.setDeathblow(True) + mobileTemplate.setSocialGroup('mountain clan') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_sing_mt_clan_councilwoman.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + mobileTemplate.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + mobileTemplate.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('singing_mtn_clan_councilwoman', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/singing_mtn_clan_dragoon.py b/scripts/mobiles/dathomir/singing_mtn_clan_dragoon.py new file mode 100644 index 00000000..2bc60d7e --- /dev/null +++ b/scripts/mobiles/dathomir/singing_mtn_clan_dragoon.py @@ -0,0 +1,56 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('singing_mtn_clan_dragoon') + mobileTemplate.setLevel(80) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(6) + mobileTemplate.setMaxSpawnDistance(10) + mobileTemplate.setDeathblow(True) + mobileTemplate.setSocialGroup('mountain clan') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_sing_mt_clan_dragoon.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + mobileTemplate.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('singing_mtn_clan_dragoon', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/singing_mtn_clan_guardian.py b/scripts/mobiles/dathomir/singing_mtn_clan_guardian.py new file mode 100644 index 00000000..863823ec --- /dev/null +++ b/scripts/mobiles/dathomir/singing_mtn_clan_guardian.py @@ -0,0 +1,56 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('singing_mtn_clan_guardian') + mobileTemplate.setLevel(80) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(6) + mobileTemplate.setMaxSpawnDistance(10) + mobileTemplate.setDeathblow(True) + mobileTemplate.setSocialGroup('mountain clan') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_sing_mt_clan_guardian.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + mobileTemplate.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('singing_mtn_clan_guardian', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/singing_mtn_clan_huntress.py b/scripts/mobiles/dathomir/singing_mtn_clan_huntress.py new file mode 100644 index 00000000..592a0d44 --- /dev/null +++ b/scripts/mobiles/dathomir/singing_mtn_clan_huntress.py @@ -0,0 +1,57 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('singing_mtn_clan_huntress') + mobileTemplate.setLevel(79) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(6) + mobileTemplate.setMaxSpawnDistance(10) + mobileTemplate.setDeathblow(True) + mobileTemplate.setStalker(True) + mobileTemplate.setSocialGroup('mountain clan') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_sing_mt_clan_huntress.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + mobileTemplate.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('singing_mtn_clan_huntress', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/singing_mtn_clan_initiate.py b/scripts/mobiles/dathomir/singing_mtn_clan_initiate.py new file mode 100644 index 00000000..677dd58c --- /dev/null +++ b/scripts/mobiles/dathomir/singing_mtn_clan_initiate.py @@ -0,0 +1,36 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('singing_mtn_clan_initiate') + mobileTemplate.setLevel(76) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(6) + mobileTemplate.setMaxSpawnDistance(10) + mobileTemplate.setDeathblow(True) + mobileTemplate.setSocialGroup('mountain clan') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_sing_mt_clan_initiate.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('singing_mtn_clan_initiate', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/singing_mtn_clan_outcast.py b/scripts/mobiles/dathomir/singing_mtn_clan_outcast.py new file mode 100644 index 00000000..afe40e1f --- /dev/null +++ b/scripts/mobiles/dathomir/singing_mtn_clan_outcast.py @@ -0,0 +1,56 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('singing_mtn_clan_initiate') + mobileTemplate.setLevel(76) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(6) + mobileTemplate.setMaxSpawnDistance(10) + mobileTemplate.setDeathblow(True) + mobileTemplate.setSocialGroup('mountain clan') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_sing_mt_clan_outcast.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/polearm/shared_lance_staff_wood_s1.iff', 7, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + mobileTemplate.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('singing_mtn_clan_initiate', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/singing_mtn_clan_rancor_tamer.py b/scripts/mobiles/dathomir/singing_mtn_clan_rancor_tamer.py new file mode 100644 index 00000000..21ccb3ae --- /dev/null +++ b/scripts/mobiles/dathomir/singing_mtn_clan_rancor_tamer.py @@ -0,0 +1,56 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('singing_mtn_clan_rancor_tamer') + mobileTemplate.setLevel(79) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(6) + mobileTemplate.setMaxSpawnDistance(10) + mobileTemplate.setDeathblow(True) + mobileTemplate.setSocialGroup('mountain clan') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_sing_mt_clan_rancor_tamer.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + mobileTemplate.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('singing_mtn_clan_rancor_tamer', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/singing_mtn_clan_scout.py b/scripts/mobiles/dathomir/singing_mtn_clan_scout.py new file mode 100644 index 00000000..57381784 --- /dev/null +++ b/scripts/mobiles/dathomir/singing_mtn_clan_scout.py @@ -0,0 +1,56 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('singing_mtn_clan_scout') + mobileTemplate.setLevel(78) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(6) + mobileTemplate.setMaxSpawnDistance(10) + mobileTemplate.setDeathblow(True) + mobileTemplate.setSocialGroup('mountain clan') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_sing_mt_clan_scout.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/sword/shared_sword_01.iff', 4, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('meleehit') + mobileTemplate.setAttacks(attacks) + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + mobileTemplate.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + mobileTemplate.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + mobileTemplate.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 3 + mobileTemplate.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + core.spawnService.addMobileTemplate('singing_mtn_clan_scout', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dathomir/singing_mtn_clan_slave.py b/scripts/mobiles/dathomir/singing_mtn_clan_slave.py new file mode 100644 index 00000000..8457d63e --- /dev/null +++ b/scripts/mobiles/dathomir/singing_mtn_clan_slave.py @@ -0,0 +1,36 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('singing_mtn_clan_slave') + mobileTemplate.setLevel(79) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(6) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(4) + mobileTemplate.setMinSpawnDistance(6) + mobileTemplate.setMaxSpawnDistance(10) + mobileTemplate.setDeathblow(False) + mobileTemplate.setSocialGroup('mountain clan') + mobileTemplate.setAssistRange(12) + mobileTemplate.setRespawnTime(300) + mobileTemplate.setOptionsBitmask(192) + + templates = Vector() + templates.add('object/mobile/shared_dressed_dathomir_sing_mt_clan_slave.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('singing_mtn_clan_slave', mobileTemplate) \ No newline at end of file diff --git a/scripts/mobiles/dynamicgroups/nightsisters_dyn_1.py b/scripts/mobiles/dynamicgroups/nightsisters_dyn_1.py new file mode 100644 index 00000000..90504a9b --- /dev/null +++ b/scripts/mobiles/dynamicgroups/nightsisters_dyn_1.py @@ -0,0 +1,24 @@ +# Spawn Group file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector +from services.spawn import DynamicSpawnGroup +from services.spawn import MobileTemplate + +def addDynamicGroup(core): + dynamicGroup = DynamicSpawnGroup() + mobileTemplates = Vector() + mobileTemplates.add('nightsister_initiate') + mobileTemplates.add('nightsister_outcast') + mobileTemplates.add('nightsister_protector') + mobileTemplates.add('nightsister_ranger') + mobileTemplates.add('nightsister_sentinel') + mobileTemplates.add('nightsister_sentry') + mobileTemplates.add('nightsister_spell_weaver') + mobileTemplates.add('nightsister_stalker') + dynamicGroup.setMobiles(mobileTemplates) + dynamicGroup.setGroupMembersNumber(-5) + dynamicGroup.setName('nightsisters_dyn_1') + dynamicGroup.setMaxSpawns(-1) + dynamicGroup.setMinSpawnDistance(100) + core.spawnService.addDynamicGroup('nightsisters_dyn_1', dynamicGroup) + return diff --git a/scripts/mobiles/dynamicgroups/smc_dyn_1.py b/scripts/mobiles/dynamicgroups/smc_dyn_1.py new file mode 100644 index 00000000..ecc20a13 --- /dev/null +++ b/scripts/mobiles/dynamicgroups/smc_dyn_1.py @@ -0,0 +1,24 @@ +# Spawn Group file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector +from services.spawn import DynamicSpawnGroup +from services.spawn import MobileTemplate + +def addDynamicGroup(core): + dynamicGroup = DynamicSpawnGroup() + mobileTemplates = Vector() + mobileTemplates.add('singing_mountain_clan_sentry') + mobileTemplates.add('singing_mtn_clan_dragoon') + mobileTemplates.add('singing_mtn_clan_guardian') + mobileTemplates.add('singing_mtn_clan_huntress') + mobileTemplates.add('singing_mtn_clan_initiate') + mobileTemplates.add('singing_mtn_clan_outcast') + mobileTemplates.add('singing_mtn_clan_scout') + mobileTemplates.add('singing_mtn_clan_slave') + dynamicGroup.setMobiles(mobileTemplates) + dynamicGroup.setGroupMembersNumber(-5) + dynamicGroup.setName('smc_dyn_1') + dynamicGroup.setMaxSpawns(-1) + dynamicGroup.setMinSpawnDistance(60) + core.spawnService.addDynamicGroup('smc_dyn_1', dynamicGroup) + return diff --git a/scripts/mobiles/spawnareas/ns_stronghold_dyn_1.py b/scripts/mobiles/spawnareas/ns_stronghold_dyn_1.py new file mode 100644 index 00000000..6e8cca1d --- /dev/null +++ b/scripts/mobiles/spawnareas/ns_stronghold_dyn_1.py @@ -0,0 +1,9 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector + +def addSpawnArea(core): + dynamicGroups = Vector() + dynamicGroups.add('nightsisters_dyn_1') + core.spawnService.addDynamicSpawnArea(dynamicGroups, -4055, -81, 2990, 'dathomir') + return diff --git a/scripts/mobiles/spawnareas/smc_dny_1.py b/scripts/mobiles/spawnareas/smc_dny_1.py new file mode 100644 index 00000000..45d52a8d --- /dev/null +++ b/scripts/mobiles/spawnareas/smc_dny_1.py @@ -0,0 +1,9 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector + +def addSpawnArea(core): + dynamicGroups = Vector() + dynamicGroups.add('smc_dyn_1') + core.spawnService.addDynamicSpawnArea(dynamicGroups, 512, 4792, 1966, 'dathomir') + return diff --git a/scripts/static_spawns/dathomir/ns_vs_smc_battle.py b/scripts/static_spawns/dathomir/ns_vs_smc_battle.py new file mode 100644 index 00000000..98c3f2cb --- /dev/null +++ b/scripts/static_spawns/dathomir/ns_vs_smc_battle.py @@ -0,0 +1,37 @@ +import sys +from resources.datatables import Options +from resources.datatables import State + +def addPlanetSpawns(core, planet): + stcSvc = core.staticService + objSvc = core.objectService + + Nightsister_Elder_1 = stcSvc.spawnObject('nightsister_elder', 'dathomir', long(0), float(-2520), float(130), float(1468), float(0.0007), float(0.999)) + Nightsister_Spellweaver_1 = stcSvc.spawnObject('nightsister_spell_weaver', 'dathomir', long(0), float(-2497), float(128), float(1484), float(0.0007), float(0.999)) + Nightsister_Spellweaver_2 = stcSvc.spawnObject('nightsister_spell_weaver', 'dathomir', long(0), float(-2539), float(128), float(1484), float(0.0007), float(0.999)) + Nightsister_Rancor_1 = stcSvc.spawnObject('nightsister_rancor', 'dathomir', long(0), float(-2480), float(126), float(1503), float(0.0007), float(0.999)) + Nightsister_RancorTamer_1 = stcSvc.spawnObject('nightsister_rancor_tamer', 'dathomir', long(0), float(-2495), float(122), float(1501), float(0.0007), float(0.999)) + Nightsister_Outcast_1 = stcSvc.spawnObject('nightsister_outcast', 'dathomir', long(0), float(-2480), float(119), float(1519), float(0.0007), float(0.999)) + Nightsister_Initiate_1 = stcSvc.spawnObject('nightsister_initiate', 'dathomir', long(0), float(-2494), float(124), float(1518), float(0.0007), float(0.999)) + Nightsister_Sentinel_1 = stcSvc.spawnObject('nightsister_sentinal', 'dathomir', long(0), float(-2516), float(124), float(1520), float(0.0007), float(0.999)) + Nightsister_Stalker_1 = stcSvc.spawnObject('nightsister_stalker', 'dathomir', long(0), float(-2516), float(128), float(1503), float(0.0007), float(0.999)) + Nightsister_Sentinel_2 = stcSvc.spawnObject('nightsister_sentinal', 'dathomir', long(0), float(-2516), float(124), float(1520), float(0.0007), float(0.999)) + Nightsister_Initiate_1 = stcSvc.spawnObject('nightsister_initiate', 'dathomir', long(0), float(-2540), float(125), float(1521), float(0.0007), float(0.999)) + Nightsister_Outcast_2 = stcSvc.spawnObject('nightsister_outcast', 'dathomir', long(0), float(-2557), float(125), float(1522), float(0.0007), float(0.999)) + Nightsister_Rancor_2 = stcSvc.spawnObject('nightsister_rancor', 'dathomir', long(0), float(-2556), float(125), float(1505), float(0.0007), float(0.999)) + Nightsister_RancorTamer_2 = stcSvc.spawnObject('nightsister_rancor_tamer', 'dathomir', long(0), float(-2540), float(126), float(1504), float(0.0007), float(0.999)) + + SMC_Councilwoman_1 = stcSvc.spawnObject('singing_mtn_clan_councilwoman', 'dathomir', long(0), float(-2520), float(130), float(1598), float(0.999), float(0.002)) + SMC_Archwitch_1 = stcSvc.spawnObject('singing_mtn_clan_arch_witch', 'dathomir', long(0), float(-2543), float(131), float(1585), float(0.999), float(0.002)) + SMC_Archwitch_2 = stcSvc.spawnObject('singing_mtn_clan_arch_witch', 'dathomir', long(0), float(-2498), float(124), float(1585), float(0.999), float(0.002)) + SMC_Dragoon_1 = stcSvc.spawnObject('singing_mtn_clan_dragoon', 'dathomir', long(0), float(-2516), float(123), float(1565), float(0.999), float(0.002)) + SMC_RancorTamer_1 = stcSvc.spawnObject('singing_mtn_clan_rancor_tamer', 'dathomir', long(0), float(-2497), float(121), float(1568), float(0.999), float(0.002)) + SMC_Rancor_1 = stcSvc.spawnObject('singing_mountain_clan_rancor', 'dathomir', long(0), float(-2481), float(119), float(1568), float(0.999), float(0.002)) + SMC_RancorTamer_2 = stcSvc.spawnObject('singing_mtn_clan_rancor_tamer', 'dathomir', long(0), float(-2543), float(128), float(1566), float(0.999), float(0.002)) + SMC_Rancor_2 = stcSvc.spawnObject('singing_mountain_clan_rancor', 'dathomir', long(0), float(-2556), float(130), float(1564), float(0.999), float(0.002)) + SMC_Scout_1 = stcSvc.spawnObject('singing_mtn_clan_scout', 'dathomir', long(0), float(-2481), float(118), float(1547), float(0.999), float(0.002)) + SMC_Initiate_1 = stcSvc.spawnObject('singing_mtn_clan_initiate', 'dathomir', long(0), float(-2497), float(120), float(1547), float(0.999), float(0.002)) + SMC_Sentry_1 = stcSvc.spawnObject('singing_mountain_clan_sentry', 'dathomir', long(0), float(-2515), float(122), float(1547), float(0.999), float(0.002)) + SMC_Initiate_1 = stcSvc.spawnObject('singing_mtn_clan_initiate', 'dathomir', long(0), float(-2543), float(126), float(1547), float(0.999), float(0.002)) + SMC_Scout_1 = stcSvc.spawnObject('singing_mtn_clan_scout', 'dathomir', long(0), float(-2556), float(127), float(1547), float(0.999), float(0.002)) + return diff --git a/src/services/DevService.java b/src/services/DevService.java index eb9db46c..fd669c4b 100644 --- a/src/services/DevService.java +++ b/src/services/DevService.java @@ -147,6 +147,7 @@ public class DevService implements INetworkDispatch { suiOptions.put((long) 165, "Teleport to Spawn Area #1"); suiOptions.put((long) 166, "Teleport to Imperial Op"); suiOptions.put((long) 167, "Teleport to Rebel Base "); + suiOptions.put((long) 168, "Teleport to NS vs SMC Battle"); suiOptions.put((long) 153, "Teleport to Force Crystal Hunter's Cave"); suiOptions.put((long) 121, "Teleport to Sandbox City"); } @@ -1269,6 +1270,10 @@ public class DevService implements INetworkDispatch { case 167: core.simulationService.transferToPlanet(player, core.terrainService.getPlanetByName("dantooine"), new Point3D(-4211,18,-2349), player.getOrientation(), null); return; + + case 168: + core.simulationService.transferToPlanet(player, core.terrainService.getPlanetByName("dathomir"), new Point3D(-2450,18,1521), player.getOrientation(), null); + return; case 123: TangibleObject arakydDroids = (TangibleObject) core.objectService.createObject("object/tangible/mission/shared_mission_bounty_droid_probot.iff", planet);