Added imperial outpost, fixed visibility issue

- Added force crystal hunter's cave
- Added imperial outpost NPCs
- Fixed creature visibility while mounted
- Tweaked some spawn areas
- Debugged some spawn issues
This commit is contained in:
CharonInferar
2014-05-21 18:50:02 +02:00
parent 4a402abfc9
commit 164ed38fc4
38 changed files with 211 additions and 127 deletions
+1
View File
@@ -1,5 +1,6 @@
LOAD.SNAPSHOT_OBJECTS=1
LOAD.BUILDOUT_OBJECTS=1
#LOAD.BUILDOUT_ONLY_FOR="dantooine"
LOAD.RESOURCE.SYSTEM=1
# Misc
+1 -44
View File
@@ -1,53 +1,10 @@
import sys
from engine.resources.scene import Point3D
from resources.common import MathUtilities
def setup():
return
def run(core, actor, target, commandString):
#actor.sendSystemMessage('CellNumber: ' + str(actor.getContainer().getObjectID()), 0)
actor.sendSystemMessage('x: ' + str(actor.getPosition().x) , 0)
actor.sendSystemMessage('y: ' + str(actor.getPosition().y) , 0)
actor.sendSystemMessage('z: ' + str(actor.getPosition().z) , 0)
actor.sendSystemMessage('qy: ' + str(actor.getOrientation().y) , 0)
actor.sendSystemMessage('qw: ' + str(actor.getOrientation().w) , 0)
actor.sendSystemMessage('targetID: ' + str(actor.getTargetId()) , 0) # 200336
stcSvc = core.staticService
#hunter1 = stcSvc.spawnObject('force_sensitive_crypt_crawler', 'dantooine', long(8535484), float(26), float(-41), float(-68), float(2.77), float(1.82))
#hunter2 = stcSvc.spawnObject('untrained_wielder_of_the_dark_side', 'dantooine', long(8535484), float(23), float(-41), float(-65), float(1.52), float(2.94))
#hunter3 = stcSvc.spawnObject('untrained_wielder_of_the_dark_side', 'dantooine', long(8535484), float(47), float(-48), float(-65), float(0.72), float(-0.68))
#hunter4 = stcSvc.spawnObject('untrained_wielder_of_the_dark_side', 'dantooine', long(8535484), float(49.12), float(-47.48), float(-13.41), float(1), float(-0.05))
#hunter5 = stcSvc.spawnObject('dark_force_crystal_hunter', 'dantooine', long(8535485), float(93.10), float(-61.87), float(-14.25), float(-0.7), float(0.7))
#hunter6 = stcSvc.spawnObject('force_sensitive_crypt_crawler', 'dantooine', long(8535485), float(62.2), float(-69.0), float(-37.8), float(0.68), float(0.72))
#hunter7 = stcSvc.spawnObject('dark_force_crystal_hunter', 'dantooine', long(8535484), float(52.14), float(-67.8), float(-42.9), float(0.51), float(0.86))
#hunter8 = stcSvc.spawnObject('force_sensitive_crypt_crawler', 'dantooine', long(8535486), float(84.94), float(-77.09), float(-63.28), float(-0.19), float(0.98))
#hunter9 = stcSvc.spawnObject('force_sensitive_crypt_crawler', 'dantooine', long(8535486), float(65.30), float(-76.16), float(-70.15), float(0.38), float(0.92))
#hunter10 = stcSvc.spawnObject('untrained_wielder_of_the_dark_side', 'dantooine', long(8535486), float(65.636), float(-76.87), float(-81.40), float(-0.123), float(0.99))
#hunter11 = stcSvc.spawnObject('dark_force_crystal_hunter', 'dantooine', long(8535487), float(80.34), float(-77.29), float(-92.77), float(-0.2), float(0.97))
#hunter12 = stcSvc.spawnObject('dark_force_crystal_hunter', 'dantooine', long(8535487), float(80.34), float(-77.29), float(-92.77), float(-0.2), float(0.97))
objSvc = core.objectService
#magSeal1 = objSvc.getObject(200336-1);
magSeal1 = objSvc.getObject(200335);
actor.sendSystemMessage('getTemplate: ' + magSeal1.getTemplate() , 0) # 200336
lootPoolNames_1 = ['Junk']
lootPoolChances_1 = [100]
lootGroupChance_1 = 90
magSeal1.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1)
#magSeal1Inv = magSeal1.getSlottedObject("inventory");
#lotSvc.getContainerContent()
#magSeal1Inv.
lotSvc = core.lootService
lotSvc.handleContainer(actor,200335,'Junk','dantooine')
if actor.getPosture() == 13 or actor.getPosture() == 14:
return
-3
View File
@@ -20,10 +20,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup('dark jedi')
mobileTemplate.setAssistRange(12)
mobileTemplate.setRespawnTime(300)
<<<<<<< HEAD
=======
mobileTemplate.setOptionsBitmask(192)
>>>>>>> origin/master
templates = Vector()
@@ -7,7 +7,6 @@ def addTemplate(core):
mobileTemplate = MobileTemplate()
mobileTemplate.setCreatureName('dark_force_crystal_hunter')
mobileTemplate.setLevel(90)
mobileTemplate.setMinLevel(60)
mobileTemplate.setMaxLevel(69)
mobileTemplate.setDifficulty(0)
@@ -20,10 +20,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup('dark jedi')
mobileTemplate.setAssistRange(12)
mobileTemplate.setRespawnTime(300)
<<<<<<< HEAD
=======
mobileTemplate.setOptionsBitmask(192)
>>>>>>> origin/master
templates = Vector()
templates.add('object/mobile/shared_dressed_dark_jedi_male_human_01.iff')
@@ -18,10 +18,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup('dark jedi')
mobileTemplate.setAssistRange(12)
mobileTemplate.setRespawnTime(300)
<<<<<<< HEAD
=======
mobileTemplate.setOptionsBitmask(192)
>>>>>>> origin/master
templates = Vector()
templates.add('object/mobile/shared_dressed_dark_jedi_master_female_twk_01.iff')
@@ -7,7 +7,6 @@ def addTemplate(core):
mobileTemplate = MobileTemplate()
mobileTemplate.setCreatureName('eow_force_sensitive_crypt_crawler')
mobileTemplate.setLevel(90)
mobileTemplate.setMinLevel(60)
mobileTemplate.setMaxLevel(70)
mobileTemplate.setDifficulty(0)
@@ -7,7 +7,6 @@ def addTemplate(core):
mobileTemplate = MobileTemplate()
mobileTemplate.setCreatureName('force_sensitive_renegade')
mobileTemplate.setLevel(90)
mobileTemplate.setMinLevel(61)
mobileTemplate.setMaxLevel(69)
mobileTemplate.setDifficulty(0)
@@ -7,7 +7,6 @@ def addTemplate(core):
mobileTemplate = MobileTemplate()
mobileTemplate.setCreatureName('untrained_wielder_of_the_dark_side')
mobileTemplate.setLevel(90)
mobileTemplate.setMinLevel(61)
mobileTemplate.setMaxLevel(70)
mobileTemplate.setDifficulty(0)
@@ -7,13 +7,11 @@ from services.spawn import MobileTemplate
def addDynamicGroup(core):
dynamicGroup = DynamicSpawnGroup()
mobileTemplates = Vector()
mobileTemplates.add('mammoth_thune')
mobileTemplates.add('thune')
mobileTemplates.add('thune_herd_leader')
mobileTemplates.add('frenzied_graul')
dynamicGroup.setMobiles(mobileTemplates)
dynamicGroup.setGroupMembersNumber(-3)
dynamicGroup.setName('thunes_1')
dynamicGroup.setMaxSpawns(-1)
dynamicGroup.setMinSpawnDistance(150)
core.spawnService.addDynamicGroup('thunes_1', dynamicGroup)
core.spawnService.addDynamicGroup('frenzied_graul', dynamicGroup)
return
@@ -0,0 +1,38 @@
import sys
from services.spawn import MobileTemplate
from services.spawn import WeaponTemplate
from java.util import Vector
def addTemplate(core):
mobileTemplate = MobileTemplate()
mobileTemplate.setCreatureName('eow_fbase_imperial_corporal')
mobileTemplate.setLevel(90)
mobileTemplate.setDifficulty(0)
mobileTemplate.setAttackRange(15)
mobileTemplate.setAttackSpeed(1.0)
#mobileTemplate.setWeaponType(1)
mobileTemplate.setMinSpawnDistance(4)
mobileTemplate.setMaxSpawnDistance(8)
mobileTemplate.setDeathblow(True)
mobileTemplate.setSocialGroup("imperial")
mobileTemplate.setAssistRange(12)
mobileTemplate.setStalker(False)
mobileTemplate.setFaction("imperial")
mobileTemplate.setFactionStatus(1)
templates = Vector()
templates.add('object/mobile/shared_dressed_imperial_captain_m.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0)
weaponTemplates.add(weapontemplate)
#mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
#mobileTemplate.setDefaultAttack('rangedshot')
#mobileTemplate.setAttacks(attacks)
core.spawnService.addMobileTemplate('eow_fbase_imperial_corporal', mobileTemplate)
return
@@ -0,0 +1,38 @@
import sys
from services.spawn import MobileTemplate
from services.spawn import WeaponTemplate
from java.util import Vector
def addTemplate(core):
mobileTemplate = MobileTemplate()
mobileTemplate.setCreatureName('eow_fbase_stormtrooper')
mobileTemplate.setLevel(90)
mobileTemplate.setDifficulty(0)
mobileTemplate.setAttackRange(15)
mobileTemplate.setAttackSpeed(1.0)
#mobileTemplate.setWeaponType(1)
mobileTemplate.setMinSpawnDistance(4)
mobileTemplate.setMaxSpawnDistance(8)
mobileTemplate.setDeathblow(True)
mobileTemplate.setSocialGroup("imperial")
mobileTemplate.setAssistRange(12)
mobileTemplate.setStalker(False)
mobileTemplate.setFaction("imperial")
mobileTemplate.setFactionStatus(1)
templates = Vector()
templates.add('object/mobile/shared_dressed_stormtrooper_m.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0)
weaponTemplates.add(weapontemplate)
#mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
#mobileTemplate.setDefaultAttack('rangedshot')
#mobileTemplate.setAttacks(attacks)
core.spawnService.addMobileTemplate('eow_fbase_stormtrooper', mobileTemplate)
return
@@ -8,5 +8,5 @@ def addSpawnArea(core):
dynamicGroups.add('thunes_1')
dynamicGroups.add('kunga_central_group_1')
dynamicGroups.add('huurton_group_1')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 1567, -1585, 2293, 'dantooine')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 1064, -839, 2273, 'dantooine')
return
@@ -8,5 +8,5 @@ def addSpawnArea(core):
dynamicGroups.add('piket_longhorn_group_1')
dynamicGroups.add('huurton_group_2')
dynamicGroups.add('kunga_central_group_1')
core.spawnService.addDynamicSpawnArea(dynamicGroups, -1607, 32, 2129, 'dantooine')
core.spawnService.addDynamicSpawnArea(dynamicGroups, -2539, 716, 2109, 'dantooine')
return
@@ -5,5 +5,5 @@ from java.util import Vector
def addSpawnArea(core):
dynamicGroups = Vector()
dynamicGroups.add('voritors_east_group_1')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 6236, -2015, 2437, 'dantooine')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 5713, -1146, 2416, 'dantooine')
return
@@ -6,5 +6,5 @@ def addSpawnArea(core):
dynamicGroups = Vector()
dynamicGroups.add('voritors_east_group_1')
dynamicGroups.add('jantas_nw_group_1')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 5581, -6603, 2560, 'dantooine')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 5324, -5775, 2560, 'dantooine')
return
@@ -7,5 +7,5 @@ def addSpawnArea(core):
dynamicGroups.add('piket_plains_walker_group')
dynamicGroups.add('quenker_relic_reaper_group')
dynamicGroups.add('thune_group_2')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 4106, 646, 2682, 'dantooine')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 3461, 1331, 2662, 'dantooine')
return
@@ -2,5 +2,5 @@
import sys
def addSpawnArea(core):
core.spawnService.addLairSpawnArea('mixed_lair_group_1', -3450, -2793, 1024, 'dantooine')
core.spawnService.addLairSpawnArea('mixed_lair_group_1', -4014, -1966, 1024, 'dantooine')
return
@@ -2,5 +2,5 @@
import sys
def addSpawnArea(core):
core.spawnService.addLairSpawnArea('mixed_lair_group_1', 748, 1711, 1024, 'dantooine')
core.spawnService.addLairSpawnArea('mixed_lair_group_1', 0, 2355, 1024, 'dantooine')
return
@@ -7,5 +7,5 @@ def addSpawnArea(core):
dynamicGroups.add('force_sensitives_wild_1')
dynamicGroups.add('graul_mauler_nw_group_1')
dynamicGroups.add('voritors_wild_1')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 891, 6135, 1986, 'dantooine')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 61, 6615, 1966, 'dantooine')
return
@@ -8,5 +8,5 @@ def addSpawnArea(core):
dynamicGroups.add('quenker_group_south_1')
dynamicGroups.add('mokk_group_1')
dynamicGroups.add('bol_group_1')
core.spawnService.addDynamicSpawnArea(dynamicGroups, -501, 3104, 1085, 'dantooine')
core.spawnService.addDynamicSpawnArea(dynamicGroups, -1433, 3809, 1064, 'dantooine')
return
@@ -8,5 +8,5 @@ def addSpawnArea(core):
dynamicGroups.add('huurton_group_1')
dynamicGroups.add('bol_group_1')
dynamicGroups.add('quenker_group_south_1')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 1710, 3739, 1208, 'dantooine')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 778, 4280, 1187, 'dantooine')
return
@@ -7,5 +7,5 @@ def addSpawnArea(core):
dynamicGroups.add('voritor_nw_group_1')
dynamicGroups.add('graul_mauler_nw_group_1')
dynamicGroups.add('jantas_nw_group_1')
core.spawnService.addDynamicSpawnArea(dynamicGroups, -4064, 4497, 3235, 'dantooine')
core.spawnService.addDynamicSpawnArea(dynamicGroups, -4751, 4935, 3215, 'dantooine')
return
@@ -2,5 +2,5 @@
import sys
def addSpawnArea(core):
core.spawnService.addLairSpawnArea('mixed_lair_group_1', 2017, -6869, 1024, 'dantooine')
core.spawnService.addLairSpawnArea('mixed_lair_group_1', 1699, -6471, 1024, 'dantooine')
return
@@ -6,5 +6,5 @@ def addSpawnArea(core):
dynamicGroups = Vector()
dynamicGroups.add('huurton_group_1')
dynamicGroups.add('quenker_group_south_1')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 2079, -4268, 2232, 'dantooine')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 1904, -3624, 2211, 'dantooine')
return
@@ -10,5 +10,5 @@ def addSpawnArea(core):
dynamicGroups.add('thune_group_2')
dynamicGroups.add('bol_group_1')
dynamicGroups.add('voritors_wild_1')
core.spawnService.addDynamicSpawnArea(dynamicGroups, -1586, -7688, 2621, 'dantooine')
core.spawnService.addDynamicSpawnArea(dynamicGroups, -2109, -7045, 2600, 'dantooine')
return
@@ -8,5 +8,5 @@ def addSpawnArea(core):
dynamicGroups.add('voritors_wild_1')
dynamicGroups.add('quenker_relic_reaper_group')
dynamicGroups.add('graul_mauler_nw_group_1')
core.spawnService.addDynamicSpawnArea(dynamicGroups, -5354, -4759, 2211, 'dantooine')
core.spawnService.addDynamicSpawnArea(dynamicGroups, -5898, -4218, 2191, 'dantooine')
return
@@ -7,5 +7,5 @@ def addSpawnArea(core):
dynamicGroups.add('kunga_central_group_1')
dynamicGroups.add('piket_longhorn_group_1')
dynamicGroups.add('thunes_1')
core.spawnService.addDynamicSpawnArea(dynamicGroups, -5682, -540, 1986, 'dantooine')
core.spawnService.addDynamicSpawnArea(dynamicGroups, -6369, -102, 1966, 'dantooine')
return
@@ -6,5 +6,5 @@ def addSpawnArea(core):
dynamicGroups = Vector()
dynamicGroups.add('force_sensitives_wild_1')
dynamicGroups.add('dark_jedi_wild_1')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 5233, 4722, 2580, 'dantooine')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 4362, 5488, 2560, 'dantooine')
return
@@ -17,10 +17,14 @@ def addPlanetSpawns(core, planet):
hunter11 = stcSvc.spawnObject('dark_force_crystal_hunter', 'dantooine', long(8535487), float(80.34), float(-77.29), float(-92.77), float(-0.2), float(0.97))
hunter12 = stcSvc.spawnObject('dark_force_crystal_hunter', 'dantooine', long(8535487), float(80.34), float(-77.29), float(-92.77), float(-0.2), float(0.97))
objSvc = core.objectService
magSeal1 = objSvc.getObject(200335); #(200336-1)
lootPoolNames_1 = ['Junk']
lootPoolChances_1 = [100]
lootGroupChance_1 = 90
magSeal1.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1)
lotSvc = core.lootService
lotSvc.handleContainer(actor,200335,'Junk','dantooine')
magSeal1 = objSvc.getObject(200335); #(200336-1)
if magSeal1 != None:
lootPoolNames_1 = ['Junk']
lootPoolChances_1 = [100]
lootGroupChance_1 = 90
magSeal1.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1)
lotSvc = core.lootService
lotSvc.handleContainer(200335,'Junk','dantooine')
return
@@ -6,7 +6,26 @@ def addPlanetSpawns(core, planet):
stcSvc = core.staticService
objSvc = core.objectService
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')
zefAndo.setOptionsBitmask(256)
stormtrooper1 = stcSvc.spawnObject('eow_fbase_stormtrooper', 'dantooine', long(0), float(-4211), float(3), float(-2384), float(0.011), float(0.999))
stormtrooper2 = stcSvc.spawnObject('eow_fbase_stormtrooper', 'dantooine', long(0), float(-4212), float(3), float(-2384), float(0.011), float(0.999))
stormtrooper3 = stcSvc.spawnObject('eow_fbase_stormtrooper', 'dantooine', long(0), float(-4211), float(3), float(-2386), float(0.011), float(0.999))
stormtrooper4 = stcSvc.spawnObject('eow_fbase_stormtrooper', 'dantooine', long(0), float(-4212), float(3), float(-2386), float(0.011), float(0.999))
stormtrooper5 = stcSvc.spawnObject('eow_fbase_stormtrooper', 'dantooine', long(0), float(-4212), float(3), float(-2388), float(0.011), float(0.999))
stormtrooper6 = stcSvc.spawnObject('eow_fbase_stormtrooper', 'dantooine', long(0), float(-4229), float(3), float(-2394), float(0.703), float(0.710))
corporal1 = stcSvc.spawnObject('eow_fbase_imperial_corporal', 'dantooine', long(0), float(-4228), float(3), float(-2395), float(0.703), float(0.710))
corporal2 = stcSvc.spawnObject('eow_fbase_imperial_corporal', 'dantooine', long(0), float(-4230), float(3), float(-2394), float(0.703), float(0.710))
recruiter1 = stcSvc.spawnObject('object/mobile/shared_dressed_imperial_officer_f.iff', 'dantooine', long(0), float(-4198), float(3), float(-2411), float(0.819), float(-0.572))
atst1 = stcSvc.spawnObject('object/mobile/shared_atst.iff', 'dantooine', long(0), float(-4291), float(3), float(-2433), float(0.819), float(-0.572))
atst2 = stcSvc.spawnObject('object/mobile/shared_atst.iff', 'dantooine', long(0), float(-4154), float(3), float(-2383), float(0.264), float(0.964))
r5u0 = stcSvc.spawnObject('object/creature/npc/droid/shared_r4_base.iff', 'dantooine', long(0), float(-4231), float(3), float(-2363), float(0.264), float(0.964))
r4h3 = stcSvc.spawnObject('object/creature/npc/droid/shared_r5_base.iff', 'dantooine', long(0), float(-4215), float(3), float(-2363), float(0.264), float(0.964))
commoner1 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_fat_human_male_01.iff', 'dantooine', long(0), float(-4224), float(3), float(-2366), float(0.264), float(0.964))
commoner1.setOptionsBitmask(256)
commoner2 = stcSvc.spawnObject('object/mobile/shared_dressed_commoner_fat_human_female_01.iff', 'dantooine', long(0), float(-4238), float(3), float(-2365), float(0.264), float(0.964))
commoner2.setOptionsBitmask(256)
return
+10 -17
View File
@@ -88,11 +88,6 @@ public class DevService implements INetworkDispatch {
suiOptions.put((long) 26, "Installations");
suiOptions.put((long) 110, "Survey Devices");
if(creature.getPlayerObject().getProfession().equals("bounty_hunter_1a")) suiOptions.put((long) 123, "Tracking Droids");
<<<<<<< HEAD
if(creature.getClient().isGM()) suiOptions.put((long) 120, "House Deeds");
if(creature.getClient().isGM()) suiOptions.put((long) 125, "Crafting Tools");
if(creature.getClient().isGM()) suiOptions.put((long) 130, "Vehicle Deeds");
=======
if (creature.getClient().isGM()) {
suiOptions.put((long) 120, "House Deeds");
suiOptions.put((long) 125, "Crafting Tools");
@@ -101,7 +96,6 @@ public class DevService implements INetworkDispatch {
suiOptions.put((long) 140, "Guild Registry Device (PDA)");
}
>>>>>>> origin/master
break;
case 3: // [Items] Weapons
suiOptions.put((long) 30, "Jedi Weapons");
@@ -148,17 +142,14 @@ public class DevService implements INetworkDispatch {
case 11: // Locations
suiOptions.put((long) 122, "Teleport to Jedi Ruins");
suiOptions.put((long) 124, "Teleport to Mos Eisley");
<<<<<<< HEAD
suiOptions.put((long) 153, "Teleport to Force Crystal Hunter's Cave");
suiOptions.put((long) 121, "Teleport to Sandbox City");
=======
if (creature.getClient().isGM()) {
suiOptions.put((long) 164, "Teleport to Mining Outpost");
suiOptions.put((long) 165, "Teleport to Spawn Area #1");
suiOptions.put((long) 166, "Teleport to Imperial Op");
suiOptions.put((long) 167, "Teleport to Rebel Base ");
suiOptions.put((long) 153, "Teleport to Force Crystal Hunter's Cave");
suiOptions.put((long) 121, "Teleport to Sandbox City");
}
>>>>>>> origin/master
break;
}
@@ -1274,6 +1265,10 @@ public class DevService implements INetworkDispatch {
case 166:
core.simulationService.transferToPlanet(player, core.terrainService.getPlanetByName("dantooine"), new Point3D(-4211,18,-2349), player.getOrientation(), null);
return;
case 167:
core.simulationService.transferToPlanet(player, core.terrainService.getPlanetByName("dantooine"), new Point3D(-4211,18,-2349), player.getOrientation(), null);
return;
case 123:
TangibleObject arakydDroids = (TangibleObject) core.objectService.createObject("object/tangible/mission/shared_mission_bounty_droid_probot.iff", planet);
@@ -1296,17 +1291,15 @@ public class DevService implements INetworkDispatch {
inventory.add(swoopDeed);
inventory.add(av21deed);
return;
<<<<<<< HEAD
case 153:
Point3D position = new Point3D(-6222,1,7380);
core.simulationService.transferToPlanet(player, core.terrainService.getPlanetByName("dantooine"), position, player.getOrientation(), null);
=======
case 140:
TangibleObject guildRegistry = (TangibleObject) core.objectService.createObject("object/tangible/furniture/technical/shared_guild_registry_initial.iff", planet);
inventory.add(guildRegistry);
>>>>>>> origin/master
return;
case 153:
Point3D position = new Point3D(-6222,1,7380);
core.simulationService.transferToPlanet(player, core.terrainService.getPlanetByName("dantooine"), position, player.getOrientation(), null);
}
}
});
+1 -1
View File
@@ -1310,7 +1310,7 @@ public class LootService implements INetworkDispatch {
}
public void handleContainer(SWGObject actor, int containerID, String lootPool, String planetName){
public void handleContainer(int containerID, String lootPool, String planetName){
long objectId = containerID + 0xFFFFFFFF;
TangibleObject containerObject = (TangibleObject) core.objectService.getObject(objectId);
+24 -3
View File
@@ -339,6 +339,8 @@ public class SimulationService implements INetworkDispatch {
return;
}
CreatureObject creature = (CreatureObject) client.getParent();
CreatureObject object = (CreatureObject) client.getParent();
if (core.mountService.isMounted(object)) {
@@ -358,8 +360,11 @@ public class SimulationService implements INetworkDispatch {
move(object, oldPos.x, oldPos.z, newPos.x, newPos.z);
Quaternion newOrientation = new Quaternion(dataTransform.getWOrientation(), dataTransform.getXOrientation(), dataTransform.getYOrientation(), dataTransform.getZOrientation());
object.setPosition(newPos);
creature.setPosition(newPos);
object.setOrientation(newOrientation);
creature.setOrientation(newOrientation);
object.setMovementCounter(dataTransform.getMovementCounter());
creature.setMovementCounter(dataTransform.getMovementCounter());
}
if(object.getContainer() != null) {
object.getContainer()._remove(object);
@@ -400,9 +405,25 @@ public class SimulationService implements INetworkDispatch {
if(!updateAwareObjects.contains(obj) && obj != object && !object.getAwareObjects().contains(obj) && obj.getContainer() != object && obj.isInQuadtree()) {
if(obj.getAttachment("bigSpawnRange") == null && obj.getWorldPosition().getDistance2D(newPos) > 200)
continue;
object.makeAware(obj);
if(obj.getClient() != null)
obj.makeAware(object);
//object.makeAware(obj);
if (object.getOption(Options.MOUNT)){
CreatureObject owner = (CreatureObject) core.objectService.getObject(object.getOwnerId());
owner.makeAware(obj);
}
else {
object.makeAware(obj);
}
if(obj.getClient() != null){
if (object.getOption(Options.MOUNT)){
CreatureObject owner = (CreatureObject) core.objectService.getObject(object.getOwnerId());
obj.makeAware(owner);
}
else {
obj.makeAware(object);
}
}
}
}
+14 -4
View File
@@ -200,10 +200,20 @@ public class TerrainService {
}
if (loaded && config.getInt("LOAD.BUILDOUT_OBJECTS") > 0) {
try {
core.objectService.loadBuildoutObjects(planet);
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
if (! config.keyExists("LOAD.BUILDOUT_ONLY_FOR")){
try {
core.objectService.loadBuildoutObjects(planet);
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
} else {
if (planet.getName().equals(config.getString("LOAD.BUILDOUT_ONLY_FOR"))){
try {
core.objectService.loadBuildoutObjects(planet);
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
}
}
}
+18 -8
View File
@@ -25,6 +25,7 @@ import java.util.Collections;
import java.util.Random;
import java.util.Vector;
import resources.datatables.Options;
import resources.datatables.Posture;
import main.NGECore;
import net.engio.mbassy.listener.Handler;
@@ -60,14 +61,14 @@ public class DynamicSpawnArea extends SpawnArea {
SWGObject object = event.object;
// ToDo: Mounted players must be handled too
System.out.println("Entering object " + object.getClass().getName());
//System.out.println("Entering object " + object.getClass().getName());
if(object == null || !(object instanceof CreatureObject))
return;
CreatureObject creature = (CreatureObject) object;
if(creature.getSlottedObject("ghost") == null)
if(creature.getSlottedObject("ghost") == null && !creature.getOption(Options.MOUNT))
return;
creature.getEventBus().subscribe(this);
@@ -121,7 +122,7 @@ public class DynamicSpawnArea extends SpawnArea {
CreatureObject creature = (CreatureObject) object;
if(creature.getSlottedObject("ghost") == null)
if(creature.getSlottedObject("ghost") == null && !creature.getOption(Options.MOUNT))
return;
creature.getEventBus().unsubscribe(this);
@@ -133,12 +134,15 @@ public class DynamicSpawnArea extends SpawnArea {
SWGObject object = event.object;
if(object == null || !(object instanceof CreatureObject) || object.getContainer() != null)
//if(object == null || !(object instanceof CreatureObject) || object.getContainer() != null)
// return;
// Mounts should not be excluded to trigger spawns as it was on live also
if(object == null || !(object instanceof CreatureObject))
return;
CreatureObject creature = (CreatureObject) object;
if(creature.getSlottedObject("ghost") == null)
//System.out.println("MOUNT " + creature.getOption(Options.MOUNT) + " name " + creature.getTemplate());
if(creature.getSlottedObject("ghost") == null && !creature.getOption(Options.MOUNT))
return;
if (spawnGroups==null){
@@ -162,7 +166,8 @@ public class DynamicSpawnArea extends SpawnArea {
this.spawnGroup = spawnGroups.get(index);
Vector<CreatureObject> groupMembers = new Vector<CreatureObject>();
Point3D randomGroupPosition = getRandomPosition(creature.getWorldPosition(), 32, 100);
//Point3D randomGroupPosition = getRandomPosition(creature.getWorldPosition(), 32, 100);
Point3D randomGroupPosition = getRandomPosition(creature.getWorldPosition(), 32, spawnGroup.getMinSpawnDistance()+10);
int spawnCount = spawnGroup.getGroupMembersNumber();
if (spawnCount<0){
int spawnCount2 = 1;
@@ -296,6 +301,7 @@ public class DynamicSpawnArea extends SpawnArea {
for(CreatureObject mobile : mobiles) {
if(mobile.getWorldPosition().getDistance(randomPosition) < spawnGroup.getMinSpawnDistance() && ! groupMembers.contains(mobile)){
minDistViolated = true; // Distance to other nearby groups
//System.out.println("minDistViolated " + mobile.getWorldPosition().getDistance(randomPosition) + "mobile: " + mobile.getTemplate());
}
}
if (minDistViolated)
@@ -318,7 +324,11 @@ public class DynamicSpawnArea extends SpawnArea {
CreatureObject spawnedCreature = core.spawnService.spawnCreature(template, getPlanet().getName(), 0, randomPosition.x, randomPosition.y, randomPosition.z);
if(spawnedCreature != null){
mobiles.add(spawnedCreature);
} else {System.out.println("Creature not spawned" + template);}
System.err.println("Creature ADDED " + spawnedCreature.getTemplate());
} else
{
System.out.println("Creature not spawned" + template);
}
return spawnedCreature;
}
+8 -4
View File
@@ -29,6 +29,7 @@ import net.engio.mbassy.listener.Handler;
import resources.common.collidables.AbstractCollidable;
import resources.common.collidables.AbstractCollidable.EnterEvent;
import resources.common.collidables.AbstractCollidable.ExitEvent;
import resources.datatables.Options;
import resources.objects.creature.CreatureObject;
import services.SimulationService.MoveEvent;
import services.TerrainService;
@@ -115,7 +116,7 @@ public class LairSpawnArea extends SpawnArea {
CreatureObject creature = (CreatureObject) object;
if(creature.getSlottedObject("ghost") == null)
if(creature.getSlottedObject("ghost") == null && !creature.getOption(Options.MOUNT))
return;
spawnLair(creature);
@@ -134,7 +135,7 @@ public class LairSpawnArea extends SpawnArea {
CreatureObject creature = (CreatureObject) object;
if(creature.getSlottedObject("ghost") == null)
if(creature.getSlottedObject("ghost") == null && !creature.getOption(Options.MOUNT))
return;
creature.getEventBus().unsubscribe(this);
@@ -146,12 +147,15 @@ public class LairSpawnArea extends SpawnArea {
SWGObject object = event.object;
if(object == null || !(object instanceof CreatureObject) || object.getContainer() != null)
//if(object == null || !(object instanceof CreatureObject) || object.getContainer() != null)
// return;
if(object == null || !(object instanceof CreatureObject))
return;
CreatureObject creature = (CreatureObject) object;
if(creature.getSlottedObject("ghost") == null)
if(creature.getSlottedObject("ghost") == null && !creature.getOption(Options.MOUNT))
return;
if(new Random().nextFloat() <= 0.05)
+6 -2
View File
@@ -116,8 +116,12 @@ public class SpawnService {
if(level != -1)
creature.setLevel(level);
else {
creature.setLevel(mobileTemplate.getLevel());
level = mobileTemplate.getLevel();
if (mobileTemplate.getLevel()!=0){
level = mobileTemplate.getLevel();
creature.setLevel(level);
} else {
level = -1;
}
}
if (mobileTemplate.getMinLevel()!=0 && mobileTemplate.getMaxLevel()!=0 && level == -1){