mirror of
https://github.com/ProjectSWGCore/NGECore2.git
synced 2026-08-27 17:57:22 -04:00
Merge branch 'master' of https://github.com/ProjectSWGCore/NGECore2
Conflicts: src/protocol/swg/ObjControllerMessage.java src/resources/objects/player/PlayerMessageBuilder.java src/services/travel/TravelService.java
This commit is contained in:
@@ -1,13 +0,0 @@
|
||||
#Tue Oct 30 18:21:38 CDT 2012
|
||||
ZONE.URL=
|
||||
ZONE.PORT=44463
|
||||
LOGIN.URL=
|
||||
LOGIN.PORT=44453
|
||||
LOGIN.SESSION_KEY_SIZE=24
|
||||
PING.PORT=44462
|
||||
DB.NAME=nge
|
||||
DB.USER=postgres
|
||||
DB.URL=localhost
|
||||
DB.PASS=nge
|
||||
GALAXY_ID=2
|
||||
GALAXY_NAME=Local Connection
|
||||
@@ -0,0 +1,76 @@
|
||||
import sys
|
||||
import services.collections.CollectionService
|
||||
|
||||
|
||||
def setup(collectionService):
|
||||
|
||||
#Corellia
|
||||
collectionService.registerExplorationBadge('corellia', 'bdg_exp_cor_rogue_corsec_base', 5175, 1644, 64)
|
||||
collectionService.registerExplorationBadge('corellia', 'bdg_exp_cor_tyrena_theater', -5418, -6248, 64)
|
||||
collectionService.registerExplorationBadge('corellia', 'bdg_exp_cor_bela_vistal_fountain', 6760, -5617, 32)
|
||||
collectionService.registerExplorationBadge('corellia', 'bdg_exp_cor_rebel_hideout', -6530, 5967, 64)
|
||||
collectionService.registerExplorationBadge('corellia', 'exp_cor_agrilat_swamp', 1389, 3756, 64)
|
||||
|
||||
#Dantooine
|
||||
collectionService.registerExplorationBadge('dantooine', 'bdg_exp_dan_dantari_village1', -3862, -5706, 16)
|
||||
collectionService.registerExplorationBadge('dantooine', 'bdg_exp_dan_dantari_village2', -7156, -883, 32)
|
||||
collectionService.registerExplorationBadge('dantooine', 'exp_dan_rebel_base', -6836, 5520, 32)
|
||||
collectionService.registerExplorationBadge('dantooine', 'exp_dan_jedi_temple', 4195, 5203, 16)
|
||||
|
||||
#Dathomir
|
||||
collectionService.registerExplorationBadge('dathomir', 'exp_dat_tarpit', 668, -4835, 32)
|
||||
collectionService.registerExplorationBadge('dathomir', 'exp_dat_sarlacc', -2101, 3165, 16)
|
||||
collectionService.registerExplorationBadge('dathomir', 'exp_dat_escape_pod', -4437, 574, 32)
|
||||
collectionService.registerExplorationBadge('dathomir', 'exp_dat_misty_falls_1', 3558, 1554, 32)
|
||||
collectionService.registerExplorationBadge('dathomir', 'exp_dat_misty_falls_2', 3021, 1289, 32)
|
||||
collectionService.registerExplorationBadge('dathomir', 'bdg_exp_dat_imp_prison', -6304, 753, 32)
|
||||
collectionService.registerExplorationBadge('dathomir', 'bdg_exp_dat_crashed_ship', 5727, 1923, 32)
|
||||
|
||||
#Endor
|
||||
collectionService.registerExplorationBadge('endor', 'bdg_exp_end_ewok_tree_village', 4596, -2423, 32)
|
||||
collectionService.registerExplorationBadge('endor', 'bdg_exp_end_ewok_lake_village', 1454, -3272, 32)
|
||||
collectionService.registerExplorationBadge('endor', 'bdg_exp_end_dulok_village', 6051, -2477, 16)
|
||||
collectionService.registerExplorationBadge('endor', 'bdg_exp_end_imp_outpost', -4628, -2273, 32)
|
||||
|
||||
#Kashyyyk
|
||||
collectionService.registerExplorationBadge('kashyyyk', 'exp_kash_kachirho_found', -660, -201, 64)
|
||||
|
||||
#Lok
|
||||
collectionService.registerExplorationBadge('lok', 'exp_lok_volcano', 3091, -4638, 32)
|
||||
collectionService.registerExplorationBadge('lok', 'bdg_exp_lok_imp_outpost', -1814, -3086, 32)
|
||||
collectionService.registerExplorationBadge('lok', 'bdg_exp_lok_kimogila_skeleton', 4562, -1156, 16)
|
||||
|
||||
#Mustafar
|
||||
collectionService.registerExplorationBadge('mustafar', 'exp_must_mustafar_found', 0, 0, 32)
|
||||
|
||||
#Naboo
|
||||
collectionService.registerExplorationBadge('naboo', 'exp_nab_gungan_sacred_place', -2066, -5423, 32)
|
||||
collectionService.registerExplorationBadge('naboo', 'bdg_exp_nab_theed_falls_bottom', -4628, 4207, 32)
|
||||
collectionService.registerExplorationBadge('naboo', 'bdg_exp_nab_deeja_falls_top', 5157, -1646, 32)
|
||||
collectionService.registerExplorationBadge('naboo', 'bdg_exp_nab_amidalas_sandy_beach', -5828, -93, 32)
|
||||
|
||||
#Rori
|
||||
collectionService.registerExplorationBadge('rori', 'bdg_exp_ror_imp_camp', -5633, -5661, 32)
|
||||
collectionService.registerExplorationBadge('rori', 'bdg_exp_ror_imp_hyperdrive_fac', -1130, 4544, 32)
|
||||
collectionService.registerExplorationBadge('rori', 'bdg_exp_ror_rebel_outpost', 3664, -6501, 32)
|
||||
collectionService.registerExplorationBadge('rori', 'bdg_exp_ror_kobala_spice_mine', 7371, 169, 32)
|
||||
|
||||
#Talus
|
||||
collectionService.registerExplorationBadge('talus', 'bdg_exp_tal_creature_village', 4133, 962, 32)
|
||||
collectionService.registerExplorationBadge('talus', 'bdg_exp_tal_imp_base', -2184, 2405, 32)
|
||||
collectionService.registerExplorationBadge('talus', 'bdg_exp_tal_imp_vs_reb_battle', -2452, 3846, 32)
|
||||
collectionService.registerExplorationBadge('talus', 'bdg_exp_tal_aqualish_cave', -4425, -1414, 64)
|
||||
|
||||
#Tatooine
|
||||
collectionService.registerExplorationBadge('tatooine', 'exp_tat_lars_homestead', -2579, -5500, 32)
|
||||
collectionService.registerExplorationBadge('tatooine', 'exp_tat_bens_hut', -4512, -2270, 16)
|
||||
collectionService.registerExplorationBadge('tatooine', 'exp_tat_sarlacc_pit', -6176, -3372, 32)
|
||||
collectionService.registerExplorationBadge('tatooine', 'exp_tat_escape_pod', -3931, -4397, 32)
|
||||
collectionService.registerExplorationBadge('tatooine', 'exp_tat_krayt_skeleton', -4632, -4346, 16)
|
||||
collectionService.registerExplorationBadge('tatooine', 'exp_tat_krayt_graveyard', 7396, 4478, 64)
|
||||
collectionService.registerExplorationBadge('tatooine', 'exp_tat_tusken_pool', -3966, 6267, 32)
|
||||
|
||||
#Yavin
|
||||
collectionService.registerExplorationBadge('yavin4', 'exp_yav_temple_exar_kun', 5076, 5537, 32)
|
||||
collectionService.registerExplorationBadge('yavin4', 'exp_yav_temple_blueleaf', -875, -2047, 32)
|
||||
collectionService.registerExplorationBadge('yavin4', 'exp_yav_temple_woolamander', 519, -646, 32)
|
||||
@@ -0,0 +1,10 @@
|
||||
import sys
|
||||
from protocol.swg.objectControllerObjects import BiographyUpdate
|
||||
from protocol.swg import ObjControllerMessage
|
||||
|
||||
def setup():
|
||||
return
|
||||
|
||||
def run(core, actor, target, commandString):
|
||||
print ('do you do anything?!')
|
||||
return
|
||||
@@ -10,9 +10,15 @@ def run(core, actor, target, commandString):
|
||||
print playerObject.getProfession()
|
||||
if not playerObject or playerObject.getProfession() != "entertainer_1a":
|
||||
return
|
||||
|
||||
print 'x'
|
||||
if actor.getPosture() != 0x09:
|
||||
|
||||
if target is None or actor.getObjectId() == target.getObjectId():
|
||||
print ('Buffing Player: ' + str(target.getObjectId()) + ' or: ' + target.getCustomName())
|
||||
openBuffWindow = BuffBuilderStartMessage(actor.getObjectId(), actor.getObjectId(), actor.getObjectId())
|
||||
objController = ObjControllerMessage(11, openBuffWindow)
|
||||
actor.getClient().getSession().write(objController.serialize())
|
||||
return
|
||||
|
||||
if actor.getPosture() != 0x09 and target.getObjectId() != actor.getObjectId():
|
||||
actor.sendSystemMessage('@performance:insp_buff_must_perform', 2)
|
||||
return
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from resources.common import PlayerFlags
|
||||
from resources.datatables import PlayerFlags
|
||||
import sys
|
||||
|
||||
def setup():
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from resources.common import PlayerFlags
|
||||
from resources.datatables import PlayerFlags
|
||||
import sys
|
||||
|
||||
def setup():
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
import sys
|
||||
from protocol.swg.objectControllerObjects import BiographyUpdate
|
||||
from protocol.swg import ObjControllerMessage
|
||||
|
||||
|
||||
# Called when open Character tab
|
||||
def setup():
|
||||
return
|
||||
|
||||
def run(core, actor, target, commandString):
|
||||
|
||||
if actor is None:
|
||||
return
|
||||
|
||||
if target is None:
|
||||
return
|
||||
|
||||
tGhost = target.getSlottedObject('ghost')
|
||||
|
||||
bioUpdate = BiographyUpdate(actor.getObjectId(), target.getObjectId(), tGhost.getBiography())
|
||||
objMsg = ObjControllerMessage(11, bioUpdate)
|
||||
actor.getClient().getSession().write(objMsg.serialize())
|
||||
|
||||
return
|
||||
@@ -1,5 +1,5 @@
|
||||
from java.lang import Integer
|
||||
from resources.common import PlayerFlags
|
||||
from resources.datatables import PlayerFlags
|
||||
import sys
|
||||
|
||||
def setup():
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
import sys
|
||||
from protocol.swg.objectControllerObjects import BiographyUpdate
|
||||
from protocol.swg import ObjControllerMessage
|
||||
|
||||
def setup():
|
||||
return
|
||||
|
||||
def run(core, actor, target, commandString):
|
||||
if actor is None:
|
||||
return
|
||||
|
||||
if len(commandString) > 200:
|
||||
return
|
||||
|
||||
ghost = actor.getSlottedObject('ghost')
|
||||
|
||||
if ghost is None:
|
||||
return
|
||||
|
||||
ghost.setBiography(commandString)
|
||||
|
||||
bioUpdate = BiographyUpdate(actor.getObjectId(), actor.getObjectId(), commandString)
|
||||
objMsg = ObjControllerMessage(11, bioUpdate)
|
||||
actor.getClient().getSession().write(objMsg.serialize())
|
||||
return
|
||||
@@ -1,5 +1,10 @@
|
||||
import sys
|
||||
from engine.resources.scene import Point3D
|
||||
from protocol.swg import CommPlayerMessage
|
||||
from protocol.swg.objectControllerObjects import ShowLootBox
|
||||
from protocol.swg import ObjControllerMessage
|
||||
from engine.resources.objects import SWGObject
|
||||
from jarray import array
|
||||
|
||||
def setup():
|
||||
return
|
||||
@@ -11,6 +16,9 @@ def run(core, actor, target, commandString):
|
||||
if not playerObject:
|
||||
return
|
||||
|
||||
if target is not None:
|
||||
print ('has target!')
|
||||
|
||||
commandArgs = commandString.split(' ')
|
||||
command = commandArgs[0]
|
||||
if len(commandArgs) > 1:
|
||||
@@ -45,4 +53,24 @@ def run(core, actor, target, commandString):
|
||||
actor.addAbility(str(arg1))
|
||||
actor.sendSystemMessage('You have learned ' + arg1 + '')
|
||||
|
||||
elif command == 'anim' and arg1:
|
||||
actor.doSkillAnimation(arg1)
|
||||
actor.sendSystemMessage('Performed ' + arg1 ,0)
|
||||
|
||||
elif command == 'changeBio' and arg1:
|
||||
actor.getSlottedObject('ghost').setBiography(arg1)
|
||||
|
||||
elif command == 'rewardMe':
|
||||
testObject = core.objectService.createObject('object/weapon/ranged/rifle/shared_rifle_t21.iff', actor.getPlanet())
|
||||
testObject.setCustomName('Crush4r')
|
||||
testObject.setStringAttribute('crafter', 'Wavescrub')
|
||||
dGun = core.objectService.createObject('object/weapon/ranged/rifle/shared_rifle_tc22_blaster.iff', actor.getPlanet())
|
||||
dGun.setCustomName('Supertoms Gun')
|
||||
dGun.setStringAttribute('crafter', 'Wavescrub')
|
||||
core.playerService.giveItems(actor, testObject, dGun)
|
||||
return
|
||||
|
||||
elif command == 'comm':
|
||||
comm = CommPlayerMessage(actor.getObjectId())
|
||||
actor.getClient().getSession().write(comm.serialize())
|
||||
return
|
||||
|
||||
@@ -5,7 +5,8 @@ def setup():
|
||||
|
||||
def run(core, actor, target, commandString):
|
||||
if core.equipmentService.canEquip(actor, target) is False:
|
||||
return
|
||||
return
|
||||
|
||||
|
||||
parsedMsg = commandString.split(' ', 3)
|
||||
objService = core.objectService
|
||||
|
||||
@@ -7,6 +7,7 @@ def run(core, actor, target, commandString):
|
||||
if core.equipmentService.canEquip(actor, target) is False:
|
||||
return
|
||||
|
||||
|
||||
parsedMsg = commandString.split(' ', 3)
|
||||
objService = core.objectService
|
||||
containerID = long(parsedMsg[1])
|
||||
|
||||
@@ -6,6 +6,7 @@ def setup():
|
||||
def run(core, actor, target, commandString):
|
||||
if core.equipmentService.canEquip(actor, target) is False:
|
||||
return
|
||||
|
||||
|
||||
parsedMsg = commandString.split(' ', 3)
|
||||
objService = core.objectService
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStringAttribute('crystal_owner', '\#FFFF00UNTUNED')
|
||||
object.setStringAttribute('quality', 'Poor')
|
||||
return
|
||||
@@ -0,0 +1,9 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('item_bounty_hunter_clicky_01_02')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('item_bounty_hunter_clicky_01_02')
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
return
|
||||
@@ -0,0 +1,9 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('item_force_sensitive_clicky_01_02')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('item_force_sensitive_clicky_01_02')
|
||||
object.setStringAttribute('class_required', 'Jedi')
|
||||
return
|
||||
@@ -1,7 +1,7 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setAttachment('radial_filename', 'bank')
|
||||
object.setAttachment('radial_filename', 'terminal/bank')
|
||||
core.mapService.addLocation(object.getPlanet(), 'Bank Terminal', object.getPosition().x, object.getPosition().z, 41, 42, 0)
|
||||
return
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setAttachment('radial_filename', 'cloning_terminal')
|
||||
object.setAttachment('radial_filename', 'terminal/cloning_terminal')
|
||||
return
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setAttachment('radial_filename', 'travel_terminal')
|
||||
object.setAttachment('radial_filename', 'terminal/travel_terminal')
|
||||
return
|
||||
@@ -1,5 +1,5 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setAttachment('radial_filename', 'npc_ticket_collector')
|
||||
object.setAttachment('radial_filename', 'npc/npc_ticket_collector')
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_bounty_hunter_roadmap_bicep_l_02_01')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_bounty_hunter_roadmap_bicep_l_02_01')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_bounty_hunter_roadmap_bicep_r_02_01')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_bounty_hunter_roadmap_bicep_r_02_01')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_bounty_hunter_roadmap_boots_02_01')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_bounty_hunter_roadmap_boots_02_01')
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_bounty_hunter_roadmap_bracer_l_02_01')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_bounty_hunter_roadmap_bracer_l_02_01')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_bounty_hunter_roadmap_bracer_r_02_01')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_bounty_hunter_roadmap_bracer_r_02_01')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_bounty_hunter_roadmap_chest_02_01')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_bounty_hunter_roadmap_chest_02_01')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_bounty_hunter_roadmap_gloves_02_01')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_bounty_hunter_roadmap_gloves_02_01')
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_bounty_hunter_roadmap_helmet_02_01')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_bounty_hunter_roadmap_helmet_02_01')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_bounty_hunter_roadmap_leggings_02_01')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_bounty_hunter_roadmap_leggings_02_01')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_ithorian_roadmap_bicep_l_02_03')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_ithorian_roadmap_bicep_l_02_03')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_ithorian_roadmap_bicep_r_02_03')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_ithorian_roadmap_bicep_r_02_03')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_ithorian_roadmap_boots_02_03')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_ithorian_roadmap_boots_02_03')
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_ithorian_roadmap_bracer_l_02_03')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_ithorian_roadmap_bracer_l_02_03')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_ithorian_roadmap_bracer_r_02_03')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_ithorian_roadmap_bracer_r_02_03')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_ithorian_roadmap_chest_02_03')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_ithorian_roadmap_chest_02_03')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_ithorian_roadmap_gloves_02_03')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_ithorian_roadmap_gloves_02_03')
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_ithorian_roadmap_helmet_02_03')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_ithorian_roadmap_helmet_02_03')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_ithorian_roadmap_leggings_02_03')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_ithorian_roadmap_leggings_02_03')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_wookiee_roadmap_bicep_l_02_03')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_wookiee_roadmap_bicep_l_02_03')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_wookiee_roadmap_bicep_r_02_03')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_wookiee_roadmap_bicep_r_02_03')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_wookiee_roadmap_bracer_l_02_03')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_wookiee_roadmap_bracer_l_02_03')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_wookiee_roadmap_bracer_r_02_03')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_wookiee_roadmap_bracer_r_02_03')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_wookiee_roadmap_chest_02_03')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_wookiee_roadmap_chest_02_03')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('armor_wookiee_roadmap_leggings_02_03')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('armor_wookiee_roadmap_leggings_02_03')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setStringAttribute('armor_category', 'Assault')
|
||||
object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640)
|
||||
object.setIntAttribute('cat_armor_standard_protection.energy', 640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640)
|
||||
object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640)
|
||||
return
|
||||
@@ -0,0 +1,13 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('item_roadmap_belt_bounty_hunter_01_02')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('item_roadmap_belt_bounty_hunter_01_02')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15)
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20)
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 15)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setIntAttribute('required_combat_level', 90)
|
||||
return
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('item_roadmap_belt_force_sensitive_01_02')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('item_roadmap_belt_force_sensitive_01_02')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15)
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20)
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 15)
|
||||
object.setStringAttribute('class_required', 'Jedi')
|
||||
object.setIntAttribute('required_combat_level', 90)
|
||||
return
|
||||
@@ -0,0 +1,11 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('item_bounty_hunter_backpack_01_02')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('item_bounty_hunter_backpack_01_02')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 5)
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
return
|
||||
@@ -0,0 +1,11 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('item_bounty_hunter_pendant_01_02')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('item_bounty_hunter_pendant_01_02')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 12)
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
return
|
||||
@@ -0,0 +1,11 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('item_force_sensitive_pendant_01_02')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('item_force_sensitive_pendant_01_02')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 12)
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 12)
|
||||
object.setStringAttribute('class_required', 'Jedi')
|
||||
return
|
||||
@@ -1,4 +1,5 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setAttachment('radial_filename', 'ring/unity')
|
||||
return
|
||||
@@ -0,0 +1,12 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('item_bounty_hunter_ring_01_02')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('item_bounty_hunter_ring_01_02')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 6)
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 6)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setAttachment('radial_filename', 'ring/unity')
|
||||
return
|
||||
@@ -0,0 +1,12 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('item_force_sensitive_ring_01_02')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('item_force_sensitive_ring_01_02')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 6)
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 6)
|
||||
object.setStringAttribute('class_required', 'Jedi')
|
||||
object.setAttachment('radial_filename', 'ring/unity')
|
||||
return
|
||||
@@ -0,0 +1,12 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('item_force_sensitive_ring_02_01')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('item_force_sensitive_ring_02_01')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 5)
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 5)
|
||||
object.setStringAttribute('class_required', 'Jedi')
|
||||
object.setAttachment('radial_filename', 'ring/unity')
|
||||
return
|
||||
@@ -1,4 +1,5 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setAttachment('radial_filename', 'ring/unity')
|
||||
return
|
||||
@@ -1,4 +1,5 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setAttachment('radial_filename', 'ring/unity')
|
||||
return
|
||||
@@ -1,4 +1,5 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setAttachment('radial_filename', 'ring/unity')
|
||||
return
|
||||
@@ -1,4 +1,5 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setAttachment('radial_filename', 'ring/unity')
|
||||
return
|
||||
@@ -1,6 +1,7 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setAttachment('radial_filename', 'ring/unity')
|
||||
return
|
||||
|
||||
def equip(core, actor, object):
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setAttachment('radial_filename', 'ring/unity')
|
||||
return
|
||||
|
||||
def equip(core, actor, object):
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setAttachment('radial_filename', 'ring/unity')
|
||||
return
|
||||
|
||||
def equip(core, actor, object):
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setAttachment('radial_filename', 'ring/unity')
|
||||
return
|
||||
@@ -1,6 +1,7 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setAttachment('radial_filename', 'ring/unity')
|
||||
return
|
||||
|
||||
def equip(core, actor, object):
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('item_npe_fs_robe_02_02')
|
||||
object.setDetailFilename('static_item_d')
|
||||
@@ -10,4 +9,5 @@ def setup(core, object):
|
||||
object.setStringAttribute('protection_level', 'Faint')
|
||||
object.setStringAttribute('class_required', 'Jedi')
|
||||
object.setIntAttribute('required_combat_level', 20)
|
||||
object.setAttachment('type', 'jedi_robe')
|
||||
return
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('weapon_carbine_bh_roadmap_01_02')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('weapon_carbine_bh_roadmap_01_02')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setIntAttribute('required_combat_level', 30)
|
||||
object.setFloatAttribute('cat_wpn_damage.wpn_attack_speed', 0.6)
|
||||
object.setStringAttribute('cat_wpn_damage.wpn_damage_type', 'Energy')
|
||||
object.setStringAttribute('cat_wpn_damage.damage', '109-218')
|
||||
object.setStringAttribute('cat_wpn_damage.range', '0-55m')
|
||||
object.setStringAttribute('cat_wpn_damage.wpn_category', 'Carbine')
|
||||
object.setIntAttribute('cat_wpn_damage.dps', object.getDamagePerSecond())
|
||||
return
|
||||
@@ -0,0 +1,17 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('weapon_rifle_bh_roadmap_01_02')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('weapon_rifle_bh_roadmap_01_02')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5)
|
||||
object.setStringAttribute('class_required', 'Bounty Hunter')
|
||||
object.setIntAttribute('required_combat_level', 50)
|
||||
object.setFloatAttribute('cat_wpn_damage.wpn_attack_speed', 0.8)
|
||||
object.setStringAttribute('cat_wpn_damage.wpn_damage_type', 'Energy')
|
||||
object.setStringAttribute('cat_wpn_damage.damage', '261-522')
|
||||
object.setStringAttribute('cat_wpn_damage.range', '0-64m')
|
||||
object.setStringAttribute('cat_wpn_damage.wpn_category', 'Rifle')
|
||||
object.setIntAttribute('cat_wpn_damage.dps', object.getDamagePerSecond())
|
||||
return
|
||||
@@ -0,0 +1,16 @@
|
||||
from resources.common import RadialOptions
|
||||
import sys
|
||||
|
||||
def createRadial(core, owner, target, radials):
|
||||
radials.add(RadialOptions(0, 21, 1, ''))
|
||||
radials.add(RadialOptions(0, 7, 1, ''))
|
||||
radials.add(RadialOptions(0, 15, 1, ''))
|
||||
return
|
||||
|
||||
def handleSelection(core, owner, target, option):
|
||||
if option == 21 and target:
|
||||
core.objectService.useObject(owner, target)
|
||||
if option == 15 and target:
|
||||
core.objectService.destroyObject(target)
|
||||
return
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
from resources.common import RadialOptions
|
||||
import sys
|
||||
|
||||
def createRadial(core, owner, target, radials):
|
||||
radials.add(RadialOptions(0, 7, 1, ''))
|
||||
radials.add(RadialOptions(0, 15, 1, ''))
|
||||
radials.add(RadialOptions(0, 61, 1, ''))
|
||||
return
|
||||
|
||||
def handleSelection(core, owner, target, option):
|
||||
if option == 61 and target:
|
||||
core.objectService.useObject(owner, target)
|
||||
if option == 15 and target:
|
||||
core.objectService.destroyObject(target)
|
||||
return
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
from resources.common import RadialOptions
|
||||
from services.sui.SUIWindow import Trigger
|
||||
import sys
|
||||
|
||||
def createRadial(core, owner, target, radials):
|
||||
|
||||
ghost = owner.getSlottedObject('ghost')
|
||||
if ghost is None:
|
||||
return
|
||||
print (owner.getTargetId())
|
||||
print (owner.getObjectId())
|
||||
if ghost.getSpouseName() is None:
|
||||
targetPlayer = core.objectService.getObject(owner.getTargetId())
|
||||
if targetPlayer is not None and targetPlayer.getSlottedObject('ghost') is not None:
|
||||
radials.add(RadialOptions(0, 69, 1, 'Propose Unity'))
|
||||
return
|
||||
|
||||
def handleSelection(core, owner, target, option):
|
||||
if option == 69 and target:
|
||||
tGhost = core.objectService.getObject(owner.getTargetId()).getSlottedObject('ghost')
|
||||
suiSvc = core.suiService
|
||||
targetWindow = suiSvc.createMessageBox(3, 'Proposal', owner.getCustomName() + ' would like to marry you. Would you like to marry?', tGhost, owner, 10)
|
||||
returnList = Vector()
|
||||
targetWindow.addHandler(0, '', Trigger.TRIGGER_OK, returnList, handleSUI)
|
||||
targetWindow.addHandler(1, '', Trigger.TRIGGER_CANCEL, returnList, handleSUI)
|
||||
suiSvc.openSUIWindow(targetWindow)
|
||||
return
|
||||
return
|
||||
|
||||
def handleSUI(owner, window, eventType, returnList):
|
||||
if eventType == 0:
|
||||
ghost = owner.getSlottedObject('ghost')
|
||||
ghost.setSpouseName("Waverunner")
|
||||
return
|
||||
return
|
||||
@@ -2,7 +2,7 @@ from resources.common import RadialOptions
|
||||
import sys
|
||||
|
||||
def createRadial(core, owner, target, radials):
|
||||
radials.clear
|
||||
radials.clear()
|
||||
|
||||
radials.add(RadialOptions(0, 21, 1, 'Use Travel Ticket'))
|
||||
#radials.add(RadialOptions(0, 7, 1, ''))
|
||||
@@ -31,7 +31,7 @@ def handleSelection(core, owner, target, option):
|
||||
return
|
||||
|
||||
if option == 15 and target:
|
||||
core.commandService.callCommand(owner, 'serverdestroyobject', target, None)
|
||||
core.objectService.destroyObject(target)
|
||||
return
|
||||
return
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
from resources.common import RadialOptions
|
||||
import sys
|
||||
|
||||
def createRadial(core, owner, target, radials):
|
||||
radials.add(RadialOptions(0, 21, 1, ''))
|
||||
radials.add(RadialOptions(0, 7, 1, ''))
|
||||
radials.add(RadialOptions(0, 15, 1, ''))
|
||||
return
|
||||
|
||||
def handleSelection(core, owner, target, option):
|
||||
if option == 21 and target:
|
||||
core.objectService.useObject(owner, target)
|
||||
if option == 15 and target:
|
||||
core.objectService.destroyObject(target)
|
||||
return
|
||||
|
||||
@@ -1,9 +1,122 @@
|
||||
import sys
|
||||
|
||||
def get(name):
|
||||
# Jedi #
|
||||
if name == 'item_force_sensitive_ring_02_01':
|
||||
return "object/tangible/wearables/ring/shared_ring_s02.iff"
|
||||
|
||||
if name == 'item_npe_fs_robe_02_02':
|
||||
return "object/tangible/wearables/robe/shared_robe_jedi_padawan.iff"
|
||||
|
||||
if name == 'weapon_roadmap_lightsaber_02_02':
|
||||
return "object/weapon/melee/sword/crafted_saber/shared_sword_lightsaber_one_handed_s1.iff"
|
||||
return "object/weapon/melee/sword/crafted_saber/shared_sword_lightsaber_one_handed_s1.iff"
|
||||
|
||||
if name == 'item_force_sensitive_ring_01_02':
|
||||
return "object/tangible/wearables/ring/shared_ring_s01.iff"
|
||||
|
||||
if name == 'item_krayt_pearl_04_01':
|
||||
return "object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff"
|
||||
|
||||
if name == 'item_force_sensitive_pendant_01_02':
|
||||
return "object/tangible/wearables/necklace/shared_necklace_s12.iff"
|
||||
|
||||
if name == 'item_force_sensitive_clicky_01_02':
|
||||
return "object/tangible/loot/generic_usable/shared_generic_crystal.iff"
|
||||
|
||||
if name == 'item_roadmap_belt_force_sensitive_01_02':
|
||||
return "object/tangible/wearables/armor/zam/shared_armor_zam_wesell_belt.iff"
|
||||
|
||||
# Bounty Hunter #
|
||||
|
||||
if name == 'item_bounty_hunter_backpack_01_02':
|
||||
return "object/tangible/wearables/backpack/shared_backpack_s05.iff"
|
||||
|
||||
if name == 'armor_bounty_hunter_roadmap_bicep_l_02_01':
|
||||
return "object/tangible/wearables/armor/composite/shared_armor_composite_bicep_l.iff"
|
||||
|
||||
if name == 'armor_bounty_hunter_roadmap_bicep_r_02_01':
|
||||
return "object/tangible/wearables/armor/composite/shared_armor_composite_bicep_r.iff"
|
||||
|
||||
if name == 'armor_bounty_hunter_roadmap_bracer_l_02_01':
|
||||
return "object/tangible/wearables/armor/composite/shared_armor_composite_bracer_l.iff"
|
||||
|
||||
if name == 'armor_bounty_hunter_roadmap_bracer_r_02_01':
|
||||
return "object/tangible/wearables/armor/composite/shared_armor_composite_bracer_r.iff"
|
||||
|
||||
if name == 'armor_bounty_hunter_roadmap_boots_02_01':
|
||||
return "object/tangible/wearables/armor/composite/shared_armor_composite_boots.iff"
|
||||
|
||||
if name == 'armor_bounty_hunter_roadmap_chest_02_01':
|
||||
return "object/tangible/wearables/armor/composite/shared_armor_composite_chest_plate.iff"
|
||||
|
||||
if name == 'armor_bounty_hunter_roadmap_gloves_02_01':
|
||||
return "object/tangible/wearables/armor/composite/shared_armor_composite_gloves.iff"
|
||||
|
||||
if name == 'armor_bounty_hunter_roadmap_helmet_02_01':
|
||||
return "object/tangible/wearables/armor/composite/shared_armor_composite_helmet.iff"
|
||||
|
||||
if name == 'armor_bounty_hunter_roadmap_leggings_02_01':
|
||||
return "object/tangible/wearables/armor/composite/shared_armor_composite_leggings.iff"
|
||||
|
||||
if name == 'armor_wookiee_roadmap_chest_02_03':
|
||||
return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_chestplate.iff"
|
||||
|
||||
if name == 'armor_wookiee_roadmap_leggings_02_03':
|
||||
return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_leggings.iff"
|
||||
|
||||
if name == 'armor_wookiee_roadmap_bicep_l_02_03':
|
||||
return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bicep_l.iff"
|
||||
|
||||
if name == 'armor_wookiee_roadmap_bicep_r_02_03':
|
||||
return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bicep_r.iff"
|
||||
|
||||
if name == 'armor_wookiee_roadmap_bracer_l_02_03':
|
||||
return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bracer_l.iff"
|
||||
|
||||
if name == 'armor_wookiee_roadmap_bracer_r_02_03':
|
||||
return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bracer_r.iff"
|
||||
|
||||
if name == 'armor_ithorian_roadmap_chest_02_03':
|
||||
return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_chest_plate.iff"
|
||||
|
||||
if name == 'armor_ithorian_roadmap_leggings_02_03':
|
||||
return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_leggings.iff"
|
||||
|
||||
if name == 'armor_ithorian_roadmap_helmet_02_03':
|
||||
return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_helmet.iff"
|
||||
|
||||
if name == 'armor_ithorian_roadmap_bicep_l_02_03':
|
||||
return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bicep_l.iff"
|
||||
|
||||
if name == 'armor_ithorian_roadmap_bicep_r_02_03':
|
||||
return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bicep_r.iff"
|
||||
|
||||
if name == 'armor_ithorian_roadmap_bracer_l_02_03':
|
||||
return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bracer_l.iff"
|
||||
|
||||
if name == 'armor_ithorian_roadmap_bracer_r_02_03':
|
||||
return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bracer_r.iff"
|
||||
|
||||
if name == 'armor_ithorian_roadmap_boots_02_03':
|
||||
return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_boots.iff"
|
||||
|
||||
if name == 'armor_ithorian_roadmap_gloves_02_03':
|
||||
return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_gloves.iff"
|
||||
|
||||
if name == 'weapon_carbine_bh_roadmap_01_02':
|
||||
return "object/weapon/ranged/carbine/shared_carbine_ee3.iff"
|
||||
|
||||
if name == 'item_bounty_hunter_ring_01_02':
|
||||
return "object/tangible/wearables/ring/shared_ring_s02.iff"
|
||||
|
||||
if name == 'weapon_rifle_bh_roadmap_01_02':
|
||||
return "object/weapon/ranged/rifle/shared_rifle_lightning.iff"
|
||||
|
||||
if name == 'item_bounty_hunter_pendant_01_02':
|
||||
return "object/tangible/wearables/necklace/shared_necklace_s02.iff"
|
||||
|
||||
if name == 'item_bounty_hunter_clicky_01_02':
|
||||
return "object/tangible/loot/generic_usable/shared_survey_pad_adv_generic.iff"
|
||||
|
||||
if name == 'item_roadmap_belt_bounty_hunter_01_02':
|
||||
return "object/tangible/wearables/armor/zam/shared_armor_zam_wesell_belt.iff"
|
||||
@@ -1,6 +1,6 @@
|
||||
import sys
|
||||
|
||||
def CombatBrawlerTrandoshanFemale(core, object):
|
||||
def CombatBrawlerOutdoorScoutTrandoshanFemale(core, object):
|
||||
shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s24.iff', object.getPlanet())
|
||||
jacket = core.objectService.createObject('object/tangible/wearables/jacket/shared_jacket_s24.iff', object.getPlanet())
|
||||
pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s25.iff', object.getPlanet())
|
||||
@@ -8,4 +8,4 @@ def CombatBrawlerTrandoshanFemale(core, object):
|
||||
object._add(shirt)
|
||||
object._add(jacket)
|
||||
object._add(pants)
|
||||
object._add(necklace)
|
||||
object._add(necklace)
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
|
||||
import sys
|
||||
from resources.datatables import Options
|
||||
from resources.datatables import StateStatus
|
||||
|
||||
def addPlanetSpawns(core, planet):
|
||||
|
||||
|
||||
@@ -3,5 +3,145 @@ import sys
|
||||
def addPlanetSpawns(core, planet):
|
||||
|
||||
stcSvc = core.staticService
|
||||
# Theed Spawns
|
||||
# OutSide
|
||||
loruna = stcSvc.spawnObject('object/mobile/shared_loruna_scathe.iff', 'naboo', long(0), float(-5149), float(6), float(4286), float(0.34), float(0.93))
|
||||
loruna.setCustomName2('Loruna Scathe')
|
||||
|
||||
pooja = stcSvc.spawnObject('object/mobile/shared_dressed_pooja_naberrie.iff', 'naboo', long(0), float(-5479.1), float(14), float(4467.3), float(-0.96), float(0.25))
|
||||
pooja.setCustomName2('Pooja Naberrie')
|
||||
|
||||
vaikannaSilverlight = stcSvc.spawnObject('object/mobile/shared_dressed_herald_naboo_01.iff', 'naboo', long(0), float(-5484), float(10), float(4424), float(-0.93), float(0.34))
|
||||
vaikannaSilverlight.setCustomName2('Vaik\'anna Silverlight')
|
||||
|
||||
hannaSkiyah = stcSvc.spawnObject('object/mobile/shared_dressed_herald_noble_twk_female_01.iff', 'naboo', long(0), float(-5480), float(-0.5), float(4398), float(0.44), float(0.89))
|
||||
hannaSkiyah.setCustomName2('Hanna S\'kiyah')
|
||||
# Keren Spawns
|
||||
# Cantina interior
|
||||
lergoBrazee = stcSvc.spawnObject('object/mobile/shared_dressed_lergo_brazee.iff', 'naboo', long(5), float(2.8), float(-0.9), float(-5.3), float(0.25), float(0.96))
|
||||
lergoBrazee.setCustomName2('Lergo Brazee')
|
||||
|
||||
# Starport interior
|
||||
gavynSykes = stcSvc.spawnObject('object/mobile/shared_dressed_gavyn_sykes.iff', 'naboo', long(2125382), float(9.3), float(0.6), float(66.6), float(-0.90), float(0.42))
|
||||
gavynSykes.setCustomName2('Capt. Gavyn Sykes')
|
||||
|
||||
#Miscellaneous Building Interiors
|
||||
kritusMorven = stcSvc.spawnObject('object/mobile/shared_dressed_kritus_morven.iff', 'naboo', long(1685077), float(-3.9), float(-4.9), float(-7.5), float(-0.57), float(0.81))
|
||||
kritusMorven.setCustomName2('Kritus Morven')
|
||||
|
||||
Raev = stcSvc.spawnObject('object/mobile/ep3/shared_ep3_clone_relics_major_raev.iff', 'naboo', long(1393881), float(-10), float(1.7), float(-9.5), float(0.38), float(0.92))
|
||||
Raev.setCustomName2('Major Raev')
|
||||
|
||||
# Outside
|
||||
brennis = stcSvc.spawnObject('object/mobile/shared_dressed_brennis_doore.iff', 'naboo', long(0), float(1740), float(12), float(2657), float(-0.99), float(0))
|
||||
brennis.setCustomName2('Brennis Doore')
|
||||
|
||||
demitri = stcSvc.spawnObject('object/mobile/shared_dressed_herald_servant_naboo_human_male.iff', 'naboo', long(0), float(1673), float(12), float(2582), float(0.31), float(0.94))
|
||||
demitri.setCustomName2('Demitri Firewatcher')
|
||||
|
||||
ogden = stcSvc.spawnObject('object/mobile/shared_smuggler_broker_ogden.iff', 'naboo', long(0), float(1907), float(12), float(2352), float(0.97), float(0.22))
|
||||
ogden.setCustomName2('Ogden')
|
||||
|
||||
# Kaadara Spawns
|
||||
#Miscellaneous Building Interiors
|
||||
barnSinkko = stcSvc.spawnObject('object/mobile/shared_dressed_imperial_trainer_space_03.iff', 'naboo', long(1741494), float(-1.3), float(1.8), float(-14), float(-0.34), float(0.93))
|
||||
barnSinkko.setCustomName2('Lt. Barn Sinkko')
|
||||
|
||||
# OutSide
|
||||
dakk = stcSvc.spawnObject('object/mobile/shared_dressed_acklay_dakk.iff', 'naboo', long(0), float(5167), float(-192), float(6674), float(-0.99), float(0.04))
|
||||
dakk.setCustomName2('Dakk')
|
||||
|
||||
panaka = stcSvc.spawnObject('object/mobile/shared_panaka.iff', 'naboo', long(0), float(5196.6), float(-192), float(6712.8), float(0.99), float(0.04))
|
||||
|
||||
# Dejaa Peak Spawns
|
||||
|
||||
# OutSide
|
||||
arvenWendik = stcSvc.spawnObject('object/mobile/shared_dressed_arven_wendik.iff', 'naboo', long(0), float(4710), float(330), float(-1432), float(-0.70), float(0.70))
|
||||
arvenWendik.setCustomName2('Arven Wendik')
|
||||
|
||||
damaliaKorde = stcSvc.spawnObject('object/mobile/shared_dressed_damalia_korde.iff', 'naboo', long(0), float(5139), float(346.5), float(-1530.9), float(0.34), float(0.93))
|
||||
damaliaKorde.setCustomName2('Damalia Korde')
|
||||
|
||||
hermanPate = stcSvc.spawnObject('object/mobile/shared_naboo_herman_pate.iff', 'naboo', long(0), float(4871.1), float(360.6), float(-1442.1), float(0), float(1))
|
||||
hermanPate.setCustomName2('Herman Pate')
|
||||
|
||||
kimaNazith = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_human_female_03.iff', 'naboo', long(0), float(4972), float(360), float(-1583), float(-0.95), float(0.28))
|
||||
kimaNazith.setCustomName2('Kima Nazith')
|
||||
|
||||
kippyMartin = stcSvc.spawnObject('object/mobile/shared_naboo_kippy_martin.iff', 'naboo', long(0), float(4324), float(295.1), float(-1250), float(0.55), float(0.82))
|
||||
kippyMartin.setCustomName2('Kippy Martin')
|
||||
|
||||
ruab = stcSvc.spawnObject('object/mobile/shared_smuggler_fence_ruab.iff', 'naboo', long(0), float(4998), float(360), float(-1485), float(-0.34), float(0.93))
|
||||
ruab.setCustomName2('Ruab')
|
||||
|
||||
tanoaVills = stcSvc.spawnObject('object/mobile/shared_naboo_tanoa_vills.iff', 'naboo', long(0), float(4740), float(330), float(-1322), float(-0.96), float(0.27))
|
||||
tanoaVills.setCustomName2('Tanoa Vills')
|
||||
|
||||
vanceGroten = stcSvc.spawnObject('object/mobile/shared_naboo_vance_groten.iff', 'naboo', long(0), float(5144), float(346.5), float(-1530), float(-0.17), float(0.98))
|
||||
vanceGroten.setCustomName2('Vance Groten')
|
||||
|
||||
walker = stcSvc.spawnObject('object/mobile/shared_naboo_walker_luskeske.iff', 'naboo', long(0), float(4994), float(360), float(-1506), float(-0.97), float(0.21))
|
||||
walker.setCustomName2('Walker Luskeske')
|
||||
|
||||
zanier = stcSvc.spawnObject('object/mobile/shared_naboo_professor_hudmasse.iff', 'naboo', long(0), float(4690), float(330.2), float(-1391), float(0.52), float(0.84))
|
||||
zanier.setCustomName2('Professor Zanier Hudmasse')
|
||||
|
||||
# Moenia Spawns
|
||||
# Cantina interior
|
||||
borvo = stcSvc.spawnObject('object/mobile/shared_borvo.iff', 'naboo', long(121), float(-29), float(-0.5), float(7.9), float(0.44), float(0.89))
|
||||
borvo.setCustomName2('Borvo The Hutt')
|
||||
|
||||
# OutSide
|
||||
c3tc = stcSvc.spawnObject('object/mobile/shared_3po_protocol_droid_silver.iff', 'naboo', long(0), float(4723), float(3.8), float(-4935), float(-0.99), float(0))
|
||||
c3tc.setCustomName2('C-3TC')
|
||||
|
||||
dilvin = stcSvc.spawnObject('object/mobile/shared_dressed_noble_human_male_03.iff', 'naboo', long(0), float(4893), float(3.8), float(-4998), float(0.96), float(0.27))
|
||||
dilvin.setCustomName2('Dilvin Lormurojo')
|
||||
|
||||
ebenn = stcSvc.spawnObject('object/mobile/shared_dressed_noble_human_male_02.iff', 'naboo', long(0), float(4869), float(3.8), float(-4875), float(-0.70), float(0.70))
|
||||
ebenn.setCustomName2('Ebenn Q3 Baobab')
|
||||
|
||||
v3fx = stcSvc.spawnObject('object/mobile/shared_space_rebel_tier1_naboo_v3fx.iff', 'naboo', long(0), float(4764.2), float(6.1), float(-4795), float(0.99), float(0.08))
|
||||
v3fx.setCustomName2('V3-FX')
|
||||
|
||||
roninLightrunner = stcSvc.spawnObject('object/mobile/shared_dressed_herald_naboo_02.iff', 'naboo', long(0), float(4810), float(6.3), float(-4977), float(0), float(1))
|
||||
roninLightrunner.setCustomName2('Ronin Lightrunner')
|
||||
|
||||
dagorel = stcSvc.spawnObject('object/mobile/shared_dressed_gendra.iff', 'naboo', long(0), float(4471), float(4), float(-4714), float(-0.64), float(0.76))
|
||||
dagorel.setCustomName2('Dagorel')
|
||||
|
||||
# Emperor's Retreat interior
|
||||
kaja = stcSvc.spawnObject('object/mobile/shared_kaja_orzee.iff', 'naboo', long(1418872), float(1.9), float(0.2), float(-13.4), float(0), float(1))
|
||||
kaja.setCustomName2('Kaja Or\'Zee')
|
||||
|
||||
ltVelso = stcSvc.spawnObject('object/mobile/shared_dressed_corvette_imperial_velso.iff', 'naboo', long(1418874), float(23.6), float(0.2), float(-19), float(-0.93), float(0.34))
|
||||
ltVelso.setCustomName2('Lt. Velso')
|
||||
|
||||
royalGuard1 = stcSvc.spawnObject('object/mobile/shared_royal_guard.iff', 'naboo', long(1418874), float(17), float(0.2), float(-31), float(0), float(1))
|
||||
royalGuard2 = stcSvc.spawnObject('object/mobile/shared_royal_guard.iff', 'naboo', long(1418874), float(9), float(0.2), float(-31), float(0), float(1))
|
||||
|
||||
vrke = stcSvc.spawnObject('object/mobile/shared_space_imperial_tier3_naboo_vrke.iff', 'naboo', long(1418875), float(24.3), float(0.2), float(-39.6), float(0), float(1))
|
||||
vrke.setCustomName2('Inquisitor Vrke')
|
||||
|
||||
loamRedge = stcSvc.spawnObject('object/mobile/shared_loam_redge.iff', 'naboo', long(1418875), float(18.6), float(0.2), float(-42), float(0.34), float(0.93))
|
||||
loamRedge.setCustomName2('Loam Redge')
|
||||
|
||||
hethrir = stcSvc.spawnObject('object/mobile/shared_lord_hethrir.iff', 'naboo', long(1418876), float(4.6), float(0.2), float(-41.3), float(0), float(1))
|
||||
hethrir.setCustomName2('Lord Hethrir')
|
||||
|
||||
jaceYiaso = stcSvc.spawnObject('object/mobile/shared_space_imperial_tier4_naboo_inquisitor.iff', 'naboo', long(1418884), float(-44), float(0.2), float(-31.9), float(0), float(1))
|
||||
jaceYiaso.setCustomName2('Grand Inquisitor Ja\'ce Yiaso')
|
||||
|
||||
vader = stcSvc.spawnObject('object/mobile/shared_darth_vader.iff', 'naboo', long(1418884), float(-57), float(0.2), float(-24), float(0.70), float(0.70))
|
||||
|
||||
# Outside Emperor's Retreat
|
||||
veers = stcSvc.spawnObject('object/mobile/naboo_npc/shared_veers.iff', 'naboo', long(0), float(2368), float(291), float(-3921), float(0.64), float(0.76))
|
||||
veers.setCustomName2('Colonel Veers')
|
||||
|
||||
thrawn = stcSvc.spawnObject('object/mobile/naboo_npc/shared_thrawn.iff', 'naboo', long(0), float(2369), float(291), float(-3922), float(0.34), float(0.93))
|
||||
thrawn.setCustomName2('Captain Thrawn')
|
||||
|
||||
fazoll = stcSvc.spawnObject('object/mobile/shared_space_imperial_tier2_naboo.iff', 'naboo', long(0), float(2444), float(292), float(-3896), float(-0.996194), float(0.087155))
|
||||
fazoll.setCustomName2('Inquisitor Fa\'Zoll')
|
||||
|
||||
return
|
||||
@@ -5,21 +5,34 @@ from resources.datatables import StateStatus
|
||||
def addPlanetSpawns(core, planet):
|
||||
|
||||
stcSvc = core.staticService
|
||||
# Wayfar Life Day, by Wefi
|
||||
|
||||
# Wayfar Life Day, by Wefi, modified by Fingies
|
||||
|
||||
stcSvc.spawnObject('object/mobile/shared_lifeday_saun_dann.iff', 'tatooine', long(0), float(-5037.00), float(75), float(-6561), float(-0.75), float(0)) # Life Day
|
||||
stcSvc.spawnObject('object/tangible/holiday/life_day/shared_main_lifeday_tree.iff', 'tatooine', long(0), float(-5043.00), float(75), float(-6541.00), float(0.999132931232), float(-0.0416347384453)) # Lifeday Tree
|
||||
stcSvc.spawnObject('object/mobile/shared_lifeday_figrin_dan.iff', 'tatooine', long(0), float(-5046.00), float(75), float(-6560), float(-0.75), float(0)) # LD Figrin
|
||||
bandtat1 = stcSvc.spawnObject('object/mobile/shared_lifeday_figrin_dan_band.iff', 'tatooine', long(0), float(-5040.00), float(75), float(-6557), float(-0.75), float(0)) # LD Band 1
|
||||
bandtat1.setCustomName2('Doikk Nats')
|
||||
bandtat2 = stcSvc.spawnObject('object/mobile/shared_lifeday_figrin_dan_band.iff', 'tatooine', long(0), float(-5043.00), float(75), float(-6559), float(-0.75), float(0)) # LD band 2
|
||||
bandtat2.setCustomName2('Tech Mor')
|
||||
bandtat3 = stcSvc.spawnObject('object/mobile/shared_lifeday_figrin_dan_band.iff', 'tatooine', long(0), float(-5048.00), float(75), float(-6557), float(-0.75), float(0)) # LD Band 3
|
||||
bandtat3.setCustomName2('Nalan Cheel')
|
||||
bandtat4 = stcSvc.spawnObject('object/mobile/shared_lifeday_figrin_dan_band.iff', 'tatooine', long(0), float(-5045.00), float(75), float(-6555), float(-0.75), float(0)) # LD band 4
|
||||
bandtat4.setCustomName2('Sunil Eide')
|
||||
stcSvc.spawnObject('object/tangible/instrument/shared_nalargon.iff', 'tatooine', long(0), float(-5045.00), float(75), float(-6555), float(0.999132931232), float(-0.0416347384453)) # Drums
|
||||
stcSvc.spawnObject('object/tangible/instrument/shared_ommni_box.iff', 'tatooine', long(0), float(-5043.00), float(75), float(-6559), float(0.999132931232), float(-0.0416347384453)) # Box
|
||||
# stcSvc.spawnObject('object/mobile/shared_lifeday_saun_dann.iff', 'tatooine', long(0), float(-5037.00), float(75), float(-6561), float(-0.75), float(0)) # Life Day
|
||||
# figlife = stcSvc.spawnObject('object/mobile/shared_lifeday_figrin_dan.iff', 'tatooine', long(0), float(-5046.00), float(75), float(-6560), float(-0.75), float(0)) # LD Figrin
|
||||
# figlife.setCustomName2('Figrin D\'an')
|
||||
# bandtat1 = stcSvc.spawnObject('object/mobile/shared_lifeday_figrin_dan_band.iff', 'tatooine', long(0), float(-5040.00), float(75), float(-6557), float(-0.75), float(0)) # LD Band 1
|
||||
# bandtat1.setCustomName2('Doikk Nats')
|
||||
# bandtat2 = stcSvc.spawnObject('object/mobile/shared_lifeday_figrin_dan_band.iff', 'tatooine', long(0), float(-5043.00), float(75), float(-6559), float(-0.75), float(0)) # LD band 2
|
||||
# bandtat2.setCustomName2('Tech Mor')
|
||||
# bandtat3 = stcSvc.spawnObject('object/mobile/shared_lifeday_figrin_dan_band.iff', 'tatooine', long(0), float(-5048.00), float(75), float(-6557), float(-0.75), float(0)) # LD Band 3
|
||||
# bandtat3.setCustomName2('Nalan Cheel')
|
||||
# bandtat4 = stcSvc.spawnObject('object/mobile/shared_lifeday_figrin_dan_band.iff', 'tatooine', long(0), float(-5045.00), float(75), float(-6555), float(-0.75), float(0)) # LD band 4
|
||||
# bandtat4.setCustomName2('Sunil Eide')
|
||||
# reblifevendor = stcSvc.spawnObject('object/mobile/shared_life_day_rebel_vendor.iff', 'tatooine', long(0), float(-5212.2), float(75.0), float(-6571.7), float(0.656), float(-0.7547)) #Rebel Wookiee Vendor
|
||||
# reblifevendor.setCustomName2('Oolovv \(Wookiee Freedom Fighter)')
|
||||
# reblifesold1 = stcSvc.spawnObject('object/mobile/shared_rebel_snow_m_01.iff', 'tatooine', long(0), float(-5208.8), float(75.0), float(-6569.6), float(0.669), float(-0.743)) #Rebel Vendor Guard 1
|
||||
# reblifesold1.setCustomName2('a Rebel Soldier')
|
||||
# reblifesold2 = stcSvc.spawnObject('object/mobile/shared_rebel_snow_m_01.iff', 'tatooine', long(0), float(-5208.8), float(75.0), float(-6573.1), float(0.669), float(-0.743)) #Rebel Vendor Guard 2
|
||||
# reblifesold2.setCustomName2('a Rebel Soldier')
|
||||
# implifevendor = stcSvc.spawnObject('object/mobile/shared_life_day_imperial_vendor.iff', 'tatooine', long(0), float(-5097.1), float(75.0), float(-6570.7), float(0.0087), float(-0.9999)) #Imp Vendor
|
||||
# implifevendor.setCustomName2('Sstrigge \(Trandoshan \'Trader\')')
|
||||
# implifesold1 = stcSvc.spawnObject('object/mobile/shared_snowtrooper_s01.iff', 'tatooine', long(0), float(-5092.2), float(75.0), float(-6569.0), float(0.0087), float(-0.9999)) #Imp Vendor Guard 1
|
||||
# implifesold1.setCustomName2('a Stormtrooper')
|
||||
# implifesold2 = stcSvc.spawnObject('object/mobile/shared_snowtrooper_s01.iff', 'tatooine', long(0), float(-5100.8), float(75.0), float(-6569.4), float(0.0087), float(-0.9999)) #Imp Vendor Guard 2
|
||||
# implifesold2.setCustomName2('a Stormtrooper')
|
||||
# stcSvc.spawnObject('object/tangible/instrument/shared_nalargon.iff', 'tatooine', long(0), float(-5045.00), float(75), float(-6555), float(0.999132931232), float(-0.0416347384453)) # Drums
|
||||
# stcSvc.spawnObject('object/tangible/instrument/shared_ommni_box.iff', 'tatooine', long(0), float(-5043.00), float(75), float(-6559), float(0.999132931232), float(-0.0416347384453)) # Box
|
||||
|
||||
# Mos Eisley Spawns: WORK IN PROGRESS by Levarris
|
||||
|
||||
@@ -51,7 +64,7 @@ def addPlanetSpawns(core, planet):
|
||||
cantinaStormL.setCustomName2('a Stormtrooper Squad Leader')
|
||||
|
||||
figrinDan = stcSvc.spawnObject('object/mobile/tatooine_npc/shared_figrin_dan.iff', 'tatooine', long(1082880), float(3.7), float(-0.9), float(-14.4), float(0.42), float(0.91))
|
||||
figrinDan.setCustomName2('Figrin Dan')
|
||||
figrinDan.setCustomName2('Figrin D\'an')
|
||||
|
||||
techMor = stcSvc.spawnObject('object/mobile/tatooine_npc/shared_figrin_dan.iff', 'tatooine', long(1082880), float(4.0), float(-0.9), float(-17.0), float(0.42), float(0.91))
|
||||
techMor.setCustomName2('Tech M\'or')
|
||||
@@ -65,37 +78,37 @@ def addPlanetSpawns(core, planet):
|
||||
nalanCheel = stcSvc.spawnObject('object/mobile/tatooine_npc/shared_figrin_dan.iff', 'tatooine', long(1082880), float(0.5), float(-0.9), float(-17.1), float(0.42), float(0.91))
|
||||
nalanCheel.setCustomName2('Nalan Cheel')
|
||||
|
||||
businessman1 = stcSvc.spawnObject('object/mobile/shared_dressed_businessman_human_male_01.iff', 'tatooine', long(1082877), float(10.7), float(-0.9), float(1.9), float(0.42), float(0.91))
|
||||
businessman1 = stcSvc.spawnObject('object/mobile/shared_dressed_businessman_human_male_01.iff', 'tatooine', long(1082877), float(11.0), float(-0.9), float(2.1), float(0.38), float(-0.92))
|
||||
businessman1.setCustomName2('a Businessman')
|
||||
|
||||
commoner1 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_aqualish_male_01.iff', 'tatooine', long(1082877), float(10.3), float(-0.9), float(2.7), float(0.42), float(0.91))
|
||||
commoner1 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_aqualish_male_01.iff', 'tatooine', long(1082877), float(10.3), float(-0.9), float(2.7), float(0.82), float(0.57))
|
||||
commoner1.setCustomName2('a Commoner')
|
||||
|
||||
entertainer1 = stcSvc.spawnObject('object/mobile/shared_dressed_entertainer_trainer_twk_female_01.iff', 'tatooine', long(1082877), float(9.4), float(-0.9), float(3.9), float(0.42), float(0.91))
|
||||
entertainer1 = stcSvc.spawnObject('object/mobile/shared_dressed_entertainer_trainer_twk_female_01.iff', 'tatooine', long(1082877), float(9.4), float(-0.9), float(3.9), float(0.38), float(-0.92))
|
||||
entertainer1.setCustomName2('an Entertainer')
|
||||
|
||||
noble1 = stcSvc.spawnObject('object/mobile/shared_dressed_noble_trandoshan_male_01.iff', 'tatooine', long(1082877), float(8.6), float(-0.9), float(4.8), float(0.42), float(0.91))
|
||||
noble1 = stcSvc.spawnObject('object/mobile/shared_dressed_noble_trandoshan_male_01.iff', 'tatooine', long(1082877), float(8.6), float(-0.9), float(4.8), float(0.82), float(0.57))
|
||||
noble1.setCustomName2('a Noble')
|
||||
|
||||
commoner2 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_trandoshan_female_01.iff', 'tatooine', long(1082877), float(4.1), float(-0.9), float(5.7), float(0.42), float(0.91))
|
||||
commoner2 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_trandoshan_female_01.iff', 'tatooine', long(1082877), float(4.1), float(-0.9), float(5.7), float(1), float(0))
|
||||
commoner2.setCustomName2('a Commoner')
|
||||
|
||||
commoner3 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_bothan_female_01.iff', 'tatooine', long(1082877), float(3.1), float(-0.9), float(5.9), float(0.42), float(0.91))
|
||||
commoner3 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_bothan_female_01.iff', 'tatooine', long(1082877), float(3.1), float(-0.9), float(5.9), float(1), float(0))
|
||||
commoner3.setCustomName2('a Commoner')
|
||||
|
||||
commoner4 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_fat_twilek_male_01.iff', 'tatooine', long(1082877), float(1.7), float(-0.9), float(6.0), float(0.42), float(0.91))
|
||||
commoner4 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_fat_twilek_male_01.iff', 'tatooine', long(1082877), float(1.7), float(-0.9), float(6.0), float(1), float(0))
|
||||
commoner4.setCustomName2('a Commoner')
|
||||
|
||||
commoner5 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_bothan_male_01.iff', 'tatooine', long(1082877), float(-0.4), float(-0.9), float(5.9), float(0.42), float(0.91))
|
||||
commoner5 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_bothan_male_01.iff', 'tatooine', long(1082877), float(-0.4), float(-0.9), float(5.9), float(1), float(0))
|
||||
commoner5.setCustomName2('a Commoner')
|
||||
|
||||
commoner6 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_human_male_05.iff', 'tatooine', long(1082877), float(16.0), float(-0.9), float(4.1), float(0.42), float(0.91))
|
||||
commoner6 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_human_male_05.iff', 'tatooine', long(1082877), float(16.0), float(-0.9), float(4.1), float(0), float(0))
|
||||
commoner6.setCustomName2('a Commoner')
|
||||
|
||||
commoner7 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_fat_zabrak_male_01.iff', 'tatooine', long(1082877), float(8.8), float(-0.9), float(-6.0), float(0.42), float(0.91))
|
||||
commoner7 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_fat_zabrak_male_01.iff', 'tatooine', long(1082877), float(8.8), float(-0.9), float(-6.0), float(0.98), float(-0.22))
|
||||
commoner7.setCustomName2('a Patron')
|
||||
|
||||
commoner8 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_human_male_08.iff', 'tatooine', long(1082877), float(6.8), float(-0.9), float(-6.5), float(0.42), float(0.91))
|
||||
commoner8 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_human_male_08.iff', 'tatooine', long(1082877), float(6.8), float(-0.9), float(-6.5), float(0.98), float(-0.22))
|
||||
commoner8.setCustomName2('a Patron')
|
||||
|
||||
commoner9 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_aqualish_male_09.iff', 'tatooine', long(1082877), float(1.1), float(-0.9), float(-7.7), float(0.42), float(0.91))
|
||||
@@ -104,20 +117,35 @@ def addPlanetSpawns(core, planet):
|
||||
commoner10 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_nikto_male_04.iff', 'tatooine', long(1082877), float(2.1), float(-0.9), float(-8.4), float(0.42), float(0.91))
|
||||
commoner10.setCustomName2('a Commoner')
|
||||
|
||||
anetiaKahryn = stcSvc.spawnObject('object/mobile/shared_dressed_twk_entertainer.iff', 'tatooine', long(1082878), float(19.8), float(-0.9), float(-21), float(-0.03), float(0.99))
|
||||
anetiaKahryn.setCustomName2('Anetia Kah\'ryn')
|
||||
|
||||
dravis = stcSvc.spawnObject('object/mobile/shared_space_privateer_tier1_tatooine.iff', 'tatooine', long(1082886), float(-21.7), float(-0.9), float(25.5), float(0.99), float(0.03))
|
||||
dravis.setCustomName2('Dravis')
|
||||
|
||||
talonKarrde = stcSvc.spawnObject('object/mobile/shared_dressed_talon_karrde.iff', 'tatooine', long(1082887), float(-25.7), float(-0.5), float(8.8), float(0.21), float(0.97))
|
||||
talonKarrde.setCustomName2('Talon Karrde')
|
||||
|
||||
#Starport Interior
|
||||
|
||||
bartender1 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_nikto_male_04.iff', 'tatooine', long(1106380), float(-59.1), float(2.6), float(39.5), float(0), float(0))
|
||||
bartender1.setCustomName2('a Bartender')
|
||||
|
||||
#City Hall Interior
|
||||
|
||||
#Lucky Despot Interior
|
||||
|
||||
hansolo1 = stcSvc.spawnObject('object/mobile/shared_han_solo.iff', 'tatooine', long(26949), float(32.3), float(7.0), float(1.6), float(0), float(0))
|
||||
hansolo1.setCustomName2('Han Solo')
|
||||
|
||||
#Medical Center Interior
|
||||
|
||||
#Theater Interior
|
||||
|
||||
#Miscellaneous Building Interiors
|
||||
|
||||
|
||||
#Outside
|
||||
businessman2 = stcSvc.spawnObject('object/mobile/shared_dressed_businessman_human_male_01.iff', 'tatooine', long(0), float(3532.7), float(5.0), float(-4788.1), float(0), float(0))
|
||||
businessman2 = stcSvc.spawnObject('object/mobile/shared_dressed_businessman_human_male_01.iff', 'tatooine', long(0), float(3663.3), float(4.0), float(-4738.6), float(0), float(0))
|
||||
businessman2.setCustomName2('a Businessman')
|
||||
|
||||
noble2 = stcSvc.spawnObject('object/mobile/shared_dressed_noble_human_female_01.iff', 'tatooine', long(0), float(3542.3), float(5.0), float(-4826.0), float(0.42), float(0.91))
|
||||
@@ -126,40 +154,37 @@ def addPlanetSpawns(core, planet):
|
||||
commoner11 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_human_male_06.iff', 'tatooine', long(0), float(3529.1), float(5.0), float(-4900.4), float(0.42), float(0.91))
|
||||
commoner11.setCustomName2('a Commoner')
|
||||
|
||||
businessman3 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_trandoshan_male_02.iff', 'tatooine', long(0), float(3532.7), float(5.0), float(-4788.1), float(0), float(0))
|
||||
businessman3 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_trandoshan_male_02.iff', 'tatooine', long(0), float(3595.7), float(5.0), float(-4740.1), float(0), float(0))
|
||||
businessman3.setCustomName2('a Businessman')
|
||||
|
||||
jawa1 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3663.3), float(5.0), float(-4858.6), float(0), float(0))
|
||||
jawa1.setCustomName2('a Jawa')
|
||||
|
||||
commoner12 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_moncal_male_01.iff', 'tatooine', long(0), float(3532.7), float(5.0), float(-4788.1), float(0), float(0))
|
||||
commoner12 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_moncal_male_01.iff', 'tatooine', long(0), float(3490.3), float(5.0), float(-4799.4), float(0), float(0))
|
||||
commoner12.setCustomName2('a Scientist')
|
||||
|
||||
commoner13 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_zabrak_female_02.iff', 'tatooine', long(0), float(3559.7), float(5.0), float(-4725.9), float(0), float(0))
|
||||
commoner13.setCustomName2('a Commoner')
|
||||
|
||||
commoner14 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_devaronian_male_01.iff', 'tatooine', long(0), float(3527.7), float(5.0), float(-4721.1), float(0), float(0))
|
||||
commoner14 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_devaronian_male_01.iff', 'tatooine', long(0), float(3527.7), float(5.0), float(-4721.1), float(0.71), float(0.71))
|
||||
commoner14.setCustomName2('a Commoner')
|
||||
|
||||
commoner15 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_aqualish_female_01.iff', 'tatooine', long(0), float(3513.7), float(5.0), float(-4740.4), float(0), float(0))
|
||||
commoner15 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_aqualish_female_01.iff', 'tatooine', long(0), float(3514.9), float(5.0), float(-4737.8), float(0), float(0))
|
||||
commoner15.setCustomName2('a Commoner')
|
||||
|
||||
ltHarburik = stcSvc.spawnObject('object/mobile/tatooine_npc/shared_lt_harburik.iff', 'tatooine', long(0), float(3485.4), float(5.0), float(-4788.1), float(0), float(0))
|
||||
ltHarburik.setCustomName2('Lieutenant Harburik')
|
||||
|
||||
jawa2 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3475.4), float(5.0), float(-4852.7), float(0), float(0))
|
||||
jawa2 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3485.2), float(4.9), float(-4859.2), float(0), float(0))
|
||||
jawa2.setCustomName2('a Jawa')
|
||||
|
||||
jawa3 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3469.3), float(5.0), float(-4861.5), float(0), float(0))
|
||||
jawa3 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3465.3), float(5.0), float(-4860.1), float(0.71), float(-0.71))
|
||||
jawa3.setCustomName2('a Jawa')
|
||||
|
||||
jawa4 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3486.1), float(5.0), float(-4884.7), float(0), float(0))
|
||||
jawa4 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3486.8), float(5.0), float(-4884.7), float(0.43051), float(-0.9025))
|
||||
jawa4.setCustomName2('a Jawa')
|
||||
|
||||
jawa5 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3487.1), float(5.0), float(-4886.0), float(0), float(0))
|
||||
jawa5 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3487.1), float(5.0), float(-4886.0), float(0.95105), float(0.3090))
|
||||
jawa5.setCustomName2('a Jawa')
|
||||
|
||||
jawa6 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3488.8), float(5.0), float(-4884.4), float(0), float(0))
|
||||
jawa6 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3488.8), float(5.0), float(-4884.4), float(0.3255), float(-0.9455))
|
||||
jawa6.setCustomName2('a Jawa')
|
||||
|
||||
jawa7 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3472.2), float(5.0), float(-4918.4), float(0), float(0))
|
||||
@@ -171,22 +196,269 @@ def addPlanetSpawns(core, planet):
|
||||
jawa9 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(3470.3), float(5.0), float(-4918.7), float(0), float(0))
|
||||
jawa9.setCustomName2('a Jawa')
|
||||
|
||||
bib = stcSvc.spawnObject('object/mobile/shared_bib_fortuna.iff', 'tatooine', long(0), float(3552.4), float(5.0), float(-4933.2), float(0), float(0))
|
||||
bib = stcSvc.spawnObject('object/mobile/shared_bib_fortuna.iff', 'tatooine', long(0), float(3552.4), float(5.0), float(-4933.2), float(0.31730), float(-0.9483))
|
||||
bib.setCustomName2('Bib Fortuna')
|
||||
|
||||
commoner16 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_human_male_06.iff', 'tatooine', long(0), float(3398.2), float(4.0), float(-4654.2), float(0.42), float(0.91))
|
||||
commoner16.setCustomName2('a Commoner')
|
||||
|
||||
noble3 = stcSvc.spawnObject('object/mobile/shared_dressed_noble_human_female_01.iff', 'tatooine', long(0), float(3396.3), float(4.0), float(-4774.1), float(0.42), float(0.91))
|
||||
noble3.setCustomName2('a Noble')
|
||||
|
||||
entertainer1 = stcSvc.spawnObject('object/mobile/shared_dressed_entertainer_trainer_twk_female_01.iff', 'tatooine', long(0), float(3305.7), float(5.6), float(-4771.7), float(0), float(0))
|
||||
entertainer1.setCustomName2('an Entertainer')
|
||||
|
||||
r3m6 = stcSvc.spawnObject('object/mobile/shared_r3.iff', 'tatooine', long(0), float(3460.1), float(4.0), float(-4898.2), float(0.38), float(-0.92))
|
||||
r3m6.setCustomName2('R3-M6')
|
||||
|
||||
eg1 = stcSvc.spawnObject('object/mobile/shared_eg6_power_droid.iff', 'tatooine', long(0), float(3463.8), float(4.0), float(-4882.6), float(-0.38), float(0.92))
|
||||
eg1.setCustomName2('an EG-6 Power Droid')
|
||||
|
||||
commoner17 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_zabrak_female_02.iff', 'tatooine', long(0), float(3452.6), float(4.0), float(-4937.1), float(0), float(0))
|
||||
commoner17.setCustomName2('a Commoner')
|
||||
|
||||
lifter1 = stcSvc.spawnObject('object/mobile/shared_cll8_binary_load_lifter.iff', 'tatooine', long(0), float(3547), float(5.0), float(-4768.9), float(0), float(0))
|
||||
lifter1.setCustomName2('a CLL-8 Binary Load Lifter')
|
||||
|
||||
r3j7 = stcSvc.spawnObject('object/mobile/shared_r3.iff', 'tatooine', long(0), float(3311.1), float(4.0), float(-4820.2), float(0.38), float(-0.92))
|
||||
r3j7.setCustomName2('R3-J7')
|
||||
|
||||
noble4 = stcSvc.spawnObject('object/mobile/shared_dressed_noble_human_female_03.iff', 'tatooine', long(0), float(3255.3), float(4.0), float(-4848.1), float(0.42), float(0.91))
|
||||
noble4.setCustomName2('a Noble')
|
||||
|
||||
byxlePedette = stcSvc.spawnObject('object/mobile/shared_dressed_tatooine_opening_byxle.iff', 'tatooine', long(0), float(3365), float(5), float(-4639), float(0.99), float(0.12))
|
||||
byxlePedette.setCustomName2('Byxle Pedette')
|
||||
|
||||
errikDarksider = stcSvc.spawnObject('object/mobile/shared_dressed_herald_tatooine_01.iff', 'tatooine', long(0), float(3381), float(4.6), float(-4498), float(0.91), float(0.40))
|
||||
errikDarksider.setCustomName2('Errik Darksider')
|
||||
|
||||
gendra = stcSvc.spawnObject('object/mobile/shared_dressed_gendra.iff', 'tatooine', long(0), float(3308), float(5.6), float(-4785), float(0.84), float(0.53))
|
||||
gendra.setCustomName2('Gendra')
|
||||
|
||||
lurval = stcSvc.spawnObject('object/mobile/shared_lurval.iff', 'tatooine', long(0), float(3387), float(5), float(-4791), float(-0.4), float(0.91))
|
||||
lurval.setCustomName2('Lurval')
|
||||
|
||||
matildaCarson = stcSvc.spawnObject('object/mobile/shared_dressed_noble_human_female_02.iff', 'tatooine', long(0), float(3490.2), float(5), float(-4778), float(0.87), float(0.48))
|
||||
matildaCarson.setCustomName2('Matilda Carson')
|
||||
|
||||
vanvi = stcSvc.spawnObject('object/mobile/shared_dressed_bestine_artist01.iff', 'tatooine', long(0), float(3312), float(5), float(-4655), float(0.95), float(-0.28))
|
||||
vanvi.setCustomName2('Vanvi Hotn')
|
||||
|
||||
#Eisley Legacy Quest NPCs
|
||||
|
||||
vourk = stcSvc.spawnObject('object/mobile/shared_dressed_tatooine_opening_santos.iff', 'tatooine', long(0), float(3520.0), float(5.0), float(-4821.0), float(0.42), float(0.91))
|
||||
vourk.setCustomName2('Vourk Ver\'Zremp')
|
||||
|
||||
mayor = stcSvc.spawnObject('object/mobile/shared_dressed_mayor_mikdanyell_guhrantt.iff', 'tatooine', long(1279960), float(1.2), float(2.5), float(5.4), float(0), float(0))
|
||||
mayor.setCustomName2('Mayor Mikdanyell Guh\'rantt')
|
||||
|
||||
enthaKandela = stcSvc.spawnObject('object/mobile/shared_dressed_entha_kandela.iff', 'tatooine', long(0), float(3511), float(5.0), float(-4785), float(0.70), float(0.71))
|
||||
enthaKandela.setCustomName2('Entha Kandela')
|
||||
|
||||
purvis = stcSvc.spawnObject('object/mobile/shared_dressed_purvis_arrison.iff', 'tatooine', long(0), float(3512.4), float(5.0), float(-4764.9), float(0.38), float(-0.92))
|
||||
purvis.setCustomName2('Purvis Arrison')
|
||||
|
||||
peawpRdawc = stcSvc.spawnObject('object/mobile/shared_peawp_bodyguard_trainer.iff', 'tatooine', long(1189639), float(-11.8), float(1.1), float(-10.1), float(0), float(0))
|
||||
peawpRdawc.setCustomName2('Peawp R\'dawc')
|
||||
|
||||
peawpRdawc = stcSvc.spawnObject('object/mobile/shared_dressed_tatooine_opening_niko.iff', 'tatooine', long(0), float(3506.7), float(5.0), float(-4795.8), float(0.70), float(0.71))
|
||||
peawpRdawc.setCustomName2('Niko Brehe')
|
||||
|
||||
dunir = stcSvc.spawnObject('object/mobile/shared_dressed_tatooine_opening_dunir.iff', 'tatooine', long(0), float(3520.7), float(5.0), float(-4683.7), float(0.99), float(-0.08))
|
||||
dunir.setCustomName2('Dunir')
|
||||
|
||||
#Eisley Ship Controller
|
||||
stcSvc.spawnObject('object/mobile/shared_distant_ship_controller.iff', 'tatooine', long(0), float(3542.3), float(5.0), float(-4826.0), float(0.42), float(0.91))
|
||||
|
||||
# Mos Espa NPC Spawns
|
||||
# Cantina Interior
|
||||
dalaSocuna = stcSvc.spawnObject('object/mobile/shared_space_rebel_tier1_tatooine_socuna.iff', 'tatooine', long(1256068), float(-28.4), float(-0.5), float(9.4), float(0.33), float(0.94))
|
||||
dalaSocuna.setCustomName2('Commander Da\'la Socuna')
|
||||
|
||||
watto = stcSvc.spawnObject('object/mobile/shared_watto.iff', 'tatooine', long(26670), float(4.7), float(-0.5), float(2.4), float(0.70), float(-0.71))
|
||||
watto.setCustomName2('Watto')
|
||||
|
||||
#Exterior Uninteractables
|
||||
commoner18 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_zabrak_female_02.iff', 'tatooine', long(0), float(-2915.3), float(5.0), float(2148.5), float(0), float(0))
|
||||
commoner18.setCustomName2('a Commoner')
|
||||
|
||||
jawa10 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(-2966.3), float(5.0), float(2196.9), float(0), float(0))
|
||||
jawa10.setCustomName2('a Jawa')
|
||||
|
||||
commoner19 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_human_male_06.iff', 'tatooine', long(0), float(-2960.4), float(5.0), float(2271.3), float(0), float(0))
|
||||
commoner19.setCustomName2('a Commoner')
|
||||
|
||||
commoner20 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_devaronian_male_01.iff', 'tatooine', long(0), float(-2934.3), float(5.0), float(2298.9), float(0.71), float(0.71))
|
||||
commoner20.setCustomName2('a Commoner')
|
||||
|
||||
commoner21 = stcSvc.spawnObject('object/mobile/shared_dressed_noble_human_female_01.iff', 'tatooine', long(0), float(-2897.7), float(5.0), float(2345.4), float(0.71), float(0.71))
|
||||
commoner21.setCustomName2('a Commoner')
|
||||
|
||||
commoner22 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_fat_twilek_male_01.iff', 'tatooine', long(0), float(-2763.8), float(5.0), float(2305.2), float(0.71), float(0.71))
|
||||
commoner22.setCustomName2('a Commoner')
|
||||
|
||||
jawa11 = stcSvc.spawnObject('object/mobile/shared_jawa.iff', 'tatooine', long(0), float(-2936.8), float(5.0), float(2078.4), float(0.95105), float(0.3090))
|
||||
jawa11.setCustomName2('a Jawa')
|
||||
|
||||
businessman4 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_tatooine_trandoshan_male_02.iff', 'tatooine', long(0), float(-2914.2), float(5.0), float(2022.4), float(0), float(0))
|
||||
businessman4.setCustomName2('a Businessman')
|
||||
|
||||
commoner23 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_naboo_moncal_male_01.iff', 'tatooine', long(0), float(-2904.1), float(5.0), float(1965.3), float(0.71), float(0.71))
|
||||
commoner23.setCustomName2('a Commoner')
|
||||
|
||||
# Mos Entha NPC Spawns
|
||||
|
||||
#Outside
|
||||
ankwee = stcSvc.spawnObject('object/mobile/shared_dressed_tatooine_entha_ankwee.iff', 'tatooine', long(0), float(1351), float(5.0), float(3108), float(0.42), float(0.91))
|
||||
ankwee.setCustomName2('An\'kwee')
|
||||
|
||||
# Bestine NPC Spawns
|
||||
# City hall
|
||||
indigoSiyan = stcSvc.spawnObject('object/mobile/shared_dressed_indigo_siyan.iff', 'tatooine', long(926483), float(24.7), float(3.2), float(-30.7), float(-0.06), float(0.99))
|
||||
indigoSiyan.setCustomName2('Indigo Siyan')
|
||||
|
||||
keanna = stcSvc.spawnObject('object/mobile/shared_dressed_keanna_likyna.iff', 'tatooine', long(926480), float(-18.7), float(3.2), float(20.6), float(-0.97), float(0.2))
|
||||
keanna.setCustomName2('Keanna Li\'kyna')
|
||||
|
||||
oberhaur = stcSvc.spawnObject('object/mobile/shared_space_imperial_tier2_tatooine_oberhaur.iff', 'tatooine', long(926480), float(-21.9), float(3.2), float(26.9), float(0.99), float(0.01))
|
||||
oberhaur.setCustomName2('Commander Oberhaur')
|
||||
|
||||
seanTrenwell = stcSvc.spawnObject('object/mobile/shared_dressed_sean_trenwell.iff', 'tatooine', long(926483), float(19.4), float(3.2), float(-36), float(-0.06), float(0.99))
|
||||
seanTrenwell.setCustomName2('Sean Trenwell ')
|
||||
|
||||
talmont = stcSvc.spawnObject('object/mobile/shared_prefect_talmont.iff', 'tatooine', long(926475), float(-1.9), float(3.1), float(-10.3), float(0.99), float(0))
|
||||
|
||||
tourAryon = stcSvc.spawnObject('object/mobile/shared_dressed_tatooine_tour_aryon.iff', 'tatooine', long(926479), float(-36.8), float(1.3), float(0.3), float(0.8), float(0.59))
|
||||
tourAryon.setCustomName2('Tour Aryon')
|
||||
|
||||
victorVisalis = stcSvc.spawnObject('object/mobile/shared_dressed_victor_visalis.iff', 'tatooine', long(926480), float(-26.7), float(3.2), float(20.8), float(0.96), float(0.24))
|
||||
victorVisalis.setCustomName2('Victor Visalis')
|
||||
|
||||
wilhalmSkrim = stcSvc.spawnObject('object/mobile/shared_dressed_tatooine_wilhalm_skrim.iff', 'tatooine', long(926482), float(28.9), float(1.3), float(-6.0), float(0.23), float(0.97))
|
||||
|
||||
#Miscellaneous Building Interiors
|
||||
akalColzet = stcSvc.spawnObject('object/mobile/shared_dressed_imperial_trainer_space_01.iff', 'tatooine', long(1212359), float(0.7), float(1.8), float(-14), float(0), float(0.99))
|
||||
akalColzet.setCustomName2('lt. Akal Colzet')
|
||||
|
||||
fariousGletch = stcSvc.spawnObject('object/mobile/shared_dressed_tatooine_farious_gletch.iff', 'tatooine', long(1278989), float(2.0), float(-0.4), float(-5.7), float(-0.15), float(0.98))
|
||||
|
||||
pfilbeeJhorn = stcSvc.spawnObject('object/mobile/shared_dressed_tatooine_pfilbee_jhorn.iff', 'tatooine', long(1279923), float(5.1), float(0.1), float(-3.8), float(-0.7), float(0.71))
|
||||
pfilbeeJhorn.setCustomName2('Pfilbee Jhorn')
|
||||
|
||||
#Hotel interior
|
||||
gilBurtin = stcSvc.spawnObject('object/mobile/shared_dressed_industrialist_trainer_01.iff', 'tatooine', long(1223850), float(20.3), float(1.6), float(12.8), float(0.99), float(0))
|
||||
gilBurtin.setCustomName2('Gil Burtin')
|
||||
|
||||
# Outside
|
||||
barak = stcSvc.spawnObject('object/mobile/shared_smuggler_broker_barak.iff', 'tatooine', long(0), float(-1049), float(5.0), float(-3537), float(0.97), float(0.23))
|
||||
barak.setCustomName2('Barak')
|
||||
|
||||
barrezz = stcSvc.spawnObject('object/mobile/shared_dressed_dressed_legacy_barrezz.iff', 'tatooine', long(0), float(-1146.8), float(98.0), float(-3892.1), float(0.75), float(0.65))
|
||||
barrezz.setCustomName2('Commander Barrezz')
|
||||
|
||||
jasha = stcSvc.spawnObject('object/mobile/shared_dressed_bestinejobs_jasha.iff', 'tatooine', long(0), float(-1128), float(98.0), float(-3900), float(-0.42), float(0.90))
|
||||
jasha.setCustomName2('Captain Jasha')
|
||||
|
||||
dkrn = stcSvc.spawnObject('object/mobile/shared_dressed_imperial_general_m.iff', 'tatooine', long(0), float(-1160), float(5.0), float(-3525), float(0.90), float(-0.41))
|
||||
dkrn.setCustomName2('Commander D\'krn')
|
||||
|
||||
gunham = stcSvc.spawnObject('object/mobile/shared_dressed_imperial_lieutenant_m.iff', 'tatooine', long(0), float(-1125), float(12.2), float(-3620), float(0.9), float(0.42))
|
||||
gunham.setCustomName2('Commander Gunham')
|
||||
|
||||
kormundThrylle = stcSvc.spawnObject('object/mobile/shared_dressed_tatooine_kormund_thrylle.iff', 'tatooine', long(0), float(-1043), float(10.0), float(-3530), float(0.99), float(0.06))
|
||||
kormundThrylle.setCustomName2('Kormund Thrylle')
|
||||
|
||||
calebKnolar = stcSvc.spawnObject('object/mobile/shared_dressed_imperial_major_cold_m.iff', 'tatooine', long(0), float(-1149), float(98.0), float(-3903), float(0.42), float(0.91))
|
||||
calebKnolar.setCustomName2('Major Caleb Knolar')
|
||||
|
||||
# Anchorhead NPC Spawns
|
||||
# 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')
|
||||
|
||||
# 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')
|
||||
|
||||
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')
|
||||
|
||||
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')
|
||||
|
||||
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')
|
||||
|
||||
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')
|
||||
|
||||
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')
|
||||
|
||||
# Lars Homestead
|
||||
zefAndo = stcSvc.spawnObject('object/mobile/shared_dressed_legacy_zef.iff', 'tatooine', long(0), float(-2574.9), float(0), float(-5516.7), float(0), float(0))
|
||||
zefAndo.setCustomName2('Zef Ando')
|
||||
|
||||
# Jawa Sandcrawler (legacy quest)
|
||||
fa2po = stcSvc.spawnObject('object/mobile/shared_3po_protocol_droid.iff', 'tatooine', long(0), float(-3805.7), float(30.4), float(-4721.6), float(0), float(0))
|
||||
fa2po.setCustomName2('FA-2PO')
|
||||
|
||||
# Darklighter Cache Cave (tat -260 -6930 not spawning from buildout)
|
||||
|
||||
|
||||
|
||||
|
||||
# Mos Taike NPC Spawns
|
||||
|
||||
# Wayfar NPC Spawns
|
||||
|
||||
# Jabba's Palace Theme Park Spawns
|
||||
# Jabba's Palace Theme Park Spawns
|
||||
|
||||
reelo = stcSvc.spawnObject('object/mobile/shared_reelo_baruk.iff', 'tatooine', long(26560), float(-3.5), float(0.2), float(113.5), float(0), float(0))
|
||||
reelo.setCustomName2('Reelo Baruk')
|
||||
|
||||
reeyees = stcSvc.spawnObject('object/mobile/shared_dressed_gran_thug_male_01.iff', 'tatooine', long(26560), float(5.8), float(0.2), float(115.7), float(0.70), float(-0.71))
|
||||
reeyees.setCustomName2('Ree-Yees')
|
||||
|
||||
ephant = stcSvc.spawnObject('object/mobile/shared_ephant_mon.iff', 'tatooine', long(26564), float(-6.1), float(5.8), float(86.1), float(0), float(0))
|
||||
ephant.setCustomName2('Ephant Mon')
|
||||
|
||||
porcellus = stcSvc.spawnObject('object/mobile/shared_dressed_porcellus.iff', 'tatooine', long(26572), float(-44.0), float(3.0), float(63.4), float(0), float(0))
|
||||
porcellus.setCustomName2('Porcellus')
|
||||
|
||||
barada = stcSvc.spawnObject('object/mobile/shared_barada.iff', 'tatooine', long(26596), float(31.2), float(0.2), float(-1.0), float(0.98), float(-0.17))
|
||||
barada.setCustomName2('Barada')
|
||||
|
||||
bibMain = stcSvc.spawnObject('object/mobile/shared_bib_fortuna.iff', 'tatooine', long(26582), float(-11.1), float(2.0), float(49.5), float(0.70), float(0.71))
|
||||
bibMain.setCustomName2('Bib Fortuna')
|
||||
|
||||
jabba = stcSvc.spawnObject('object/mobile/shared_jabba_the_hutt.iff', 'tatooine', long(26582), float(-17.0), float(2.8), float(44.9), float(0.70), float(0.71))
|
||||
jabba.setCustomName2('Jabba the Hutt')
|
||||
|
||||
oola = stcSvc.spawnObject('object/mobile/shared_oola.iff', 'tatooine', long(26582), float(-10.3), float(2.0), float(43.9), float(0.70), float(-0.71))
|
||||
oola.setCustomName2('Oola')
|
||||
oola.setCurrentAnimation('wave1')
|
||||
|
||||
bobaFett = stcSvc.spawnObject('object/mobile/shared_boba_fett.iff', 'tatooine', long(26582), float(-1.0), float(3.0), float(33.1), float(0), float(0))
|
||||
bobaFett.setCustomName2('Boba Fett')
|
||||
|
||||
ev9d9 = stcSvc.spawnObject('object/mobile/shared_ev_9d9.iff', 'tatooine', long(26574), float(18.8), float(0.2), float(78.7), float(1.0), float(0))
|
||||
ev9d9.setCustomName2('EV-9D9')
|
||||
|
||||
malakili = stcSvc.spawnObject('object/mobile/shared_malakili.iff', 'tatooine', long(26599), float(17.3), float(-11.0), float(43.8), float(0), float(0))
|
||||
malakili.setCustomName2('Malakili')
|
||||
#Need to somehow get the cellID for the Rancor Pit or it will NEVER be spawned.
|
||||
|
||||
maxRebo = stcSvc.spawnObject('object/mobile/shared_max_rebo.iff', 'tatooine', long(26582), float(-1.4), float(3.0), float(26.9), float(0.42), float(-0.9))
|
||||
maxRebo.setCustomName2('Max Rebo')
|
||||
|
||||
droopy = stcSvc.spawnObject('object/mobile/shared_droopy_mccool.iff', 'tatooine', long(26582), float(-3.9), float(3.0), float(26.1), float(0.42), float(-0.9))
|
||||
droopy.setCustomName2('Droopy McCool')
|
||||
|
||||
sySnootles = stcSvc.spawnObject('object/mobile/shared_sy_snootles.iff', 'tatooine', long(26582), float(-1.4), float(3.0), float(29.8), float(0.42), float(-0.))
|
||||
sySnootles.setCustomName2('Sy Snootles')
|
||||
|
||||
g5po = stcSvc.spawnObject('object/mobile/shared_3po_protocol_droid_red.iff', 'tatooine', long(26582), float(-14.3), float(2.0), float(47.4), float(0.70), float(0.71))
|
||||
g5po.setCustomName2('G5-PO')
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -78,6 +78,7 @@ import services.LoginService;
|
||||
import services.map.MapService;
|
||||
import services.object.ObjectService;
|
||||
import services.object.UpdateService;
|
||||
import services.retro.RetroService;
|
||||
import services.spawn.SpawnService;
|
||||
import services.sui.SUIService;
|
||||
import services.trade.TradeService;
|
||||
@@ -130,6 +131,7 @@ public class NGECore {
|
||||
|
||||
// Services
|
||||
public LoginService loginService;
|
||||
public RetroService retroService;
|
||||
public ConnectionService connectionService;
|
||||
public CommandService commandService;
|
||||
public CharacterService characterService;
|
||||
@@ -230,6 +232,7 @@ public class NGECore {
|
||||
|
||||
// Services
|
||||
loginService = new LoginService(this);
|
||||
retroService = new RetroService(this);
|
||||
connectionService = new ConnectionService(this);
|
||||
characterService = new CharacterService(this);
|
||||
mapService = new MapService(this);
|
||||
@@ -285,6 +288,7 @@ public class NGECore {
|
||||
|
||||
// Zone Server
|
||||
zoneDispatch = new NetworkDispatch(this, true);
|
||||
zoneDispatch.addService(retroService);
|
||||
zoneDispatch.addService(connectionService);
|
||||
zoneDispatch.addService(characterService);
|
||||
zoneDispatch.addService(factionService);
|
||||
@@ -357,6 +361,8 @@ public class NGECore {
|
||||
spawnService.loadLairGroups();
|
||||
spawnService.loadSpawnAreas();*/
|
||||
|
||||
retroService.run();
|
||||
|
||||
didServerCrash = false;
|
||||
System.out.println("Started Server.");
|
||||
setGalaxyStatus(2);
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2013 <Project SWG>
|
||||
*
|
||||
* This File is part of NGECore2.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
|
||||
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
|
||||
******************************************************************************/
|
||||
package protocol.swg;
|
||||
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
|
||||
import resources.objects.player.PlayerObject;
|
||||
import engine.resources.common.CRC;
|
||||
|
||||
public class CharacterSheetResponseMessage extends SWGMessage {
|
||||
|
||||
private PlayerObject player;
|
||||
public CharacterSheetResponseMessage(PlayerObject player) {
|
||||
this.player = player;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deserialize(IoBuffer data) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public IoBuffer serialize() {
|
||||
IoBuffer buffer = IoBuffer.allocate(100).order(ByteOrder.LITTLE_ENDIAN);
|
||||
buffer.putShort((short) 12);
|
||||
buffer.putInt(CRC.StringtoCRC("CharacterSheetResponseMessage"));
|
||||
buffer.putShort((short) 0); //unk
|
||||
buffer.putInt(1); // unk
|
||||
|
||||
|
||||
buffer.putFloat(0); // bind x
|
||||
buffer.putFloat(0); // bind z
|
||||
buffer.putFloat(0); // bind y
|
||||
buffer.putInt(0); // planet
|
||||
|
||||
buffer.putFloat(0); // bank x
|
||||
buffer.putFloat(0); // bank z
|
||||
buffer.putFloat(0); // bank y
|
||||
buffer.put(getAsciiString("tatooine")); // planet
|
||||
|
||||
buffer.putFloat(0); // home x
|
||||
buffer.putFloat(0); // home z
|
||||
buffer.putFloat(0); // home y
|
||||
buffer.putInt(0); // home planet
|
||||
|
||||
if (player.getSpouseName() == null)
|
||||
buffer.putInt(0);
|
||||
else
|
||||
buffer.put(getUnicodeString(player.getSpouseName())); // spouse name <<<<< CORRECT
|
||||
|
||||
buffer.putInt(10); // lots remaining <<<<<<< CORRECT
|
||||
return buffer.flip();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -6,9 +6,6 @@ import main.NGECore;
|
||||
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
|
||||
import engine.resources.config.Config;
|
||||
import engine.resources.config.DefaultConfig;
|
||||
|
||||
public class ChatFriendsListUpdate extends SWGMessage {
|
||||
|
||||
private String friendName;
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2013 <Project SWG>
|
||||
*
|
||||
* This File is part of NGECore2.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
|
||||
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
|
||||
******************************************************************************/
|
||||
package protocol.swg;
|
||||
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
|
||||
import resources.common.Console;
|
||||
import resources.common.StringUtilities;
|
||||
import engine.resources.common.CRC;
|
||||
|
||||
public class CommPlayerMessage extends SWGMessage {
|
||||
|
||||
private long objectId;
|
||||
|
||||
public CommPlayerMessage(long objectId) {
|
||||
this.objectId = objectId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deserialize(IoBuffer data) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public IoBuffer serialize() {
|
||||
IoBuffer buffer = IoBuffer.allocate(200).order(ByteOrder.LITTLE_ENDIAN);
|
||||
|
||||
buffer.putShort((short) 2);
|
||||
buffer.putInt(0x594AD258);
|
||||
|
||||
buffer.put((byte) 0); // aurebesh borders on comm, space version? Can cause crashes
|
||||
|
||||
buffer.putLong(objectId);
|
||||
|
||||
/*Seen numbers:
|
||||
* 52 (Starting Station Comms)
|
||||
* 54 (Tansarii Comms)
|
||||
* 57 (Supply Drops)
|
||||
* 58 (Faction Covert->Overt)
|
||||
* 68 (Imperial stop)
|
||||
*
|
||||
*/
|
||||
buffer.putInt(57); // unknown, changes for each comm message (counter?)
|
||||
|
||||
buffer.putShort((short) 0); // unknonw flag, seems to do nothing
|
||||
buffer.put((byte) 0); // unknown, always 0 except for imperial stop message
|
||||
|
||||
buffer.putInt(0xFFFFFFFF);
|
||||
|
||||
buffer.put(getAsciiString("stormtrooper")); // StfFile
|
||||
buffer.putInt(0); // stf spacer
|
||||
buffer.put(getAsciiString("u11")); // StfName
|
||||
|
||||
buffer.putInt(0); // stf spacer
|
||||
buffer.putLong(0);
|
||||
buffer.putLong(0);
|
||||
buffer.putLong(0);
|
||||
buffer.putLong(0); // 70 bytes
|
||||
buffer.putLong(0);
|
||||
buffer.putLong(0);
|
||||
buffer.putLong(0);
|
||||
buffer.putLong(0);
|
||||
buffer.put((byte) 0);
|
||||
|
||||
// Officer Supply Drop: 0x3E894347
|
||||
// Rebel Faction Dude: 0x528CB3D7
|
||||
buffer.putInt(0x528CB3D7); // model crc, can be anything w/o crashing
|
||||
|
||||
buffer.putInt(0); // sound
|
||||
|
||||
buffer.putShort((short) 0); // unk
|
||||
buffer.putShort((short) 16576); // comm display time, unsure on how it's calculated
|
||||
buffer.flip();
|
||||
Console.println("CPM: " + StringUtilities.bytesToHex(buffer.array()));
|
||||
return buffer;
|
||||
}
|
||||
|
||||
}
|
||||
+30
-47
@@ -19,64 +19,47 @@
|
||||
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
|
||||
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
|
||||
******************************************************************************/
|
||||
package resources.z.exp.group;
|
||||
package protocol.swg;
|
||||
|
||||
import java.nio.ByteOrder;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
|
||||
import com.sleepycat.persist.model.Persistent;
|
||||
import resources.common.StringUtilities;
|
||||
import engine.resources.common.CRC;
|
||||
import engine.resources.scene.Point3D;
|
||||
|
||||
import resources.objects.Delta;
|
||||
public class CreateClientPathMessage extends SWGMessage {
|
||||
|
||||
@Persistent
|
||||
public class MemberInfo extends Delta {
|
||||
private List<Point3D> coordinates;
|
||||
|
||||
private long info;
|
||||
private int memberId;
|
||||
|
||||
public MemberInfo(long info, int memberId) {
|
||||
this.info = info;
|
||||
this.memberId = memberId;
|
||||
public CreateClientPathMessage(List<Point3D> coordinates) {
|
||||
this.coordinates = coordinates;
|
||||
}
|
||||
|
||||
public MemberInfo() {
|
||||
@Override
|
||||
public void deserialize(IoBuffer data) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public IoBuffer serialize() {
|
||||
IoBuffer buffer = IoBuffer.allocate((coordinates.size() * 12) + 10).order(ByteOrder.LITTLE_ENDIAN);
|
||||
|
||||
buffer.putShort((short) 2);
|
||||
buffer.putInt(CRC.StringtoCRC("CreateClientPathMessage"));
|
||||
|
||||
}
|
||||
|
||||
public long getInfo() {
|
||||
synchronized(objectMutex) {
|
||||
return info;
|
||||
buffer.putInt(coordinates.size());
|
||||
for(Point3D point : coordinates) {
|
||||
buffer.putFloat(point.x);
|
||||
buffer.putFloat(point.z);
|
||||
buffer.putFloat(point.y);
|
||||
}
|
||||
|
||||
buffer.flip();
|
||||
StringUtilities.printBytes(buffer.array());
|
||||
return buffer;
|
||||
}
|
||||
|
||||
public MemberInfo setInfo(long info) {
|
||||
synchronized(objectMutex) {
|
||||
this.info = info;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public int getMemberId() {
|
||||
synchronized(objectMutex) {
|
||||
return memberId;
|
||||
}
|
||||
}
|
||||
|
||||
public MemberInfo setMemberId(int memberId) {
|
||||
synchronized(objectMutex) {
|
||||
this.memberId = memberId;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] getBytes() {
|
||||
synchronized(objectMutex) {
|
||||
IoBuffer buffer = bufferPool.allocate(12, false).order(ByteOrder.LITTLE_ENDIAN);
|
||||
buffer.putLong(info);
|
||||
buffer.putInt(memberId);
|
||||
return buffer.array();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package protocol.swg;
|
||||
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
|
||||
import resources.common.Console;
|
||||
import resources.common.StringUtilities;
|
||||
|
||||
public class GuildRequestMessage extends SWGMessage {
|
||||
|
||||
private long characterId;
|
||||
|
||||
public GuildRequestMessage() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deserialize(IoBuffer data) {
|
||||
//data.getShort();
|
||||
setCharacterId(data.getLong());
|
||||
}
|
||||
|
||||
@Override
|
||||
public IoBuffer serialize() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public long getCharacterId() {
|
||||
return characterId;
|
||||
}
|
||||
|
||||
public void setCharacterId(long characterId) {
|
||||
this.characterId = characterId;
|
||||
}
|
||||
|
||||
}
|
||||
+27
-29
@@ -19,45 +19,43 @@
|
||||
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
|
||||
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
|
||||
******************************************************************************/
|
||||
package resources.z.exp.manufacture;
|
||||
package protocol.swg;
|
||||
|
||||
import java.nio.ByteOrder;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
|
||||
import com.sleepycat.persist.model.Persistent;
|
||||
import resources.common.Console;
|
||||
import resources.common.StringUtilities;
|
||||
import resources.guild.Guild;
|
||||
import resources.objects.creature.CreatureObject;
|
||||
|
||||
import resources.objects.Delta;
|
||||
import resources.z.exp.objects.Baseline;
|
||||
public class GuildResponseMessage extends SWGMessage {
|
||||
|
||||
@Persistent
|
||||
public class SubList<o> extends Delta {
|
||||
private long player;
|
||||
private String guildName;
|
||||
|
||||
private List<o> list = new CopyOnWriteArrayList<o>();
|
||||
public GuildResponseMessage(long player, String guild) {
|
||||
this.player = player;
|
||||
this.guildName = guild;
|
||||
}
|
||||
|
||||
public SubList() {
|
||||
@Override
|
||||
public void deserialize(IoBuffer data) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
public List<o> getList() {
|
||||
return list;
|
||||
|
||||
@Override
|
||||
public IoBuffer serialize() {
|
||||
IoBuffer buffer = IoBuffer.allocate(18 + guildName.length()).order(ByteOrder.LITTLE_ENDIAN);
|
||||
|
||||
buffer.putShort((short) 4);
|
||||
buffer.putInt(0x32263F20);
|
||||
|
||||
buffer.putLong(player);
|
||||
buffer.put(getAsciiString(guildName));
|
||||
|
||||
return buffer.flip();
|
||||
}
|
||||
|
||||
public byte[] getBytes() {
|
||||
synchronized(objectMutex) {
|
||||
int size = 4;
|
||||
for (o object : list) size += Baseline.toBytes(object).length;
|
||||
|
||||
IoBuffer buffer = bufferPool.allocate(size, false).order(ByteOrder.LITTLE_ENDIAN);
|
||||
buffer.putInt(list.size());
|
||||
for (o object : list) {
|
||||
buffer.put(Baseline.toBytes(object));
|
||||
}
|
||||
|
||||
return buffer.array();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -26,11 +26,13 @@ import java.nio.ByteOrder;
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
|
||||
|
||||
|
||||
import protocol.swg.objectControllerObjects.CommandEnqueue;
|
||||
import protocol.swg.objectControllerObjects.DataTransform;
|
||||
import protocol.swg.objectControllerObjects.DataTransformWithParent;
|
||||
import protocol.swg.objectControllerObjects.ObjControllerObject;
|
||||
import protocol.swg.objectControllerObjects.UnknownObjController;
|
||||
import resources.common.StringUtilities;
|
||||
|
||||
public class ObjControllerMessage extends SWGMessage {
|
||||
|
||||
@@ -56,6 +58,7 @@ public class ObjControllerMessage extends SWGMessage {
|
||||
public static final int BUFF_BUILDER_START = 0x025C;
|
||||
public static final int BUFF_BUILDER_CHANGE = 0x025A;
|
||||
public static final int UI_PLAY_EFFECT = 0x0401;
|
||||
public static final int SHOW_LOOT_BOX = 0x04BC;
|
||||
|
||||
public ObjControllerMessage() {
|
||||
|
||||
@@ -79,7 +82,7 @@ public class ObjControllerMessage extends SWGMessage {
|
||||
buffer.putInt(0x80CE5E46);
|
||||
buffer.putInt(update);
|
||||
buffer.put(objControllerObject.serialize());
|
||||
//System.out.println("OBJMSG: " + buffer.flip().getHexDump());
|
||||
//System.out.println("OBJMSG: " + StringUtilities.bytesToHex(buffer.flip().array()));
|
||||
int size = buffer.position();
|
||||
return IoBuffer.allocate(size).put(buffer.array(), 0, size).flip();
|
||||
}
|
||||
|
||||
@@ -19,18 +19,39 @@
|
||||
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
|
||||
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
|
||||
******************************************************************************/
|
||||
package resources.z.exp.quest;
|
||||
package protocol.swg;
|
||||
|
||||
import resources.objects.Delta;
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
public class Quest extends Delta {
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
|
||||
public class PlayerMoneyResponse extends SWGMessage {
|
||||
|
||||
int cash;
|
||||
int bank;
|
||||
|
||||
public Quest() {
|
||||
public PlayerMoneyResponse(int cash, int bank) {
|
||||
this.cash = cash;
|
||||
this.bank = bank;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deserialize(IoBuffer data) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public IoBuffer serialize() {
|
||||
IoBuffer buffer = IoBuffer.allocate(14).order(ByteOrder.LITTLE_ENDIAN);
|
||||
|
||||
buffer.putShort((short) 3);
|
||||
buffer.putInt(0x367E737E);
|
||||
|
||||
buffer.putInt(bank);
|
||||
buffer.putInt(cash);
|
||||
|
||||
buffer.flip();
|
||||
return buffer;
|
||||
}
|
||||
|
||||
public byte[] getBytes() {
|
||||
return new byte[] { };
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -26,8 +26,6 @@ import java.nio.ByteBuffer;
|
||||
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
|
||||
import resources.common.StringUtilities;
|
||||
|
||||
public class SetWaypointColor extends SWGMessage {
|
||||
|
||||
private long objectId;
|
||||
|
||||
@@ -26,7 +26,6 @@ import java.nio.ByteOrder;
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
|
||||
import protocol.swg.ObjControllerMessage;
|
||||
import protocol.swg.SWGMessage;
|
||||
|
||||
public class Animation extends ObjControllerObject {
|
||||
|
||||
@@ -45,7 +44,7 @@ public class Animation extends ObjControllerObject {
|
||||
|
||||
@Override
|
||||
public IoBuffer serialize() {
|
||||
IoBuffer result = IoBuffer.allocate(36).order(ByteOrder.LITTLE_ENDIAN);
|
||||
IoBuffer result = IoBuffer.allocate(20 + animation.length()).order(ByteOrder.LITTLE_ENDIAN);
|
||||
|
||||
result.putInt(ObjControllerMessage.ANIMATION);
|
||||
|
||||
|
||||
+29
-34
@@ -19,52 +19,47 @@
|
||||
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
|
||||
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
|
||||
******************************************************************************/
|
||||
package resources.z.exp.group;
|
||||
package protocol.swg.objectControllerObjects;
|
||||
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
|
||||
import com.sleepycat.persist.model.Persistent;
|
||||
import protocol.swg.ObjControllerMessage;
|
||||
import resources.common.Console;
|
||||
import resources.common.StringUtilities;
|
||||
|
||||
import engine.resources.objects.SWGObject;
|
||||
|
||||
import resources.objects.Delta;
|
||||
|
||||
@Persistent
|
||||
public class Member extends Delta {
|
||||
public class BiographyUpdate extends ObjControllerObject {
|
||||
|
||||
private SWGObject member;
|
||||
private long objectId;
|
||||
private long targetObjectId;
|
||||
|
||||
public Member(SWGObject member) {
|
||||
this.member = member;
|
||||
private String biography;
|
||||
|
||||
public BiographyUpdate(long objectId, long targetObjectId, String biography) {
|
||||
this.objectId = objectId;
|
||||
this.biography = biography;
|
||||
this.targetObjectId = targetObjectId;
|
||||
}
|
||||
|
||||
public Member() {
|
||||
|
||||
@Override
|
||||
public void deserialize(IoBuffer data) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
public SWGObject getMember() {
|
||||
synchronized(objectMutex) {
|
||||
return member;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IoBuffer serialize() {
|
||||
IoBuffer buffer = IoBuffer.allocate(28 + (biography.length() * 2)).order(ByteOrder.LITTLE_ENDIAN);
|
||||
|
||||
buffer.putInt(0x000001DB);
|
||||
buffer.putLong(objectId); // requester
|
||||
buffer.putInt(0);
|
||||
buffer.putLong(targetObjectId);
|
||||
buffer.put(getUnicodeString(biography));
|
||||
|
||||
return buffer.flip();
|
||||
}
|
||||
|
||||
public long getObjectId() {
|
||||
return member.getObjectID();
|
||||
}
|
||||
|
||||
public String getCustomName() {
|
||||
return member.getCustomName();
|
||||
}
|
||||
|
||||
public byte[] getBytes() {
|
||||
synchronized(objectMutex) {
|
||||
IoBuffer buffer = bufferPool.allocate(8 + getAsciiString(getCustomName()).length, false).order(ByteOrder.LITTLE_ENDIAN);
|
||||
buffer.putLong(getObjectId());
|
||||
buffer.put(getAsciiString(getCustomName()));
|
||||
return buffer.array();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -21,12 +21,8 @@
|
||||
******************************************************************************/
|
||||
package protocol.swg.objectControllerObjects;
|
||||
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
|
||||
import engine.resources.common.Utilities;
|
||||
|
||||
public class ChangeRoleIconChoice extends ObjControllerObject {
|
||||
|
||||
private long objectId = 0;
|
||||
|
||||
@@ -27,8 +27,7 @@ public class SecureTrade extends ObjControllerObject{
|
||||
|
||||
@Override
|
||||
public IoBuffer serialize() {
|
||||
IoBuffer result = IoBuffer.allocate(100).order(ByteOrder.LITTLE_ENDIAN);
|
||||
result.setAutoExpand(true);
|
||||
IoBuffer result = IoBuffer.allocate(40).order(ByteOrder.LITTLE_ENDIAN);
|
||||
|
||||
result.putInt(ObjControllerMessage.SPACIAL_CHAT);
|
||||
result.putInt(1);
|
||||
|
||||
+35
-49
@@ -19,66 +19,52 @@
|
||||
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
|
||||
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
|
||||
******************************************************************************/
|
||||
package resources.z.exp.manufacture;
|
||||
package protocol.swg.objectControllerObjects;
|
||||
|
||||
import java.nio.ByteOrder;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
|
||||
import com.sleepycat.persist.model.Persistent;
|
||||
import engine.resources.objects.SWGObject;
|
||||
import protocol.swg.ObjControllerMessage;
|
||||
import resources.common.StringUtilities;
|
||||
|
||||
import resources.objects.Delta;
|
||||
public class ShowLootBox extends ObjControllerObject {
|
||||
|
||||
@Persistent
|
||||
public class Property extends Delta {
|
||||
private long playerId;
|
||||
private SWGObject[] rewards;
|
||||
|
||||
private int unused = 0;
|
||||
private String key = "";
|
||||
private float value = 0;
|
||||
|
||||
public Property(String key, float value) {
|
||||
this.key = key;
|
||||
this.value = value;
|
||||
public ShowLootBox(long playerId, SWGObject[] rewards) {
|
||||
this.playerId = playerId;
|
||||
this.rewards = rewards;
|
||||
}
|
||||
|
||||
public Property() {
|
||||
@Override
|
||||
public void deserialize(IoBuffer data) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public IoBuffer serialize() {
|
||||
// Controller Type = 11
|
||||
IoBuffer buffer = IoBuffer.allocate(20 + (rewards.length * 8)).order(ByteOrder.LITTLE_ENDIAN);
|
||||
|
||||
}
|
||||
|
||||
public String getKey() {
|
||||
synchronized(objectMutex) {
|
||||
return key;
|
||||
buffer.putInt(ObjControllerMessage.SHOW_LOOT_BOX);
|
||||
buffer.putLong(playerId);
|
||||
|
||||
buffer.putInt(0); // 1 for a black background on icon, 0 or 2 for transparent (default)
|
||||
|
||||
if (rewards.length == 1) {
|
||||
buffer.putInt(1);
|
||||
buffer.putLong(rewards[0].getObjectId());
|
||||
} else {
|
||||
buffer.putInt(rewards.length);
|
||||
for(SWGObject obj : rewards) {
|
||||
buffer.putLong(obj.getObjectID());
|
||||
}
|
||||
}
|
||||
return buffer.flip();
|
||||
}
|
||||
|
||||
public Property setKey(String key) {
|
||||
synchronized(objectMutex) {
|
||||
this.key = key;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public float getValue() {
|
||||
synchronized(objectMutex) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
public Property setValue(float value) {
|
||||
synchronized(objectMutex) {
|
||||
this.value = value;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] getBytes() {
|
||||
synchronized(objectMutex) {
|
||||
IoBuffer buffer = bufferPool.allocate(8 + getAsciiString(key).length, false).order(ByteOrder.LITTLE_ENDIAN);
|
||||
buffer.putInt(unused);
|
||||
buffer.put(getAsciiString(key));
|
||||
buffer.putFloat(value);
|
||||
return buffer.array();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -26,6 +26,7 @@ public class ObjControllerOpcodes {
|
||||
public static final int DATA_TRANSFORM = 0x71000000;
|
||||
public static final int DATA_TRANSFORM_WITH_PARENT = 0xF1000000;
|
||||
public static final int COMMAND_QUEUE_ENQUEUE = 0x16010000;
|
||||
public static final int COMMAND_QUEUE_REMOVE = 0x17010000;
|
||||
public static final int HOVER_TARGET = 0x26010000; // lookAtTarget
|
||||
public static final int TARGET_UPDATE = 0xC5040000; // intendedTarget
|
||||
public static final int OBJECT_MENU_REQUEST = 0x46010000;
|
||||
@@ -33,5 +34,4 @@ public class ObjControllerOpcodes {
|
||||
public static final int BUFF_BUILDER_CHANGE = 0x5A020000;
|
||||
public static final int MISSION_LIST_REQUEST = 0xF5000000;
|
||||
public static final int ChangeRoleIconChoice = 0x4D040000;
|
||||
|
||||
}
|
||||
|
||||
@@ -29,8 +29,12 @@ public class Opcodes {
|
||||
public static int ChatInstantMessageToCharacter = 0x84BB21F7;
|
||||
public static int ChatPersistentMessageToServer = 0x25A29FA6;
|
||||
public static int ChatRequestPersistentMessage = 0x07E3559F;
|
||||
public static int ChatRequestRoomList = 0x4C3D2CFA;
|
||||
public static int ChatSystemMessage = CRC.StringtoCRC("ChatSystemMessage");
|
||||
public static int ClientOpenContainerMessage = 0x2D2D6EE1;
|
||||
public static int CommodotiesItemTypeListRequest = 0x48F493C5;
|
||||
public static int CommoditiesResourceTypeListRequest = 0xCB1AE82D;
|
||||
public static int NewbieTutorialResponse = 0xCA88FBAD;
|
||||
public static int CmdSceneReady = 0x43FD1C22;
|
||||
public static int ConnectPlayerMessage = 0x2E365218;
|
||||
public static int ClientCreateCharacter = 0xB97F3074;
|
||||
@@ -59,5 +63,16 @@ public class Opcodes {
|
||||
public static int FactionRequestMessage = CRC.StringtoCRC("FactionRequestMessage");
|
||||
public static int FactionResponseMessage = CRC.StringtoCRC("FactionResponseMessage");
|
||||
public static int SetWaypointColor = CRC.StringtoCRC("SetWaypointColor");
|
||||
public static int GuildRequestMessage = CRC.StringtoCRC("GuildRequestMessage");
|
||||
public static int PlayerMoneyRequest = CRC.StringtoCRC("PlayerMoneyRequest");
|
||||
public static int LagReport = CRC.StringtoCRC("LagReport");
|
||||
public static int GetSpecificMapLocationsMessage = CRC.StringtoCRC("GetSpecificMapLocationsMessage");
|
||||
public static int SetCombatSpamFilter = CRC.StringtoCRC("SetCombatSpamFilter");
|
||||
public static int SetCombatSpamRangeFilter = CRC.StringtoCRC("SetCombatSpamRangeFilter");
|
||||
public static int SetLfgInterests = CRC.StringtoCRC("SetLfgInterests");
|
||||
public static int SetFurnitureRoationDegree = CRC.StringtoCRC("SetFurnitureRotationDegree");
|
||||
public static int SetJediSlotInfo = CRC.StringtoCRC("SetJediSlotInfo");
|
||||
public static int CollectionServerFirstListRequest = CRC.StringtoCRC("CollectionServerFirstListRequest");
|
||||
|
||||
public static int Unknown = 0x173B91C2; // packet sent to server on every character load-in
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@ package resources.common;
|
||||
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
|
||||
import resources.z.exp.objects.Baseline;
|
||||
import resources.objects.Delta;
|
||||
|
||||
import com.sleepycat.persist.model.Persistent;
|
||||
@@ -85,7 +84,7 @@ public class Stf extends Delta {
|
||||
synchronized(objectMutex) {
|
||||
int size = stfFilename.getBytes().length + 4 + stfName.getBytes().length;
|
||||
|
||||
IoBuffer buffer = Baseline.createBuffer(size);
|
||||
IoBuffer buffer = createBuffer(size);
|
||||
buffer.put(stfFilename.getBytes());
|
||||
buffer.putInt(spacer);
|
||||
buffer.put(stfName.getBytes());
|
||||
|
||||
@@ -27,6 +27,8 @@ import java.nio.ByteOrder;
|
||||
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
|
||||
import engine.resources.common.Utilities;
|
||||
|
||||
public class StringUtilities {
|
||||
|
||||
final protected static char[] hexArray = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
|
||||
@@ -166,16 +168,20 @@ public class StringUtilities {
|
||||
}
|
||||
|
||||
public static String bytesToHex(byte[] bytes) {
|
||||
char[] hexChars = new char[bytes.length * 2];
|
||||
int v;
|
||||
|
||||
for ( int j = 0; j < bytes.length; j++ ) {
|
||||
v = bytes[j] & 0xFF;
|
||||
hexChars[j * 2] = hexArray[v >>> 4];
|
||||
hexChars[j * 2 + 1] = hexArray[v & 0x0F];
|
||||
}
|
||||
|
||||
return new String(hexChars);
|
||||
char[] hexChars = new char[bytes.length * 2];
|
||||
int v;
|
||||
|
||||
for ( int j = 0; j < bytes.length; j++ ) {
|
||||
v = bytes[j] & 0xFF;
|
||||
hexChars[j * 2] = hexArray[v >>> 4];
|
||||
hexChars[j * 2 + 1] = hexArray[v & 0x0F];
|
||||
}
|
||||
|
||||
return new String(hexChars);
|
||||
}
|
||||
|
||||
public static void printBytes(byte[] bytes) {
|
||||
System.out.println(Utilities.getHexString(bytes));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -22,9 +22,6 @@
|
||||
package resources.common;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
|
||||
import com.sleepycat.persist.model.Persistent;
|
||||
|
||||
@@ -64,7 +61,7 @@ public final class UString extends Delta {
|
||||
public byte[] getBytes() {
|
||||
synchronized(objectMutex) {
|
||||
try {
|
||||
return IoBuffer.allocate(4 + string.length(), false).order(ByteOrder.LITTLE_ENDIAN).putInt(string.length()).put(string.getBytes("UTF-16LE")).flip().array();
|
||||
return createBuffer(4 + (string.length() * 2)).putInt(string.length()).put(string.getBytes("UTF-16LE")).flip().array();
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
return new byte[] { 0x00, 0x00, 0x00, 0x00 };
|
||||
|
||||
@@ -21,15 +21,13 @@
|
||||
******************************************************************************/
|
||||
package resources.gcw;
|
||||
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
|
||||
import com.sleepycat.persist.model.Persistent;
|
||||
|
||||
import resources.objects.Delta;
|
||||
|
||||
@Persistent
|
||||
@Persistent(version=0)
|
||||
public class CurrentServerGCWZoneHistory extends Delta implements Cloneable {
|
||||
|
||||
private int lastUpdateTime;
|
||||
@@ -40,6 +38,10 @@ public class CurrentServerGCWZoneHistory extends Delta implements Cloneable {
|
||||
this.lastUpdateTime = zone.getLastUpdateTime();
|
||||
}
|
||||
|
||||
public CurrentServerGCWZoneHistory() {
|
||||
|
||||
}
|
||||
|
||||
public int getLastUpdateTime() {
|
||||
synchronized(objectMutex) {
|
||||
return lastUpdateTime;
|
||||
@@ -54,7 +56,7 @@ public class CurrentServerGCWZoneHistory extends Delta implements Cloneable {
|
||||
|
||||
public byte[] getBytes() {
|
||||
synchronized(objectMutex) {
|
||||
IoBuffer buffer = bufferPool.allocate((8), false).order(ByteOrder.LITTLE_ENDIAN);
|
||||
IoBuffer buffer = createBuffer(8);
|
||||
buffer.putInt(lastUpdateTime);
|
||||
buffer.putInt(percent);
|
||||
return buffer.array();
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user