From e4705ff248631193a3fb7c5599dfabacfcf6deb9 Mon Sep 17 00:00:00 2001 From: tacef Date: Sun, 20 Jul 2014 10:22:09 +0200 Subject: [PATCH] Changed Anchorhead static spawns to use mobiletemplates Added Various NPC's for Anchorhead static spawns --- .../generic/static/junkdealer/junkdealer.py | 39 +++++++++++++++++ .../generic/static/tatooine/aaphkoden.py | 33 +++++++++++++++ .../mobiles/generic/static/tatooine/alger.py | 33 +++++++++++++++ .../generic/static/tatooine/borrasetas.py | 33 +++++++++++++++ .../generic/static/tatooine/carlhabastra.py | 33 +++++++++++++++ .../generic/static/tatooine/cuantalon.py | 33 +++++++++++++++ .../generic/static/tatooine/dromaordo.py | 33 +++++++++++++++ .../mobiles/generic/static/tatooine/sorna.py | 33 +++++++++++++++ scripts/static_spawns/tatooine/anchorhead.py | 42 +++++++------------ src/services/SimulationService.java | 4 +- 10 files changed, 286 insertions(+), 30 deletions(-) create mode 100644 scripts/mobiles/generic/static/junkdealer/junkdealer.py create mode 100644 scripts/mobiles/generic/static/tatooine/aaphkoden.py create mode 100644 scripts/mobiles/generic/static/tatooine/alger.py create mode 100644 scripts/mobiles/generic/static/tatooine/borrasetas.py create mode 100644 scripts/mobiles/generic/static/tatooine/carlhabastra.py create mode 100644 scripts/mobiles/generic/static/tatooine/cuantalon.py create mode 100644 scripts/mobiles/generic/static/tatooine/dromaordo.py create mode 100644 scripts/mobiles/generic/static/tatooine/sorna.py diff --git a/scripts/mobiles/generic/static/junkdealer/junkdealer.py b/scripts/mobiles/generic/static/junkdealer/junkdealer.py new file mode 100644 index 00000000..815c41b2 --- /dev/null +++ b/scripts/mobiles/generic/static/junkdealer/junkdealer.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from resources.datatables import WeaponType +from resources.datatables import Difficulty +from resources.datatables import Options +from java.util import Vector + + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('junk_dealer') + mobileTemplate.setLevel(1) + mobileTemplate.setDifficulty(Difficulty.NORMAL) + mobileTemplate.setSocialGroup("township") + mobileTemplate.setOptionsBitmask(Options.INVULNERABLE | Options.CONVERSABLE) + mobileTemplate.setConversationFileName('junk_dealer') + + templates = Vector() + templates.add('object/mobile/shared_junk_dealer_m_01.iff') + templates.add('object/mobile/shared_junk_dealer_f_01.iff') + templates.add('object/mobile/shared_junk_dealer_m_02.iff') + templates.add('object/mobile/shared_junk_dealer_f_02.iff') + templates.add('object/mobile/shared_junk_dealer_m_03.iff') + templates.add('object/mobile/shared_junk_dealer_f_03.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('junkdealer', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/static/tatooine/aaphkoden.py b/scripts/mobiles/generic/static/tatooine/aaphkoden.py new file mode 100644 index 00000000..e4260c92 --- /dev/null +++ b/scripts/mobiles/generic/static/tatooine/aaphkoden.py @@ -0,0 +1,33 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from resources.datatables import WeaponType +from resources.datatables import Difficulty +from resources.datatables import Options +from java.util import Vector + + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCustomName('Aaph Koden') + mobileTemplate.setLevel(1) + mobileTemplate.setDifficulty(Difficulty.NORMAL) + mobileTemplate.setSocialGroup("township") + mobileTemplate.setOptionsBitmask(Options.INVULNERABLE) + + templates = Vector() + templates.add('object/mobile/shared_dressed_tatooine_aaph_koden.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('aaphkoden', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/static/tatooine/alger.py b/scripts/mobiles/generic/static/tatooine/alger.py new file mode 100644 index 00000000..195f8363 --- /dev/null +++ b/scripts/mobiles/generic/static/tatooine/alger.py @@ -0,0 +1,33 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from resources.datatables import WeaponType +from resources.datatables import Difficulty +from resources.datatables import Options +from java.util import Vector + + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCustomName('Alger') + mobileTemplate.setLevel(1) + mobileTemplate.setDifficulty(Difficulty.NORMAL) + mobileTemplate.setSocialGroup("township") + mobileTemplate.setOptionsBitmask(Options.INVULNERABLE) + + templates = Vector() + templates.add('object/mobile/shared_smuggler_fence_alger.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('alger', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/static/tatooine/borrasetas.py b/scripts/mobiles/generic/static/tatooine/borrasetas.py new file mode 100644 index 00000000..495bf095 --- /dev/null +++ b/scripts/mobiles/generic/static/tatooine/borrasetas.py @@ -0,0 +1,33 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from resources.datatables import WeaponType +from resources.datatables import Difficulty +from resources.datatables import Options +from java.util import Vector + + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCustomName('Borra Setas') + mobileTemplate.setLevel(1) + mobileTemplate.setDifficulty(Difficulty.NORMAL) + mobileTemplate.setSocialGroup("township") + mobileTemplate.setOptionsBitmask(Options.INVULNERABLE) + + templates = Vector() + templates.add('object/mobile/shared_dressed_commoner_tatooine_rodian_female_03.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('borrasetas', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/static/tatooine/carlhabastra.py b/scripts/mobiles/generic/static/tatooine/carlhabastra.py new file mode 100644 index 00000000..f9ad1b23 --- /dev/null +++ b/scripts/mobiles/generic/static/tatooine/carlhabastra.py @@ -0,0 +1,33 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from resources.datatables import WeaponType +from resources.datatables import Difficulty +from resources.datatables import Options +from java.util import Vector + + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCustomName('Carh\'la Bastra') + mobileTemplate.setLevel(1) + mobileTemplate.setDifficulty(Difficulty.NORMAL) + mobileTemplate.setSocialGroup("township") + mobileTemplate.setOptionsBitmask(Options.INVULNERABLE) + + templates = Vector() + templates.add('object/mobile/shared_dressed_legacy_bastra.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('carlhabastra', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/static/tatooine/cuantalon.py b/scripts/mobiles/generic/static/tatooine/cuantalon.py new file mode 100644 index 00000000..43bb728e --- /dev/null +++ b/scripts/mobiles/generic/static/tatooine/cuantalon.py @@ -0,0 +1,33 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from resources.datatables import WeaponType +from resources.datatables import Difficulty +from resources.datatables import Options +from java.util import Vector + + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCustomName('Cuan Talon') + mobileTemplate.setLevel(1) + mobileTemplate.setDifficulty(Difficulty.NORMAL) + mobileTemplate.setSocialGroup("township") + mobileTemplate.setOptionsBitmask(Options.INVULNERABLE) + + templates = Vector() + templates.add('object/mobile/shared_dressed_legacy_cuan.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('cuantalon', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/static/tatooine/dromaordo.py b/scripts/mobiles/generic/static/tatooine/dromaordo.py new file mode 100644 index 00000000..eaa5a4d7 --- /dev/null +++ b/scripts/mobiles/generic/static/tatooine/dromaordo.py @@ -0,0 +1,33 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from resources.datatables import WeaponType +from resources.datatables import Difficulty +from resources.datatables import Options +from java.util import Vector + + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCustomName('Droma Ordo') + mobileTemplate.setLevel(1) + mobileTemplate.setDifficulty(Difficulty.NORMAL) + mobileTemplate.setSocialGroup("township") + mobileTemplate.setOptionsBitmask(Options.INVULNERABLE) + + templates = Vector() + templates.add('object/mobile/shared_dressed_anchorjobs_ordo.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('dromaordo', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/static/tatooine/sorna.py b/scripts/mobiles/generic/static/tatooine/sorna.py new file mode 100644 index 00000000..b0e4704c --- /dev/null +++ b/scripts/mobiles/generic/static/tatooine/sorna.py @@ -0,0 +1,33 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from resources.datatables import WeaponType +from resources.datatables import Difficulty +from resources.datatables import Options +from java.util import Vector + + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCustomName('Sorna') + mobileTemplate.setLevel(1) + mobileTemplate.setDifficulty(Difficulty.NORMAL) + mobileTemplate.setSocialGroup("township") + mobileTemplate.setOptionsBitmask(Options.INVULNERABLE) + + templates = Vector() + templates.add('object/mobile/shared_dressed_tatooine_tosche_sorna.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('sorna', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/static_spawns/tatooine/anchorhead.py b/scripts/static_spawns/tatooine/anchorhead.py index ff4809f1..44ebddfc 100644 --- a/scripts/static_spawns/tatooine/anchorhead.py +++ b/scripts/static_spawns/tatooine/anchorhead.py @@ -14,39 +14,25 @@ def addPlanetSpawns(core, planet): objSvc = core.objectService # TODO Check all NPCs for personalized scripting, change format. + cantina = core.objectService.getObject(long(1213343)) # Cantina Interior - borraSetas = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_rodian_female_03.iff', 'tatooine', long(1213345), float(9.8), float(0.4), float(-1.2), float(-0.65), float(0.75)) - #borraSetas.setCustomName2('Borra Setas') - #borraSetas.setOptionsBitmask(256) - + borraSetas = stcSvc.spawnObject('borrasetas', 'tatooine', cantina.getCellByCellNumber(2), float(9.8), float(0.4), float(-1.2), float(0.75), float(0), float(-0.65), float(0)) + # Outside - aaphKoden = stcSvc.spawnObject('object/mobile/shared_dressed_tatooine_aaph_koden.iff', 'tatooine', long(0), float(129), float(5.0), float(-5399), float(-0.67), float(0.73)) - aaphKoden.setCustomName2('Aaph Koden') - aaphKoden.setOptionsBitmask(256) + aaphKoden = stcSvc.spawnObject('aaphkoden', 'tatooine', long(0), float(129), float(5.0), float(-5399), float(-0.67), float(0.73)) - Alger = stcSvc.spawnObject('object/mobile/shared_smuggler_fence_alger.iff', 'tatooine', long(0), float(107), float(5.0), float(-5315), float(0.96), float(0.26)) - Alger.setCustomName2('Alger') - Alger.setOptionsBitmask(256) + Alger = stcSvc.spawnObject('alger', 'tatooine', long(0), float(107), float(5.0), float(-5315), float(0.96), float(0.26)) - carhlaBastra = stcSvc.spawnObject('object/mobile/shared_dressed_legacy_bastra.iff', 'tatooine', long(0), float(128), float(5.0), float(-5428), float(-0.26), float(0.96)) - carhlaBastra.setCustomName2('Carh\'la Bastra') - carhlaBastra.setOptionsBitmask(256) + carhlaBastra = stcSvc.spawnObject('carlhabastra', 'tatooine', long(0), float(128), float(5.0), float(-5428), float(-0.26), float(0.96)) - cuanTalon = stcSvc.spawnObject('object/mobile/shared_dressed_legacy_cuan.iff', 'tatooine', long(0), float(-161.7), float(65.0), float(-5322.8), float(0), float(0)) - cuanTalon.setCustomName2('Cuan Talon') - cuanTalon.setOptionsBitmask(256) + cuanTalon = stcSvc.spawnObject('cuantalon', 'tatooine', long(0), float(-161.7), float(65.0), float(-5322.8), float(0), float(0)) - dromaOrdo = stcSvc.spawnObject('object/mobile/shared_dressed_anchorjobs_ordo.iff', 'tatooine', long(0), float(110), float(52.0), float(-5431), float(0.36), float(0.93)) - dromaOrdo.setCustomName2('Droma Ordo') - dromaOrdo.setOptionsBitmask(256) - - Sorna = stcSvc.spawnObject('object/mobile/shared_dressed_tatooine_tosche_sorna.iff', 'tatooine', long(0), float(-135), float(52.0), float(-5331), float(0.36), float(0.93)) - Sorna.setCustomName2('Sorna') - Sorna.setOptionsBitmask(256) - - #Junk Dealer - stcSvc.spawnObject('object/mobile/shared_junk_dealer_m_01.iff', 'tatooine', long(0), float(110), float(52), float(-5428), float(0.71), float(0.71)) + dromaOrdo = stcSvc.spawnObject('dromaordo', 'tatooine', long(0), float(110), float(52.0), float(-5431), float(0.36), float(0.93)) - return - + Sorna = stcSvc.spawnObject('sorna', 'tatooine', long(0), float(-135), float(52.0), float(-5331), float(0.36), float(0.93)) + + #Junk Dealer + stcSvc.spawnObject('junkdealer', 'tatooine', long(0), float(110), float(52), float(-5428), float(0.71), float(0.71)) + + return \ No newline at end of file diff --git a/src/services/SimulationService.java b/src/services/SimulationService.java index dd1c6171..db727b64 100644 --- a/src/services/SimulationService.java +++ b/src/services/SimulationService.java @@ -550,8 +550,8 @@ public class SimulationService implements INetworkDispatch { object.getContainer()._remove(object); if (object.getClient() == null) System.err.println("Client is null! This is a very strange error."); - //if (object.getClient() != null && object.getClient().isGM() && parent != null && parent instanceof CellObject && parent.getContainer() != null) - //object.sendSystemMessage("BuildingId - Dec: " + parent.getContainer().getObjectID() + " Hex: " + Long.toHexString(parent.getContainer().getObjectID()) + " CellNumber: " + ((CellObject) parent).getCellNumber(), DisplayType.Broadcast); + if (object.getClient() != null && object.getClient().isGM() && parent != null && parent instanceof CellObject && parent.getContainer() != null) + object.sendSystemMessage("BuildingId - Dec: " + parent.getContainer().getObjectID() + " Hex: " + Long.toHexString(parent.getContainer().getObjectID()) + " CellNumber: " + ((CellObject) parent).getCellNumber(), DisplayType.Broadcast); parent._add(object); } object.setPosition(newPos);