Started work on Factional NPC's

Added setFaction and setFactionStatus to Mobiletemplate
This commit is contained in:
tacef
2014-05-18 18:08:49 +02:00
parent 25ab7d3abe
commit ef4e73e24e
15 changed files with 530 additions and 0 deletions
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
+20
View File
@@ -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<String> 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;
}
+2
View File
@@ -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());