diff --git a/ngengine_public.jar b/ngengine_public.jar index 901385d6..bbf671b2 100644 Binary files a/ngengine_public.jar and b/ngengine_public.jar differ diff --git a/odb/WipeAllOdbFolders_ONLY_EXECUTE_IN_ODB_FOLDER.bat b/odb/WipeAllOdbFolders_ONLY_EXECUTE_IN_ODB_FOLDER.bat index ebbd9e09..6fa1c55b 100644 --- a/odb/WipeAllOdbFolders_ONLY_EXECUTE_IN_ODB_FOLDER.bat +++ b/odb/WipeAllOdbFolders_ONLY_EXECUTE_IN_ODB_FOLDER.bat @@ -7,6 +7,23 @@ cls setlocal EnableDelayedExpansion +for %%* in (.) do set CurrDirName=%%~n* + +if "%CurrDirName%" == "eclipse" ( + echo You are running this script from inside Eclipse ^^! + echo You must execute it via windows in the odb folder ONLY ^^! + echo Terminating for your own data safety. + pause + EXIT +) + +if NOT "%CurrDirName%" == "odb" ( + echo You are not executing this file from the odb folder^^! + echo Terminating for your own data safety. + pause + EXIT +) + set /a count=0 for /d %%d in (*) do ( @@ -15,5 +32,4 @@ for /d %%d in (*) do ( del "%%d\*.*" /s/q echo. 2>%%d\placeholder.txt ) -setlocal DisableDelayedExpansion - +setlocal DisableDelayedExpansion \ No newline at end of file diff --git a/scripts/buffs/bh_cover_1.py b/scripts/buffs/bh_cover_1.py index b68de518..0b7e2859 100644 --- a/scripts/buffs/bh_cover_1.py +++ b/scripts/buffs/bh_cover_1.py @@ -6,12 +6,12 @@ def setup(core, actor, buff): def add(core, actor, buff): core.skillModService.addSkillMod(actor, 'expertise_damage_all', 10) core.skillModService.addSkillMod(actor, 'expertise_glancing_blow_ranged', 40) - core.skillModService.addSkillMod(actor, 'invis', 1) + actor.setRadarVisible(False) return def remove(core, actor, buff): core.skillModService.deductSkillMod(actor, 'expertise_damage_all', 10) core.skillModService.deductSkillMod(actor, 'expertise_glancing_blow_ranged', 40) - core.skillModService.deductSkillMod(actor, 'invis', 1) + actor.setRadarVisible(True) return \ No newline at end of file diff --git a/scripts/buffs/invis_fs_buff_invis_1.py b/scripts/buffs/invis_fs_buff_invis_1.py index c60417a0..84ef0058 100644 --- a/scripts/buffs/invis_fs_buff_invis_1.py +++ b/scripts/buffs/invis_fs_buff_invis_1.py @@ -4,8 +4,12 @@ def setup(core, actor, buff): return def add(core, actor, buff): + actor.setInStealth(True) + actor.setRadarVisible(False) return def remove(core, actor, buff): + actor.setInStealth(False) + actor.setRadarVisible(True) return - \ No newline at end of file + diff --git a/scripts/buffs/of_stimulator_1.py b/scripts/buffs/of_stimulator_1.py index 4e120b7f..492e64d7 100644 --- a/scripts/buffs/of_stimulator_1.py +++ b/scripts/buffs/of_stimulator_1.py @@ -9,4 +9,5 @@ def add(core, actor, buff): def remove(core, actor, buff): core.skillModService.deductSkillMod(actor, 'debuff_purge', 2) + return \ No newline at end of file diff --git a/scripts/commands/createvendor.py b/scripts/commands/createvendor.py new file mode 100644 index 00000000..23893fff --- /dev/null +++ b/scripts/commands/createvendor.py @@ -0,0 +1,25 @@ +import sys + +def setup(): + return + +def run(core, actor, target, commandString): + + if actor.getCombatFlag() > 0: + return + + cell = actor.getContainer() + building = actor.getGrandparent() + ghost = actor.getSlottedObject('ghost') + + if not ghost or not cell or not building or not core.housingService.getPermissions(player, cell) + return + + if ghost.getAmountOfVendors() >= actor.getSkillModBase('manage_vendor'): + actor.sendSystemMessage('@player_structure:full_vendors', 0) + return + + + + return + \ No newline at end of file diff --git a/scripts/commands/en_sprint_1.py b/scripts/commands/en_sprint_1.py index 1393d38e..a24ef49d 100644 --- a/scripts/commands/en_sprint_1.py +++ b/scripts/commands/en_sprint_1.py @@ -4,5 +4,5 @@ def setup(): return def run(core, actor, target, commandString): - core.buffService.addBuffToCreature(actor, 'en_sprint') + core.buffService.addBuffToCreature(actor, 'en_sprint', actor) return \ No newline at end of file diff --git a/scripts/commands/forcerun.py b/scripts/commands/forcerun.py index df72153b..c4dabf79 100644 --- a/scripts/commands/forcerun.py +++ b/scripts/commands/forcerun.py @@ -4,6 +4,6 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addBuffToCreature(actor, 'fs_force_run') + core.buffService.addBuffToCreature(actor, 'fs_force_run', actor) return \ No newline at end of file diff --git a/scripts/commands/fs_buff_ca_1.py b/scripts/commands/fs_buff_ca_1.py index 141b3158..2d12673e 100644 --- a/scripts/commands/fs_buff_ca_1.py +++ b/scripts/commands/fs_buff_ca_1.py @@ -4,6 +4,6 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addBuffToCreature(actor, 'fs_buff_ca_1') + core.buffService.addBuffToCreature(actor, 'fs_buff_ca_1', actor) return \ No newline at end of file diff --git a/scripts/commands/fs_buff_def_1_1.py b/scripts/commands/fs_buff_def_1_1.py index cd9637f1..0125c187 100644 --- a/scripts/commands/fs_buff_def_1_1.py +++ b/scripts/commands/fs_buff_def_1_1.py @@ -4,6 +4,6 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addBuffToCreature(actor, 'fs_buff_def_1_1') + core.buffService.addBuffToCreature(actor, 'fs_buff_def_1_1', actor) return \ No newline at end of file diff --git a/scripts/commands/fs_buff_invis_1.py b/scripts/commands/fs_buff_invis_1.py index 57ed4a59..965d034c 100644 --- a/scripts/commands/fs_buff_invis_1.py +++ b/scripts/commands/fs_buff_invis_1.py @@ -4,6 +4,6 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addBuffToCreature(actor, 'invis_fs_buff_invis_1') + core.buffService.addBuffToCreature(actor, 'invis_fs_buff_invis_1', actor) return \ No newline at end of file diff --git a/scripts/commands/fs_saber_reflect_buff.py b/scripts/commands/fs_saber_reflect_buff.py index 898e2530..29f49243 100644 --- a/scripts/commands/fs_saber_reflect_buff.py +++ b/scripts/commands/fs_saber_reflect_buff.py @@ -4,6 +4,6 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addBuffToCreature(actor, 'fs_saber_reflect') + core.buffService.addBuffToCreature(actor, 'fs_saber_reflect', actor) return \ No newline at end of file diff --git a/scripts/commands/loot.py b/scripts/commands/loot.py new file mode 100644 index 00000000..19ae81f3 --- /dev/null +++ b/scripts/commands/loot.py @@ -0,0 +1,14 @@ +import sys + +def setup(): + return + +def run(core, actor, target, commandString): + + if not target: + return + + #actor.sendSystemMessage('LOOT SCRIPT COMMAND', 0) + core.lootService.handleLootRequest(actor,target) + return + \ No newline at end of file diff --git a/scripts/commands/me_cure_affliction_1.py b/scripts/commands/me_cure_affliction_1.py index 1e9189f1..c03b5879 100644 --- a/scripts/commands/me_cure_affliction_1.py +++ b/scripts/commands/me_cure_affliction_1.py @@ -4,5 +4,5 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addBuffToCreature(actor, 'me_cure_affliction_1') + core.buffService.addBuffToCreature(actor, 'me_cure_affliction_1', target) return \ No newline at end of file diff --git a/scripts/commands/me_evasion_1.py b/scripts/commands/me_evasion_1.py index 52391238..6fb5001a 100644 --- a/scripts/commands/me_evasion_1.py +++ b/scripts/commands/me_evasion_1.py @@ -4,5 +4,5 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addBuffToCreature(actor, 'me_evasion_1') + core.buffService.addBuffToCreature(actor, 'me_evasion_1', actor) return \ No newline at end of file diff --git a/scripts/commands/me_stasis_self_1.py b/scripts/commands/me_stasis_self_1.py index fc808c70..192637a1 100644 --- a/scripts/commands/me_stasis_self_1.py +++ b/scripts/commands/me_stasis_self_1.py @@ -18,7 +18,7 @@ def run(core, actor, target, commandString): if not combatSvc.applySpecialCost(actor, weapon, CombatCommand('me_stasis_self_1')): return - core.buffService.addBuffToCreature(actor, 'me_stasis_self_1') + core.buffService.addBuffToCreature(actor, 'me_stasis_self_1', actor) return \ No newline at end of file diff --git a/scripts/commands/of_emergency_shield.py b/scripts/commands/of_emergency_shield.py index 0a9cb543..73586f60 100644 --- a/scripts/commands/of_emergency_shield.py +++ b/scripts/commands/of_emergency_shield.py @@ -4,6 +4,6 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addBuffToCreature(actor, 'of_emergency_shield') + core.buffService.addBuffToCreature(actor, 'of_emergency_shield', actor) return \ No newline at end of file diff --git a/scripts/commands/of_firepower_1.py b/scripts/commands/of_firepower_1.py index 50eba86a..442a5d45 100644 --- a/scripts/commands/of_firepower_1.py +++ b/scripts/commands/of_firepower_1.py @@ -4,6 +4,6 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addBuffToCreature(actor, 'of_firepower') + core.buffService.addBuffToCreature(actor, 'of_firepower', actor) return \ No newline at end of file diff --git a/scripts/commands/of_inspiration_1.py b/scripts/commands/of_inspiration_1.py index 9f0c3a20..fc017af7 100644 --- a/scripts/commands/of_inspiration_1.py +++ b/scripts/commands/of_inspiration_1.py @@ -4,6 +4,6 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addGroupBuff(actor, 'of_inspiration_1') + core.buffService.addGroupBuff(actor, 'of_inspiration_1', actor) return \ No newline at end of file diff --git a/scripts/commands/of_inspiration_2.py b/scripts/commands/of_inspiration_2.py index c7ffcb5e..44ae030d 100644 --- a/scripts/commands/of_inspiration_2.py +++ b/scripts/commands/of_inspiration_2.py @@ -4,6 +4,6 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addGroupBuff(actor, 'of_inspiration_2') + core.buffService.addGroupBuff(actor, 'of_inspiration_2', actor) return \ No newline at end of file diff --git a/scripts/commands/of_inspiration_3.py b/scripts/commands/of_inspiration_3.py index fd2e8b80..52711f2a 100644 --- a/scripts/commands/of_inspiration_3.py +++ b/scripts/commands/of_inspiration_3.py @@ -4,6 +4,6 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addGroupBuff(actor, 'of_inspiration_3') + core.buffService.addGroupBuff(actor, 'of_inspiration_3', actor) return \ No newline at end of file diff --git a/scripts/commands/of_inspiration_4.py b/scripts/commands/of_inspiration_4.py index 35bae1ab..853d793d 100644 --- a/scripts/commands/of_inspiration_4.py +++ b/scripts/commands/of_inspiration_4.py @@ -4,6 +4,6 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addGroupBuff(actor, 'of_inspiration_4') + core.buffService.addGroupBuff(actor, 'of_inspiration_4', actor) return \ No newline at end of file diff --git a/scripts/commands/of_inspiration_5.py b/scripts/commands/of_inspiration_5.py index f9c9ba48..8723fc61 100644 --- a/scripts/commands/of_inspiration_5.py +++ b/scripts/commands/of_inspiration_5.py @@ -4,6 +4,6 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addGroupBuff(actor, 'of_inspiration_5') + core.buffService.addGroupBuff(actor, 'of_inspiration_5', actor) return \ No newline at end of file diff --git a/scripts/commands/of_inspiration_6.py b/scripts/commands/of_inspiration_6.py index ca05422d..5459e9ec 100644 --- a/scripts/commands/of_inspiration_6.py +++ b/scripts/commands/of_inspiration_6.py @@ -4,6 +4,6 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addGroupBuff(actor, 'of_inspiration_6') + core.buffService.addGroupBuff(actor, 'of_inspiration_6', actor) return \ No newline at end of file diff --git a/scripts/commands/of_purge_1.py b/scripts/commands/of_purge_1.py index 7a6edae9..1d1f6bae 100644 --- a/scripts/commands/of_purge_1.py +++ b/scripts/commands/of_purge_1.py @@ -4,6 +4,6 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addBuffToCreature(actor, 'of_purge_1') + core.buffService.addBuffToCreature(actor, 'of_purge_1', actor) return \ No newline at end of file diff --git a/scripts/commands/of_scatter_1.py b/scripts/commands/of_scatter_1.py index 3984ca10..855c1841 100644 --- a/scripts/commands/of_scatter_1.py +++ b/scripts/commands/of_scatter_1.py @@ -4,6 +4,6 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addBuffToCreature(actor, 'of_scatter_1', actor) + core.buffService.addGroupBuff(actor, 'of_scatter_1', actor) return \ No newline at end of file diff --git a/scripts/commands/of_stimulator_1.py b/scripts/commands/of_stimulator_1.py index c9b5a1c1..25efda68 100644 --- a/scripts/commands/of_stimulator_1.py +++ b/scripts/commands/of_stimulator_1.py @@ -4,6 +4,6 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addBuffToCreature(actor, 'of_stimulator_1') + core.buffService.addBuffToCreature(actor, 'of_stimulator_1', actor) return \ No newline at end of file diff --git a/scripts/commands/saberblock.py b/scripts/commands/saberblock.py index 55e12c59..4a69c0ff 100644 --- a/scripts/commands/saberblock.py +++ b/scripts/commands/saberblock.py @@ -4,6 +4,6 @@ def setup(core, actor, buff): return def run(core, actor, target, commandString): - core.buffService.addBuffToCreature(actor, 'saberblock') + core.buffService.addBuffToCreature(actor, 'saberblock', actor) return \ No newline at end of file diff --git a/scripts/commands/transferitemmisc.py b/scripts/commands/transferitemmisc.py index e30072ba..16c98965 100644 --- a/scripts/commands/transferitemmisc.py +++ b/scripts/commands/transferitemmisc.py @@ -13,6 +13,10 @@ def run(core, actor, target, commandString): if container == None: return + if container.getTemplate().startswith("object/tangible/inventory/shared_lightsaber_inventory") or target.getContainer().getTemplate().startswith("object/tangible/inventory/shared_lightsaber_inventory"): + core.equipmentService.calculateLightsaberAttributes(actor, target, container) + return; + if target.getTemplate() == 'object/tangible/item/shared_loot_cash.iff': core.lootService.handleCreditPickUp(actor,target) core.objectService.destroyObject(target) diff --git a/scripts/conversation/junk_dealer.py b/scripts/conversation/junk_dealer.py index 7c146b0f..5e5c435b 100644 --- a/scripts/conversation/junk_dealer.py +++ b/scripts/conversation/junk_dealer.py @@ -279,7 +279,7 @@ def noSellWindowCallBack(owner, window, eventType, returnList): #cancel if eventType == 1: - owner.sendSystemMessage('Cancle', 0) + owner.sendSystemMessage('Cancel', 0) sellItem = returnList.get(0) startConversation(coreRef,owner,junkDealerRef) return diff --git a/scripts/loot/lootItems/armor/bone/bone_armor_bicep_left.py b/scripts/loot/lootItems/armor/bone/bone_armor_bicep_left.py new file mode 100644 index 00000000..c6582c41 --- /dev/null +++ b/scripts/loot/lootItems/armor/bone/bone_armor_bicep_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/bone/shared_armor_bone_s01_bicep_l.iff'] + +def customItemName(): + + return 'Bone Armor Bicep Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/bone/bone_armor_bicep_right.py b/scripts/loot/lootItems/armor/bone/bone_armor_bicep_right.py new file mode 100644 index 00000000..09b6ad68 --- /dev/null +++ b/scripts/loot/lootItems/armor/bone/bone_armor_bicep_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/bone/shared_armor_bone_s01_bicep_r.iff'] + +def customItemName(): + + return 'Bone Armor Bicep Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/bone/bone_armor_boots.py b/scripts/loot/lootItems/armor/bone/bone_armor_boots.py new file mode 100644 index 00000000..d2debb33 --- /dev/null +++ b/scripts/loot/lootItems/armor/bone/bone_armor_boots.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/bone/shared_armor_bone_s01_boots.iff'] + +def customItemName(): + + return 'Bone Armor Boots' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/bone/bone_armor_bracer_left.py b/scripts/loot/lootItems/armor/bone/bone_armor_bracer_left.py new file mode 100644 index 00000000..75e01372 --- /dev/null +++ b/scripts/loot/lootItems/armor/bone/bone_armor_bracer_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/bone/shared_armor_bone_s01_bracer_l.iff'] + +def customItemName(): + + return 'Bone Armor Bracer Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/bone/bone_armor_bracer_right.py b/scripts/loot/lootItems/armor/bone/bone_armor_bracer_right.py new file mode 100644 index 00000000..a7049c68 --- /dev/null +++ b/scripts/loot/lootItems/armor/bone/bone_armor_bracer_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/bone/shared_armor_bone_s01_bracer_r.iff'] + +def customItemName(): + + return 'Bone Armor Bracer Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/bone/bone_armor_chestplate.py b/scripts/loot/lootItems/armor/bone/bone_armor_chestplate.py new file mode 100644 index 00000000..dd41276b --- /dev/null +++ b/scripts/loot/lootItems/armor/bone/bone_armor_chestplate.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/bone/shared_armor_bone_s01_chest_plate.iff'] + +def customItemName(): + + return 'Bone Armor Chestplate' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/bone/bone_armor_gloves.py b/scripts/loot/lootItems/armor/bone/bone_armor_gloves.py new file mode 100644 index 00000000..c888e788 --- /dev/null +++ b/scripts/loot/lootItems/armor/bone/bone_armor_gloves.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/bone/shared_armor_bone_s01_gloves.iff'] + +def customItemName(): + + return 'Bone Armor Gloves' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/bone/bone_armor_helmet.py b/scripts/loot/lootItems/armor/bone/bone_armor_helmet.py new file mode 100644 index 00000000..88cab026 --- /dev/null +++ b/scripts/loot/lootItems/armor/bone/bone_armor_helmet.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/bone/shared_armor_bone_s01_helmet.iff'] + +def customItemName(): + + return 'Bone Armor Helmet' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/bone/bone_armor_leggings.py b/scripts/loot/lootItems/armor/bone/bone_armor_leggings.py new file mode 100644 index 00000000..2c3f2671 --- /dev/null +++ b/scripts/loot/lootItems/armor/bone/bone_armor_leggings.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/bone/shared_armor_bone_s01_leggings.iff'] + +def customItemName(): + + return 'Bone Armor Leggings' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/chitin/chitin_armor_bicep_left.py b/scripts/loot/lootItems/armor/chitin/chitin_armor_bicep_left.py new file mode 100644 index 00000000..d70540c8 --- /dev/null +++ b/scripts/loot/lootItems/armor/chitin/chitin_armor_bicep_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_bicep_l.iff'] + +def customItemName(): + + return 'Chitin Armor Bicep Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/chitin/chitin_armor_bicep_right.py b/scripts/loot/lootItems/armor/chitin/chitin_armor_bicep_right.py new file mode 100644 index 00000000..76a9ff3d --- /dev/null +++ b/scripts/loot/lootItems/armor/chitin/chitin_armor_bicep_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_bicep_r.iff'] + +def customItemName(): + + return 'Chitin Armor Bicep Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/chitin/chitin_armor_boots.py b/scripts/loot/lootItems/armor/chitin/chitin_armor_boots.py new file mode 100644 index 00000000..4163c447 --- /dev/null +++ b/scripts/loot/lootItems/armor/chitin/chitin_armor_boots.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_boots.iff'] + +def customItemName(): + + return 'Chitin Armor Boots' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/chitin/chitin_armor_bracer_left.py b/scripts/loot/lootItems/armor/chitin/chitin_armor_bracer_left.py new file mode 100644 index 00000000..70f1135c --- /dev/null +++ b/scripts/loot/lootItems/armor/chitin/chitin_armor_bracer_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_bracer_l.iff'] + +def customItemName(): + + return 'Chitin Armor Bracer Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/chitin/chitin_armor_bracer_right.py b/scripts/loot/lootItems/armor/chitin/chitin_armor_bracer_right.py new file mode 100644 index 00000000..5ae0a4f3 --- /dev/null +++ b/scripts/loot/lootItems/armor/chitin/chitin_armor_bracer_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_bracer_r.iff'] + +def customItemName(): + + return 'Chitin Armor Bracer Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/chitin/chitin_armor_chestplate.py b/scripts/loot/lootItems/armor/chitin/chitin_armor_chestplate.py new file mode 100644 index 00000000..29450398 --- /dev/null +++ b/scripts/loot/lootItems/armor/chitin/chitin_armor_chestplate.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_chest_plate.iff'] + +def customItemName(): + + return 'Chitin Armor Chestplate' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/chitin/chitin_armor_gloves.py b/scripts/loot/lootItems/armor/chitin/chitin_armor_gloves.py new file mode 100644 index 00000000..0fec0496 --- /dev/null +++ b/scripts/loot/lootItems/armor/chitin/chitin_armor_gloves.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_gloves.iff'] + +def customItemName(): + + return 'Chitin Armor Gloves' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/chitin/chitin_armor_helmet.py b/scripts/loot/lootItems/armor/chitin/chitin_armor_helmet.py new file mode 100644 index 00000000..16fea8fd --- /dev/null +++ b/scripts/loot/lootItems/armor/chitin/chitin_armor_helmet.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_helmet.iff'] + +def customItemName(): + + return 'Chitin Armor Helmet' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/chitin/chitin_armor_leggings.py b/scripts/loot/lootItems/armor/chitin/chitin_armor_leggings.py new file mode 100644 index 00000000..f98f26c2 --- /dev/null +++ b/scripts/loot/lootItems/armor/chitin/chitin_armor_leggings.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_leggings.iff'] + +def customItemName(): + + return 'Chitin Armor Leggings' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/composite_armor_bicep_left.py b/scripts/loot/lootItems/armor/composite/composite_armor_bicep_left.py similarity index 100% rename from scripts/loot/lootItems/armor/composite_armor_bicep_left.py rename to scripts/loot/lootItems/armor/composite/composite_armor_bicep_left.py diff --git a/scripts/loot/lootItems/armor/composite_armor_bicep_right.py b/scripts/loot/lootItems/armor/composite/composite_armor_bicep_right.py similarity index 100% rename from scripts/loot/lootItems/armor/composite_armor_bicep_right.py rename to scripts/loot/lootItems/armor/composite/composite_armor_bicep_right.py diff --git a/scripts/loot/lootItems/armor/composite_armor_boots.py b/scripts/loot/lootItems/armor/composite/composite_armor_boots.py similarity index 100% rename from scripts/loot/lootItems/armor/composite_armor_boots.py rename to scripts/loot/lootItems/armor/composite/composite_armor_boots.py diff --git a/scripts/loot/lootItems/armor/composite_armor_bracer_left.py b/scripts/loot/lootItems/armor/composite/composite_armor_bracer_left.py similarity index 100% rename from scripts/loot/lootItems/armor/composite_armor_bracer_left.py rename to scripts/loot/lootItems/armor/composite/composite_armor_bracer_left.py diff --git a/scripts/loot/lootItems/armor/composite_armor_bracer_right.py b/scripts/loot/lootItems/armor/composite/composite_armor_bracer_right.py similarity index 100% rename from scripts/loot/lootItems/armor/composite_armor_bracer_right.py rename to scripts/loot/lootItems/armor/composite/composite_armor_bracer_right.py diff --git a/scripts/loot/lootItems/armor/composite_armor_chestplate.py b/scripts/loot/lootItems/armor/composite/composite_armor_chestplate.py similarity index 100% rename from scripts/loot/lootItems/armor/composite_armor_chestplate.py rename to scripts/loot/lootItems/armor/composite/composite_armor_chestplate.py diff --git a/scripts/loot/lootItems/armor/composite_armor_gloves.py b/scripts/loot/lootItems/armor/composite/composite_armor_gloves.py similarity index 100% rename from scripts/loot/lootItems/armor/composite_armor_gloves.py rename to scripts/loot/lootItems/armor/composite/composite_armor_gloves.py diff --git a/scripts/loot/lootItems/armor/composite_armor_helmet.py b/scripts/loot/lootItems/armor/composite/composite_armor_helmet.py similarity index 100% rename from scripts/loot/lootItems/armor/composite_armor_helmet.py rename to scripts/loot/lootItems/armor/composite/composite_armor_helmet.py diff --git a/scripts/loot/lootItems/armor/composite_armor_leggings.py b/scripts/loot/lootItems/armor/composite/composite_armor_leggings.py similarity index 100% rename from scripts/loot/lootItems/armor/composite_armor_leggings.py rename to scripts/loot/lootItems/armor/composite/composite_armor_leggings.py diff --git a/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_bicep_left.py b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_bicep_left.py new file mode 100644 index 00000000..06abafbd --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_bicep_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_bicep_l.iff'] + +def customItemName(): + + return 'Ithorian Defender Armor Bicep Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_bicep_right.py b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_bicep_right.py new file mode 100644 index 00000000..3a226c23 --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_bicep_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_bicep_r.iff'] + +def customItemName(): + + return 'Ithorian Defender Armor Bicep Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_boots.py b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_boots.py new file mode 100644 index 00000000..6c6c1ca4 --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_boots.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_boots.iff'] + +def customItemName(): + + return 'Ithorian Defender Armor Boots' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_bracer_left.py b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_bracer_left.py new file mode 100644 index 00000000..607baa7f --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_bracer_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_bracer_l.iff'] + +def customItemName(): + + return 'Ithorian Defender Armor Bracer Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_bracer_right.py b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_bracer_right.py new file mode 100644 index 00000000..63cb0e4b --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_bracer_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_bracer_r.iff'] + +def customItemName(): + + return 'Ithorian Defender Armor Bracer Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_chestplate.py b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_chestplate.py new file mode 100644 index 00000000..0c0d699b --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_chestplate.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_chest_plate.iff'] + +def customItemName(): + + return 'Ithorian Defender Armor Chestplate' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_gloves.py b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_gloves.py new file mode 100644 index 00000000..5d1f4535 --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_gloves.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_gloves.iff'] + +def customItemName(): + + return 'Ithorian Defender Armor Gloves' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_helmet.py b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_helmet.py new file mode 100644 index 00000000..7828a56b --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_helmet.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_helmet.iff'] + +def customItemName(): + + return 'Ithorian Defender Armor Helmet' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_leggings.py b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_leggings.py new file mode 100644 index 00000000..f95cff3f --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_defender/ithorian_defender_armor_leggings.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_leggings.iff'] + +def customItemName(): + + return 'Ithorian Defender Armor Leggings' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_bicep_left.py b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_bicep_left.py new file mode 100644 index 00000000..eedb6c9b --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_bicep_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_bicep_l.iff'] + +def customItemName(): + + return 'Ithorian Guardian Armor Bicep Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_bicep_right.py b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_bicep_right.py new file mode 100644 index 00000000..b0edd6d9 --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_bicep_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_bicep_r.iff'] + +def customItemName(): + + return 'Ithorian Guardian Armor Bicep Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_boots.py b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_boots.py new file mode 100644 index 00000000..3b27d829 --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_boots.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_boots.iff'] + +def customItemName(): + + return 'Ithorian Guardian Armor Boots' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_bracer_left.py b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_bracer_left.py new file mode 100644 index 00000000..3f72841a --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_bracer_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_bracer_l.iff'] + +def customItemName(): + + return 'Ithorian Guardian Armor Bracer Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_bracer_right.py b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_bracer_right.py new file mode 100644 index 00000000..9072b494 --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_bracer_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_bracer_r.iff'] + +def customItemName(): + + return 'Ithorian Guardian Armor Bracer Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_chestplate.py b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_chestplate.py new file mode 100644 index 00000000..6ec13a5e --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_chestplate.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_chest_plate.iff'] + +def customItemName(): + + return 'Ithorian Guardian Armor Chestplate' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_gloves.py b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_gloves.py new file mode 100644 index 00000000..002612cb --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_gloves.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_gloves.iff'] + +def customItemName(): + + return 'Ithorian Guardian Armor Gloves' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_helmet.py b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_helmet.py new file mode 100644 index 00000000..418501a6 --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_helmet.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_helmet.iff'] + +def customItemName(): + + return 'Ithorian Guardian Armor Helmet' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_leggings.py b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_leggings.py new file mode 100644 index 00000000..bcc43166 --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_guardian/ithorian_guardian_armor_leggings.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_leggings.iff'] + +def customItemName(): + + return 'Ithorian Guardian Armor Leggings' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_bicep_left.py b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_bicep_left.py new file mode 100644 index 00000000..0963cfc9 --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_bicep_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bicep_l.iff'] + +def customItemName(): + + return 'Ithorian Sentinel Armor Bicep Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_bicep_right.py b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_bicep_right.py new file mode 100644 index 00000000..acd5473f --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_bicep_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bicep_r.iff'] + +def customItemName(): + + return 'Ithorian Sentinel Armor Bicep Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_boots.py b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_boots.py new file mode 100644 index 00000000..e961438f --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_boots.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_boots.iff'] + +def customItemName(): + + return 'Ithorian Sentinel Armor Boots' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_bracer_left.py b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_bracer_left.py new file mode 100644 index 00000000..fd73de77 --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_bracer_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bracer_l.iff'] + +def customItemName(): + + return 'Ithorian Sentinel Armor Bracer Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_bracer_right.py b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_bracer_right.py new file mode 100644 index 00000000..dba70a3c --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_bracer_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bracer_r.iff'] + +def customItemName(): + + return 'Ithorian Sentinel Armor Bracer Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_chestplate.py b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_chestplate.py new file mode 100644 index 00000000..2bde059c --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_chestplate.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_chest_plate.iff'] + +def customItemName(): + + return 'Ithorian Sentinel Armor Chestplate' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_gloves.py b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_gloves.py new file mode 100644 index 00000000..439d857e --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_gloves.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_gloves.iff'] + +def customItemName(): + + return 'Ithorian Sentinel Armor Gloves' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_helmet.py b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_helmet.py new file mode 100644 index 00000000..efc9a054 --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_helmet.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_helmet.iff'] + +def customItemName(): + + return 'Ithorian Sentinel Armor Helmet' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_leggings.py b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_leggings.py new file mode 100644 index 00000000..b4f3eafc --- /dev/null +++ b/scripts/loot/lootItems/armor/ithorian_sentinel/ithorian_sentinel_armor_leggings.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_leggings.iff'] + +def customItemName(): + + return 'Ithorian Sentinel Armor Leggings' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_armor_bicep_left.py b/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_armor_bicep_left.py new file mode 100644 index 00000000..2f6e2b95 --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_armor_bicep_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_black_mtn/shared_armor_kashyyykian_black_mtn_bicep_l.iff'] + +def customItemName(): + + return 'Kashyyykian Black Mountain Bicep Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_armor_bicep_right.py b/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_armor_bicep_right.py new file mode 100644 index 00000000..8cec0f7d --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_armor_bicep_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_black_mtn/shared_armor_kashyyykian_black_mtn_bicep_r.iff'] + +def customItemName(): + + return 'Kashyyykian Black Mountain Bicep Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_armor_bracer_left.py b/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_armor_bracer_left.py new file mode 100644 index 00000000..64ee47c3 --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_armor_bracer_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_black_mtn/shared_armor_kashyyykian_black_mtn_bracer_l.iff'] + +def customItemName(): + + return 'Kashyyykian Black Mountain Bracer Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_armor_bracer_right.py b/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_armor_bracer_right.py new file mode 100644 index 00000000..c17c1c47 --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_armor_bracer_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_black_mtn/shared_armor_kashyyykian_black_mtn_bracer_r.iff'] + +def customItemName(): + + return 'Kashyyykian Black Mountain Bracer Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_armor_chestplate.py b/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_armor_chestplate.py new file mode 100644 index 00000000..618d2a57 --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_armor_chestplate.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_black_mtn/shared_armor_kashyyykian_black_mtn_chestplate.iff'] + +def customItemName(): + + return 'Kashyyykian Black Mountain Chestplate' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_leggings.py b/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_leggings.py new file mode 100644 index 00000000..0118c616 --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_black_mtn/kashyyykian_black_mtn_leggings.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_black_mtn/shared_armor_kashyyykian_black_mtn_leggings.iff'] + +def customItemName(): + + return 'Kashyyykian Black Mountain Leggings' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_bicep_left.py b/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_bicep_left.py new file mode 100644 index 00000000..6f2e204e --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_bicep_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_ceremonial/shared_armor_kashyyykian_ceremonial_bicep_l.iff'] + +def customItemName(): + + return 'Kashyyykian Ceremonial Bicep Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_bicep_right.py b/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_bicep_right.py new file mode 100644 index 00000000..b8e67983 --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_bicep_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_ceremonial/shared_armor_kashyyykian_ceremonial_bicep_r.iff'] + +def customItemName(): + + return 'Kashyyykian Ceremonial Bicep Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_bracer_left.py b/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_bracer_left.py new file mode 100644 index 00000000..3e27ce7f --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_bracer_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_ceremonial/shared_armor_kashyyykian_ceremonial_bracer_l.iff'] + +def customItemName(): + + return 'Kashyyykian Ceremonial Bracer Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_bracer_right.py b/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_bracer_right.py new file mode 100644 index 00000000..fa389235 --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_bracer_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_ceremonial/shared_armor_kashyyykian_ceremonial_bracer_r.iff'] + +def customItemName(): + + return 'Kashyyykian Ceremonial Bracer Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_chestplate.py b/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_chestplate.py new file mode 100644 index 00000000..de3f29d8 --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_chestplate.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_ceremonial/shared_armor_kashyyykian_ceremonial_chestplate.iff'] + +def customItemName(): + + return 'Kashyyykian Ceremonial Chestplate' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_leggings.py b/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_leggings.py new file mode 100644 index 00000000..5ffea758 --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_ceremonial/kashyyykian_ceremonial_leggings.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_ceremonial/shared_armor_kashyyykian_ceremonial_leggings.iff'] + +def customItemName(): + + return 'Kashyyykian Ceremonial Leggings' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_bicep_left.py b/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_bicep_left.py new file mode 100644 index 00000000..02717dc3 --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_bicep_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bicep_l.iff'] + +def customItemName(): + + return 'Kashyyykian Hunting Bicep Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_bicep_right.py b/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_bicep_right.py new file mode 100644 index 00000000..70aba08f --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_bicep_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bicep_r.iff'] + +def customItemName(): + + return 'Kashyyykian Hunting Bicep Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_bracer_left.py b/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_bracer_left.py new file mode 100644 index 00000000..601c880d --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_bracer_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bracer_l.iff'] + +def customItemName(): + + return 'Kashyyykian Hunting Bracer Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_bracer_right.py b/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_bracer_right.py new file mode 100644 index 00000000..b00a3420 --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_bracer_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bracer_r.iff'] + +def customItemName(): + + return 'Kashyyykian Hunting Bracer Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_chestplate.py b/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_chestplate.py new file mode 100644 index 00000000..692bca15 --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_chestplate.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_chest_plate.iff'] + +def customItemName(): + + return 'Kashyyykian Hunting Chestplate' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_leggings.py b/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_leggings.py new file mode 100644 index 00000000..ff7c10c1 --- /dev/null +++ b/scripts/loot/lootItems/armor/kashyyykian_hunting/kashyyykian_hunting_leggings.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_leggings.iff'] + +def customItemName(): + + return 'Kashyyykian Hunting Leggings' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/marauder/marauder_armor_bicep_left.py b/scripts/loot/lootItems/armor/marauder/marauder_armor_bicep_left.py new file mode 100644 index 00000000..5311bb2a --- /dev/null +++ b/scripts/loot/lootItems/armor/marauder/marauder_armor_bicep_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/marauder/shared_armor_marauder_s01_bicep_l.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s02_bicep_l.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s03_bicep_l.iff'] + +def customItemName(): + + return 'Marauder Armor Bicep Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/marauder/marauder_armor_bicep_right.py b/scripts/loot/lootItems/armor/marauder/marauder_armor_bicep_right.py new file mode 100644 index 00000000..ec4725e9 --- /dev/null +++ b/scripts/loot/lootItems/armor/marauder/marauder_armor_bicep_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/marauder/shared_armor_marauder_s01_bicep_r.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s02_bicep_r.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s03_bicep_r.iff'] + +def customItemName(): + + return 'Marauder Armor Bicep Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/marauder/marauder_armor_boots.py b/scripts/loot/lootItems/armor/marauder/marauder_armor_boots.py new file mode 100644 index 00000000..4fff799b --- /dev/null +++ b/scripts/loot/lootItems/armor/marauder/marauder_armor_boots.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/marauder/shared_armor_marauder_s01_boots.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s02_boots.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s03_boots.iff'] + +def customItemName(): + + return 'Marauder Armor Boots' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/marauder/marauder_armor_bracer_left.py b/scripts/loot/lootItems/armor/marauder/marauder_armor_bracer_left.py new file mode 100644 index 00000000..13e8df13 --- /dev/null +++ b/scripts/loot/lootItems/armor/marauder/marauder_armor_bracer_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/marauder/shared_armor_marauder_s01_bracer_l.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s02_bracer_l.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s03_bracer_l.iff'] + +def customItemName(): + + return 'Marauder Armor Bracer Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/marauder/marauder_armor_bracer_right.py b/scripts/loot/lootItems/armor/marauder/marauder_armor_bracer_right.py new file mode 100644 index 00000000..7d7938f0 --- /dev/null +++ b/scripts/loot/lootItems/armor/marauder/marauder_armor_bracer_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/marauder/shared_armor_marauder_s01_bracer_r.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s02_bracer_r.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s03_bracer_r.iff'] + +def customItemName(): + + return 'Marauder Armor Bracer Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/marauder/marauder_armor_chestplate.py b/scripts/loot/lootItems/armor/marauder/marauder_armor_chestplate.py new file mode 100644 index 00000000..2372a663 --- /dev/null +++ b/scripts/loot/lootItems/armor/marauder/marauder_armor_chestplate.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/marauder/shared_armor_marauder_s01_chest_plate.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s02_chest_plate.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s03_chest_plate.iff'] + +def customItemName(): + + return 'Marauder Armor Chestplate' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/marauder/marauder_armor_gloves.py b/scripts/loot/lootItems/armor/marauder/marauder_armor_gloves.py new file mode 100644 index 00000000..79bf35b1 --- /dev/null +++ b/scripts/loot/lootItems/armor/marauder/marauder_armor_gloves.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/marauder/shared_armor_marauder_s01_gloves.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s02_gloves.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s03_gloves.iff'] + +def customItemName(): + + return 'Marauder Armor Gloves' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/marauder/marauder_armor_helmet.py b/scripts/loot/lootItems/armor/marauder/marauder_armor_helmet.py new file mode 100644 index 00000000..0e8674f7 --- /dev/null +++ b/scripts/loot/lootItems/armor/marauder/marauder_armor_helmet.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/marauder/shared_armor_marauder_s01_helmet.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s02_helmet.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s03_helmet.iff'] + +def customItemName(): + + return 'Marauder Armor Helmet' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/marauder/marauder_armor_leggings.py b/scripts/loot/lootItems/armor/marauder/marauder_armor_leggings.py new file mode 100644 index 00000000..8e613148 --- /dev/null +++ b/scripts/loot/lootItems/armor/marauder/marauder_armor_leggings.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/marauder/shared_armor_marauder_s01_leggings.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s02_leggings.iff','object/tangible/wearables/armor/marauder/shared_armor_marauder_s03_leggings.iff'] + +def customItemName(): + + return 'Marauder Armor Leggings' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/padded/padded_armor_bicep_left.py b/scripts/loot/lootItems/armor/padded/padded_armor_bicep_left.py new file mode 100644 index 00000000..c2f93b24 --- /dev/null +++ b/scripts/loot/lootItems/armor/padded/padded_armor_bicep_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/padded/shared_armor_padded_s01_bicep_l.iff'] + +def customItemName(): + + return 'Padded Armor Bicep Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/padded/padded_armor_bicep_right.py b/scripts/loot/lootItems/armor/padded/padded_armor_bicep_right.py new file mode 100644 index 00000000..30d77a43 --- /dev/null +++ b/scripts/loot/lootItems/armor/padded/padded_armor_bicep_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/padded/shared_armor_padded_s01_bicep_r.iff'] + +def customItemName(): + + return 'Padded Armor Bicep Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/padded/padded_armor_boots.py b/scripts/loot/lootItems/armor/padded/padded_armor_boots.py new file mode 100644 index 00000000..a1767be7 --- /dev/null +++ b/scripts/loot/lootItems/armor/padded/padded_armor_boots.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/padded/shared_armor_padded_s01_boots.iff'] + +def customItemName(): + + return 'Padded Armor Boots' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/padded/padded_armor_bracer_left.py b/scripts/loot/lootItems/armor/padded/padded_armor_bracer_left.py new file mode 100644 index 00000000..2eb2c45c --- /dev/null +++ b/scripts/loot/lootItems/armor/padded/padded_armor_bracer_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/padded/shared_armor_padded_s01_bracer_l.iff'] + +def customItemName(): + + return 'Padded Armor Bracer Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/padded/padded_armor_bracer_right.py b/scripts/loot/lootItems/armor/padded/padded_armor_bracer_right.py new file mode 100644 index 00000000..182131bf --- /dev/null +++ b/scripts/loot/lootItems/armor/padded/padded_armor_bracer_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/padded/shared_armor_padded_s01_bracer_r.iff'] + +def customItemName(): + + return 'Padded Armor Bracer Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/padded/padded_armor_chestplate.py b/scripts/loot/lootItems/armor/padded/padded_armor_chestplate.py new file mode 100644 index 00000000..7b3c84d5 --- /dev/null +++ b/scripts/loot/lootItems/armor/padded/padded_armor_chestplate.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/padded/shared_armor_padded_s01_chest_plate.iff'] + +def customItemName(): + + return 'Padded Armor Chestplate' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/padded/padded_armor_gloves.py b/scripts/loot/lootItems/armor/padded/padded_armor_gloves.py new file mode 100644 index 00000000..72001ed2 --- /dev/null +++ b/scripts/loot/lootItems/armor/padded/padded_armor_gloves.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/padded/shared_armor_padded_s01_gloves.iff'] + +def customItemName(): + + return 'Padded Armor Gloves' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/padded/padded_armor_helmet.py b/scripts/loot/lootItems/armor/padded/padded_armor_helmet.py new file mode 100644 index 00000000..575e5b98 --- /dev/null +++ b/scripts/loot/lootItems/armor/padded/padded_armor_helmet.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/padded/shared_armor_padded_s01_helmet.iff'] + +def customItemName(): + + return 'Padded Armor Helmet' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/padded/padded_armor_leggings.py b/scripts/loot/lootItems/armor/padded/padded_armor_leggings.py new file mode 100644 index 00000000..c6c299d5 --- /dev/null +++ b/scripts/loot/lootItems/armor/padded/padded_armor_leggings.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/padded/shared_armor_padded_s01_leggings.iff'] + +def customItemName(): + + return 'Padded Armor Leggings' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/tantel/tantel_armor_bicep_left.py b/scripts/loot/lootItems/armor/tantel/tantel_armor_bicep_left.py new file mode 100644 index 00000000..4705777e --- /dev/null +++ b/scripts/loot/lootItems/armor/tantel/tantel_armor_bicep_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/tantel/shared_armor_tantel_skreej_bicep_l.iff'] + +def customItemName(): + + return 'Tantel Armor Bicep Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/tantel/tantel_armor_bicep_right.py b/scripts/loot/lootItems/armor/tantel/tantel_armor_bicep_right.py new file mode 100644 index 00000000..6da6c94b --- /dev/null +++ b/scripts/loot/lootItems/armor/tantel/tantel_armor_bicep_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/tantel/shared_armor_tantel_skreej_bicep_r.iff'] + +def customItemName(): + + return 'Tantel Armor Bicep Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/tantel/tantel_armor_boots.py b/scripts/loot/lootItems/armor/tantel/tantel_armor_boots.py new file mode 100644 index 00000000..7920a987 --- /dev/null +++ b/scripts/loot/lootItems/armor/tantel/tantel_armor_boots.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/tantel/shared_armor_tantel_skreej_boots.iff'] + +def customItemName(): + + return 'Tantel Armor Boots' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/tantel/tantel_armor_bracer_left.py b/scripts/loot/lootItems/armor/tantel/tantel_armor_bracer_left.py new file mode 100644 index 00000000..70c573f3 --- /dev/null +++ b/scripts/loot/lootItems/armor/tantel/tantel_armor_bracer_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/tantel/shared_armor_tantel_skreej_bracer_l.iff'] + +def customItemName(): + + return 'Tantel Armor Bracer Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/tantel/tantel_armor_bracer_right.py b/scripts/loot/lootItems/armor/tantel/tantel_armor_bracer_right.py new file mode 100644 index 00000000..ff47d129 --- /dev/null +++ b/scripts/loot/lootItems/armor/tantel/tantel_armor_bracer_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/tantel/shared_armor_tantel_skreej_bracer_r.iff'] + +def customItemName(): + + return 'Tantel Armor Bracer Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/tantel/tantel_armor_chestplate.py b/scripts/loot/lootItems/armor/tantel/tantel_armor_chestplate.py new file mode 100644 index 00000000..d6babe12 --- /dev/null +++ b/scripts/loot/lootItems/armor/tantel/tantel_armor_chestplate.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/tantel/shared_armor_tantel_skreej_chest_plate.iff'] + +def customItemName(): + + return 'Tantel Armor Chestplate' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/tantel/tantel_armor_gloves.py b/scripts/loot/lootItems/armor/tantel/tantel_armor_gloves.py new file mode 100644 index 00000000..555b5ab1 --- /dev/null +++ b/scripts/loot/lootItems/armor/tantel/tantel_armor_gloves.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/tantel/shared_armor_tantel_skreej_gloves.iff'] + +def customItemName(): + + return 'Tantel Armor Gloves' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/tantel/tantel_armor_helmet.py b/scripts/loot/lootItems/armor/tantel/tantel_armor_helmet.py new file mode 100644 index 00000000..211b9735 --- /dev/null +++ b/scripts/loot/lootItems/armor/tantel/tantel_armor_helmet.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/tantel/shared_armor_tantel_skreej_helmet.iff'] + +def customItemName(): + + return 'Tantel Armor Helmet' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/tantel/tantel_armor_leggings.py b/scripts/loot/lootItems/armor/tantel/tantel_armor_leggings.py new file mode 100644 index 00000000..8550f9a9 --- /dev/null +++ b/scripts/loot/lootItems/armor/tantel/tantel_armor_leggings.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/tantel/shared_armor_tantel_skreej_leggings.iff'] + +def customItemName(): + + return 'Tantel Armor Leggings' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ubese/ubese_armor_bandolier.py b/scripts/loot/lootItems/armor/ubese/ubese_armor_bandolier.py new file mode 100644 index 00000000..17fcecd9 --- /dev/null +++ b/scripts/loot/lootItems/armor/ubese/ubese_armor_bandolier.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ubese/shared_armor_ubese_bandolier.iff'] + +def customItemName(): + + return 'Ubese Armor Bandolier' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ubese/ubese_armor_boots.py b/scripts/loot/lootItems/armor/ubese/ubese_armor_boots.py new file mode 100644 index 00000000..9720add5 --- /dev/null +++ b/scripts/loot/lootItems/armor/ubese/ubese_armor_boots.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ubese/shared_armor_ubese_boots.iff'] + +def customItemName(): + + return 'Ubese Armor Boots' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ubese/ubese_armor_bracer_left.py b/scripts/loot/lootItems/armor/ubese/ubese_armor_bracer_left.py new file mode 100644 index 00000000..6f2d6dd4 --- /dev/null +++ b/scripts/loot/lootItems/armor/ubese/ubese_armor_bracer_left.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ubese/shared_armor_ubese_bracer_l.iff'] + +def customItemName(): + + return 'Ubese Armor Bracer Left' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ubese/ubese_armor_bracer_right.py b/scripts/loot/lootItems/armor/ubese/ubese_armor_bracer_right.py new file mode 100644 index 00000000..a1fbed28 --- /dev/null +++ b/scripts/loot/lootItems/armor/ubese/ubese_armor_bracer_right.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ubese/shared_armor_ubese_bracer_r.iff'] + +def customItemName(): + + return 'Ubese Armor Bracer Right' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ubese/ubese_armor_gloves.py b/scripts/loot/lootItems/armor/ubese/ubese_armor_gloves.py new file mode 100644 index 00000000..38d47564 --- /dev/null +++ b/scripts/loot/lootItems/armor/ubese/ubese_armor_gloves.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ubese/shared_armor_ubese_gloves.iff'] + +def customItemName(): + + return 'Ubese Armor Gloves' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ubese/ubese_armor_helmet.py b/scripts/loot/lootItems/armor/ubese/ubese_armor_helmet.py new file mode 100644 index 00000000..ff18ad4a --- /dev/null +++ b/scripts/loot/lootItems/armor/ubese/ubese_armor_helmet.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ubese/shared_armor_ubese_helmet.iff'] + +def customItemName(): + + return 'Ubese Armor Helmet' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ubese/ubese_armor_jacket.py b/scripts/loot/lootItems/armor/ubese/ubese_armor_jacket.py new file mode 100644 index 00000000..98a7fedd --- /dev/null +++ b/scripts/loot/lootItems/armor/ubese/ubese_armor_jacket.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ubese/shared_armor_ubese_jacket.iff'] + +def customItemName(): + + return 'Ubese Armor Jacket' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/armor/ubese/ubese_armor_shirt.py b/scripts/loot/lootItems/armor/ubese/ubese_armor_shirt.py new file mode 100644 index 00000000..0ad493a1 --- /dev/null +++ b/scripts/loot/lootItems/armor/ubese/ubese_armor_shirt.py @@ -0,0 +1,31 @@ + +def itemTemplate(): + + return ['object/tangible/wearables/armor/ubese/shared_armor_ubese_shirt.iff'] + +def customItemName(): + + return 'Ubese Armor Shirt' + +def customItemStackCount(): + + return 1 + +def customizationAttributes(): + + return [] + +def customizationValues(): + + return [] + +def itemStats(): + + stats = ['armor_efficiency_kinetic','5000','6800'] + stats += ['armor_efficiency_energy','3000','4800'] + stats += ['special_protection_heat','4000','5800'] + stats += ['special_protection_cold','4000','5800'] + stats += ['special_protection_acid','4000','5800'] + stats += ['special_protection_electricity','4000','5800'] + + return stats diff --git a/scripts/loot/lootItems/chroniclerelics/chronicle_relic_fragment.py b/scripts/loot/lootItems/chroniclerelics/chronicle_relic_fragment.py new file mode 100644 index 00000000..e69de29b diff --git a/scripts/loot/lootItems/clothing/suits/reinforced_jumpsuit.py b/scripts/loot/lootItems/clothing/suits/reinforced_jumpsuit.py new file mode 100644 index 00000000..e69de29b diff --git a/scripts/loot/lootItems/clothing/suits/traders_flightsuit.py b/scripts/loot/lootItems/clothing/suits/traders_flightsuit.py new file mode 100644 index 00000000..e69de29b diff --git a/scripts/loot/lootItems/clothing/tusken_raider_bandolier.py b/scripts/loot/lootItems/clothing/tusken/tusken_raider_bandolier.py similarity index 100% rename from scripts/loot/lootItems/clothing/tusken_raider_bandolier.py rename to scripts/loot/lootItems/clothing/tusken/tusken_raider_bandolier.py diff --git a/scripts/loot/lootItems/clothing/tusken_raider_boots.py b/scripts/loot/lootItems/clothing/tusken/tusken_raider_boots.py similarity index 100% rename from scripts/loot/lootItems/clothing/tusken_raider_boots.py rename to scripts/loot/lootItems/clothing/tusken/tusken_raider_boots.py diff --git a/scripts/loot/lootItems/clothing/tusken_raider_dress.py b/scripts/loot/lootItems/clothing/tusken/tusken_raider_dress.py similarity index 100% rename from scripts/loot/lootItems/clothing/tusken_raider_dress.py rename to scripts/loot/lootItems/clothing/tusken/tusken_raider_dress.py diff --git a/scripts/loot/lootItems/clothing/tusken_raider_gloves.py b/scripts/loot/lootItems/clothing/tusken/tusken_raider_gloves.py similarity index 100% rename from scripts/loot/lootItems/clothing/tusken_raider_gloves.py rename to scripts/loot/lootItems/clothing/tusken/tusken_raider_gloves.py diff --git a/scripts/loot/lootItems/clothing/tusken_raider_helmet.py b/scripts/loot/lootItems/clothing/tusken/tusken_raider_helmet.py similarity index 100% rename from scripts/loot/lootItems/clothing/tusken_raider_helmet.py rename to scripts/loot/lootItems/clothing/tusken/tusken_raider_helmet.py diff --git a/scripts/loot/lootItems/junk/explosive_dud.py b/scripts/loot/lootItems/junk/explosive_dud.py index 2d0291da..1fdcf7c3 100644 --- a/scripts/loot/lootItems/junk/explosive_dud.py +++ b/scripts/loot/lootItems/junk/explosive_dud.py @@ -1,7 +1,7 @@ def itemTemplate(): - return ['object/tangible/loot/npc_loot/shared_firework_dud_s1.iff'] + return ['object/tangible/loot/npc_loot/shared_firework_generic.iff'] def customItemName(): diff --git a/scripts/loot/lootItems/randomstatjewelry/random_stat_bracelet.py b/scripts/loot/lootItems/randomstatjewelry/random_stat_bracelet.py new file mode 100644 index 00000000..6576cc22 --- /dev/null +++ b/scripts/loot/lootItems/randomstatjewelry/random_stat_bracelet.py @@ -0,0 +1,12 @@ + +def itemTemplate(): + + bracelets = ['object/tangible/wearables/bracelet/shared_bracelet_s02_l.iff','object/tangible/wearables/bracelet/shared_bracelet_s02_r.iff'] + bracelets += ['object/tangible/wearables/bracelet/shared_bracelet_s03_l.iff','object/tangible/wearables/bracelet/shared_bracelet_s03_r.iff'] + bracelets += ['object/tangible/wearables/bracelet/shared_bracelet_s04_l.iff','object/tangible/wearables/bracelet/shared_bracelet_s04_r.iff'] + bracelets += ['object/tangible/wearables/bracelet/shared_bracelet_s05_l.iff','object/tangible/wearables/bracelet/shared_bracelet_s05_r.iff'] + bracelets += ['object/tangible/wearables/bracelet/shared_bracelet_s06_l.iff','object/tangible/wearables/bracelet/shared_bracelet_s06_r.iff'] + return bracelets + +def randomStatJewelry(): + return diff --git a/scripts/loot/lootItems/randomstatjewelry/random_stat_necklace.py b/scripts/loot/lootItems/randomstatjewelry/random_stat_necklace.py new file mode 100644 index 00000000..947af23a --- /dev/null +++ b/scripts/loot/lootItems/randomstatjewelry/random_stat_necklace.py @@ -0,0 +1,13 @@ + +def itemTemplate(): + + necklaces = ['object/tangible/wearables/necklace/shared_necklace_s01.iff','object/tangible/wearables/necklace/shared_necklace_s02.iff'] + necklaces += ['object/tangible/wearables/necklace/shared_necklace_s03.iff','object/tangible/wearables/necklace/shared_necklace_s04.iff'] + necklaces += ['object/tangible/wearables/necklace/shared_necklace_s05.iff','object/tangible/wearables/necklace/shared_necklace_s06.iff'] + necklaces += ['object/tangible/wearables/necklace/shared_necklace_s07.iff','object/tangible/wearables/necklace/shared_necklace_s08.iff'] + necklaces += ['object/tangible/wearables/necklace/shared_necklace_s09.iff','object/tangible/wearables/necklace/shared_necklace_s10.iff'] + necklaces += ['object/tangible/wearables/necklace/shared_necklace_s11.iff','object/tangible/wearables/necklace/shared_necklace_s12.iff'] + return necklaces + +def randomStatJewelry(): + return 1 diff --git a/scripts/loot/lootItems/randomstatjewelry/random_stat_ring.py b/scripts/loot/lootItems/randomstatjewelry/random_stat_ring.py new file mode 100644 index 00000000..8f7d669b --- /dev/null +++ b/scripts/loot/lootItems/randomstatjewelry/random_stat_ring.py @@ -0,0 +1,9 @@ + +def itemTemplate(): + + rings = ['object/tangible/wearables/ring/shared_ring_s01.iff','object/tangible/wearables/ring/shared_ring_s02.iff'] + rings += ['object/tangible/wearables/ring/shared_ring_s03.iff','object/tangible/wearables/ring/shared_ring_s04.iff'] + return rings + +def randomStatJewelry(): + return diff --git a/scripts/loot/lootItems/randomstatjewelry/randomstatjewelry.py b/scripts/loot/lootItems/randomstatjewelry/randomstatjewelry.py new file mode 100644 index 00000000..e69de29b diff --git a/scripts/loot/lootItems/weapons/carbine/EE3_carbine.py b/scripts/loot/lootItems/weapons/carbine/EE3_carbine.py new file mode 100644 index 00000000..e69de29b diff --git a/scripts/loot/lootItems/weapons/adjusted_cdef_rifle.py b/scripts/loot/lootItems/weapons/rifle/adjusted_cdef_rifle.py similarity index 100% rename from scripts/loot/lootItems/weapons/adjusted_cdef_rifle.py rename to scripts/loot/lootItems/weapons/rifle/adjusted_cdef_rifle.py diff --git a/scripts/loot/lootItems/weapons/rifle/jawa_ion_rifle.py b/scripts/loot/lootItems/weapons/rifle/jawa_ion_rifle.py new file mode 100644 index 00000000..e69de29b diff --git a/scripts/loot/lootItems/weapons/rifle/spraystick.py b/scripts/loot/lootItems/weapons/rifle/spraystick.py new file mode 100644 index 00000000..e69de29b diff --git a/scripts/loot/lootPools/armor_various.py b/scripts/loot/lootPools/armor_various.py new file mode 100644 index 00000000..aee801b3 --- /dev/null +++ b/scripts/loot/lootPools/armor_various.py @@ -0,0 +1,23 @@ + +def itemNames(): + + components = ['bone_armor_bicep_left','bone_armor_bicep_right','bone_armor_boots','bone_armor_bracer_left','bone_armor_bracer_right','bone_armor_chestplate','bone_armor_gloves','bone_armor_helmet','bone_armor_leggings'] + components += ['chitin_armor_bicep_left','chitin_armor_bicep_right','chitin_armor_boots','chitin_armor_bracer_left','chitin_armor_bracer_right','chitin_armor_chestplate','chitin_armor_gloves','chitin_armor_helmet','chitin_armor_leggings'] + components += ['composite_armor_bicep_left','composite_armor_bicep_right','composite_armor_boots','composite_armor_bracer_left','composite_armor_bracer_right','composite_armor_chestplate','composite_armor_gloves','composite_armor_helmet','composite_armor_leggings'] + components += ['ithorian_defender_armor_bicep_left','ithorian_defender_armor_bicep_right','ithorian_defender_armor_boots','ithorian_defender_armor_bracer_left','ithorian_defender_armor_bracer_right','ithorian_defender_armor_chestplate','ithorian_defender_armor_gloves','ithorian_defender_armor_helmet','ithorian_defender_armor_leggings'] + components += ['ithorian_guardian_armor_bicep_left','ithorian_guardian_armor_bicep_right','ithorian_guardian_armor_boots','ithorian_guardian_armor_bracer_left','ithorian_guardian_armor_bracer_right','ithorian_guardian_armor_chestplate','ithorian_guardian_armor_gloves','ithorian_guardian_armor_helmet','ithorian_guardian_armor_leggings'] + components += ['ithorian_sentinel_armor_bicep_left','ithorian_sentinel_armor_bicep_right','ithorian_sentinel_armor_boots','ithorian_sentinel_armor_bracer_left','ithorian_sentinel_armor_bracer_right','ithorian_sentinel_armor_chestplate','ithorian_sentinel_armor_gloves','ithorian_sentinel_armor_helmet','ithorian_sentinel_armor_leggings'] + components += ['kashyyykian_black_mtn_armor_bicep_left','kashyyykian_black_mtn_armor_bicep_right','kashyyykian_black_mtn_armor_bracer_left','kashyyykian_black_mtn_armor_bracer_right','kashyyykian_black_mtn_armor_chestplate','kashyyykian_black_mtn_leggings'] + components += ['kashyyykian_ceremonial_bicep_left','kashyyykian_ceremonial_bicep_right','kashyyykian_ceremonial_bracer_left','kashyyykian_ceremonial_bracer_right','kashyyykian_ceremonial_chestplate','kashyyykian_ceremonial_leggings'] + components += ['kashyyykian_hunting_bicep_left','kashyyykian_hunting_bicep_right','kashyyykian_hunting_bracer_left','kashyyykian_hunting_bracer_right','kashyyykian_hunting_chestplate','kashyyykian_hunting_leggings'] + components += ['marauder_armor_bicep_left','marauder_armor_bicep_right','marauder_armor_boots','marauder_armor_bracer_left','marauder_armor_bracer_right','marauder_armor_chestplate','marauder_armor_gloves','marauder_armor_helmet','marauder_armor_leggings'] + components += ['padded_armor_bicep_left','padded_armor_bicep_right','padded_armor_boots','padded_armor_bracer_left','padded_armor_bracer_right','padded_armor_chestplate','padded_armor_gloves','padded_armor_helmet','padded_armor_leggings'] + components += ['tantel_armor_bicep_left','tantel_armor_bicep_right','tantel_armor_boots','tantel_armor_bracer_left','tantel_armor_bracer_right','tantel_armor_chestplate','tantel_armor_gloves','tantel_armor_helmet','tantel_armor_leggings'] + components += ['ubese_armor_bandolier','ubese_armor_boots','ubese_armor_bracer_left','ubese_armor_bracer_right','ubese_armor_gloves','ubese_armor_helmet','ubese_armor_jacket','ubese_armor_shirt'] + return components + +def itemChances(): + + return [-1] # all equal + + \ No newline at end of file diff --git a/scripts/loot/lootPools/chronicle_relic.py b/scripts/loot/lootPools/chronicle_relic.py new file mode 100644 index 00000000..e69de29b diff --git a/scripts/loot/lootPools/random_stat_jewelry.py b/scripts/loot/lootPools/random_stat_jewelry.py new file mode 100644 index 00000000..0e11105e --- /dev/null +++ b/scripts/loot/lootPools/random_stat_jewelry.py @@ -0,0 +1,6 @@ + +def itemNames(): + return ['random_stat_bracelet','random_stat_necklace','random_stat_ring'] + +def itemChances(): + return [50,35,15] #= 100% \ No newline at end of file diff --git a/scripts/object/intangible/vehicle/landspeeder_av21_pcd.py b/scripts/object/intangible/vehicle/landspeeder_av21_pcd.py index ccad8904..d7c3f4a1 100644 --- a/scripts/object/intangible/vehicle/landspeeder_av21_pcd.py +++ b/scripts/object/intangible/vehicle/landspeeder_av21_pcd.py @@ -1,4 +1,5 @@ import sys def setup(core, object): + object.setAttachment('radial_filename', 'datapad/vehicle_pcd') return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_force_crystal_hunter.py b/scripts/object/mobile/dressed_dark_force_crystal_hunter.py index dbbb65df..c7237ff3 100644 --- a/scripts/object/mobile/dressed_dark_force_crystal_hunter.py +++ b/scripts/object/mobile/dressed_dark_force_crystal_hunter.py @@ -17,11 +17,16 @@ def setup(core, object): lootGroupChance_3 = 12 object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) - lootPoolNames_4 = ['sithholocrons'] - lootPoolChances_4 = [100] - lootGroupChance_4 = 1 + lootPoolNames_4 = ['armor_various','random_loot_rifles'] + lootPoolChances_4 = [80,20] + lootGroupChance_4 = 35 object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_elder_male_human_01.py b/scripts/object/mobile/dressed_dark_jedi_elder_male_human_01.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_elder_male_human_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_elder_male_human_01.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_female_human_01.py b/scripts/object/mobile/dressed_dark_jedi_female_human_01.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_female_human_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_female_human_01.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_female_human_02.py b/scripts/object/mobile/dressed_dark_jedi_female_human_02.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_female_human_02.py +++ b/scripts/object/mobile/dressed_dark_jedi_female_human_02.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_female_human_03.py b/scripts/object/mobile/dressed_dark_jedi_female_human_03.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_female_human_03.py +++ b/scripts/object/mobile/dressed_dark_jedi_female_human_03.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_female_human_04.py b/scripts/object/mobile/dressed_dark_jedi_female_human_04.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_female_human_04.py +++ b/scripts/object/mobile/dressed_dark_jedi_female_human_04.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_female_marauder_01.py b/scripts/object/mobile/dressed_dark_jedi_female_marauder_01.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_female_marauder_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_female_marauder_01.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_female_twk_01.py b/scripts/object/mobile/dressed_dark_jedi_female_twk_01.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_female_twk_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_female_twk_01.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_female_twk_02.py b/scripts/object/mobile/dressed_dark_jedi_female_twk_02.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_female_twk_02.py +++ b/scripts/object/mobile/dressed_dark_jedi_female_twk_02.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_female_twk_03.py b/scripts/object/mobile/dressed_dark_jedi_female_twk_03.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_female_twk_03.py +++ b/scripts/object/mobile/dressed_dark_jedi_female_twk_03.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_female_zab_01.py b/scripts/object/mobile/dressed_dark_jedi_female_zab_01.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_female_zab_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_female_zab_01.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_female_zab_02.py b/scripts/object/mobile/dressed_dark_jedi_female_zab_02.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_female_zab_02.py +++ b/scripts/object/mobile/dressed_dark_jedi_female_zab_02.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_female_zab_03.py b/scripts/object/mobile/dressed_dark_jedi_female_zab_03.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_female_zab_03.py +++ b/scripts/object/mobile/dressed_dark_jedi_female_zab_03.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_human_female_01.py b/scripts/object/mobile/dressed_dark_jedi_human_female_01.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_human_female_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_human_female_01.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_human_male_01.py b/scripts/object/mobile/dressed_dark_jedi_human_male_01.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_human_male_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_human_male_01.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_male_human_01.py b/scripts/object/mobile/dressed_dark_jedi_male_human_01.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_male_human_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_male_human_01.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_male_human_02.py b/scripts/object/mobile/dressed_dark_jedi_male_human_02.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_male_human_02.py +++ b/scripts/object/mobile/dressed_dark_jedi_male_human_02.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_male_human_03.py b/scripts/object/mobile/dressed_dark_jedi_male_human_03.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_male_human_03.py +++ b/scripts/object/mobile/dressed_dark_jedi_male_human_03.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_male_human_04.py b/scripts/object/mobile/dressed_dark_jedi_male_human_04.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_male_human_04.py +++ b/scripts/object/mobile/dressed_dark_jedi_male_human_04.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_male_human_05.py b/scripts/object/mobile/dressed_dark_jedi_male_human_05.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_male_human_05.py +++ b/scripts/object/mobile/dressed_dark_jedi_male_human_05.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_male_human_06.py b/scripts/object/mobile/dressed_dark_jedi_male_human_06.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_male_human_06.py +++ b/scripts/object/mobile/dressed_dark_jedi_male_human_06.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_male_marauder_01.py b/scripts/object/mobile/dressed_dark_jedi_male_marauder_01.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_male_marauder_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_male_marauder_01.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_male_twk_01.py b/scripts/object/mobile/dressed_dark_jedi_male_twk_01.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_male_twk_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_male_twk_01.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_male_twk_02.py b/scripts/object/mobile/dressed_dark_jedi_male_twk_02.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_male_twk_02.py +++ b/scripts/object/mobile/dressed_dark_jedi_male_twk_02.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_male_twk_03.py b/scripts/object/mobile/dressed_dark_jedi_male_twk_03.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_male_twk_03.py +++ b/scripts/object/mobile/dressed_dark_jedi_male_twk_03.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_male_zab_01.py b/scripts/object/mobile/dressed_dark_jedi_male_zab_01.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_male_zab_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_male_zab_01.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_male_zab_02.py b/scripts/object/mobile/dressed_dark_jedi_male_zab_02.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_male_zab_02.py +++ b/scripts/object/mobile/dressed_dark_jedi_male_zab_02.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_male_zab_03.py b/scripts/object/mobile/dressed_dark_jedi_male_zab_03.py index ccad8904..be97678c 100644 --- a/scripts/object/mobile/dressed_dark_jedi_male_zab_03.py +++ b/scripts/object/mobile/dressed_dark_jedi_male_zab_03.py @@ -1,4 +1,31 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_female_bith_01.py b/scripts/object/mobile/dressed_dark_jedi_master_female_bith_01.py index ccad8904..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_female_bith_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_female_bith_01.py @@ -1,4 +1,26 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_female_bothan_01.py b/scripts/object/mobile/dressed_dark_jedi_master_female_bothan_01.py index ccad8904..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_female_bothan_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_female_bothan_01.py @@ -1,4 +1,26 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_female_chiss_01.py b/scripts/object/mobile/dressed_dark_jedi_master_female_chiss_01.py index ccad8904..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_female_chiss_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_female_chiss_01.py @@ -1,4 +1,26 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_female_chiss_02.py b/scripts/object/mobile/dressed_dark_jedi_master_female_chiss_02.py index ccad8904..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_female_chiss_02.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_female_chiss_02.py @@ -1,4 +1,26 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_female_twk_01.py b/scripts/object/mobile/dressed_dark_jedi_master_female_twk_01.py index 9e598690..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_female_twk_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_female_twk_01.py @@ -17,6 +17,10 @@ def setup(core, object): lootGroupChance_3 = 12 object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_female_twk_02.py b/scripts/object/mobile/dressed_dark_jedi_master_female_twk_02.py index 9e598690..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_female_twk_02.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_female_twk_02.py @@ -17,6 +17,10 @@ def setup(core, object): lootGroupChance_3 = 12 object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_female_zab_01.py b/scripts/object/mobile/dressed_dark_jedi_master_female_zab_01.py index 9e598690..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_female_zab_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_female_zab_01.py @@ -17,6 +17,10 @@ def setup(core, object): lootGroupChance_3 = 12 object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_female_zab_02.py b/scripts/object/mobile/dressed_dark_jedi_master_female_zab_02.py index 9e598690..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_female_zab_02.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_female_zab_02.py @@ -17,6 +17,10 @@ def setup(core, object): lootGroupChance_3 = 12 object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_arcona_01.py b/scripts/object/mobile/dressed_dark_jedi_master_male_arcona_01.py index ccad8904..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_male_arcona_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_male_arcona_01.py @@ -1,4 +1,26 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_barada_01.py b/scripts/object/mobile/dressed_dark_jedi_master_male_barada_01.py index ccad8904..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_male_barada_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_male_barada_01.py @@ -1,4 +1,26 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_gotal_01.py b/scripts/object/mobile/dressed_dark_jedi_master_male_gotal_01.py index ccad8904..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_male_gotal_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_male_gotal_01.py @@ -1,4 +1,26 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_human_01.py b/scripts/object/mobile/dressed_dark_jedi_master_male_human_01.py index 9e598690..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_male_human_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_male_human_01.py @@ -17,6 +17,10 @@ def setup(core, object): lootGroupChance_3 = 12 object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_human_02.py b/scripts/object/mobile/dressed_dark_jedi_master_male_human_02.py index 9e598690..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_male_human_02.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_male_human_02.py @@ -17,6 +17,10 @@ def setup(core, object): lootGroupChance_3 = 12 object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_human_03.py b/scripts/object/mobile/dressed_dark_jedi_master_male_human_03.py index 9e598690..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_male_human_03.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_male_human_03.py @@ -17,6 +17,10 @@ def setup(core, object): lootGroupChance_3 = 12 object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_human_04.py b/scripts/object/mobile/dressed_dark_jedi_master_male_human_04.py index 9e598690..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_male_human_04.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_male_human_04.py @@ -17,6 +17,10 @@ def setup(core, object): lootGroupChance_3 = 12 object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_human_05.py b/scripts/object/mobile/dressed_dark_jedi_master_male_human_05.py index 9e598690..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_male_human_05.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_male_human_05.py @@ -17,6 +17,10 @@ def setup(core, object): lootGroupChance_3 = 12 object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_human_06.py b/scripts/object/mobile/dressed_dark_jedi_master_male_human_06.py index 9e598690..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_male_human_06.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_male_human_06.py @@ -17,6 +17,10 @@ def setup(core, object): lootGroupChance_3 = 12 object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_sul_01.py b/scripts/object/mobile/dressed_dark_jedi_master_male_sul_01.py index ccad8904..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_male_sul_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_male_sul_01.py @@ -1,4 +1,26 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_twk_01.py b/scripts/object/mobile/dressed_dark_jedi_master_male_twk_01.py index ccad8904..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_male_twk_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_male_twk_01.py @@ -1,4 +1,26 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_twk_02.py b/scripts/object/mobile/dressed_dark_jedi_master_male_twk_02.py index ccad8904..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_male_twk_02.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_male_twk_02.py @@ -1,4 +1,26 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_twk_03.py b/scripts/object/mobile/dressed_dark_jedi_master_male_twk_03.py index ccad8904..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_male_twk_03.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_male_twk_03.py @@ -1,4 +1,26 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_twk_04.py b/scripts/object/mobile/dressed_dark_jedi_master_male_twk_04.py index ccad8904..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_male_twk_04.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_male_twk_04.py @@ -1,4 +1,26 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_weequay_01.py b/scripts/object/mobile/dressed_dark_jedi_master_male_weequay_01.py index ccad8904..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_male_weequay_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_male_weequay_01.py @@ -1,4 +1,26 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_zab_01.py b/scripts/object/mobile/dressed_dark_jedi_master_male_zab_01.py index ccad8904..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_male_zab_01.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_male_zab_01.py @@ -1,4 +1,26 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_dark_jedi_master_male_zab_02.py b/scripts/object/mobile/dressed_dark_jedi_master_male_zab_02.py index ccad8904..dba8fbeb 100644 --- a/scripts/object/mobile/dressed_dark_jedi_master_male_zab_02.py +++ b/scripts/object/mobile/dressed_dark_jedi_master_male_zab_02.py @@ -1,4 +1,26 @@ import sys def setup(core, object): - return \ No newline at end of file + + lootPoolNames_1 = ['Junk'] + lootPoolChances_1 = [100] + lootGroupChance_1 = 65 + object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) + + lootPoolNames_2 = ['jedi_relic_1'] + lootPoolChances_2 = [100] + lootGroupChance_2 = 85 + object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) + + lootPoolNames_3 = ['powercrystals_hiq'] + lootPoolChances_3 = [100] + lootGroupChance_3 = 12 + object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 8 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + + + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_force_sensitive_crypt_crawler.py b/scripts/object/mobile/dressed_force_sensitive_crypt_crawler.py index 2c42c975..a96bd6e6 100644 --- a/scripts/object/mobile/dressed_force_sensitive_crypt_crawler.py +++ b/scripts/object/mobile/dressed_force_sensitive_crypt_crawler.py @@ -17,11 +17,16 @@ def setup(core, object): lootGroupChance_3 = 12 object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) - lootPoolNames_4 = ['jediholocrons'] - lootPoolChances_4 = [100] - lootGroupChance_4 = 1 + lootPoolNames_4 = ['armor_various','random_loot_rifles'] + lootPoolChances_4 = [80,20] + lootGroupChance_4 = 35 object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + lootPoolNames_5 = ['jediholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_force_sensitive_renegade.py b/scripts/object/mobile/dressed_force_sensitive_renegade.py index 2c42c975..a96bd6e6 100644 --- a/scripts/object/mobile/dressed_force_sensitive_renegade.py +++ b/scripts/object/mobile/dressed_force_sensitive_renegade.py @@ -17,11 +17,16 @@ def setup(core, object): lootGroupChance_3 = 12 object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) - lootPoolNames_4 = ['jediholocrons'] - lootPoolChances_4 = [100] - lootGroupChance_4 = 1 + lootPoolNames_4 = ['armor_various','random_loot_rifles'] + lootPoolChances_4 = [80,20] + lootGroupChance_4 = 35 object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + lootPoolNames_5 = ['jediholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_novice_force_mystic.py b/scripts/object/mobile/dressed_novice_force_mystic.py index 2c42c975..a96bd6e6 100644 --- a/scripts/object/mobile/dressed_novice_force_mystic.py +++ b/scripts/object/mobile/dressed_novice_force_mystic.py @@ -17,11 +17,16 @@ def setup(core, object): lootGroupChance_3 = 12 object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) - lootPoolNames_4 = ['jediholocrons'] - lootPoolChances_4 = [100] - lootGroupChance_4 = 1 + lootPoolNames_4 = ['armor_various','random_loot_rifles'] + lootPoolChances_4 = [80,20] + lootGroupChance_4 = 35 object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + lootPoolNames_5 = ['jediholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_stormtrooper_m.py b/scripts/object/mobile/dressed_stormtrooper_m.py index 6e1e28ee..e972026a 100644 --- a/scripts/object/mobile/dressed_stormtrooper_m.py +++ b/scripts/object/mobile/dressed_stormtrooper_m.py @@ -7,14 +7,20 @@ def setup(core, object): lootGroupChance_1 = 90 object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) - lootPoolNames_2 = ['composite_armor','random_loot_rifles'] - lootPoolChances_2 = [50,50] - lootGroupChance_2 = 20 + lootPoolNames_2 = ['armor_various','random_loot_rifles'] + lootPoolChances_2 = [99,1] + lootGroupChance_2 = 100 object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) lootPoolNames_3 = ['Colorcrystals'] lootPoolChances_3 = [100] lootGroupChance_3 = 6 object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) + + # just to test + lootPoolNames_4 = ['random_stat_jewelry'] + lootPoolChances_4 = [100] + lootGroupChance_4 = 10 + object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_untrained_wielder_of_the_darkside.py b/scripts/object/mobile/dressed_untrained_wielder_of_the_darkside.py index dbbb65df..c7237ff3 100644 --- a/scripts/object/mobile/dressed_untrained_wielder_of_the_darkside.py +++ b/scripts/object/mobile/dressed_untrained_wielder_of_the_darkside.py @@ -17,11 +17,16 @@ def setup(core, object): lootGroupChance_3 = 12 object.addToLootGroups(lootPoolNames_3,lootPoolChances_3,lootGroupChance_3) - lootPoolNames_4 = ['sithholocrons'] - lootPoolChances_4 = [100] - lootGroupChance_4 = 1 + lootPoolNames_4 = ['armor_various','random_loot_rifles'] + lootPoolChances_4 = [80,20] + lootGroupChance_4 = 35 object.addToLootGroups(lootPoolNames_4,lootPoolChances_4,lootGroupChance_4) + lootPoolNames_5 = ['sithholocrons'] + lootPoolChances_5 = [100] + lootGroupChance_5 = 1 + object.addToLootGroups(lootPoolNames_5,lootPoolChances_5,lootGroupChance_5) + return \ No newline at end of file diff --git a/scripts/object/mobile/tusken_raider.py b/scripts/object/mobile/tusken_raider.py index 2d06ec85..0fcd5010 100644 --- a/scripts/object/mobile/tusken_raider.py +++ b/scripts/object/mobile/tusken_raider.py @@ -7,7 +7,7 @@ def setup(core, object): lootGroupChance_1 = 90 object.addToLootGroups(lootPoolNames_1,lootPoolChances_1,lootGroupChance_1) - lootPoolNames_2 = ['batons','random_loot_rifles',] + lootPoolNames_2 = ['batons','random_loot_rifles'] lootPoolChances_2 = [60,40] lootGroupChance_2 = 20 object.addToLootGroups(lootPoolNames_2,lootPoolChances_2,lootGroupChance_2) diff --git a/scripts/object/weapon/melee/2h_sword/crafted_saber/sword_lightsaber_two_handed_gen5.py b/scripts/object/weapon/melee/2h_sword/crafted_saber/sword_lightsaber_two_handed_gen5.py index ccad8904..7f41b9a6 100644 --- a/scripts/object/weapon/melee/2h_sword/crafted_saber/sword_lightsaber_two_handed_gen5.py +++ b/scripts/object/weapon/melee/2h_sword/crafted_saber/sword_lightsaber_two_handed_gen5.py @@ -1,4 +1,13 @@ import sys +from engine.resources.container import CreaturePermissions def setup(core, object): + + inventory = core.objectService.createObject("object/tangible/inventory/shared_lightsaber_inventory_5.iff", object.getPlanet()) + inventory.setContainerPermissions(CreaturePermissions.CREATURE_PERMISSIONS); + + object.add(inventory) + + object.setAttachment('radial_filename', 'item/lightsaber') + return \ No newline at end of file diff --git a/scripts/object/weapon/melee/polearm/crafted_saber/sword_lightsaber_polearm_gen5.py b/scripts/object/weapon/melee/polearm/crafted_saber/sword_lightsaber_polearm_gen5.py index ccad8904..7f41b9a6 100644 --- a/scripts/object/weapon/melee/polearm/crafted_saber/sword_lightsaber_polearm_gen5.py +++ b/scripts/object/weapon/melee/polearm/crafted_saber/sword_lightsaber_polearm_gen5.py @@ -1,4 +1,13 @@ import sys +from engine.resources.container import CreaturePermissions def setup(core, object): + + inventory = core.objectService.createObject("object/tangible/inventory/shared_lightsaber_inventory_5.iff", object.getPlanet()) + inventory.setContainerPermissions(CreaturePermissions.CREATURE_PERMISSIONS); + + object.add(inventory) + + object.setAttachment('radial_filename', 'item/lightsaber') + return \ No newline at end of file diff --git a/scripts/object/weapon/melee/sword/crafted_saber/sword_lightsaber_one_handed_gen5.py b/scripts/object/weapon/melee/sword/crafted_saber/sword_lightsaber_one_handed_gen5.py index ccad8904..7f41b9a6 100644 --- a/scripts/object/weapon/melee/sword/crafted_saber/sword_lightsaber_one_handed_gen5.py +++ b/scripts/object/weapon/melee/sword/crafted_saber/sword_lightsaber_one_handed_gen5.py @@ -1,4 +1,13 @@ import sys +from engine.resources.container import CreaturePermissions def setup(core, object): + + inventory = core.objectService.createObject("object/tangible/inventory/shared_lightsaber_inventory_5.iff", object.getPlanet()) + inventory.setContainerPermissions(CreaturePermissions.CREATURE_PERMISSIONS); + + object.add(inventory) + + object.setAttachment('radial_filename', 'item/lightsaber') + return \ No newline at end of file diff --git a/scripts/radial/deeds/vehicleDeed.py b/scripts/radial/deeds/vehicleDeed.py index 033462ad..ad08a40f 100644 --- a/scripts/radial/deeds/vehicleDeed.py +++ b/scripts/radial/deeds/vehicleDeed.py @@ -4,7 +4,7 @@ import sys def createRadial(core, owner, target, radials): radials.add(RadialOptions(0, 7, 1, '')) radials.add(RadialOptions(0, 15, 1, '')) - radials.add(RadialOptions(0, 61, 3, '@pet_menu:menu_generate')) + radials.add(RadialOptions(0, 61, 3, '@pet/pet_menu:menu_generate')) return def handleSelection(core, owner, target, option): diff --git a/scripts/radial/item/lightsaber.py b/scripts/radial/item/lightsaber.py new file mode 100644 index 00000000..c02dc502 --- /dev/null +++ b/scripts/radial/item/lightsaber.py @@ -0,0 +1,12 @@ +from resources.common import RadialOptions +import sys + +def createRadial(core, owner, target, radials): + radials.add(RadialOptions(0, 21, 1, 'Open Lightsaber')) + return + +def handleSelection(core, owner, target, option): + if option == 21 and target: + core.simulationService.openContainer(owner, target.getSlottedObject("saber_inv")) + return + \ No newline at end of file diff --git a/scripts/radial/item/tunable.py b/scripts/radial/item/tunable.py index f226f86b..dc9eef3f 100644 --- a/scripts/radial/item/tunable.py +++ b/scripts/radial/item/tunable.py @@ -5,11 +5,22 @@ def createRadial(core, owner, target, radials): radials.clear() radials.add(RadialOptions(0, 7, 0, 'Examine')) radials.add(RadialOptions(0, 15, 0, 'Destroy')) - radials.add(RadialOptions(0, 19, 0, 'Tune')) + if target.getAttachment("tunerId") == None or target.getAttachment("tunerId") == 0: radials.add(RadialOptions(0, 19, 0, 'Tune')) return def handleSelection(core, owner, target, option): if option == 19 and target: if owner is not None: - owner.sendSystemMessage('You are not attuned enough with the force yet.',1) + #owner.sendSystemMessage('You are not attuned enough with the force yet.',1) + + if target.getAttachment("tunerId") == None or target.getAttachment("tunerId") == 0: + target.getAttributes().put("@obj_attr_n:crystal_owner", owner.getCustomName()) + target.setAttachment("tunerId", int(owner.getObjectId())) + + # Need to change this to generate valid numbers based on the quality and type ... stats found here: http://swg.wikia.com/wiki/Lightsaber_Crystal + if target.getAttributes().get("@obj_attr_n:color") is None: + target.getAttributes().put("@obj_attr_n:componentbonuslow", "23") + target.getAttributes().put("@obj_attr_n:componentbonushigh", "25") + else: + owner.sendSystemMessage("You cannot tune this crystal.",1) return diff --git a/scripts/radial/npc/corpse.py b/scripts/radial/npc/corpse.py index 28a63986..453b7382 100644 --- a/scripts/radial/npc/corpse.py +++ b/scripts/radial/npc/corpse.py @@ -2,6 +2,7 @@ from resources.common import RadialOptions import sys def createRadial(core, owner, target, radials): + #owner.sendSystemMessage('Correct Loot Radial created', 0) radials.clear() radials.add(RadialOptions(0, 36, 0, 'Loot')) if target.getAttachment('AI') and core.resourceService.canHarvest(owner, target): diff --git a/scripts/radial/structure/structure_management_terminal.py b/scripts/radial/structure/structure_management_terminal.py index b6e7ae3a..8bdc5878 100644 --- a/scripts/radial/structure/structure_management_terminal.py +++ b/scripts/radial/structure/structure_management_terminal.py @@ -24,6 +24,8 @@ def createRadial(core, owner, target, radials): radials.add(RadialOptions(2, 172, 0, 'Pack Up This Building')) radials.add(RadialOptions(3, 121, 0, '@player_structure:permission_enter')) radials.add(RadialOptions(3, 123, 0, '@player_structure:permission_banned')) + if owner.getSkillModBase('manage_vendor') >= 1: + radials.add(RadialOptions(2, 130, 0, '@player_structure:create_vendor')) return @@ -73,5 +75,7 @@ def handleSelection(core, owner, target, option): if owner is not None: core.housingService.handlePermissionBan(owner,target) return - - + if option == 130: + if owner is not None and owner.getSkillModBase('manage_vendor') >= 1: + core.commandService.callCommand(owner, 'createvendor', None, '') + return diff --git a/scripts/static_spawns/dantooine/dantooine.py b/scripts/static_spawns/dantooine/dantooine.py new file mode 100644 index 00000000..ad56f992 --- /dev/null +++ b/scripts/static_spawns/dantooine/dantooine.py @@ -0,0 +1,21 @@ +import sys +from resources.datatables import Options +from resources.datatables import State + +def addPlanetSpawns(core, planet): +######################################################## +# DO NOT ADD ANYTHING ELSE TO THIS SCRIPT, PLEASE USE THE +# SUBFOLDERS FOR EACH PLANET AND CREATE NEW SCRIPTS FOR +# EACH AREA OF A PLANET. - LEVARRIS +######################################################## + stcSvc = core.staticService + # Blue Frog: Uncomment only when needed for testing. + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'dantooine', long(0), float(4196), float(9), float(5206), float(0.70), float(0.71)) + +######################################################## +# DO NOT ADD ANYTHING ELSE TO THIS SCRIPT, PLEASE USE THE +# SUBFOLDERS FOR EACH PLANET AND CREATE NEW SCRIPTS FOR +# EACH AREA OF A PLANET. - LEVARRIS +######################################################## + return + diff --git a/scripts/static_spawns/tatooine/lars_homestead.py b/scripts/static_spawns/tatooine/lars_homestead.py index 88c7b417..90877ca9 100644 --- a/scripts/static_spawns/tatooine/lars_homestead.py +++ b/scripts/static_spawns/tatooine/lars_homestead.py @@ -1,5 +1,5 @@ import sys -# Project SWG: Mos Entha: Static Spawns +# Project SWG: Lars Homestead: Static Spawns # (C)2014 ProjectSWG diff --git a/src/main/NGECore.java b/src/main/NGECore.java index 1fb03377..9e97ddb9 100644 --- a/src/main/NGECore.java +++ b/src/main/NGECore.java @@ -450,6 +450,7 @@ public class NGECore { simulationService = new SimulationService(this); objectService.loadBuildings(); + harvesterService.loadHarvesters(); if (optionsConfigLoaded && options.getInt("LOAD.RESOURCE.SYSTEM") > 0) { resourceService.loadResourceRoots(); diff --git a/src/resources/datatables/LightsaberColors.java b/src/resources/datatables/LightsaberColors.java new file mode 100644 index 00000000..7a8704f2 --- /dev/null +++ b/src/resources/datatables/LightsaberColors.java @@ -0,0 +1,74 @@ +/******************************************************************************* + * Copyright (c) 2013 + * + * 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 . + * + * 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.datatables; + +import org.python.google.common.collect.BiMap; +import org.python.google.common.collect.HashBiMap; + +public final class LightsaberColors { + + public static BiMap map = HashBiMap.create(); + + static + { + // I put in the names of the really generic ones... I should be right up until Dark Purple... I'm unsure after Dark Purple. + map.put("Red", 0); + map.put("Dark Red", 1); + map.put("Light Green", 2); + map.put("Dark Green", 3); + map.put("Blue", 4); + map.put("Dark Blue", 5); + map.put("Yellow", 6); + map.put("Dark Yellow", 7); + map.put("Purple", 8); + map.put("Dark Purple", 9); + + map.put("Brown", 10); + map.put("Dark Brown", 11); + + map.put("color 12", 12); + map.put("color 13", 13); + map.put("color 14", 14); + map.put("color 15", 15); + map.put("color 16", 16); + + map.put("Bane's Heart", 17); + map.put("Sunrider's Destiny", 25); + + // Special crystals that have seperate shaders - the 256 is for a hacky way to set blade type and color without more code + map.put("Lava", 256 + 1); + map.put("Permafrost", 256 + 2); + map.put("Blackwing", 256 + 3); + } + + public static int getByName(String colorName) + { + return map.get(colorName); + } + + public static String get(int index) + { + return map.inverse().get(index); + } + + +} diff --git a/src/resources/loot/LootRollSession.java b/src/resources/loot/LootRollSession.java index e79951fe..d6f26ad4 100644 --- a/src/resources/loot/LootRollSession.java +++ b/src/resources/loot/LootRollSession.java @@ -46,11 +46,14 @@ public class LootRollSession { private int sessionLootMode; private boolean allowRareLoot; private boolean increasedRLSChance; + private int lootedObjectLevel=0; + private int lootedObjectDifficulty=0; public LootRollSession(){ } public LootRollSession(CreatureObject requester, TangibleObject lootedObject){ + long requesterGroupId = requester.getGroupId(); if (requesterGroupId>0){ this.playerGroup = (GroupObject) NGECore.getInstance().objectService.getObject(requesterGroupId); @@ -62,6 +65,8 @@ public class LootRollSession { if (lootedObject instanceof CreatureObject){ CreatureObject lootedCreature = (CreatureObject)lootedObject; + lootedObjectLevel = lootedCreature.getLevel(); + lootedObjectDifficulty = lootedCreature.getDifficulty(); // Exclude rare loot depending on creature level // For groups maybe average CL? if (requester.getLevel()-lootedCreature.getLevel()<=6){ @@ -160,4 +165,20 @@ public class LootRollSession { public void setRequester(CreatureObject requester) { this.requester = requester; } + + public int getLootedObjectLevel() { + return lootedObjectLevel; + } + + public void setLootedObjectLevel(int lootedObjectLevel) { + this.lootedObjectLevel = lootedObjectLevel; + } + + public int getLootedObjectDifficulty() { + return lootedObjectDifficulty; + } + + public void setLootedObjectDifficulty(int lootedObjectDifficulty) { + this.lootedObjectDifficulty = lootedObjectDifficulty; + } } diff --git a/src/resources/objects/player/PlayerObject.java b/src/resources/objects/player/PlayerObject.java index 079c29b9..6994658b 100644 --- a/src/resources/objects/player/PlayerObject.java +++ b/src/resources/objects/player/PlayerObject.java @@ -28,6 +28,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.TreeMap; +import java.util.Vector; import resources.objects.ObjectMessageBuilder; import resources.objects.intangible.IntangibleObject; @@ -151,6 +152,7 @@ public class PlayerObject extends IntangibleObject implements Serializable { private transient boolean callingCompanion = false; private long bountyMissionId; + private Vector ownedVendors = new Vector(); public PlayerObject() { super(); @@ -921,5 +923,21 @@ public class PlayerObject extends IntangibleObject implements Serializable { public ObjectMessageBuilder getMessageBuilder() { return messageBuilder; } + + public Vector getOwnedVendors() { + return ownedVendors; + } + + public void addVendor(long vendorId) { + ownedVendors.add(vendorId); + } + + public void removeVendor(long vendorId) { + ownedVendors.remove(vendorId); + } + + public int getAmountOfVendors() { + return ownedVendors.size(); + } } diff --git a/src/resources/objects/tangible/TangibleObject.java b/src/resources/objects/tangible/TangibleObject.java index 6b9f01a2..d10499ec 100644 --- a/src/resources/objects/tangible/TangibleObject.java +++ b/src/resources/objects/tangible/TangibleObject.java @@ -297,6 +297,13 @@ public class TangibleObject extends SWGObject implements Serializable { } } + public Byte getCustomizationVariable(String type) + { + if(customizationVariables.containsKey(type)) return customizationVariables.get(type); + System.err.println("Error: object doesn't have customization variable " + type); + return null; + } + public void setCustomizationVariable(String type, byte value) { if(customizationVariables.containsKey(type)) customizationVariables.replace(type, value); diff --git a/src/services/DevService.java b/src/services/DevService.java index 5f99911c..596659fa 100644 --- a/src/services/DevService.java +++ b/src/services/DevService.java @@ -74,6 +74,7 @@ public class DevService implements INetworkDispatch { case 0: // Root suiOptions.put((long) 1, "Character"); suiOptions.put((long) 2, "Items"); + suiOptions.put((long) 3, "Locations"); break; case 1: // Character suiOptions.put((long) 10, "Set combat level to 90"); @@ -90,9 +91,7 @@ public class DevService implements INetworkDispatch { if(creature.getClient().isGM()) suiOptions.put((long) 120, "House Deeds"); if(creature.getClient().isGM()) suiOptions.put((long) 125, "Crafting Tools"); if(creature.getClient().isGM()) suiOptions.put((long) 130, "Vehicle Deeds"); - if(creature.getClient().isGM()) suiOptions.put((long) 121, "Sandbox City"); - if(creature.getClient().isGM()) suiOptions.put((long) 122, "Jedi Ruins"); - + if(creature.getClient().isGM()) suiOptions.put((long) 121, "Sandbox City"); break; case 3: // [Items] Weapons suiOptions.put((long) 30, "Jedi Weapons"); @@ -130,11 +129,16 @@ public class DevService implements INetworkDispatch { suiOptions.put((long) 90, "(Light) Jedi Robe"); suiOptions.put((long) 91, "(Dark) Jedi Robe"); suiOptions.put((long) 92, "Belt of Master Bodo Baas"); + suiOptions.put((long) 93, "Lightsaber Crystals"); break; case 10: // [Items] Jedi Items suiOptions.put((long) 111, "Harvesters"); suiOptions.put((long) 112, "Energy resources"); break; + case 11: // Locations + suiOptions.put((long) 122, "Teleport to Jedi Ruins"); + suiOptions.put((long) 124, "Teleport to Mos Eisley"); + break; } @@ -163,6 +167,9 @@ public class DevService implements INetworkDispatch { case 2: // Items sendCharacterBuilderSUI(player, 2); return; + case 3: // Locations + sendCharacterBuilderSUI(player, 11); + return; // Character case 10: // Set combat level to 90 @@ -257,7 +264,7 @@ public class DevService implements INetworkDispatch { rifle1.setMaxDamage(1250); rifle1.setWeaponType(WeaponType.RIFLE); - inventory.add(rifle1); + // inventory.add(rifle1); WeaponObject carbine1 = (WeaponObject) core.objectService.createObject("object/weapon/ranged/carbine/shared_carbine_cdef.iff", planet); carbine1.setIntAttribute("required_combat_level", 90); @@ -992,6 +999,48 @@ public class DevService implements INetworkDispatch { case 92: // Belt of Master Bodo Baas inventory.add(core.objectService.createObject("object/tangible/wearables/backpack/shared_fannypack_s01.iff", planet)); return; + case 93: // Lightsaber Crystals + TangibleObject kraytPearl = (TangibleObject) core.objectService.createObject("object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff", planet); + kraytPearl.setAttachment("LootItemName", "kraytpearl_flawless"); + core.lootService.handleSpecialItems(kraytPearl, "kraytpearl"); + inventory.add(kraytPearl); + + TangibleObject kraytPearl2 = (TangibleObject) core.objectService.createObject("object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff", planet); + kraytPearl2.setAttachment("LootItemName", "kraytpearl_flawless"); + core.lootService.handleSpecialItems(kraytPearl2, "kraytpearl"); + inventory.add(kraytPearl2); + + TangibleObject kraytPearl3 = (TangibleObject) core.objectService.createObject("object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff", planet); + kraytPearl3.setAttachment("LootItemName", "kraytpearl_flawless"); + core.lootService.handleSpecialItems(kraytPearl3, "kraytpearl"); + inventory.add(kraytPearl3); + + TangibleObject kraytPearl4 = (TangibleObject) core.objectService.createObject("object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff", planet); + kraytPearl4.setAttachment("LootItemName", "kraytpearl_flawless"); + core.lootService.handleSpecialItems(kraytPearl4, "kraytpearl"); + inventory.add(kraytPearl4); + + TangibleObject kraytPearl5 = (TangibleObject) core.objectService.createObject("object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff", planet); + kraytPearl5.setAttachment("LootItemName", "kraytpearl_flawless"); + core.lootService.handleSpecialItems(kraytPearl5, "kraytpearl"); + inventory.add(kraytPearl5); + + TangibleObject colorCrystal = (TangibleObject) core.objectService.createObject("object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff", planet); + colorCrystal.getAttributes().put("@obj_attr_n:condition", "100/100"); + colorCrystal.getAttributes().put("@obj_attr_n:crystal_owner", "\\#D1F56F UNTUNED \\#FFFFFF "); + colorCrystal.setAttachment("radial_filename", "item/tunable"); + core.lootService.setCustomization(colorCrystal, "colorcrystal"); + inventory.add(colorCrystal); + + TangibleObject lavaCrystal = (TangibleObject) core.objectService.createObject("object/tangible/component/weapon/lightsaber/shared_lightsaber_module_lava_crystal.iff", planet); + lavaCrystal.getAttributes().put("@obj_attr_n:condition", "100/100"); + lavaCrystal.getAttributes().put("@obj_attr_n:crystal_owner", "\\#D1F56F UNTUNED \\#FFFFFF "); + lavaCrystal.getAttributes().put("@obj_attr_n:color", "Lava"); + lavaCrystal.setAttachment("radial_filename", "item/tunable"); + inventory.add(lavaCrystal); + + return; + case 110: SurveyTool mineralSurveyTool = (SurveyTool) core.objectService.createObject("object/tangible/survey_tool/shared_survey_tool_mineral.iff", planet); mineralSurveyTool.setCustomName("Mineral Survey Device"); @@ -1179,8 +1228,11 @@ public class DevService implements INetworkDispatch { return; case 122: - Point3D position = new Point3D(4086,15,5554); - core.simulationService.transferToPlanet(player, core.terrainService.getPlanetByName("dantooine"), position, player.getOrientation(), null); + core.simulationService.transferToPlanet(player, core.terrainService.getPlanetByName("dantooine"), new Point3D(4198,9,5210), player.getOrientation(), null); + return; + + case 124: + core.simulationService.transferToPlanet(player, core.terrainService.getPlanetByName("tatooine"), new Point3D(3521,4,-4800), player.getOrientation(), null); return; case 123: diff --git a/src/services/EquipmentService.java b/src/services/EquipmentService.java index be901fc7..029edcdf 100644 --- a/src/services/EquipmentService.java +++ b/src/services/EquipmentService.java @@ -41,10 +41,13 @@ import org.python.core.PyObject; import resources.datatables.FactionStatus; import resources.objects.creature.CreatureObject; import main.NGECore; +import engine.resources.container.Traverser; import engine.resources.objects.SWGObject; import engine.resources.service.INetworkDispatch; import engine.resources.service.INetworkRemoteEvent; import resources.objects.player.PlayerObject; +import resources.objects.tangible.TangibleObject; +import resources.objects.weapon.WeaponObject; import services.equipment.BonusSetTemplate; public class EquipmentService implements INetworkDispatch { @@ -120,6 +123,12 @@ public class EquipmentService implements INetworkDispatch { return false; } + if(item.getAttachment("hasColorCrystal") != null && (Boolean) item.getAttachment("hasColorCrystal") == false) + { + actor.sendSystemMessage("You may not equip a light saber that has no color crystal!", (byte) 0); + return false; + } + return result; } @@ -290,6 +299,90 @@ public class EquipmentService implements INetworkDispatch { } } + public void calculateLightsaberAttributes(CreatureObject actor, TangibleObject item, SWGObject targetContainer) + { + WeaponObject lightsaber = null; + TangibleObject lightsaberInventory = null; + long tunerId = 0; + + // Get our lightsaber weapon object + if(item.getContainer().getTemplate().startsWith("object/tangible/inventory/shared_lightsaber_inventory")) lightsaber = (WeaponObject) item.getGrandparent(); + else if(targetContainer.getTemplate().startsWith("object/tangible/inventory/shared_lightsaber_inventory")) lightsaber = (WeaponObject) targetContainer.getContainer(); + lightsaberInventory = (TangibleObject) lightsaber.getSlottedObject("saber_inv"); + + if(lightsaber.getAttachment("weaponBaseDamageMin") == null) lightsaber.setAttachment("weaponBaseDamageMin", lightsaber.getMinDamage()); + if(lightsaber.getAttachment("weaponBaseDamageMax") == null) lightsaber.setAttachment("weaponBaseDamageMax", lightsaber.getMaxDamage()); + + // Check if item is a lightsaber component + if(lightsaber == null) return; + if(lightsaberInventory == null) return; + if(lightsaber.getContainer() instanceof CreatureObject) return; + + if(!item.getTemplate().startsWith("object/tangible/component/weapon/lightsaber/")) return; + if(lightsaber.getAttachment("hasColorCrystal") == null) lightsaber.setAttachment("hasColorCrystal", false); + if(item.getAttributes().containsKey("@obj_attr_n:color") && (Boolean) lightsaber.getAttachment("hasColorCrystal")) return; + + // Find our tuner + if(item.getAttachment("tunerId") == null) item.setAttachment("tunerId", 0); + tunerId = (int) item.getAttachment("tunerId"); + + // Check if player tuned the crystal + if(tunerId != actor.getObjectId()) + { + actor.sendSystemMessage("You did not tune this crystal.", (byte) 0); + return; + } + else item.getContainer().transferTo(actor, targetContainer, item); + + // Calculate attributes + lightsaberInventory.viewChildren(lightsaberInventory, false, false, new Traverser() + { + WeaponObject saber; + TangibleObject saberInv; + + int minDamageBonus = 0; + int maxDamageBonus = 0; + Boolean hasColorCrystal = false; + + public void process(SWGObject item) + { + saber = (WeaponObject) item.getGrandparent(); + saberInv = (TangibleObject) saber.getSlottedObject("saber_inv"); + + if(item.getAttributes().get("@obj_attr_n:color") != null) // "Blade Color Modification" + { + int crystalColorIndex = resources.datatables.LightsaberColors.getByName((String) item.getAttributes().get("@obj_attr_n:color")); + + byte bladeType = crystalColorIndex > 256 ? (byte) (crystalColorIndex % 256) : 0x00; + byte bladeColor = crystalColorIndex > 256 ? (byte) 0x00 : (byte) crystalColorIndex; + + saber.setCustomizationVariable("private/alternate_shader_blade", bladeType); + saber.setCustomizationVariable("/private/index_color_blade", bladeColor); + + // System.out.println("bladeColorName: " + item.getAttributes().get("@obj_attr_n:color")); + // System.out.println("bladeColor: " + bladeColor); + // System.out.println("bladeType: " + bladeType); + // System.out.println(); + + hasColorCrystal = true; + } + else + { + minDamageBonus += Integer.parseInt(item.getAttributes().get("@obj_attr_n:componentbonuslow")); // "Min Damage Modified" + maxDamageBonus += Integer.parseInt(item.getAttributes().get("@obj_attr_n:componentbonushigh")); // "Max Damage Modified"" + } + + int saberBaseDamageMin = (int) saber.getAttachment("weaponBaseDamageMin"); + int saberBaseDamageMax = (int) saber.getAttachment("weaponBaseDamageMax"); + + saber.setMinDamage(saberBaseDamageMin + minDamageBonus); + saber.setMaxDamage(saberBaseDamageMax + maxDamageBonus); + + saber.setAttachment("hasColorCrystal", hasColorCrystal); + } + }); + } + private int getWeaponCriticalChance(CreatureObject actor, SWGObject item) { int weaponCriticalChance = 0; String weaponCriticalSkillMod = (core.scriptService.getMethod("scripts/equipment/", "weapon_critical", "weap_" + item.getStringAttribute("cat_wpn_damage.wpn_category").replace("@obj_attr_n:wpn_category_", "")).__call__().asString()); diff --git a/src/services/LootService.java b/src/services/LootService.java index 97d45a46..84038d1b 100644 --- a/src/services/LootService.java +++ b/src/services/LootService.java @@ -25,9 +25,14 @@ import java.io.File; import java.io.IOException; import java.nio.file.DirectoryStream; import java.nio.file.DirectoryStream.Filter; +import java.nio.file.attribute.BasicFileAttributes; import java.nio.file.FileSystems; +import java.nio.file.FileVisitResult; +import java.nio.file.FileVisitor; import java.nio.file.Files; import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.SimpleFileVisitor; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedHashMap; @@ -36,6 +41,8 @@ import java.util.Map; import java.util.Random; import java.util.Vector; +import org.apache.commons.lang3.ArrayUtils; + import protocol.swg.PlayClientEffectObjectTransformMessage; import resources.loot.LootGroup; import resources.loot.LootRollSession; @@ -77,12 +84,14 @@ public class LootService implements INetworkDispatch { } public void handleLootRequest(CreatureObject requester, TangibleObject lootedObject) { - + System.out.println("handleLootRequest "); // security check if (hasAccess(requester,lootedObject) && ! lootedObject.isLooted()){ LootRollSession lootRollSession = (LootRollSession )lootedObject.getAttachment("LootSession"); - if (lootRollSession.getDroppedItems().size()==0) - return; + if (lootRollSession.getDroppedItems().size()==0){ + System.err.println("lootRollSession.getDroppedItems().size()==0"); + return; + } SWGObject lootedObjectInventory = lootedObject.getSlottedObject("inventory"); core.simulationService.openContainer(requester, lootedObjectInventory); setLooted(requester,lootedObject); @@ -91,6 +100,8 @@ public class LootService implements INetworkDispatch { private boolean hasAccess(CreatureObject requester, TangibleObject lootedObject){ LootRollSession lootRollSession = (LootRollSession )lootedObject.getAttachment("LootSession"); + if (lootRollSession==null) + System.err.println("LootSession null: " + lootRollSession); if (lootRollSession!=null){ if (lootRollSession.getRequester()==requester){ return true; @@ -118,6 +129,7 @@ public class LootService implements INetworkDispatch { lootedObject.setLootLock(true); LootRollSession lootRollSession = new LootRollSession(requester,lootedObject); + lootedObject.setAttachment("LootSession", lootRollSession); // preliminarily register session already here handleCreditDrop(requester,lootedObject,lootRollSession); @@ -141,21 +153,23 @@ public class LootService implements INetworkDispatch { System.out.println("this lootGroup will drop something"); handleLootGroup(lootGroup,lootRollSession); //this lootGroup will drop something e.g. {kraytpearl_range,krayt_tissue_rare} } + System.out.println("While Loop Stuck check"); } + System.out.println("Past while "); // Rare Loot System Stage (Is in place for all looted creatures) - if (lootRollSession.isAllowRareLoot()){ - int randomRareLoot = new Random().nextInt(100); - int chanceRequirement = 1; - if (lootRollSession.isIncreasedRLSChance()) - chanceRequirement+=3; // RLS chance is at 4% for groupsize >= 4 - if (randomRareLoot <= chanceRequirement){ - handleRareLootChest(lootRollSession); - } - } +//if (lootRollSession.isAllowRareLoot()){ +// int randomRareLoot = new Random().nextInt(100); +// int chanceRequirement = 1; +// if (lootRollSession.isIncreasedRLSChance()) +// chanceRequirement+=3; // RLS chance is at 4% for groupsize >= 4 +// if (randomRareLoot <= chanceRequirement){ +// handleRareLootChest(lootRollSession); +// } +//} // set info above corpse - + System.out.println("lootedObject instanceof CreatureObject " + (lootedObject instanceof CreatureObject)); if (lootedObject instanceof CreatureObject){ float y = 0.5F; // 1.3356977F float qz= 1.06535322E9F; @@ -182,7 +196,7 @@ public class LootService implements INetworkDispatch { // For autoloot //SWGObject requesterInventory = requester.getSlottedObject("inventory"); - + System.out.println("lootRollSession.getDroppedItems() " + (lootRollSession.getDroppedItems())); for (TangibleObject droppedItem : lootRollSession.getDroppedItems()){ //droppedItem.setAttachment("radial_filename", "lootitem"); @@ -217,15 +231,24 @@ public class LootService implements INetworkDispatch { double randomItemFromGroup = new Random().nextDouble()*100; double remainder = 0; // [10,20,30,34,5,1] + double span = 100/lootPoolNames.length; + + boolean test = false; for(int i=0;i itemChances = (Vector)core.scriptService.fetchDoubleVector(path,"itemChances"); double randomItemFromPool = new Random().nextDouble()*100; - int remainder = 0; // [10,20,30,34,5,1] - + double remainder = 0.0; // [10,20,30,34,5,1] + double span = 100.0/(double)itemNames.size(); + for (int i=0;i subfolders = new ArrayList(); // Consider all sub-folders - try (DirectoryStream ds = Files.newDirectoryStream(FileSystems.getDefault().getPath("scripts/loot/lootItems/"), new DirectoriesFilter())) { - for (Path p : ds) { - subfolders.add(p.getFileName().toString()); - } - } catch (IOException e) { - lootRollSession.addErrorMessage("File system check caused an error. Please contact Charon about this issue."); - return; - } - - String itemPath = "scripts/loot/lootItems/"+itemName.toLowerCase()+".py"; - File file = new File(itemPath); - if (!file.isFile()){ - for (String subfolderName : subfolders){ - itemPath = "scripts/loot/lootItems/"+ subfolderName +"/"+itemName.toLowerCase()+".py"; - File subfile = new File(itemPath); - if (subfile.isFile()) - break; - } + + final Vector foundPath = new Vector(); + Path p = Paths.get("scripts/loot/lootItems/"); + FileVisitor fv = new SimpleFileVisitor() { + @Override + public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { + String actualFileName = file.getFileName().toString(); + actualFileName = actualFileName.substring(0, actualFileName.length()-3); + if (actualFileName.equals(itemName.toLowerCase())){ + foundPath.add(file.toString()); + } + return FileVisitResult.CONTINUE; + } + }; + try { + Files.walkFileTree(p, fv); + } catch (IOException e) { + e.printStackTrace(); } - - File checkfile = new File(itemPath); - if (!checkfile.isFile()){ + + + if (foundPath.size()==0){ String errorMessage = "Loot item '" + itemName + "' not found in file system. Please contact Charon about this issue."; lootRollSession.addErrorMessage(errorMessage); return; - } + + } + String itemPath = foundPath.get(0); itemPath = itemPath.substring(0, itemPath.length()-3); // remove the file type @@ -335,7 +363,7 @@ public class LootService implements INetworkDispatch { if(core.scriptService.getMethod(itemPath,"","itemStats")!=null) itemStats = (Vector)core.scriptService.fetchStringVector(itemPath,"itemStats"); - if(core.scriptService.getMethod(itemPath,"","itemStats")!=null) + if(core.scriptService.getMethod(itemPath,"","itemSkillMods")!=null) itemSkillMods = (Vector)core.scriptService.fetchStringVector(itemPath,"itemSkillMods"); if(core.scriptService.getMethod(itemPath,"","biolink")!=null) @@ -359,6 +387,7 @@ public class LootService implements INetworkDispatch { if(core.scriptService.getMethod(itemPath,"","junkType")!=null) junkType = (byte)core.scriptService.fetchInteger(itemPath,"junkType"); + System.out.println("itemTemplate " + itemTemplate); TangibleObject droppedItem = createDroppedItem(itemTemplate,lootRollSession.getSessionPlanet()); @@ -366,6 +395,10 @@ public class LootService implements INetworkDispatch { droppedItem.setLootItem(true); droppedItem.setAttachment("LootItemName", itemName); + if(core.scriptService.getMethod(itemPath,"","randomStatJewelry")!=null){ + customName = setRandomStatsJewelry(droppedItem, lootRollSession); + } + if (customName!=null) handleCustomDropName(droppedItem, customName); @@ -420,6 +453,7 @@ public class LootService implements INetworkDispatch { lootRollSession.addDroppedItem(droppedItem); + System.out.println("END REACHED"); } private void handleCustomDropName(TangibleObject droppedItem,String customName) { @@ -499,12 +533,16 @@ public class LootService implements INetworkDispatch { } - private void setCustomization(TangibleObject droppedItem,String itemName) { + public void setCustomization(TangibleObject droppedItem,String itemName) { // Example color crystal if (itemName.contains("colorcrystal")) { System.out.println("colorcrystal"); - droppedItem.setCustomizationVariable("/private/index_color_1", (byte) new Random().nextInt(11)); + + int crystalColor = new Random().nextInt(11); + + droppedItem.setCustomizationVariable("/private/index_color_1", (byte) crystalColor); + droppedItem.getAttributes().put("@obj_attr_n:color", resources.datatables.LightsaberColors.get(crystalColor)); } // Example power crystal @@ -524,7 +562,7 @@ public class LootService implements INetworkDispatch { // } } - private void handleSpecialItems(TangibleObject droppedItem,String itemName) { + public void handleSpecialItems(TangibleObject droppedItem,String itemName) { if (itemName.contains("kraytpearl")){ handleKraytPearl(droppedItem); } @@ -866,6 +904,273 @@ public class LootService implements INetworkDispatch { //((CreatureObject) requester).getClient().getSession().write(lmsg.serialize()); } + private String setRandomStatsJewelry(TangibleObject droppedItem, LootRollSession lootRollSession){ + + //determine number of stats #20 yt + int statNumber = 1; + int levelOfDrop = lootRollSession.getLootedObjectLevel(); + int difficultyLevel = lootRollSession.getLootedObjectDifficulty(); // better for calculation + //difficultyLevel++; // better for calculation + +// if (levelOfDrop>70 && levelOfDrop<90 && difficultyLevel==1) +// statNumber = 2; +// +// if (levelOfDrop>=90 && difficultyLevel==1) +// statNumber = 2; +// int statRoll = new Random().nextInt(100); +// if (statRoll<30) +// statNumber = 3; +// +// if (levelOfDrop>=90 && difficultyLevel>=2){ +// statNumber = 2; +// statRoll = new Random().nextInt(100); +// if (statRoll<8) +// statNumber = 4; +// else if (statRoll<50) +// statNumber = 3; +// } + + int statRoll = new Random().nextInt(100); + int difficultyBonus = 0; + + // stage 1 + if (difficultyLevel==1) + difficultyBonus = 60; + if (difficultyLevel>=2) + difficultyBonus = 75; + + if (statRoll<20+difficultyBonus) // diff 3 95% diff 2 70 diff1 20 + statNumber++; + + // stage 2 + difficultyBonus = 0; + if (difficultyLevel==1) + difficultyBonus = 20; + if (difficultyLevel>=2) + difficultyBonus = 60; + + if (statRoll<10+difficultyBonus) // diff 3 70% diff 2 30 diff1 10 + statNumber++; + + // stage 3 + difficultyBonus = 0; + if (difficultyLevel==1) + difficultyBonus = 3; + if (difficultyLevel>=2) + difficultyBonus = 5; + + if (statRoll<1+difficultyBonus) + statNumber++; + + + int primaryAttribute = new Random().nextInt(7); // 0-6 + int maxValue = (int) (levelOfDrop*25/90); + int minValue = (int) (0.75*maxValue); + minValue = Math.max(1, minValue); + maxValue = Math.max(2, maxValue); + droppedItem.setIntAttribute(getAttributeSTF(primaryAttribute), getStatValue(minValue,maxValue)); + maxValue -= 2; //secondary attributes must have less maxValue + minValue = (int) (0.75*maxValue); + minValue = Math.max(1, minValue); + maxValue = Math.max(2, maxValue); + String prefix = getJewelryPrefix(droppedItem); + String suffix = getJewelrySuffix(primaryAttribute, statNumber); + String itemName = prefix + suffix; + Vector alreadyUsedStats = new Vector(); + alreadyUsedStats.add(primaryAttribute); + int attribute = primaryAttribute; + + +// for (int i=0;i statList = new ArrayList(); + for (int i=0;i<7;i++) + statList.add(i); + statList.remove(primaryAttribute); + + for (int i=0;i()); + NGECore.getInstance().lootService.DropLoot((CreatureObject)(actor.getCreature().getKiller()),(TangibleObject)(actor.getCreature())); actor.scheduleDespawn(); return 0; } diff --git a/src/services/bazaar/BazaarService.java b/src/services/bazaar/BazaarService.java index c94feb02..d3aea497 100644 --- a/src/services/bazaar/BazaarService.java +++ b/src/services/bazaar/BazaarService.java @@ -81,6 +81,7 @@ public class BazaarService implements INetworkDispatch { public BazaarService(NGECore core) { this.core = core; + core.commandService.registerCommand("createvendor"); loadAuctionItems(); } diff --git a/src/services/chat/ChatService.java b/src/services/chat/ChatService.java index 26e6c611..e75acf0a 100644 --- a/src/services/chat/ChatService.java +++ b/src/services/chat/ChatService.java @@ -708,6 +708,8 @@ public class ChatService implements INetworkDispatch { while(cursor.hasNext()) { Mail mail = (Mail) cursor.next(); + if(mail == null) + continue; if(mail.getRecieverId() == obj.getObjectID()) { sendPersistentMessageHeader(client, mail); } diff --git a/src/services/combat/CombatService.java b/src/services/combat/CombatService.java index fc61e166..4688d12d 100644 --- a/src/services/combat/CombatService.java +++ b/src/services/combat/CombatService.java @@ -783,10 +783,12 @@ public class CombatService implements INetworkDispatch { } synchronized(target.getMutex()) { + if(core.mountService.isMounted(target)) core.mountService.dismount(target, (CreatureObject) target.getContainer()); + target.setHealth(1); target.setPosture((byte) 13); target.setTurnRadius(0); - target.setSpeedMultiplierBase(0); + target.setSpeedMultiplierBase(0); } ScheduledFuture incapTask = scheduler.schedule(() -> { diff --git a/src/services/housing/HousingService.java b/src/services/housing/HousingService.java index 2b092b6f..67642d31 100644 --- a/src/services/housing/HousingService.java +++ b/src/services/housing/HousingService.java @@ -168,10 +168,15 @@ public class HousingService implements INetworkDispatch { } } - // Save structure to DB - /*building.createTransaction(core.getBuildingODB().getEnvironment()); - core.getBuildingODB().put(building, Long.class, BuildingObject.class, building.getTransaction()); - building.getTransaction().commitSync();*/ + //core.objectService.persistObject(building.getObjectID(), building, core.getSWGObjectODB()); + + } + + public void saveBuildings() { + core.objectService.getObjectList() + .values().stream() + .filter(obj -> obj instanceof BuildingObject && obj.getAttachment("structureOwner") != null) + .forEach(building -> core.objectService.persistObject(building.getObjectID(), building, core.getSWGObjectODB())); } @SuppressWarnings("unchecked") diff --git a/src/services/object/ObjectService.java b/src/services/object/ObjectService.java index b15e8cbe..657661f3 100644 --- a/src/services/object/ObjectService.java +++ b/src/services/object/ObjectService.java @@ -157,6 +157,8 @@ public class ObjectService implements INetworkDispatch { } } core.bazaarService.saveAllItems(); + core.housingService.saveBuildings(); + core.harvesterService.saveHarvesters(); core.closeODBs(); } }); @@ -239,13 +241,7 @@ public class ObjectService implements INetworkDispatch { object = new SurveyTool(objectID, planet, Template, position, orientation); - } -// else if(Template.startsWith("object/tangible/container/drum/shared_treasure_drum.iff")) { -// -// object = new CreatureObject(objectID, planet, position, orientation, Template); -// -// } - else if(Template.startsWith("object/tangible")) { + } else if(Template.startsWith("object/tangible")) { object = new TangibleObject(objectID, planet, Template, position, orientation); @@ -253,7 +249,7 @@ public class ObjectService implements INetworkDispatch { object = new IntangibleObject(objectID, planet, position, orientation,Template); - }else if(Template.startsWith("object/weapon")) { + } else if(Template.startsWith("object/weapon")) { object = new WeaponObject(objectID, planet, Template, position, orientation); @@ -336,9 +332,10 @@ public class ObjectService implements INetworkDispatch { object.setAttachment("customServerTemplate", customServerTemplate); object.setisInSnapshot(isSnapshot); - if(!core.getObjectIdODB().contains(objectID)) - core.getObjectIdODB().put(objectID, new ObjectId(objectID)); - + synchronized(objectMutex) { + if(!core.getObjectIdODB().contains(objectID)) + core.getObjectIdODB().put(objectID, new ObjectId(objectID)); + } // Set Options - easier to set them across the board here // because we'll be spawning them despite most of them being unscripted. // Any such settings can be completely reset with setOptionsBitmask @@ -618,24 +615,22 @@ public class ObjectService implements INetworkDispatch { long newId = 0; boolean found = false; // stack overflow when using recursion - while(!found) { - synchronized(objectMutex) { + synchronized(objectMutex) { + while(!found) { newId = highestId.incrementAndGet(); + PreparedStatement ps2; + try { + ps2 = databaseConnection.preparedStatement("UPDATE highestid SET id=" + newId + " WHERE id=(SELECT MAX(id) FROM highestid)"); + ps2.executeUpdate(); + ps2.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + if(objectList.containsKey(newId) || core.getObjectIdODB().contains(newId)) + found = false; + else + found = true; } - - PreparedStatement ps2; - - try { - ps2 = databaseConnection.preparedStatement("UPDATE highestid SET id=" + newId + " WHERE id=" + (newId-1)); - ps2.executeUpdate(); - ps2.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - if(getObject(newId) != null || core.getObjectIdODB().contains(newId)) - found = false; - else - found = true; } return newId; diff --git a/src/services/pet/MountService.java b/src/services/pet/MountService.java index 6108e0a2..1ffc8949 100644 --- a/src/services/pet/MountService.java +++ b/src/services/pet/MountService.java @@ -63,7 +63,7 @@ public class MountService implements INetworkDispatch { } if (actor.getSlottedObject("ghost") == null) { - actor.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:failed_to_call_vehicle"), DisplayType.Broadcast); + actor.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:failed_to_call_vehicle"), DisplayType.Broadcast); return; } @@ -75,12 +75,12 @@ public class MountService implements INetworkDispatch { // Unsure if these are the right attributes. It doesn't generate the vehicle if the datapad has max # of vehicles. //if (datapad.getIntAttribute("data_size") >= datapad.getIntAttribute("datapad_slots")) { - //actor.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:has_max_vehicle"), DisplayType.Broadcast); + //actor.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:has_max_vehicle"), DisplayType.Broadcast); //return; //} if (actor.getTefTime() > 0){ - actor.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:prose_cant_generate_yet", actor.getTefTime()), DisplayType.Broadcast); + actor.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:prose_cant_generate_yet", actor.getTefTime()), DisplayType.Broadcast); return; } @@ -114,7 +114,7 @@ public class MountService implements INetworkDispatch { core.objectService.destroyObject(deed); } - actor.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:device_added"), DisplayType.Broadcast); + actor.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:device_added"), DisplayType.Broadcast); call(actor, pcd); } @@ -129,38 +129,38 @@ public class MountService implements INetworkDispatch { } if (pcd == null) { - actor.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:cant_call"), DisplayType.Broadcast); + actor.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:cant_call"), DisplayType.Broadcast); return; } if (isMounted(actor)) { - actor.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:cannot_call_another_rideable"), DisplayType.Broadcast); + actor.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:cannot_call_another_rideable"), DisplayType.Broadcast); return; } if (actor.getCombatFlag() == 1) { - actor.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:cannot_call_in_combat"), DisplayType.Broadcast); + actor.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:cannot_call_in_combat"), DisplayType.Broadcast); return; } if (actor.getContainer() != null) { - actor.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:cannot_call_indoors"), DisplayType.Broadcast); + actor.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:cannot_call_indoors"), DisplayType.Broadcast); return; } if (actor.getPosture() == Posture.Dead) { - actor.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:cannot_call_while_dead"), DisplayType.Broadcast); + actor.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:cannot_call_while_dead"), DisplayType.Broadcast); return; } if (pcd.getSlottedObject("inventory") == null) { - actor.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:cant_call"), DisplayType.Broadcast); + actor.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:cant_call"), DisplayType.Broadcast); return; } if (pcd.getStringAttribute("required_faction") != null && pcd.getStringAttribute("required_faction").length() > 0) { if (!actor.getFaction().equals(pcd.getStringAttribute("required_faction"))) { - actor.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:officer_faction"), DisplayType.Broadcast); + actor.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:officer_faction"), DisplayType.Broadcast); return; } } @@ -175,7 +175,7 @@ public class MountService implements INetworkDispatch { if (mount == null) { // Somehow the vehicle object has got lost - actor.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:cant_call"), DisplayType.Broadcast); + actor.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:cant_call"), DisplayType.Broadcast); return; } @@ -194,24 +194,24 @@ public class MountService implements INetworkDispatch { private void callVehicle(CreatureObject actor, SWGObject pcd, PlayerObject player, CreatureObject mount) { if ((mount.getLevel() - actor.getLevel()) > 5) { - actor.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:cant_call_level"), DisplayType.Broadcast); + actor.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:cant_call_level"), DisplayType.Broadcast); return; } // FIXME Movement skillmod should always be used instead of CREO4 speed vars directly. Movement skillmod should NEVER be 0 unless rooted. Currently it is, which is wrong. //if (actor.getSkillModBase("movement") == 0) { - //actor.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:cant_call_vehicle_rooted"), DisplayType.Broadcast); + //actor.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:cant_call_vehicle_rooted"), DisplayType.Broadcast); //return; //} if (actor.getPlanet().getName().contains("kashyyyk") && !actor.getPlanet().getName().contains("_main")) { - actor.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:vehicle_restricted_scene"), DisplayType.Broadcast); + actor.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:vehicle_restricted_scene"), DisplayType.Broadcast); //mount_restricted_scene for creature mounts return; } if (player.isCallingCompanion()) { - actor.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:cant_call_1sec"), DisplayType.Broadcast); + actor.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:cant_call_1sec"), DisplayType.Broadcast); return; } @@ -220,7 +220,7 @@ public class MountService implements INetworkDispatch { player.setCallingCompanion(true); if (actor.getTefTime() > 0) { - actor.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:call_vehicle_delay", actor.getTefTime()), DisplayType.Broadcast); + actor.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:call_vehicle_delay", actor.getTefTime()), DisplayType.Broadcast); } try { @@ -303,7 +303,7 @@ public class MountService implements INetworkDispatch { dismount(rider, mount); - rider.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:veh_disabled"), DisplayType.Broadcast); + rider.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:veh_disabled"), DisplayType.Broadcast); } }); @@ -361,12 +361,12 @@ public class MountService implements INetworkDispatch { } if (mount.getOption(Options.DISABLED)) { - repairer.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:cannot_repair_disabled"), DisplayType.Broadcast); + repairer.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:cannot_repair_disabled"), DisplayType.Broadcast); return; } if (mount.getConditionDamage() == 0) { - repairer.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:undamaged_vehicle"), DisplayType.Broadcast); + repairer.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:undamaged_vehicle"), DisplayType.Broadcast); return; } @@ -374,14 +374,14 @@ public class MountService implements INetworkDispatch { // But at the moment it's not important. if (!canRepair(repairer, mount)) { - repairer.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:repair_unrecognized_garages"), DisplayType.Broadcast); + repairer.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:repair_unrecognized_garages"), DisplayType.Broadcast); return; } int cost = mount.getConditionDamage(); if (repairer.getCashCredits() < cost) { - repairer.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:repair_failed_due_to_funds"), DisplayType.Broadcast); + repairer.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:repair_failed_due_to_funds"), DisplayType.Broadcast); return; } @@ -389,7 +389,7 @@ public class MountService implements INetworkDispatch { mount.setOptions(Options.DISABLED, false); - repairer.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:repaired_to_max"), DisplayType.Broadcast); + repairer.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:repaired_to_max"), DisplayType.Broadcast); } public void mount(CreatureObject rider, CreatureObject mount) { @@ -408,17 +408,17 @@ public class MountService implements INetworkDispatch { } if (mount.getOption(Options.DISABLED)) { - rider.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:cant_mount_veh_disabled"), DisplayType.Broadcast); + rider.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:cant_mount_veh_disabled"), DisplayType.Broadcast); return; } if (rider.isInStealth()) { - rider.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:no_mount_stealth"), DisplayType.Broadcast); + rider.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:no_mount_stealth"), DisplayType.Broadcast); return; } if (!canMount(rider, mount)) { - rider.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:cant_mount"), DisplayType.Broadcast); + rider.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:cant_mount"), DisplayType.Broadcast); return; } @@ -429,8 +429,8 @@ public class MountService implements INetworkDispatch { rider.setState(State.RidingMount, true); mount.setState(State.MountedCreature, true); - rider.setPosture((mount.getTemplate().contains("vehicle")) ? Posture.DrivingVehicle : Posture.RidingCreature); - //mount.setPosture((mount.getTemplate().contains("vehicle")) ? Posture.DrivingVehicle : Posture.RidingCreature); + // For some reason SOE decided the mount would need the following posture to be set for the character to have the driving or riding animation. + mount.setPosture((mount.getTemplate().contains("vehicle")) ? Posture.DrivingVehicle : Posture.RidingCreature); if (!mount.getSlotNameForObject(rider).equals("rider1")) { core.buffService.addBuffToCreature(rider, "vehicle_passenger", mount); @@ -551,7 +551,11 @@ public class MountService implements INetworkDispatch { LongAdder adder = new LongAdder(); - mount.getSlottedObject("inventory").viewChildren(mount, false, false, (obj) -> adder.increment()); + try { + mount.viewChildren(mount, false, false, (object) -> adder.increment()); + } catch(Exception ex) { + + } int passengers = adder.intValue(); @@ -589,8 +593,7 @@ public class MountService implements INetworkDispatch { } public void dismount(CreatureObject rider, CreatureObject mount) { - // Check if mount is currently mounted // Not necessary since nobody'll be dismounted if so - + if (rider == null || mount == null) { return; } @@ -605,12 +608,12 @@ public class MountService implements INetworkDispatch { // Dismount all passengers if (rider.getObjectID() == mount.getOwnerId()) { - CreatureObject owner = rider; - mount.viewChildren(owner, false, false, new Traverser() { - - public void process(SWGObject passenger) { - if (passenger != owner) dismount(rider, mount); + mount.viewChildren(mount, false, false, new Traverser() + { + public void process(SWGObject passenger) + { + if (passenger.getObjectId() != mount.getOwnerId()) dismount((CreatureObject) passenger, mount); } }); @@ -666,17 +669,17 @@ public class MountService implements INetworkDispatch { PlayerObject player = (PlayerObject) owner.getSlottedObject("ghost"); if (player.isCallingCompanion()) { - storer.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:cant_store_1sec"), DisplayType.Broadcast); + storer.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:cant_store_1sec"), DisplayType.Broadcast); return; } if (isMounted(owner, mount)) { - storer.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:must_dismount"), DisplayType.Broadcast); + storer.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:must_dismount"), DisplayType.Broadcast); return; } if (owner.getTefTime() > 0) { - owner.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:prose_cant_store_yet", owner.getTefTime()), DisplayType.Broadcast); + owner.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:prose_cant_store_yet", owner.getTefTime()), DisplayType.Broadcast); return; } @@ -764,9 +767,9 @@ public class MountService implements INetworkDispatch { core.objectService.destroyObject(pcd); if (type.contains("vehicle")) { - destroyer.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:vehicle_released"), DisplayType.Broadcast); + destroyer.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:vehicle_released"), DisplayType.Broadcast); } else { - destroyer.sendSystemMessage(OutOfBand.ProsePackage("@pet_menu:pet_released"), DisplayType.Broadcast); + destroyer.sendSystemMessage(OutOfBand.ProsePackage("@pet/pet_menu:pet_released"), DisplayType.Broadcast); } } diff --git a/src/services/resources/HarvesterService.java b/src/services/resources/HarvesterService.java index 151a6d67..b49e048e 100644 --- a/src/services/resources/HarvesterService.java +++ b/src/services/resources/HarvesterService.java @@ -47,12 +47,15 @@ import main.NGECore; import engine.clients.Client; import engine.resources.common.CRC; import engine.resources.container.Traverser; +import engine.resources.database.ODBCursor; import engine.resources.objects.SWGObject; +import engine.resources.scene.Planet; import engine.resources.scene.Point3D; import engine.resources.scene.Quaternion; import engine.resources.service.INetworkDispatch; import engine.resources.service.INetworkRemoteEvent; import resources.common.ObjControllerOpcodes; +import resources.objects.building.BuildingObject; import resources.objects.creature.CreatureObject; import resources.objects.harvester.HarvesterMessageBuilder; import resources.objects.harvester.HarvesterObject; @@ -95,6 +98,35 @@ public class HarvesterService implements INetworkDispatch { scheduleHarvesterService(); } + public void loadHarvesters() { + ODBCursor cursor = core.getSWGObjectODB().getCursor(); + + while(cursor.hasNext()) { + final SWGObject harvester = (SWGObject) cursor.next(); + if(!(harvester instanceof HarvesterObject) || harvester == null) + continue; + core.objectService.getObjectList().put(harvester.getObjectID(), harvester); + Planet planet = core.terrainService.getPlanetByID(harvester.getPlanetId()); + harvester.setPlanet(planet); + harvester.viewChildren(harvester, true, true, (object) -> { + core.objectService.getObjectList().put(object.getObjectID(), object); + if(object.getParentId() != 0 && object.getContainer() == null) + object.setParent(harvester); + object.getContainerInfo(object.getTemplate()); + }); + allHarvesters.add((HarvesterObject) harvester); + } + + cursor.close(); + } + + public void saveHarvesters() { + for(HarvesterObject harvester : allHarvesters) { + core.objectService.persistObject(harvester.getObjectID(), harvester, core.getSWGObjectODB()); + } + } + + @Override public void insertOpcodes(Map swgOpcodes, Map objControllerOpcodes) { @@ -1055,6 +1087,7 @@ public class HarvesterService implements INetworkDispatch { //NGECore.getInstance().chatService.sendPersistentMessage(actor.getClient(), constructionNotificationMail); NGECore.getInstance().chatService.storePersistentMessage(constructionNotificationMail); NGECore.getInstance().chatService.sendPersistentMessageHeader(actor.getClient(), constructionNotificationMail); + //core.objectService.persistObject(harvester.getObjectID(), harvester, core.getSWGObjectODB()); } diff --git a/src/services/sui/SUIService.java b/src/services/sui/SUIService.java index 309577cc..7be91518 100644 --- a/src/services/sui/SUIService.java +++ b/src/services/sui/SUIService.java @@ -77,7 +77,7 @@ public class SUIService implements INetworkDispatch { ObjectMenuRequest request = new ObjectMenuRequest(); request.deserialize(data); - + SWGObject target = core.objectService.getObject(request.getTargetId()); SWGObject owner = core.objectService.getObject(request.getCharacterId()); @@ -107,6 +107,7 @@ public class SUIService implements INetworkDispatch { } if (target instanceof CreatureObject){ + //System.out.println("SUI target is creatureobject"); CreatureObject creature = (CreatureObject) target; if (!creature.isPlayer() && creature.isLootLock()){ LootRollSession lootRollSession = (LootRollSession )creature.getAttachment("LootSession"); @@ -114,12 +115,22 @@ public class SUIService implements INetworkDispatch { if (lootRollSession.getRequester()!=owner){ // ToDo: RADIALS MUST BE DISABLED HERE FOR THE CORPSE, BUT HOW? - core.scriptService.callScript("scripts/radial/", "npc/noloot", "createRadial", core, owner, target, request.getRadialOptions()); + target.setAttachment("radial_filename", "npc/noloot"); + core.scriptService.callScript("scripts/radial/npc/noloot", "", "createRadial", core, owner, target, request.getRadialOptions()); sendRadial(owner, target, request.getRadialOptions(), request.getRadialCount()); return; + } else { + // Note: Bugged NPC corpses never make it through here, they are not sent from client at all it seems + target.setAttachment("radial_filename", "npc/corpse"); + core.scriptService.callScript("scripts/radial/npc/corpse", "", "createRadial", core, owner, target, request.getRadialOptions()); + sendRadial(owner, target, request.getRadialOptions(), request.getRadialCount()); + //((CreatureObject)owner).sendSystemMessage("Radial set from suiservice", (byte)0); + return; } } } + } else { + //System.out.println("SUI target is NOT creatureobject " + target.getTemplate()); } if(target.getGrandparent() != null && target.getGrandparent().getAttachment("structureAdmins") != null)