Files
NGECore2/scripts/demo.py
T
Idart efcb75f645 Added heroism set and buffs, fixed robe_jedi_dark
Added rest of heroism set and associated buffs, robe_jedi_dark now
properly deduct its effect, added buffs for heroism set bonuses.

Still needs an check for piece count

Credit for code Wefi.
2013-09-20 07:11:57 +03:00

193 lines
8.7 KiB
Python

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.setStringAttribute('cat_wpn_damage.wpn_damage_type', '@obj_attr_n:armor_eff_energy')
testObject.setIntAttribute('cat_wpn_damage.wpn_damage_min', 425)
testObject.setIntAttribute('cat_wpn_damage.wpn_damage_max', 1140)
object.addSkillMod('constitution_modified' , 350)
object.addSkillMod('strength_modified' , 350)
object.addSkillMod('precision_modified' , 350)
object.addSkillMod('luck_modified' , 350)
object.addSkillMod('agility_modified' , 350)
object.addSkillMod('stamina_modified' , 350)
object.addSkillMod('kinetic' , 10000)
object.addSkillMod('energy' , 10000)
object.addSkillMod('heat' , 6000)
object.addSkillMod('cold' , 6000)
object.addSkillMod('acid' , 6000)
object.addSkillMod('electricity' , 6000)
object.addSkillMod('combat_strikethrough_value' , 50)
object.addSkillMod('display_only_dodge' , 2000)
object.addSkillMod('display_only_parry' , 1000)
object.addSkillMod('display_only_strikethrough' , 500)
object.addSkillMod('display_only_critical' , 2500)
object.addSkillMod('display_only_evasion' , 1000)
object.addSkillMod('display_only_glancing_blow' , 750)
object.addSkillMod('display_only_block' , 2000)
object.addSkillMod('combat_block_value' , 0)
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()
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)
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)
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)
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)
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)
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.setStringAttribute('cat_wpn_damage.wpn_damage_type', '@obj_attr_n:armor_eff_energy')
testObject.setIntAttribute('cat_wpn_damage.wpn_damage_min', 600)
testObject.setIntAttribute('cat_wpn_damage.wpn_damage_max', 1300)
inventory = object.getSlottedObject('inventory')
inventory.add(testObject)
object.addAbility('fs_sweep_7')
object.addAbility('fs_drain_7')
object.addAbility('forceRun')
object.addAbility('fs_dm_cc_crit_5')
object.addAbility('fs_maelstrom_5')
object.addAbility('fs_ae_dm_cc_6')
object.addAbility('fs_sh_3')
object.addAbility('fs_dm_cc_6')
object.addAbility('fs_dm_7')
object.addAbility('fs_buff_def_1_1')
object.addAbility('fs_buff_ca_1')
elif profession == 'medic_1a':
object.addAbility('me_bacta_bomb_5')
object.addAbility('me_bacta_grenade_5')
object.addAbility('me_bacta_ampule_6')
object.addAbility('me_ae_heal_6')
object.addAbility('me_dm_8')
object.addAbility('me_dm_dot_6')
object.addAbility('me_drag_1')
object.addAbility('me_rv_pvp_single')
object.addAbility('me_rv_area')
object.addAbility('me_rv_pvp_area')
object.addAbility('me_reckless_stimulation_6')
object.addAbility('me_sh_1')
object.addAbility('me_stasis_1')
object.addAbility('me_stasis_self_1')
object.addAbility('me_thyroid_rupture_1')
object.addAbility('me_traumatize_5')
object.addAbility('me_induce_insanity_1')
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')
return