mirror of
https://github.com/ProjectSWGCore/NGECore2.git
synced 2026-10-13 03:13:26 -04:00
Merge branch 'master' of https://github.com/ProjectSWGCore/NGECore2
This commit is contained in:
@@ -39,6 +39,8 @@ def spawnCrate(core, actor, shuttle):
|
||||
for i in range(0, 8):
|
||||
tactical = core.objectService.createObject('object/tangible/loot/generic_usable/shared_stim_syringe_generic.iff', actor.getPlanet()) #FIXME: Use the correct template
|
||||
tactical.setCustomName('Tactical Serum A')
|
||||
tactical.setStringAttribute('proc_name', '@ui_buff:of_tactical_drop_6')
|
||||
tactical.setAttachment("tempUseCount", 1)
|
||||
crate.add(tactical)
|
||||
|
||||
for i in range(0, 8):
|
||||
|
||||
+174
-174
@@ -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,40 +29,40 @@ 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')
|
||||
|
||||
# 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)
|
||||
# #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)
|
||||
#
|
||||
# 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.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')
|
||||
@@ -71,22 +71,22 @@ def CreateStartingCharacter(core, object):
|
||||
# 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')
|
||||
@@ -102,27 +102,27 @@ def CreateStartingCharacter(core, object):
|
||||
# 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.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')
|
||||
@@ -130,39 +130,39 @@ def CreateStartingCharacter(core, object):
|
||||
# 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.setCustomName('Lightsaber')
|
||||
# testObject.setStringAttribute('crafter', 'Light')
|
||||
# testObject.setDamageType('@obj_attr_n:armor_eff_energy')
|
||||
# testObject.setElementalType('@obj_attr_n:elemental_cold')
|
||||
# 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.setElementalDamage(72)
|
||||
# testObject.setIntAttribute('cat_wpn_damage.weapon_dps', testObject.getDamagePerSecond())
|
||||
# inventory = object.getSlottedObject('inventory')
|
||||
# inventory = object.getSlottedObject('inventory')
|
||||
# inventory.add(testObject)
|
||||
|
||||
##Case Sensitive
|
||||
@@ -203,16 +203,16 @@ def addProfessionAbilities(core, object, profession):
|
||||
# object.addAbility('co_hw_dot')
|
||||
# object.addAbility('co_ae_hw_dot')
|
||||
#elif profession == 'bounty_hunter_1a':
|
||||
# object.addAbility('bh_shields_1')
|
||||
# object.addAbility('bh_dm_8')
|
||||
# object.addAbility('bh_sh_3')
|
||||
# object.addAbility('bh_armor_sprint_1')
|
||||
# object.addAbility('bh_prescience')
|
||||
# object.addAbility('bh_dm_crit_8')
|
||||
# object.addAbility('crippleShot')
|
||||
# object.addAbility('bh_fumble_6')
|
||||
# object.addAbility('bh_intimidate_6')
|
||||
# object.addAbility('bh_flawless_strike')
|
||||
#object.addAbility('bh_shields_1')
|
||||
#object.addAbility('bh_dm_8')
|
||||
#object.addAbility('bh_sh_3')
|
||||
#object.addAbility('bh_armor_sprint_1')
|
||||
#object.addAbility('bh_prescience')
|
||||
#object.addAbility('bh_dm_crit_8')
|
||||
#object.addAbility('crippleShot')
|
||||
#object.addAbility('bh_fumble_6')
|
||||
#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')
|
||||
@@ -404,71 +404,71 @@ def addProfessionAbilities(core, object, profession):
|
||||
# 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)
|
||||
|
||||
# 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)
|
||||
|
||||
# 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)
|
||||
|
||||
# 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
|
||||
# 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)
|
||||
|
||||
# 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)
|
||||
|
||||
#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)
|
||||
|
||||
#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
|
||||
|
||||
|
||||
return
|
||||
return
|
||||
|
||||
@@ -4,6 +4,12 @@ from java.util import Vector
|
||||
|
||||
def addTemplate(core):
|
||||
mobileTemplate = MobileTemplate()
|
||||
|
||||
mobileTemplate.setCreatureName('eow_dark_jedi_sentinel_uber')
|
||||
mobileTemplate.setLevel(90)
|
||||
mobileTemplate.setDifficulty(2)
|
||||
mobileTemplate.setAttackRange(6)
|
||||
|
||||
templates = Vector()
|
||||
templates.add('object/mobile/shared_dressed_dark_jedi_master_female_twk_01.iff')
|
||||
templates.add('object/mobile/shared_dressed_dark_jedi_master_female_twk_02.iff')
|
||||
@@ -14,13 +20,16 @@ def addTemplate(core):
|
||||
templates.add('object/mobile/shared_dressed_dark_jedi_master_male_human_05.iff')
|
||||
templates.add('object/mobile/shared_dressed_dark_jedi_master_male_human_06.iff')
|
||||
mobileTemplate.setTemplates(templates)
|
||||
mobileTemplate.setLevel(90)
|
||||
mobileTemplate.setDifficulty(2)
|
||||
mobileTemplate.setCustomWeaponTemplate('object/weapon/melee/2h_sword/crafted_saber/shared_sword_lightsaber_two_handed_gen5.iff')
|
||||
|
||||
weaponTemplates = Vector()
|
||||
weaponTemplates.add('object/weapon/melee/sword/crafted_saber/shared_sword_lightsaber_one_handed_gen5.iff')
|
||||
weaponTemplates.add('object/weapon/melee/2h_sword/crafted_saber/shared_sword_lightsaber_two_handed_gen5.iff')
|
||||
weaponTemplates.add('object/weapon/melee/polearm/crafted_saber/shared_sword_lightsaber_polearm_gen5.iff')
|
||||
mobileTemplate.setWeaponTemplates(weaponTemplates)
|
||||
|
||||
attacks = Vector()
|
||||
mobileTemplate.setDefaultAttack('saberHit')
|
||||
mobileTemplate.setAttacks(attacks)
|
||||
mobileTemplate.setCreatureName('eow_dark_jedi_sentinel_uber')
|
||||
mobileTemplate.setAttackRange(6)
|
||||
|
||||
core.spawnService.addMobileTemplate('jedi_master', mobileTemplate)
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
import sys
|
||||
from services.spawn import MobileTemplate
|
||||
from java.util import Vector
|
||||
|
||||
def addTemplate(core):
|
||||
mobileTemplate = MobileTemplate()
|
||||
|
||||
mobileTemplate.setCreatureName('stormtrooper')
|
||||
mobileTemplate.setLevel(90)
|
||||
mobileTemplate.setDifficulty(0)
|
||||
mobileTemplate.setAttackRange(24)
|
||||
|
||||
templates = Vector()
|
||||
templates.add('object/mobile/shared_dressed_stormtrooper_m.iff')
|
||||
mobileTemplate.setTemplates(templates)
|
||||
|
||||
weaponTemplates = Vector()
|
||||
weaponTemplates.add('object/weapon/ranged/rifle/shared_rifle_e11.iff')
|
||||
weaponTemplates.add('object/weapon/ranged/rifle/shared_rifle_t21.iff')
|
||||
mobileTemplate.setWeaponTemplates(weaponTemplates)
|
||||
|
||||
attacks = Vector()
|
||||
mobileTemplate.setDefaultAttack('rangedShot')
|
||||
mobileTemplate.setAttacks(attacks)
|
||||
|
||||
core.spawnService.addMobileTemplate('stormtrooper', mobileTemplate)
|
||||
|
||||
@@ -6,6 +6,7 @@ def addTemplate(core):
|
||||
mobileTemplate = MobileTemplate()
|
||||
templates = Vector()
|
||||
templates.add('object/mobile/shared_chuba_hue.iff')
|
||||
mobileTemplate.setCreatureName('chuba')
|
||||
mobileTemplate.setTemplates(templates)
|
||||
mobileTemplate.setLevel(5)
|
||||
attacks = Vector()
|
||||
|
||||
@@ -6,6 +6,7 @@ def addTemplate(core):
|
||||
mobileTemplate = MobileTemplate()
|
||||
templates = Vector()
|
||||
templates.add('object/mobile/shared_kreetle.iff')
|
||||
mobileTemplate.setCreatureName('kreetle')
|
||||
mobileTemplate.setTemplates(templates)
|
||||
mobileTemplate.setLevel(5)
|
||||
attacks = Vector()
|
||||
|
||||
@@ -6,6 +6,7 @@ def addTemplate(core):
|
||||
mobileTemplate = MobileTemplate()
|
||||
templates = Vector()
|
||||
templates.add('object/mobile/shared_womp_rat.iff')
|
||||
mobileTemplate.setCreatureName('womprat')
|
||||
mobileTemplate.setTemplates(templates)
|
||||
mobileTemplate.setLevel(5)
|
||||
attacks = Vector()
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setAttachment('radial_filename', 'usable')
|
||||
return
|
||||
@@ -2,9 +2,9 @@ import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('item_jedi_robe_light_03_03')
|
||||
object.setStfName('item_jedi_robe_light_04_04')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('item_jedi_robe_light_03_03')
|
||||
object.setDetailName('item_jedi_robe_light_04_04')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 185)
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 185)
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 185)
|
||||
|
||||
@@ -1,31 +1,19 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('item_jedi_robe_light_04_04')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('item_jedi_robe_light_04_04')
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 250)
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 250)
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 250)
|
||||
object.setStringAttribute('protection_level', 'Radiant')
|
||||
object.setStringAttribute('class_required', 'Jedi')
|
||||
object.setIntAttribute('required_combat_level', 90)
|
||||
object.setAttachment('type', 'jedi_robe')
|
||||
object.setStringAttribute('proc_name', '@ui_buff:proc_old_light_jedi_gift')
|
||||
object.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_jedi_robe_1')
|
||||
return
|
||||
|
||||
def equip(core, actor, target):
|
||||
core.skillModService.addSkillMod(actor, 'agility_modified', 250)
|
||||
core.skillModService.addSkillMod(actor, 'constitution_modified', 250)
|
||||
core.skillModService.addSkillMod(actor, 'strength_modified', 250)
|
||||
|
||||
Buff = actor.getBuffByName('proc_old_light_jedi_gift')
|
||||
if actor.getBuffList().contains(Buff):
|
||||
core.buffService.removeBuffFromCreature(actor, Buff)
|
||||
return
|
||||
|
||||
if actor:
|
||||
core.buffService.addBuffToCreature(actor, 'proc_old_light_jedi_gift')
|
||||
return
|
||||
return
|
||||
|
||||
def unequip(core, actor, target):
|
||||
core.skillModService.deductSkillMod(actor, 'agility_modified', 250)
|
||||
core.skillModService.deductSkillMod(actor, 'constitution_modified', 250)
|
||||
core.skillModService.deductSkillMod(actor, 'strength_modified', 250)
|
||||
|
||||
Buff = actor.getBuffByName('proc_old_light_jedi_gift')
|
||||
if actor.getBuffList().contains(Buff):
|
||||
core.buffService.removeBuffFromCreature(actor, Buff)
|
||||
return
|
||||
return
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
import sys
|
||||
|
||||
def add(core, actor, name, base):
|
||||
actor.addSkillMod(name, base)
|
||||
actor.setMaxAction(actor.getMaxAction() + base)
|
||||
return
|
||||
|
||||
def deduct(core, actor, name, base):
|
||||
actor.deductSkillMod(name, base)
|
||||
actor.setMaxAction(actor.getMaxAction() - base)
|
||||
return
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
import sys
|
||||
|
||||
def add(core, actor, name, base):
|
||||
actor.addSkillMod(name, base)
|
||||
actor.setMaxAction(actor.getMaxAction() + int((float(actor.getMaxAction()) * (float(base) / float(100)))))
|
||||
return
|
||||
|
||||
def deduct(core, actor, name, base):
|
||||
actor.deductSkillMod(name, base)
|
||||
actor.setMaxAction(actor.getMaxAction() - int((float(actor.getMaxAction()) * (float(base) / float(100)))))
|
||||
return
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
import sys
|
||||
|
||||
def add(core, actor, name, base):
|
||||
actor.addSkillMod(name, base)
|
||||
actor.setMaxHealth(actor.getMaxHealth() + base)
|
||||
return
|
||||
|
||||
def deduct(core, actor, name, base):
|
||||
actor.deductSkillMod(name, base)
|
||||
actor.setMaxHealth(actor.getMaxHealth() - base)
|
||||
return
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
import sys
|
||||
|
||||
def add(core, actor, name, base):
|
||||
actor.addSkillMod(name, base)
|
||||
actor.setMaxHealth(actor.getMaxHealth() + int((float(actor.getMaxHealth()) * (float(base) / float(100)))))
|
||||
return
|
||||
|
||||
def deduct(core, actor, name, base):
|
||||
actor.deductSkillMod(name, base)
|
||||
actor.setMaxHealth(actor.getMaxHealth() - int((actor.getMaxHealth() * (float(base) / float(100)))))
|
||||
return
|
||||
|
||||
@@ -100,6 +100,8 @@ public class BuffService implements INetworkDispatch {
|
||||
return null;
|
||||
}
|
||||
|
||||
if(target.hasBuff(buffName)) return null;
|
||||
|
||||
final Buff buff = new Buff(buffName, target.getObjectID());
|
||||
if(target.getSlottedObject("ghost") != null)
|
||||
buff.setTotalPlayTime(((PlayerObject) target.getSlottedObject("ghost")).getTotalPlayTime());
|
||||
@@ -245,38 +247,19 @@ public class BuffService implements INetworkDispatch {
|
||||
}
|
||||
}
|
||||
|
||||
public void clearBuffs(final CreatureObject creature) {
|
||||
|
||||
// copy to array for thread safety
|
||||
|
||||
for(final Buff buff : creature.getBuffList().get().toArray(new Buff[] { })) {
|
||||
|
||||
if (buff.getGroup1().startsWith("setBonus")) { continue; }
|
||||
|
||||
if(buff.isGroupBuff() && buff.getGroupBufferId() != creature.getObjectID()) {
|
||||
removeBuffFromCreature(creature, buff);
|
||||
continue;
|
||||
}
|
||||
|
||||
if(buff.getRemainingDuration() > 0 && buff.getDuration() > 0) {
|
||||
ScheduledFuture<?> task = scheduler.schedule(new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
removeBuffFromCreature(creature, buff);
|
||||
|
||||
}
|
||||
|
||||
}, (long) buff.getRemainingDuration(), TimeUnit.SECONDS);
|
||||
buff.setRemovalTask(task);
|
||||
continue;
|
||||
} else {
|
||||
removeBuffFromCreature(creature, buff);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void removeBuffFromCreatureByName(CreatureObject creature, String buffName)
|
||||
{
|
||||
removeBuffFromCreature(creature, creature.getBuffByName(buffName));
|
||||
}
|
||||
|
||||
public void clearBuffs(final CreatureObject creature)
|
||||
{
|
||||
// This method sucks ass, someone please fix me
|
||||
for(Buff buff : creature.getBuffList().get())
|
||||
{
|
||||
if(buff.getRemainingDuration() > 0 && buff.getDuration() > 0) buff.setRemovalTask(null);
|
||||
removeBuffFromCreature(creature, buff);
|
||||
}
|
||||
}
|
||||
|
||||
public void addGroupBuff(CreatureObject buffer, String buffName) {
|
||||
|
||||
@@ -215,10 +215,12 @@ public class EquipmentService implements INetworkDispatch {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(item.getStringAttribute("proc_name") != null) core.buffService.addBuffToCreature(actor, item.getStringAttribute("proc_name").replace("@ui_buff:", ""), actor);
|
||||
|
||||
|
||||
if(!actor.getEquipmentList().contains(item))
|
||||
actor.addObjectToEquipList(item);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -268,6 +270,8 @@ public class EquipmentService implements INetworkDispatch {
|
||||
return;
|
||||
}
|
||||
|
||||
if(item.getStringAttribute("proc_name") != null) core.buffService.removeBuffFromCreatureByName(actor, item.getStringAttribute("proc_name").replace("@ui_buff:", ""));
|
||||
|
||||
if(actor.getEquipmentList().contains(item))
|
||||
actor.removeObjectFromEquipList(item);
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@ public class StaticService implements INetworkDispatch {
|
||||
spawnPlanetStaticObjs("naboo");
|
||||
spawnPlanetStaticObjs("tatooine");
|
||||
spawnPlanetStaticObjs("lok");
|
||||
//
|
||||
//spawnPlanetStaticObjs("kaas"); // Keep commented out unless you possess the latest build of Kaas!
|
||||
}
|
||||
|
||||
|
||||
@@ -47,6 +47,9 @@ public class AttackState extends AIState {
|
||||
@Override
|
||||
public byte onExit(AIActor actor) {
|
||||
// TODO Auto-generated method stub
|
||||
actor.getCreature().setLookAtTarget(0);
|
||||
actor.getCreature().setIntendedTarget(0);
|
||||
|
||||
return StateResult.FINISHED;
|
||||
}
|
||||
|
||||
@@ -100,7 +103,12 @@ public class AttackState extends AIState {
|
||||
if(creature.getPosture() == 14)
|
||||
return StateResult.DEAD;
|
||||
if(creature.getCombatFlag() == 0 || creature.getDefendersList().size() == 0 || actor.getFollowObject() == null)
|
||||
{
|
||||
creature.setLookAtTarget(0);
|
||||
creature.setIntendedTarget(0);
|
||||
actor.setFollowObject(null);
|
||||
return StateResult.FINISHED;
|
||||
}
|
||||
CreatureObject target = actor.getFollowObject();
|
||||
if(target != actor.getHighestDamageDealer() && actor.getHighestDamageDealer() != null) {
|
||||
actor.setFollowObject(actor.getHighestDamageDealer());
|
||||
@@ -116,7 +124,11 @@ public class AttackState extends AIState {
|
||||
actor.setFollowObject(actor.getHighestDamageDealer());
|
||||
target = actor.getFollowObject();
|
||||
if(target == null)
|
||||
{
|
||||
creature.setLookAtTarget(0);
|
||||
creature.setIntendedTarget(0);
|
||||
return StateResult.FINISHED;
|
||||
}
|
||||
}
|
||||
if(target.getWorldPosition().getDistance(creature.getWorldPosition()) > 128 || target.getPosture() == 13 || target.getPosture() == 14) {
|
||||
actor.removeDefender(target);
|
||||
@@ -141,6 +153,9 @@ public class AttackState extends AIState {
|
||||
|
||||
Vector<String> attacks = actor.getMobileTemplate().getAttacks();
|
||||
|
||||
creature.setLookAtTarget(target.getObjectId());
|
||||
creature.setIntendedTarget(target.getObjectId());
|
||||
|
||||
if(attacks.size() == 0) {
|
||||
core.commandService.callCommand(creature, actor.getMobileTemplate().getDefaultAttack(), target, "");
|
||||
} else {
|
||||
|
||||
@@ -530,6 +530,20 @@ public class ObjectService implements INetworkDispatch {
|
||||
return;
|
||||
}
|
||||
|
||||
if(object.getStringAttribute("proc_name") != null)
|
||||
{
|
||||
if(object.getAttachment("tempUseCount") != null)
|
||||
{
|
||||
int useCount = (int)object.getAttachment("tempUseCount"); // Seefo: Placeholder until delta for stack count/use count
|
||||
|
||||
if((useCount - 1) == 0) destroyObject(object);
|
||||
else object.setAttachment("tempUseCount", useCount--);
|
||||
}
|
||||
|
||||
// Seefo: We need to add cool downs for buff items
|
||||
core.buffService.addBuffToCreature(creature, object.getStringAttribute("proc_name").replace("@ui_buff:", ""), creature);
|
||||
}
|
||||
|
||||
String filePath = "scripts/" + object.getTemplate().split("shared_" , 2)[0].replace("shared_", "") + object.getTemplate().split("shared_" , 2)[1].replace(".iff", "") + ".py";
|
||||
|
||||
if (FileUtilities.doesFileExist(filePath)) {
|
||||
|
||||
@@ -44,7 +44,7 @@ public class MobileTemplate {
|
||||
private float scale = 1;
|
||||
// this is a custom attack Range setting to use for large mobs like krayts
|
||||
private int attackRange;
|
||||
private String customWeaponTemplate;
|
||||
private Vector<String> weaponTemplates;
|
||||
|
||||
public Vector<String> getTemplates() {
|
||||
return templates;
|
||||
@@ -158,13 +158,11 @@ public class MobileTemplate {
|
||||
this.attackRange = attackRange;
|
||||
}
|
||||
|
||||
public void setCustomWeaponTemplate(String template)
|
||||
{
|
||||
this.customWeaponTemplate = template;
|
||||
public Vector<String> getWeaponTemplates() {
|
||||
return weaponTemplates;
|
||||
}
|
||||
|
||||
public String getCustomWeaponTemplate()
|
||||
{
|
||||
return customWeaponTemplate;
|
||||
|
||||
public void setWeaponTemplates(Vector<String> weaponTemplates) {
|
||||
this.weaponTemplates = weaponTemplates;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ public class SpawnService {
|
||||
creature.setLevel(level);
|
||||
else
|
||||
creature.setLevel(mobileTemplate.getLevel());
|
||||
WeaponObject defaultWeapon = (mobileTemplate.getCustomWeaponTemplate() != null) ? (WeaponObject) core.objectService.createObject(mobileTemplate.getCustomWeaponTemplate(), creature.getPlanet()) : (WeaponObject) core.objectService.createObject("object/weapon/creature/shared_creature_default_weapon.iff", creature.getPlanet());
|
||||
WeaponObject defaultWeapon = (mobileTemplate.getWeaponTemplates().size() > 0) ? (WeaponObject) core.objectService.createObject(mobileTemplate.getWeaponTemplates().get(new Random().nextInt(mobileTemplate.getWeaponTemplates().size())), creature.getPlanet()) : (WeaponObject) core.objectService.createObject("object/weapon/creature/shared_creature_default_weapon.iff", creature.getPlanet());
|
||||
defaultWeapon.setAttackSpeed(2);
|
||||
defaultWeapon.setDamageType("@obj_attr_n:armor_eff_kinetic");
|
||||
defaultWeapon.setStringAttribute("cat_wpn_damage.damage", "0-0");
|
||||
|
||||
Reference in New Issue
Block a user