Conflicts:
	src/protocol/swg/ObjControllerMessage.java
	src/resources/objects/player/PlayerMessageBuilder.java
	src/services/travel/TravelService.java
This commit is contained in:
Light2
2014-03-10 00:42:19 +01:00
182 changed files with 2439 additions and 10372 deletions
-13
View File
@@ -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
+76
View File
@@ -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)
+10
View File
@@ -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
+9 -3
View File
@@ -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 -1
View File
@@ -1,4 +1,4 @@
from resources.common import PlayerFlags
from resources.datatables import PlayerFlags
import sys
def setup():
+1 -1
View File
@@ -1,4 +1,4 @@
from resources.common import PlayerFlags
from resources.datatables import PlayerFlags
import sys
def setup():
+24
View File
@@ -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 -1
View File
@@ -1,5 +1,5 @@
from java.lang import Integer
from resources.common import PlayerFlags
from resources.datatables import PlayerFlags
import sys
def setup():
+25
View File
@@ -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
+28
View File
@@ -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
+2 -1
View File
@@ -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
+1
View File
@@ -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])
+1
View File
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
+16
View File
@@ -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
+16
View File
@@ -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
+35
View File
@@ -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 -2
View File
@@ -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
+16
View File
@@ -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
+114 -1
View File
@@ -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)
+2
View File
@@ -1,5 +1,7 @@
import sys
from resources.datatables import Options
from resources.datatables import StateStatus
def addPlanetSpawns(core, planet):
+140
View File
@@ -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
+316 -44
View File
@@ -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
+6
View File
@@ -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;
+99
View File
@@ -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;
}
}
@@ -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();
}
}
}
+34
View File
@@ -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;
}
}
@@ -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();
}
}
}
+4 -1
View File
@@ -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[] { };
}
}
-2
View File
@@ -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);
@@ -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);
@@ -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;
}
+15
View File
@@ -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
}
+1 -2
View File
@@ -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());
+16 -10
View File
@@ -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));
}
}
+1 -4
View File
@@ -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