This commit is contained in:
Treeku
2013-12-15 01:43:01 +00:00
22 changed files with 689 additions and 393 deletions
Binary file not shown.
View File
+11
View File
@@ -0,0 +1,11 @@
from resources.common import PlayerFlags
import sys
def setup():
return
def run(core, actor, target, commandString):
ghost = actor.getSlottedObject('ghost')
print ('Command recieved!')
ghost.toggleFlag(PlayerFlags.LFG)
return
+10
View File
@@ -0,0 +1,10 @@
from resources.common import PlayerFlags
import sys
def setup():
return
def run(core, actor, target, commandString):
ghost = actor.getSlottedObject('ghost')
ghost.toggleFlag(PlayerFlags.HELPER)
return
+11
View File
@@ -0,0 +1,11 @@
from java.lang import Integer
from resources.common import PlayerFlags
import sys
def setup():
return
def run(core, actor, target, commandString):
ghost = actor.getSlottedObject('ghost')
ghost.toggleFlag(PlayerFlags.ROLEPLAYER)
return
+35
View File
@@ -0,0 +1,35 @@
import sys
from engine.resources.scene import Point3D
def setup():
return
def run(core, actor, target, commandString):
playerObject = actor.getSlottedObject('ghost')
if not playerObject:
return
commandArgs = commandString.split(' ')
command = commandArgs[0]
if len(commandArgs) > 1:
arg1 = commandArgs[1]
if len(commandArgs) > 2:
arg2 = commandArgs[2]
if len(commandArgs) > 3:
arg3 = commandArgs[3]
if len(commandArgs) > 4:
arg4 = commandArgs[4]
if not command:
return
if command == 'lockServer':
core.setGalaxyStatus(3)
if command == 'unlockServer':
core.setGalaxyStatus(2)
if command == 'info':
actor.sendSystemMessage(str(core.getActiveZoneClients()) + ' online characters.', 0)
return
+2 -2
View File
@@ -6,8 +6,8 @@ def setup():
def run(core, actor, target, commandString):
playerObject = actor.getSlottedObject('ghost')
print ("Title set to: " + commandString)
print ("List of Titles: " + playerObject.getTitleList().toString())
#print ("Title set to: " + commandString)
#print ("List of Titles: " + playerObject.getTitleList().toString())
if playerObject is None:
return
@@ -0,0 +1,10 @@
from resources.common import PlayerFlags
import sys
def setup():
return
def run(core, actor, target, commandString):
ghost = actor.getSlottedObject('ghost')
ghost.toggleFlag(PlayerFlags.AFK)
return
+358 -359
View File
@@ -2,23 +2,23 @@ import sys
def CreateStartingCharacter(core, object):
testObject = core.objectService.createObject('object/weapon/ranged/rifle/shared_rifle_t21.iff', object.getPlanet())
testObject.setCustomName('This is a Jython Rifle')
testObject.setStringAttribute('crafter', 'Light')
testObject.setDamageType('@obj_attr_n:armor_eff_energy')
testObject.setElementalType('@obj_attr_n:elemental_cold')
testObject.setStringAttribute('cat_wpn_damage.damage', '0-0')
testObject.setMinDamage(425)
testObject.setMaxDamage(1150)
testObject.setElementalDamage(50)
testObject.setIntAttribute('cat_wpn_damage.weapon_dps', testObject.getDamagePerSecond())
testObject.setIntAttribute('cat_skill_mod_bonus.@stat_n:precision_modified', 35)
object.addSkillMod('kinetic' , 0)
object.addSkillMod('energy' , 0)
object.addSkillMod('heat' , 0)
object.addSkillMod('cold' , 0)
object.addSkillMod('acid' , 0)
object.addSkillMod('electricity' , 0)
# testObject = core.objectService.createObject('object/weapon/ranged/rifle/shared_rifle_t21.iff', object.getPlanet())
# testObject.setCustomName('This is a Jython Rifle')
# testObject.setStringAttribute('crafter', 'Light')
# testObject.setDamageType('@obj_attr_n:armor_eff_energy')
# testObject.setElementalType('@obj_attr_n:elemental_cold')
# testObject.setStringAttribute('cat_wpn_damage.damage', '0-0')
# testObject.setMinDamage(425)
# testObject.setMaxDamage(1150)
# testObject.setElementalDamage(50)
# testObject.setIntAttribute('cat_wpn_damage.weapon_dps', testObject.getDamagePerSecond())
# testObject.setIntAttribute('cat_skill_mod_bonus.@stat_n:precision_modified', 35)
# object.addSkillMod('kinetic' , 0)
# object.addSkillMod('energy' , 0)
# object.addSkillMod('heat' , 0)
# object.addSkillMod('cold' , 0)
# object.addSkillMod('acid' , 0)
# object.addSkillMod('electricity' , 0)
#object.addSkillMod('combat_strikethrough_value' , 50)
#object.addSkillMod('display_only_dodge' , 2000)
#object.addSkillMod('display_only_parry' , 1000)
@@ -29,141 +29,141 @@ def CreateStartingCharacter(core, object):
#object.addSkillMod('display_only_block' , 2000)
#object.addSkillMod('combat_block_value' , 0)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(testObject)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(testObject)
testClothing = core.objectService.createObject('object/tangible/wearables/cape/shared_cape_rebel_01.iff', object.getPlanet())
testClothing.setCustomName('Test Cape')
testCloak = core.objectService.createObject('object/tangible/wearables/robe/shared_robe_jedi_dark_s05.iff', object.getPlanet())
testCloak.setCustomName('Test Cloak')
# testClothing = core.objectService.createObject('object/tangible/wearables/cape/shared_cape_rebel_01.iff', object.getPlanet())
# testClothing.setCustomName('Test Cape')
# testCloak = core.objectService.createObject('object/tangible/wearables/robe/shared_robe_jedi_dark_s05.iff', object.getPlanet())
# testCloak.setCustomName('Test Cloak')
inventory.add(testClothing)
inventory.add(testCloak)
profession = object.getSlottedObject('ghost').getProfession()
if profession == 'commando_1a':
object.addSkillMod('expertise_devastation_bonus' , 20)
testObject2 = core.objectService.createObject('object/weapon/ranged/heavy/shared_heavy_rocket_launcher.iff', object.getPlanet())
testObject2.setCustomName('Test Heavy Weapon')
testObject2.setStringAttribute('crafter', 'Light')
testObject2.setDamageType('@obj_attr_n:armor_eff_kinetic')
testObject2.setElementalType('@obj_attr_n:elemental_heat')
testObject2.setStringAttribute('cat_wpn_damage.damage', '0-0')
testObject2.setMinDamage(550)
testObject2.setMaxDamage(1315)
testObject2.setElementalDamage(216)
testObject2.setIntAttribute('cat_wpn_damage.weapon_dps', testObject2.getDamagePerSecond())
inventory.add(testObject2)
# inventory.add(testClothing)
# inventory.add(testCloak)
# profession = object.getSlottedObject('ghost').getProfession()
# if profession == 'commando_1a':
# object.addSkillMod('expertise_devastation_bonus' , 20)
# testObject2 = core.objectService.createObject('object/weapon/ranged/heavy/shared_heavy_rocket_launcher.iff', object.getPlanet())
# testObject2.setCustomName('Test Heavy Weapon')
# testObject2.setStringAttribute('crafter', 'Light')
# testObject2.setDamageType('@obj_attr_n:armor_eff_kinetic')
# testObject2.setElementalType('@obj_attr_n:elemental_heat')
# testObject2.setStringAttribute('cat_wpn_damage.damage', '0-0')
# testObject2.setMinDamage(550)
# testObject2.setMaxDamage(1315)
# testObject2.setElementalDamage(216)
# testObject2.setIntAttribute('cat_wpn_damage.weapon_dps', testObject2.getDamagePerSecond())
# inventory.add(testObject2)
addProfessionAbilities(core, object, profession)
# addProfessionAbilities(core, object, profession)
heroism1 = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s10.iff', object.getPlanet())
heroism1.setStfFilename('static_item_n')
heroism1.setStfName('item_necklace_set_hero_01_01')
heroism1.setDetailFilename('static_item_d')
heroism1.setDetailName('item_necklace_set_hero_01_01')
heroism1.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
heroism1.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
heroism1.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
heroism1.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
heroism1.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
heroism1.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
# heroism1 = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s10.iff', object.getPlanet())
# heroism1.setStfFilename('static_item_n')
# heroism1.setStfName('item_necklace_set_hero_01_01')
# heroism1.setDetailFilename('static_item_d')
# heroism1.setDetailName('item_necklace_set_hero_01_01')
# heroism1.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
# heroism1.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
# heroism1.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
# heroism1.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
# heroism1.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
# heroism1.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(heroism1)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(heroism1)
heroism2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_r.iff', object.getPlanet())
heroism2.setStfFilename('static_item_n')
heroism2.setStfName('item_bracelet_r_set_hero_01_01')
heroism2.setDetailFilename('static_item_d')
heroism2.setDetailName('item_bracelet_r_set_hero_01_01')
heroism2.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
heroism2.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
heroism2.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
heroism2.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
heroism2.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
heroism2.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
# heroism2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_r.iff', object.getPlanet())
# heroism2.setStfFilename('static_item_n')
# heroism2.setStfName('item_bracelet_r_set_hero_01_01')
# heroism2.setDetailFilename('static_item_d')
# heroism2.setDetailName('item_bracelet_r_set_hero_01_01')
# heroism2.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
# heroism2.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
# heroism2.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
# heroism2.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
# heroism2.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
# heroism2.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(heroism2)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(heroism2)
heroism3 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_l.iff', object.getPlanet())
heroism3.setStfFilename('static_item_n')
heroism3.setStfName('item_bracelet_l_set_hero_01_01')
heroism3.setDetailFilename('static_item_d')
heroism3.setDetailName('item_bracelet_l_set_hero_01_01')
heroism3.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
heroism3.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
heroism3.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
heroism3.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
heroism3.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
heroism3.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
# heroism3 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_l.iff', object.getPlanet())
# heroism3.setStfFilename('static_item_n')
# heroism3.setStfName('item_bracelet_l_set_hero_01_01')
# heroism3.setDetailFilename('static_item_d')
# heroism3.setDetailName('item_bracelet_l_set_hero_01_01')
# heroism3.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
# heroism3.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
# heroism3.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
# heroism3.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
# heroism3.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
# heroism3.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(heroism3)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(heroism3)
heroism4 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s04.iff', object.getPlanet())
heroism4.setStfFilename('static_item_n')
heroism4.setStfName('item_ring_set_hero_01_01')
heroism4.setDetailFilename('static_item_d')
heroism4.setDetailName('item_ring_set_hero_01_01')
heroism4.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
heroism4.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
heroism4.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
heroism4.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
heroism4.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
heroism4.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
# heroism4 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s04.iff', object.getPlanet())
# heroism4.setStfFilename('static_item_n')
# heroism4.setStfName('item_ring_set_hero_01_01')
# heroism4.setDetailFilename('static_item_d')
# heroism4.setDetailName('item_ring_set_hero_01_01')
# heroism4.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
# heroism4.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
# heroism4.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
# heroism4.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
# heroism4.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
# heroism4.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(heroism4)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(heroism4)
heroism5 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s02.iff', object.getPlanet())
heroism5.setStfFilename('static_item_n')
heroism5.setStfName('item_ring_a_set_hero')
heroism5.setDetailFilename('static_item_d')
heroism5.setDetailName('item_ring_a_set_hero')
heroism5.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
heroism5.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
heroism5.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
heroism5.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
heroism5.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
heroism5.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
# heroism5 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s02.iff', object.getPlanet())
# heroism5.setStfFilename('static_item_n')
# heroism5.setStfName('item_ring_a_set_hero')
# heroism5.setDetailFilename('static_item_d')
# heroism5.setDetailName('item_ring_a_set_hero')
# heroism5.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_hero_1')
# heroism5.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_hero_2')
# heroism5.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_hero_3')
# heroism5.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
# heroism5.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 30)
# heroism5.setIntAttribute('cat_stat_mod_bonus.food_strength_modified' , 30)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(heroism5)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(heroism5)
return
def addProfessionAbilities(core, object, profession):
if profession == 'force_sensitive_1a':
testObject = core.objectService.createObject('object/weapon/melee/2h_sword/crafted_saber/shared_sword_lightsaber_two_handed_gcw_s01_gen5.iff', object.getPlanet())
testObject.setCustomName('Lightsaber')
testObject.setStringAttribute('crafter', 'Light')
testObject.setDamageType('@obj_attr_n:armor_eff_energy')
testObject.setElementalType('@obj_attr_n:elemental_cold')
testObject.setStringAttribute('cat_wpn_damage.damage', '0-0')
testObject.setMinDamage(600)
testObject.setMaxDamage(1190)
testObject.setElementalDamage(72)
testObject.setIntAttribute('cat_wpn_damage.weapon_dps', testObject.getDamagePerSecond())
inventory = object.getSlottedObject('inventory')
inventory.add(testObject)
# if profession == 'force_sensitive_1a':
# testObject = core.objectService.createObject('object/weapon/melee/2h_sword/crafted_saber/shared_sword_lightsaber_two_handed_gcw_s01_gen5.iff', object.getPlanet())
# testObject.setCustomName('Lightsaber')
# testObject.setStringAttribute('crafter', 'Light')
# testObject.setDamageType('@obj_attr_n:armor_eff_energy')
# testObject.setElementalType('@obj_attr_n:elemental_cold')
# testObject.setStringAttribute('cat_wpn_damage.damage', '0-0')
# testObject.setMinDamage(600)
# testObject.setMaxDamage(1190)
# testObject.setElementalDamage(72)
# testObject.setIntAttribute('cat_wpn_damage.weapon_dps', testObject.getDamagePerSecond())
# inventory = object.getSlottedObject('inventory')
# inventory.add(testObject)
##Case Sensitive
# object.addAbility('fs_sweep_7')
@@ -214,262 +214,261 @@ def addProfessionAbilities(core, object, profession):
# object.addAbility('bh_intimidate_6')
# object.addAbility('bh_flawless_strike')
direfate1 = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s03.iff', object.getPlanet())
direfate1.setStfFilename('static_item_n')
direfate1.setStfName('item_necklace_set_bh_utility_b_01_01')
direfate1.setDetailFilename('static_item_d')
direfate1.setDetailName('item_necklace_set_bh_utility_b_01_01')
direfate1.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_b_1')
direfate1.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
direfate1.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
direfate1.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_root' , 1)
direfate1.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_snare' , 1)
direfate1.setIntAttribute('cat_skill_mod_bonus.@stat_n:fast_attack_line_dm_cc' , 2)
# direfate1 = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s03.iff', object.getPlanet())
# direfate1.setStfFilename('static_item_n')
# direfate1.setStfName('item_necklace_set_bh_utility_b_01_01')
# direfate1.setDetailFilename('static_item_d')
# direfate1.setDetailName('item_necklace_set_bh_utility_b_01_01')
# direfate1.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_b_1')
# direfate1.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
# direfate1.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
# direfate1.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_root' , 1)
# direfate1.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_snare' , 1)
# direfate1.setIntAttribute('cat_skill_mod_bonus.@stat_n:fast_attack_line_dm_cc' , 2)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(direfate1)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(direfate1)
direfate2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s04_r.iff', object.getPlanet())
direfate2.setStfFilename('static_item_n')
direfate2.setStfName('item_bracelet_r_set_bh_utility_b_01_01')
direfate2.setDetailFilename('static_item_d')
direfate2.setDetailName('item_bracelet_r_set_bh_utility_b_01_01')
direfate2.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_b_1')
direfate2.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
direfate2.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
direfate2.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_root' , 1)
direfate2.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_snare' , 1)
direfate2.setIntAttribute('cat_skill_mod_bonus.@stat_n:fast_attack_line_dm_cc' , 2)
# direfate2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s04_r.iff', object.getPlanet())
# direfate2.setStfFilename('static_item_n')
# direfate2.setStfName('item_bracelet_r_set_bh_utility_b_01_01')
# direfate2.setDetailFilename('static_item_d')
# direfate2.setDetailName('item_bracelet_r_set_bh_utility_b_01_01')
# direfate2.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
# direfate2.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
# direfate2.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_root' , 1)
# direfate2.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_snare' , 1)
# direfate2.setIntAttribute('cat_skill_mod_bonus.@stat_n:fast_attack_line_dm_cc' , 2)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(direfate2)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(direfate2)
direfate3 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s04_l.iff', object.getPlanet())
direfate3.setStfFilename('static_item_n')
direfate3.setStfName('item_bracelet_l_set_bh_utility_b_01_01')
direfate3.setDetailFilename('static_item_d')
direfate3.setDetailName('item_bracelet_l_set_bh_utility_b_01_01')
direfate3.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_b_1')
direfate3.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
direfate3.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
direfate3.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_root' , 1)
direfate3.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_snare' , 1)
direfate3.setIntAttribute('cat_skill_mod_bonus.@stat_n:fast_attack_line_dm_cc' , 2)
# direfate3 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s04_l.iff', object.getPlanet())
# direfate3.setStfFilename('static_item_n')
# direfate3.setStfName('item_bracelet_l_set_bh_utility_b_01_01')
# direfate3.setDetailFilename('static_item_d')
# direfate3.setDetailName('item_bracelet_l_set_bh_utility_b_01_01')
# direfate3.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_b_1')
# direfate3.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
# direfate3.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
# direfate3.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_root' , 1)
# direfate3.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_snare' , 1)
# direfate3.setIntAttribute('cat_skill_mod_bonus.@stat_n:fast_attack_line_dm_cc' , 2)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(direfate3)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(direfate3)
direfate4 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s01.iff', object.getPlanet())
direfate4.setStfFilename('static_item_n')
direfate4.setStfName('item_ring_set_bh_utility_b_01_01')
direfate4.setDetailFilename('static_item_d')
direfate4.setDetailName('item_ring_set_bh_utility_b_01_01')
direfate4.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_b_1')
direfate4.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
direfate4.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
direfate4.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_root' , 1)
direfate4.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_snare' , 1)
direfate4.setIntAttribute('cat_skill_mod_bonus.@stat_n:fast_attack_line_dm_cc' , 2)
# direfate4 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s01.iff', object.getPlanet())
# direfate4.setStfFilename('static_item_n')
# direfate4.setStfName('item_ring_set_bh_utility_b_01_01')
# direfate4.setDetailFilename('static_item_d')
# direfate4.setDetailName('item_ring_set_bh_utility_b_01_01')
# direfate4.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_b_1')
# direfate4.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
# direfate4.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
# direfate4.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_root' , 1)
# direfate4.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_snare' , 1)
# direfate4.setIntAttribute('cat_skill_mod_bonus.@stat_n:fast_attack_line_dm_cc' , 2)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(direfate4)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(direfate4)
direfate5 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s03.iff', object.getPlanet())
direfate5.setStfFilename('static_item_n')
direfate5.setStfName('item_ring_a_set_bh_utility_b')
direfate5.setDetailFilename('static_item_d')
direfate5.setDetailName('item_ring_a_set_bh_utility_b')
direfate5.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_b_1')
direfate5.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
direfate5.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
direfate5.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_root' , 1)
direfate5.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_snare' , 1)
direfate5.setIntAttribute('cat_skill_mod_bonus.@stat_n:fast_attack_line_dm_cc' , 2)
# direfate5 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s03.iff', object.getPlanet())
# direfate5.setStfFilename('static_item_n')
# direfate5.setStfName('item_ring_a_set_bh_utility_b')
# direfate5.setDetailFilename('static_item_d')
# direfate5.setDetailName('item_ring_a_set_bh_utility_b')
# direfate5.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_b_1')
# direfate5.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
# direfate5.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
# direfate5.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_root' , 1)
# direfate5.setIntAttribute('cat_skill_mod_bonus.@stat_n:bh_dire_snare' , 1)
# direfate5.setIntAttribute('cat_skill_mod_bonus.@stat_n:fast_attack_line_dm_cc' , 2)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(direfate5)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(direfate5)
flawless1 = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s02.iff', object.getPlanet())
flawless1.setStfFilename('static_item_n')
flawless1.setStfName('item_necklace_set_bh_utility_a_01_01')
flawless1.setDetailFilename('static_item_d')
flawless1.setDetailName('item_necklace_set_bh_utility_a_01_01')
flawless1.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_a_1')
flawless1.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_a_2')
flawless1.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_a_3')
flawless1.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
flawless1.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 50)
# flawless1 = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s02.iff', object.getPlanet())
# flawless1.setStfFilename('static_item_n')
# flawless1.setStfName('item_necklace_set_bh_utility_a_01_01')
# flawless1.setDetailFilename('static_item_d')
# flawless1.setDetailName('item_necklace_set_bh_utility_a_01_01')
# flawless1.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_a_1')
# flawless1.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_a_2')
# flawless1.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_a_3')
# flawless1.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
# flawless1.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 50)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(flawless1)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(flawless1)
flawless2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_r.iff', object.getPlanet())
flawless2.setStfFilename('static_item_n')
flawless2.setStfName('item_bracelet_r_set_bh_utility_a_01_01')
flawless2.setDetailFilename('static_item_d')
flawless2.setDetailName('item_bracelet_r_set_bh_utility_a_01_01')
flawless2.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_b_1')
flawless2.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
flawless2.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
flawless2.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
flawless2.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 50)
# flawless2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_r.iff', object.getPlanet())
# flawless2.setStfFilename('static_item_n')
# flawless2.setStfName('item_bracelet_r_set_bh_utility_a_01_01')
# flawless2.setDetailFilename('static_item_d')
# flawless2.setDetailName('item_bracelet_r_set_bh_utility_a_01_01')
# flawless2.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_b_1')
# flawless2.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
# flawless2.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
# flawless2.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
# flawless2.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 50)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(flawless2)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(flawless2)
flawless3 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_l.iff', object.getPlanet())
flawless3.setStfFilename('static_item_n')
flawless3.setStfName('item_bracelet_l_set_bh_utility_a_01_01')
flawless3.setDetailFilename('static_item_d')
flawless3.setDetailName('item_bracelet_l_set_bh_utility_a_01_01')
flawless3.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_b_1')
flawless3.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
flawless3.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
flawless3.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
flawless3.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 50)
# flawless3 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_l.iff', object.getPlanet())
# flawless3.setStfFilename('static_item_n')
# flawless3.setStfName('item_bracelet_l_set_bh_utility_a_01_01')
# flawless3.setDetailFilename('static_item_d')
# flawless3.setDetailName('item_bracelet_l_set_bh_utility_a_01_01')
# flawless3.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_b_1')
# flawless3.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
# flawless3.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
# flawless3.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
# flawless3.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 50)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(flawless3)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(flawless3)
flawless4 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s02.iff', object.getPlanet())
flawless4.setStfFilename('static_item_n')
flawless4.setStfName('item_ring_set_bh_utility_a_01_01')
flawless4.setDetailFilename('static_item_d')
flawless4.setDetailName('item_ring_set_bh_utility_a_01_01')
flawless4.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_b_1')
flawless4.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
flawless4.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
flawless4.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
flawless4.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 50)
# flawless4 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s02.iff', object.getPlanet())
# flawless4.setStfFilename('static_item_n')
# flawless4.setStfName('item_ring_set_bh_utility_a_01_01')
# flawless4.setDetailFilename('static_item_d')
# flawless4.setDetailName('item_ring_set_bh_utility_a_01_01')
# flawless4.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_b_1')
# flawless4.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
# flawless4.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
# flawless4.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
# flawless4.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 50)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(flawless4)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(flawless4)
flawless5 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s04.iff', object.getPlanet())
flawless5.setStfFilename('static_item_n')
flawless5.setStfName('item_ring_a_set_bh_utility_a')
flawless5.setDetailFilename('static_item_d')
flawless5.setDetailName('item_ring_a_set_bh_utility_a')
flawless5.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_b_1')
flawless5.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
flawless5.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
flawless5.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
flawless5.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 50)
# flawless5 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s04.iff', object.getPlanet())
# flawless5.setStfFilename('static_item_n')
# flawless5.setStfName('item_ring_a_set_bh_utility_a')
# flawless5.setDetailFilename('static_item_d')
# flawless5.setDetailName('item_ring_a_set_bh_utility_a')
# flawless5.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_utility_b_1')
# flawless5.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_utility_b_2')
# flawless5.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_utility_b_3')
# flawless5.setIntAttribute('cat_stat_mod_bonus.food_luck_modified' , 30)
# flawless5.setIntAttribute('cat_stat_mod_bonus.food_precision_modified' , 50)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(flawless5)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(flawless5)
enforcer1 = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s01.iff', object.getPlanet())
enforcer1.setStfFilename('static_item_n')
enforcer1.setStfName('item_necklace_set_bh_dps_01_01')
enforcer1.setDetailFilename('static_item_d')
enforcer1.setDetailName('item_necklace_set_bh_dps_01_01')
enforcer1.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_dps_1')
enforcer1.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_dps_2')
enforcer1.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_dps_3')
enforcer1.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
enforcer1.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
enforcer1.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
enforcer1.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
# enforcer1 = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s01.iff', object.getPlanet())
# enforcer1.setStfFilename('static_item_n')
# enforcer1.setStfName('item_necklace_set_bh_dps_01_01')
# enforcer1.setDetailFilename('static_item_d')
# enforcer1.setDetailName('item_necklace_set_bh_dps_01_01')
# enforcer1.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_dps_1')
# enforcer1.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_dps_2')
# enforcer1.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_dps_3')
# enforcer1.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
# enforcer1.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
# enforcer1.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
# enforcer1.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(enforcer1)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(enforcer1)
enforcer2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s02_r.iff', object.getPlanet())
enforcer2.setStfFilename('static_item_n')
enforcer2.setStfName('item_bracelet_r_set_bh_dps_01_01')
enforcer2.setDetailFilename('static_item_d')
enforcer2.setDetailName('item_bracelet_r_set_dps_01_01')
enforcer2.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_dps_1')
enforcer2.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_dps_2')
enforcer2.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_dps_3')
enforcer2.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
enforcer2.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
enforcer2.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
enforcer2.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
# enforcer2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s02_r.iff', object.getPlanet())
# enforcer2.setStfFilename('static_item_n')
# enforcer2.setStfName('item_bracelet_r_set_bh_dps_01_01')
# enforcer2.setDetailFilename('static_item_d')
# enforcer2.setDetailName('item_bracelet_r_set_dps_01_01')
# enforcer2.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_dps_1')
# enforcer2.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_dps_2')
# enforcer2.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_dps_3')
# enforcer2.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
# enforcer2.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
# enforcer2.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
# enforcer2.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(enforcer2)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(enforcer2)
enforcer3 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s02_l.iff', object.getPlanet())
enforcer3.setStfFilename('static_item_n')
enforcer3.setStfName('item_bracelet_l_set_bh_dps_01_01')
enforcer3.setDetailFilename('static_item_d')
enforcer3.setDetailName('item_bracelet_l_set_bh_dps_01_01')
enforcer3.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_dps_1')
enforcer3.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_dps_2')
enforcer3.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_dps_3')
enforcer3.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
enforcer3.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
enforcer3.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
enforcer3.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
# enforcer3 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s02_l.iff', object.getPlanet())
# enforcer3.setStfFilename('static_item_n')
# enforcer3.setStfName('item_bracelet_l_set_bh_dps_01_01')
# enforcer3.setDetailFilename('static_item_d')
# enforcer3.setDetailName('item_bracelet_l_set_bh_dps_01_01')
# enforcer3.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_dps_1')
# enforcer3.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_dps_2')
# enforcer3.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_dps_3')
# enforcer3.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
# enforcer3.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
# enforcer3.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
# enforcer3.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(enforcer3)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(enforcer3)
enforcer4 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s01.iff', object.getPlanet())
enforcer4.setStfFilename('static_item_n')
enforcer4.setStfName('item_ring_set_bh_dps_01_01')
enforcer4.setDetailFilename('static_item_d')
enforcer4.setDetailName('item_ring_set_bh_dps_01_01')
enforcer4.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_dps_1')
enforcer4.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_dps_2')
enforcer4.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_dps_3')
enforcer4.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
enforcer4.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
enforcer4.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
enforcer4.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
# enforcer4 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s01.iff', object.getPlanet())
# enforcer4.setStfFilename('static_item_n')
# enforcer4.setStfName('item_ring_set_bh_dps_01_01')
# enforcer4.setDetailFilename('static_item_d')
# enforcer4.setDetailName('item_ring_set_bh_dps_01_01')
# enforcer4.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_dps_1')
# enforcer4.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_dps_2')
# enforcer4.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_dps_3')
# enforcer4.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
# enforcer4.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
# enforcer4.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
# enforcer4.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(enforcer4)
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(enforcer4)
enforcer5 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s03.iff', object.getPlanet())
enforcer5.setStfFilename('static_item_n')
enforcer5.setStfName('item_ring_a_set_bh_dps')
enforcer5.setDetailFilename('static_item_d')
enforcer5.setDetailName('item_ring_a_set_bh_dps')
enforcer5.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_dps_1')
enforcer5.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_dps_2')
enforcer5.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_dps_3')
enforcer5.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
enforcer5.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
enforcer5.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
enforcer5.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
# enforcer5 = core.objectService.createObject('object/tangible/wearables/ring/shared_ring_s03.iff', object.getPlanet())
# enforcer5.setStfFilename('static_item_n')
# enforcer5.setStfName('item_ring_a_set_bh_dps')
# enforcer5.setDetailFilename('static_item_d')
# enforcer5.setDetailName('item_ring_a_set_bh_dps')
# enforcer5.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_bh_dps_1')
# enforcer5.setStringAttribute('@set_bonus:piece_bonus_count_3', '@set_bonus:set_bonus_bh_dps_2')
# enforcer5.setStringAttribute('@set_bonus:piece_bonus_count_5', '@set_bonus:set_bonus_bh_dps_3')
# enforcer5.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm' , 1)
# enforcer5.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_action_line_dm_crit' , 1)
# enforcer5.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_buff_duration_line_bh_return_fire' , 1)
# enforcer5.setIntAttribute('cat_skill_mod_bonus.@stat_n:expertise_cooldown_line_dm' , 1)
inventory = object.getSlottedObject('inventory')
if not inventory:
return
inventory.add(enforcer5)
return
return
# inventory = object.getSlottedObject('inventory')
# if not inventory:
# return
# inventory.add(enforcer5)
# return
#return
return
return
+45
View File
@@ -35,6 +35,8 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import org.apache.mina.core.service.IoHandler;
import protocol.swg.ChatSystemMessage;
import net.engio.mbassy.bus.config.BusConfiguration;
import resources.common.RadialOptions;
import resources.common.ThreadMonitor;
@@ -108,6 +110,7 @@ public class NGECore {
private Config config = null;
private volatile boolean isShuttingDown = false;
private ConcurrentHashMap<Integer, Client> clients = new ConcurrentHashMap<Integer, Client>();
@@ -168,6 +171,8 @@ public class NGECore {
private BusConfiguration eventBusConfig = BusConfiguration.Default(1, new ThreadPoolExecutor(1, 4, 1, TimeUnit.MINUTES, new LinkedBlockingQueue<Runnable>()));
private ObjectDatabase buildingODB;
public NGECore() {
@@ -209,6 +214,7 @@ public class NGECore {
setGalaxyStatus(1);
creatureODB = new ObjectDatabase("creature", true, false, true);
buildingODB = new ObjectDatabase("building", true, false, true);
mailODB = new ObjectDatabase("mails", true, false, true);
guildODB = new ObjectDatabase("guild", true, false, true);
// Services
@@ -305,6 +311,7 @@ public class NGECore {
travelService.loadTravelPoints();
simulationService = new SimulationService(this);
objectService.loadBuildings();
terrainService.loadSnapShotObjects();
simulationService.insertSnapShotObjects();
@@ -438,6 +445,10 @@ public class NGECore {
return guildODB;
}
public ObjectDatabase getBuildingODB() {
return buildingODB;
}
public int getActiveClients() {
int connections = 0;
for (Map.Entry<Integer, Client> c : clients.entrySet()) {
@@ -495,5 +506,39 @@ public class NGECore {
return eventBusConfig;
}
public void initiateShutdown() {
if(isShuttingDown)
return;
try {
for(int minutes = 15; minutes > 1; minutes--) {
simulationService.notifyAllClients(new ChatSystemMessage("The server will be shutting down soon. Please find a safe place to logout. (" + minutes + " minutes left)", (byte) 0 ).serialize());
Thread.sleep(60000);
}
setGalaxyStatus(3);
simulationService.notifyAllClients(new ChatSystemMessage("The server will be shutting down soon. Please find a safe place to logout. (" + 1 + " minutes left)", (byte) 0 ).serialize());
Thread.sleep(30000);
simulationService.notifyAllClients(new ChatSystemMessage("You will be disconnected in 30 seconds so the server can perform a final save before shutting down. Please find a safe place to logout now.", (byte) 0 ).serialize());
Thread.sleep(20000);
simulationService.notifyAllClients(new ChatSystemMessage("You will be disconnected in 10 seconds so the server can perform a final save before shutting down. Please find a safe place to logout now.", (byte) 0 ).serialize());
Thread.sleep(10000);
simulationService.notifyAllClients(new ChatSystemMessage("You will now be disconnected so the server can perform a final save before shutting down.", (byte) 0 ).serialize());
synchronized(getActiveConnectionsMap()) {
for(Client client : getActiveConnectionsMap().values()) {
client.getSession().close(true);
}
}
System.exit(0);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
+11 -6
View File
@@ -28,11 +28,14 @@ import org.apache.mina.core.buffer.IoBuffer;
public class ClientPermissionsMessage extends SWGMessage {
public ClientPermissionsMessage() {
private int characterSlotsOpen;
public ClientPermissionsMessage(int characterSlotsOpen) {
if(characterSlotsOpen < 0)
characterSlotsOpen = 0;
this.characterSlotsOpen = characterSlotsOpen;
operandCount = 5;
opcode = 0xE00730E5;
data = new byte[] { (byte)0x01, (byte)0x01, (byte)0x00, (byte)0x01 };
}
public void deserialize(IoBuffer data) {
@@ -44,9 +47,11 @@ public class ClientPermissionsMessage extends SWGMessage {
result.putShort(operandCount);
result.putInt(opcode);
result.put(data);
result.flip();
result.put((byte) 1);
result.put((byte) characterSlotsOpen);
result.put((byte) 0);
result.put((byte) 1);
return result;
return result.flip();
}
}
+32
View File
@@ -0,0 +1,32 @@
/*******************************************************************************
* 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 resources.common;
public class PlayerFlags {
public static final int LFG = 0x01;
public static final int HELPER = 0x02;
public static final int ROLEPLAYER = 0x04;
public static final int AFK = 0x80;
public static final int LD = 0x0100;
public static final int FACTIONRANK = 0x0200;
}
@@ -21,24 +21,29 @@
******************************************************************************/
package resources.objects.building;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
import resources.objects.cell.CellObject;
import com.sleepycat.je.Environment;
import com.sleepycat.je.Transaction;
import resources.objects.tangible.TangibleObject;
import com.sleepycat.persist.model.Entity;
import com.sleepycat.persist.model.NotPersistent;
import engine.clients.Client;
import engine.resources.container.Traverser;
import engine.resources.objects.IPersistent;
import engine.resources.objects.SWGObject;
import engine.resources.scene.Planet;
import engine.resources.scene.Point3D;
import engine.resources.scene.Quaternion;
@Entity(version=0)
public class BuildingObject extends TangibleObject {
public class BuildingObject extends TangibleObject implements IPersistent {
@NotPersistent
private BuildingMessageBuilder messageBuilder;
@NotPersistent
private Transaction txn;
public BuildingObject() {
super();
@@ -54,17 +59,21 @@ public class BuildingObject extends TangibleObject {
final AtomicReference<CellObject> ref = new AtomicReference<CellObject>();
this.viewChildren(this, true, false, new Traverser() {
@Override
public void process(SWGObject obj) {
synchronized(objectMutex) {
this.viewChildren(this, true, false, new Traverser() {
@Override
public void process(SWGObject obj) {
if(obj instanceof CellObject && ((CellObject) obj).getCellNumber() == cellNumber)
ref.set((CellObject) obj);
}
if(obj instanceof CellObject && ((CellObject) obj).getCellNumber() == cellNumber)
ref.set((CellObject) obj);
}
});
});
}
return ref.get();
@@ -85,4 +94,11 @@ public class BuildingObject extends TangibleObject {
}
public Transaction getTransaction() { return txn; }
public void createTransaction(Environment env) {
txn = env.beginTransaction(null, null);
txn.setLockTimeout(500, TimeUnit.MILLISECONDS);
}
}
@@ -598,6 +598,21 @@ public class PlayerMessageBuilder extends ObjectMessageBuilder {
return buffer;
}
public IoBuffer buildFlagBitmask(int bitmask) {
IoBuffer buffer = bufferPool.allocate(30, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(4);
buffer.putInt(bitmask);
buffer.putInt(0);
buffer.putInt(0);
buffer.putInt(0);
int size = buffer.position();
buffer.flip();
buffer = createDelta("PLAY", (byte) 3, (short) 1, (short) 5, buffer, size + 4);
return buffer;
}
@Override
public void sendListDelta(byte viewType, short updateType, IoBuffer buffer) {
// TODO Auto-generated method stub
+36 -1
View File
@@ -41,7 +41,7 @@ import engine.resources.scene.Planet;
import engine.resources.scene.Point3D;
import engine.resources.scene.Quaternion;
@Persistent(version=0)
@Persistent(version=3)
public class PlayerObject extends IntangibleObject {
// PLAY 3
@@ -56,6 +56,7 @@ public class PlayerObject extends IntangibleObject {
private int totalPlayTime = 0;
private byte[] collections = new byte[] { };
private int highestSetBit = 0;
private int flagBitmask = 0;
// PLAY 6
@@ -658,4 +659,38 @@ public class PlayerObject extends IntangibleObject {
}
}
public int getFlagBitmask() {
synchronized(objectMutex) {
return flagBitmask;
}
}
public void setFlagBitmask(int flagBitmask) {
synchronized(objectMutex) {
this.flagBitmask |= flagBitmask;
}
if (getContainer() != null) {
getContainer().notifyObservers(messageBuilder.buildFlagBitmask(this.flagBitmask), true);
}
}
public void clearFlagBitmask(int flagBitmask) {
synchronized(objectMutex) {
// set flag bitmask to 0
this.flagBitmask &= ~flagBitmask;
}
if (getContainer() != null) {
getContainer().notifyObservers(messageBuilder.buildFlagBitmask(this.flagBitmask), true);
}
}
public void toggleFlag(int flag) {
if ((this.flagBitmask & flag) == flag) {
clearFlagBitmask(flag);
} else {
setFlagBitmask(flag);
}
}
}
@@ -37,7 +37,7 @@ import engine.resources.scene.Planet;
import engine.resources.scene.Point3D;
import engine.resources.scene.Quaternion;
@Persistent
@Persistent(version=0)
public class WaypointObject extends IntangibleObject implements IDelta {
public static final byte BLUE, GREEN, ORANGE, YELLOW, PURPLE, WHITE, MULTICOLOR;
+14
View File
@@ -447,5 +447,19 @@ public class CharacterService implements INetworkDispatch {
// TODO Auto-generated method stub
}
public int getNumberOfCharacters(int accountId) {
PreparedStatement preparedStatement;
int characters = 0;
try {
preparedStatement = databaseConnection.preparedStatement("SELECT * FROM characters WHERE \"accountId\"=" + accountId + "");
ResultSet resultSet = preparedStatement.executeQuery();
while(resultSet.next() && !resultSet.isClosed())
characters++;
} catch (SQLException e) {
e.printStackTrace();
}
return characters;
}
}
+1 -3
View File
@@ -70,7 +70,6 @@ public class ConnectionService implements INetworkDispatch {
@Override
public void handlePacket(IoSession session, IoBuffer data) throws Exception {
System.out.println("xx");
data = data.order(ByteOrder.LITTLE_ENDIAN);
ClientIdMsg clientIdMsg = new ClientIdMsg();
data.position(0);
@@ -96,13 +95,12 @@ public class ConnectionService implements INetworkDispatch {
client.setSessionKey(clientIdMsg.getSessionKey());
client.setGM(core.loginService.checkForGmPermission((int) resultSet.getLong("accountId")));
AccountFeatureBits accountFeatureBits = new AccountFeatureBits();
ClientPermissionsMessage clientPermissionsMessage = new ClientPermissionsMessage();
ClientPermissionsMessage clientPermissionsMessage = new ClientPermissionsMessage(2 - core.characterService.getNumberOfCharacters((int) resultSet.getLong("accountId")));
session.write(new HeartBeatMessage().serialize());
session.write(accountFeatureBits.serialize());
session.write(clientPermissionsMessage.serialize());
preparedStatement.close();
System.out.println("zyx");
} else {
System.out.println("Cant get login session");
}
+3 -2
View File
@@ -209,9 +209,10 @@ public class LoginService implements INetworkDispatch{
public boolean checkForGmPermission(int id) {
PreparedStatement preparedStatement;
try {
preparedStatement = databaseConnection1.preparedStatement("SELECT * FROM characters WHERE \"accountId\"=" + id + "");
preparedStatement = databaseConnection1.preparedStatement("SELECT * FROM accounts WHERE id=" + id + "");
ResultSet resultSet = preparedStatement.executeQuery();
return resultSet.getBoolean("gmflag");
if(resultSet.next())
return resultSet.getBoolean("gmflag");
} catch (SQLException e) {
e.printStackTrace();
}
+2 -1
View File
@@ -148,6 +148,7 @@ public class SimulationService implements INetworkDispatch {
core.commandService.registerGmCommand("setgodmode");
core.commandService.registerCommand("requestwaypointatposition");
core.commandService.registerCommand("meditate");
core.commandService.registerGmCommand("server");
}
@@ -622,7 +623,7 @@ public class SimulationService implements INetworkDispatch {
SWGObject obj = it.next();
if(obj.getAttachment("bigSpawnRange") == null && obj.getWorldPosition().getDistance(pos) > 200)
continue;
System.out.println(obj.getTemplate());
//System.out.println(obj.getTemplate());
object.makeAware(obj);
if(obj.getClient() != null)
obj.makeAware(object);
+21
View File
@@ -30,6 +30,7 @@ import java.util.concurrent.ConcurrentHashMap;
import resources.common.FileUtilities;
import resources.common.collidables.CollidableCircle;
import resources.objects.building.BuildingObject;
import engine.clientdata.ClientFileManager;
import engine.clientdata.visitors.DatatableVisitor;
@@ -226,6 +227,26 @@ public class TerrainService {
}
}
synchronized(core.objectService.getObjectList()) {
for(SWGObject object : core.objectService.getObjectList().values()) {
if(!(object instanceof BuildingObject))
continue;
BuildingObject building = (BuildingObject) object;
if(building.getTransaction() == null)
continue;
building.createTransaction(core.getBuildingODB().getEnvironment());
core.getBuildingODB().put(building, Long.class, BuildingObject.class, building.getTransaction());
building.getTransaction().commitSync();
}
}
}
public boolean canBuildAtPosition(SWGObject object, float x, float z) {
+43 -6
View File
@@ -139,6 +139,32 @@ public class ObjectService implements INetworkDispatch {
}
}
public void loadBuildings() {
EntityCursor<BuildingObject> cursor = core.getBuildingODB().getCursor(Long.class, BuildingObject.class);
Iterator<BuildingObject> it = cursor.iterator();
while(it.hasNext()) {
final BuildingObject building = it.next();
objectList.put(building.getObjectID(), building);
Planet planet = core.terrainService.getPlanetByID(building.getPlanetId());
building.setPlanet(planet);
building.viewChildren(building, true, true, new Traverser() {
@Override
public void process(SWGObject object) {
objectList.put(object.getObjectID(), object);
if(object.getParentId() != 0 && object.getContainer() == null)
object.setParent(building);
object.getContainerInfo(object.getTemplate());
}
});
core.simulationService.add(building, building.getPosition().x, building.getPosition().z);
}
}
public SWGObject createObject(String Template, long objectID, Planet planet, Point3D position, Quaternion orientation, String customServerTemplate) {
return createObject(Template, objectID, planet, position, orientation, customServerTemplate, false);
}
@@ -541,6 +567,7 @@ public class ObjectService implements INetworkDispatch {
if(creature.getParentId() != 0) {
SWGObject parent = getObject(creature.getParentId());
System.out.println("Building: " + parent.getContainer().getTemplate());
parent._add(creature);
}
@@ -562,9 +589,10 @@ public class ObjectService implements INetworkDispatch {
creature.makeAware(core.guildService.getGuildObject());
core.chatService.loadMailHeaders(client);
core.simulationService.handleZoneIn(client);
creature.makeAware(creature);
PlayerObject ghost = (PlayerObject) creature.getSlottedObject("ghost");
@@ -635,7 +663,7 @@ public class ObjectService implements INetworkDispatch {
if(obj.getParentId() != 0 && getObject(obj.getParentId()) != null) {
SWGObject parent = getObject(obj.getParentId());
parent.add(obj);
}
}
}
}
@@ -755,7 +783,7 @@ public class ObjectService implements INetworkDispatch {
portalCRC = (Integer) buildoutTable.getObject(i, 13);
}
if(!template.equals("object/cell/shared_cell.iff") && objectId != 0 && getObject(objectId) != null) {
//System.out.println("Duplicate buildout object: " + template);
continue;
@@ -766,7 +794,8 @@ public class ObjectService implements INetworkDispatch {
if(objectId != 0 && containerId == 0) {
if(portalCRC != 0) {
containers.add(objectId);
object = createObject(template, objectId, planet, new Point3D(px + x1, py, pz + z1), new Quaternion(qw, qx, qy, qz), null, true);
object = createObject(template, objectId, planet, new Point3D(px + x1, py, pz + z1), new Quaternion(qw, qx, qy, qz), null, true);
((BuildingObject) object).createTransaction(core.getBuildingODB().getEnvironment());
} else {
object = createObject(template, objectId, planet, new Point3D(px + x1, py, pz + z1), new Quaternion(qw, qx, qy, qz));
}
@@ -776,7 +805,7 @@ public class ObjectService implements INetworkDispatch {
object.setAttachment("bigSpawnRange", new Boolean(true));
core.simulationService.add(object, object.getPosition().x, object.getPosition().z);
} else if(containerId != 0) {
object = createObject(template, objectId, planet, new Point3D(px, py, pz), new Quaternion(qw, qx, qy, qz));
object = createObject(template, 0, planet, new Point3D(px, py, pz), new Quaternion(qw, qx, qy, qz));
if(containers.contains(containerId)) {
object.setisInSnapshot(false);
containers.add(objectId);
@@ -785,8 +814,16 @@ public class ObjectService implements INetworkDispatch {
((CellObject) object).setCellNumber(cellIndex);
SWGObject parent = getObject(containerId);
if(parent != null && object != null)
if(parent != null && object != null) {
if(parent instanceof BuildingObject && ((BuildingObject) parent).getCellByCellNumber(cellIndex) != null)
continue;
parent.add(object);
/*if(parent instanceof BuildingObject) {
((BuildingObject) parent).createTransaction(core.getBuildingODB().getEnvironment());
core.getBuildingODB().put((BuildingObject) parent, Long.class, BuildingObject.class, ((BuildingObject) parent).getTransaction());
((BuildingObject) parent).getTransaction().commitSync();
}*/
}
} else {
object = createObject(template, 0, planet, new Point3D(px + x1, py, pz + z1), new Quaternion(qw, qx, qy, qz));
core.simulationService.add(object, object.getPosition().x, object.getPosition().z);