Files
NGECore2/scripts/demo.py
T

101 lines
4.1 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)
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')
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