diff --git a/scripts/mobiles/generic/faction/imperial/battle_droid_imp.py b/scripts/mobiles/generic/faction/imperial/battle_droid_imp.py new file mode 100644 index 00000000..079daeed --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/battle_droid_imp.py @@ -0,0 +1,40 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from resources.datatables import FactionStatus +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('imperial_battle_droid') + mobileTemplate.setLevel(83) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(12) + mobileTemplate.setStalker(False) + mobileTemplate.setFaction("imperial") + mobileTemplate.setFactionStatus(1) + + templates = Vector() + templates.add('object/mobile/shared_battle_droid.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e5.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('battle_droid_imperial', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/dark_nova_trooper.py b/scripts/mobiles/generic/faction/imperial/dark_nova_trooper.py new file mode 100644 index 00000000..a8c4d9a5 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/dark_nova_trooper.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('stormtrooper_dark_trooper_novatrooper') + mobileTemplate.setLevel(82) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(12) + mobileTemplate.setStalker(False) + #mobileTemplate.setOptionsBitmask(192) + mobileTemplate.setOptionsBitmask(0) # TEMP until pvpstatus is useable for npcs! + + templates = Vector() + templates.add('object/mobile/shared_dressed_dark_trooper_black_hole.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('dark_novatrooper', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/dark_trooper.py b/scripts/mobiles/generic/faction/imperial/dark_trooper.py new file mode 100644 index 00000000..0eaeab8a --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/dark_trooper.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('dark_trooper') + mobileTemplate.setLevel(32) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(False) + #mobileTemplate.setOptionsBitmask(192) + mobileTemplate.setOptionsBitmask(0) # TEMP until pvpstatus is useable for npcs! + + templates = Vector() + templates.add('object/mobile/shared_dark_trooper.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('dark_trooper', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/elite_dark_trooper.py b/scripts/mobiles/generic/faction/imperial/elite_dark_trooper.py new file mode 100644 index 00000000..3c2cbbd7 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/elite_dark_trooper.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('dark_trooper') + mobileTemplate.setLevel(64) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(False) + #mobileTemplate.setOptionsBitmask(192) + mobileTemplate.setOptionsBitmask(0) # TEMP until pvpstatus is useable for npcs! + + templates = Vector() + templates.add('object/mobile/shared_dark_trooper.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('dark_trooper_elite', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/elite_exogen_class_dark_trooper.py b/scripts/mobiles/generic/faction/imperial/elite_exogen_class_dark_trooper.py new file mode 100644 index 00000000..a8871b42 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/elite_exogen_class_dark_trooper.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_elite_dark_trooper') + mobileTemplate.setLevel(88) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(False) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(False) + #mobileTemplate.setOptionsBitmask(192) + mobileTemplate.setOptionsBitmask(0) # TEMP until pvpstatus is useable for npcs! + + templates = Vector() + templates.add('object/mobile/shared_dressed_stormtrooper_assault_trooper_m.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('exogen_dark_trooper_elite', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/exogen_class_dark_trooper.py b/scripts/mobiles/generic/faction/imperial/exogen_class_dark_trooper.py new file mode 100644 index 00000000..0b4293e0 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/exogen_class_dark_trooper.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_elite_dark_trooper') + mobileTemplate.setLevel(64) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(False) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(False) + #mobileTemplate.setOptionsBitmask(192) + mobileTemplate.setOptionsBitmask(0) # TEMP until pvpstatus is useable for npcs! + + templates = Vector() + templates.add('object/mobile/shared_dark_trooper.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('exogen_dark_trooper', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/glory_class_dark_trooper.py b/scripts/mobiles/generic/faction/imperial/glory_class_dark_trooper.py new file mode 100644 index 00000000..63c9e980 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/glory_class_dark_trooper.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_dark_trooper_hard') + mobileTemplate.setLevel(50) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(False) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(False) + #mobileTemplate.setOptionsBitmask(192) + mobileTemplate.setOptionsBitmask(0) # TEMP until pvpstatus is useable for npcs! + + templates = Vector() + templates.add('object/mobile/shared_dressed_stormtrooper_sand_trooper_m.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('glory_trooper', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/glory_class_dark_trooper_2.py b/scripts/mobiles/generic/faction/imperial/glory_class_dark_trooper_2.py new file mode 100644 index 00000000..5dfc237b --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/glory_class_dark_trooper_2.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_dark_trooper_hard') + mobileTemplate.setLevel(86) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(False) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(False) + #mobileTemplate.setOptionsBitmask(192) + mobileTemplate.setOptionsBitmask(0) # TEMP until pvpstatus is useable for npcs! + + templates = Vector() + templates.add('object/mobile/shared_dressed_stormtrooper_sand_trooper_m.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('glory_trooper_2', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/opressor_7_dark_trooper_80.py b/scripts/mobiles/generic/faction/imperial/opressor_7_dark_trooper_80.py new file mode 100644 index 00000000..090f54d4 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/opressor_7_dark_trooper_80.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_elite_dark_trooper_hard') + mobileTemplate.setLevel(80) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(False) + #mobileTemplate.setOptionsBitmask(192) + mobileTemplate.setOptionsBitmask(0) # TEMP until pvpstatus is useable for npcs! + + templates = Vector() + templates.add('object/mobile/shared_dark_trooper.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('opp_7_80', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/opressor_7_dark_trooper_88.py b/scripts/mobiles/generic/faction/imperial/opressor_7_dark_trooper_88.py new file mode 100644 index 00000000..04848b79 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/opressor_7_dark_trooper_88.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('fbase_elite_dark_trooper_extreme') + mobileTemplate.setLevel(88) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1.1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(False) + #mobileTemplate.setOptionsBitmask(192) + mobileTemplate.setOptionsBitmask(0) # TEMP until pvpstatus is useable for npcs! + + templates = Vector() + templates.add('object/mobile/shared_dressed_dark_trooper_black_hole.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('opp_7_88', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/opressor_9_dark_trooper.py b/scripts/mobiles/generic/faction/imperial/opressor_9_dark_trooper.py new file mode 100644 index 00000000..7c011543 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/opressor_9_dark_trooper.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_elite_dark_trooper_hard') + mobileTemplate.setLevel(89) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1.1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(False) + #mobileTemplate.setOptionsBitmask(192) + mobileTemplate.setOptionsBitmask(0) # TEMP until pvpstatus is useable for npcs! + + templates = Vector() + templates.add('object/mobile/shared_dark_trooper.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('opp_9', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/super_battle_droid_imp.py b/scripts/mobiles/generic/faction/imperial/super_battle_droid_imp.py new file mode 100644 index 00000000..e1e345e5 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/super_battle_droid_imp.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('imperial_battle_droid') + mobileTemplate.setLevel(86) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(12) + mobileTemplate.setStalker(False) + #mobileTemplate.setOptionsBitmask(192) + mobileTemplate.setOptionsBitmask(0) # TEMP until pvpstatus is useable for npcs! + + templates = Vector() + templates.add('object/mobile/shared_super_battle_droid.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('sbd_imperials', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/triumphant_class_dark_trooper.py b/scripts/mobiles/generic/faction/imperial/triumphant_class_dark_trooper.py new file mode 100644 index 00000000..874b6c88 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/triumphant_class_dark_trooper.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_elite_dark_trooper_hard') + mobileTemplate.setLevel(90) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(False) + mobileTemplate.setScale(1.1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(False) + #mobileTemplate.setOptionsBitmask(192) + mobileTemplate.setOptionsBitmask(0) # TEMP until pvpstatus is useable for npcs! + + templates = Vector() + templates.add('object/mobile/shared_dark_trooper.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('opp_9', mobileTemplate) + return \ No newline at end of file diff --git a/src/services/spawn/MobileTemplate.java b/src/services/spawn/MobileTemplate.java index 5c67f195..97e088be 100644 --- a/src/services/spawn/MobileTemplate.java +++ b/src/services/spawn/MobileTemplate.java @@ -27,6 +27,8 @@ import java.util.Vector; import resources.datatables.Options; import resources.datatables.PvpStatus; +import resources.datatables.Factions; +import resources.datatables.FactionStatus; import resources.loot.LootGroup; public class MobileTemplate implements Cloneable { @@ -34,6 +36,8 @@ public class MobileTemplate implements Cloneable { private Vector templates; private int optionsBitmask = Options.ATTACKABLE; private int pvpBitmask = PvpStatus.Attackable; + private int factionstatus = FactionStatus.Combatant; + private String faction = ""; private short level; private short minLevel; private short maxLevel; @@ -83,6 +87,22 @@ public class MobileTemplate implements Cloneable { return pvpBitmask; } + public String getFaction(){ + return faction; + } + + public void setFaction(String faction){ + this.faction = faction; + } + + public int getFactionStatus(){ + return factionstatus; + } + + public void setFactionStatus(int factionstatus){ + this.factionstatus = factionstatus; + } + public void setPvpBitmask(int pvpBitmask) { this.pvpBitmask = pvpBitmask; } diff --git a/src/services/spawn/SpawnService.java b/src/services/spawn/SpawnService.java index 22c6a1f2..8564aa48 100644 --- a/src/services/spawn/SpawnService.java +++ b/src/services/spawn/SpawnService.java @@ -104,6 +104,8 @@ public class SpawnService { creature.setLootGroups(mobileTemplate.getLootGroups()); creature.setOptionsBitmask(mobileTemplate.getOptionsBitmask()); + creature.setFaction(mobileTemplate.getFaction()); + creature.setFactionStatus(mobileTemplate.getFactionStatus()); creature.setPvpBitmask(mobileTemplate.getPvpBitmask()); creature.setStfFilename("mob/creature_names"); // TODO: set other STFs for NPCs other than creatures creature.setStfName(mobileTemplate.getCreatureName());