diff --git a/scripts/commands/setgodmode.py b/scripts/commands/setgodmode.py index 1f419588..84cab742 100644 --- a/scripts/commands/setgodmode.py +++ b/scripts/commands/setgodmode.py @@ -128,6 +128,10 @@ def run(core, actor, target, commandString): if inventory: inventory.add(object) + + elif command == 'spawnobj': + pos = actor.getPosition() + core.staticService.spawnObject(arg1, actor.getPlanet().getName(), 0, pos.x, pos.y, pos.z, 0, 0) elif command == 'unknownAbilityPacket' and arg1: packet = UnknownAbilityPacket(arg1) diff --git a/scripts/commands/transferitemmisc.py b/scripts/commands/transferitemmisc.py index 2df5ab93..9680da3e 100644 --- a/scripts/commands/transferitemmisc.py +++ b/scripts/commands/transferitemmisc.py @@ -23,12 +23,17 @@ def run(core, actor, target, commandString): if target.getTemplate() == 'object/tangible/item/shared_loot_cash.iff': core.lootService.handleCreditPickUp(actor,target) + if target.getGrandparent().getInventoryItemCount()==1: + core.lootService.setLooted(actor,target.getGrandparent()) core.objectService.destroyObject(target) return if target.isLootItem(): target.setLootItem(0) actor.sendSystemMessage('You looted ' + target.getObjectName().getStfValue() + ' from corpse.', 0) + #actor.sendSystemMessage('container.getInventoryItemCount() %s' % target.getGrandparent().getInventoryItemCount(), 0) + if target.getGrandparent().getInventoryItemCount()==1: + core.lootService.setLooted(actor,target.getGrandparent()) if actorContainer != None and (container.getTemplate() == "object/cell/shared_cell.iff") & core.housingService.getPermissions(actor, actorContainer): target.getContainer().transferTo(actor, container, target) diff --git a/scripts/mobiles/tatooine/white_thranta_manager.py b/scripts/mobiles/tatooine/white_thranta_manager.py index f57bf0ca..75692222 100644 --- a/scripts/mobiles/tatooine/white_thranta_manager.py +++ b/scripts/mobiles/tatooine/white_thranta_manager.py @@ -19,10 +19,12 @@ def addTemplate(core): mobileTemplate.setSocialGroup("whitethranta") mobileTemplate.setAssistRange(3) mobileTemplate.setStalker(False) + mobileTemplate.setOptionsBitmask(192) templates = Vector() - templates.add('object/mobile/shared_dressed_tatooine_opening_wh_guard.iff') + templates.add('object/mobile/shared_moncal_male.iff') + templates.add('object/mobile/shared_moncal_female.iff') mobileTemplate.setTemplates(templates) weaponTemplates = Vector() diff --git a/scripts/mobiles/tatooine/white_thranta_security_captain.py b/scripts/mobiles/tatooine/white_thranta_security_captain.py index 4d419c61..1f2616bc 100644 --- a/scripts/mobiles/tatooine/white_thranta_security_captain.py +++ b/scripts/mobiles/tatooine/white_thranta_security_captain.py @@ -19,7 +19,7 @@ def addTemplate(core): mobileTemplate.setSocialGroup("whitethranta") mobileTemplate.setAssistRange(5) mobileTemplate.setStalker(False) - + mobileTemplate.setOptionsBitmask(192) templates = Vector() templates.add('object/mobile/shared_dressed_tatooine_opening_wh_guard.iff') diff --git a/scripts/mobiles/tatooine/white_thranta_security_elite.py b/scripts/mobiles/tatooine/white_thranta_security_elite.py index db035c10..28a97b35 100644 --- a/scripts/mobiles/tatooine/white_thranta_security_elite.py +++ b/scripts/mobiles/tatooine/white_thranta_security_elite.py @@ -19,7 +19,7 @@ def addTemplate(core): mobileTemplate.setSocialGroup("whitethranta") mobileTemplate.setAssistRange(5) mobileTemplate.setStalker(False) - + mobileTemplate.setOptionsBitmask(192) templates = Vector() templates.add('object/mobile/shared_dressed_tatooine_opening_wh_guard.iff') diff --git a/scripts/mobiles/tatooine/white_thranta_security_officer.py b/scripts/mobiles/tatooine/white_thranta_security_officer.py index ce9f6a30..badbbe88 100644 --- a/scripts/mobiles/tatooine/white_thranta_security_officer.py +++ b/scripts/mobiles/tatooine/white_thranta_security_officer.py @@ -19,7 +19,7 @@ def addTemplate(core): mobileTemplate.setSocialGroup("whitethranta") mobileTemplate.setAssistRange(0) mobileTemplate.setStalker(False) - + mobileTemplate.setOptionsBitmask(192) templates = Vector() templates.add('object/mobile/shared_dressed_tatooine_opening_wh_guard.iff') diff --git a/scripts/mobiles/tatooine/white_thranta_specialist.py b/scripts/mobiles/tatooine/white_thranta_specialist.py index 8754ae56..6da4e111 100644 --- a/scripts/mobiles/tatooine/white_thranta_specialist.py +++ b/scripts/mobiles/tatooine/white_thranta_specialist.py @@ -19,7 +19,7 @@ def addTemplate(core): mobileTemplate.setSocialGroup("whitethranta") mobileTemplate.setAssistRange(3) mobileTemplate.setStalker(False) - + mobileTemplate.setOptionsBitmask(192) templates = Vector() templates.add('object/mobile/shared_dressed_tatooine_opening_wh_guard.iff') diff --git a/scripts/mobiles/tatooine/white_thranta_technican.py b/scripts/mobiles/tatooine/white_thranta_technican.py index c8542f36..455e1b4f 100644 --- a/scripts/mobiles/tatooine/white_thranta_technican.py +++ b/scripts/mobiles/tatooine/white_thranta_technican.py @@ -19,10 +19,11 @@ def addTemplate(core): mobileTemplate.setSocialGroup("whitethranta") mobileTemplate.setAssistRange(0) mobileTemplate.setStalker(False) - + mobileTemplate.setOptionsBitmask(192) templates = Vector() - templates.add('object/mobile/shared_dressed_tatooine_opening_wh_guard.iff') + templates.add('object/mobile/shared_warren_scientist_s01.iff') + templates.add('object/mobile/shared_warren_scientist_s01.iff') mobileTemplate.setTemplates(templates) weaponTemplates = Vector() diff --git a/scripts/object/tangible/loot/generic_usable/item_spy_clicky_01_02.p b/scripts/object/tangible/loot/generic_usable/item_spy_clicky_01_02.py similarity index 100% rename from scripts/object/tangible/loot/generic_usable/item_spy_clicky_01_02.p rename to scripts/object/tangible/loot/generic_usable/item_spy_clicky_01_02.py diff --git a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_bicep_l_gcw.py b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_bicep_l_gcw.py index ccad8904..f2acd9d5 100644 --- a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_bicep_l_gcw.py +++ b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_bicep_l_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setStringAttribute('required_faction', 'Imperial') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) + object.setIntAttribute('cat_armor_standard_protection.energy', 4608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_bicep_r_gcw.py b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_bicep_r_gcw.py index ccad8904..f2acd9d5 100644 --- a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_bicep_r_gcw.py +++ b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_bicep_r_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setStringAttribute('required_faction', 'Imperial') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) + object.setIntAttribute('cat_armor_standard_protection.energy', 4608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_boots_gcw.py b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_boots_gcw.py index ccad8904..adf2a2a9 100644 --- a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_boots_gcw.py +++ b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_boots_gcw.py @@ -1,4 +1,6 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_bracer_l_gcw.py b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_bracer_l_gcw.py index ccad8904..f2acd9d5 100644 --- a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_bracer_l_gcw.py +++ b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_bracer_l_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setStringAttribute('required_faction', 'Imperial') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) + object.setIntAttribute('cat_armor_standard_protection.energy', 4608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_bracer_r_gcw.py b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_bracer_r_gcw.py index ccad8904..f2acd9d5 100644 --- a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_bracer_r_gcw.py +++ b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_bracer_r_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setStringAttribute('required_faction', 'Imperial') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) + object.setIntAttribute('cat_armor_standard_protection.energy', 4608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_chest_plate_gcw.py b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_chest_plate_gcw.py index ccad8904..f2acd9d5 100644 --- a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_chest_plate_gcw.py +++ b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_chest_plate_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setStringAttribute('required_faction', 'Imperial') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) + object.setIntAttribute('cat_armor_standard_protection.energy', 4608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_gloves_gcw.py b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_gloves_gcw.py index ccad8904..adf2a2a9 100644 --- a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_gloves_gcw.py +++ b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_gloves_gcw.py @@ -1,4 +1,6 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_helmet_gcw.py b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_helmet_gcw.py index ccad8904..f2acd9d5 100644 --- a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_helmet_gcw.py +++ b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_helmet_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setStringAttribute('required_faction', 'Imperial') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) + object.setIntAttribute('cat_armor_standard_protection.energy', 4608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_leggings_gcw.py b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_leggings_gcw.py index ccad8904..f2acd9d5 100644 --- a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_leggings_gcw.py +++ b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_leggings_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setStringAttribute('required_faction', 'Imperial') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) + object.setIntAttribute('cat_armor_standard_protection.energy', 4608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_utility_belt_gcw.py b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_utility_belt_gcw.py index ccad8904..e5f7deb7 100644 --- a/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_utility_belt_gcw.py +++ b/scripts/object/tangible/wearables/armor/assault_trooper/armor_assault_trooper_utility_belt_gcw.py @@ -1,4 +1,6 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_level', '22') + object.setStringAttribute('required_faction', 'Imperial') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bicep_l_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bicep_l_02_01.py new file mode 100644 index 00000000..367b6b0f --- /dev/null +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bicep_l_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_officer_roadmap_bicep_l_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_officer_roadmap_bicep_l_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Officer') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640) + object.setIntAttribute('cat_armor_standard_protection.energy', 640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bicep_r_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bicep_r_02_01.py new file mode 100644 index 00000000..34a0b3e0 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bicep_r_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_officer_roadmap_bicep_r_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_officer_roadmap_bicep_r_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Officer') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640) + object.setIntAttribute('cat_armor_standard_protection.energy', 640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_boots_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_boots_02_01.py new file mode 100644 index 00000000..22ac3210 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_boots_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_officer_roadmap_boots_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_officer_roadmap_boots_02_01') + object.setStringAttribute('class_required', 'Officer') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + return diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bracer_l_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bracer_l_02_01.py new file mode 100644 index 00000000..91127698 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bracer_l_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_officer_roadmap_bracer_l_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_officer_roadmap_bracer_l_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Officer') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640) + object.setIntAttribute('cat_armor_standard_protection.energy', 640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bracer_r_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bracer_r_02_01.py new file mode 100644 index 00000000..5b388ff8 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bracer_r_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_officer_roadmap_bracer_r_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_officer_roadmap_bracer_r_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Officer') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640) + object.setIntAttribute('cat_armor_standard_protection.energy', 640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_chest_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_chest_02_01.py new file mode 100644 index 00000000..42da84a6 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_chest_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_officer_roadmap_chest_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_officer_roadmap_chest_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Officer') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640) + object.setIntAttribute('cat_armor_standard_protection.energy', 640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_gloves_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_gloves_02_01.py new file mode 100644 index 00000000..0693bb14 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_gloves_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_officer_roadmap_gloves_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_officer_roadmap_gloves_02_01') + object.setStringAttribute('class_required', 'Officer') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + return diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_helmet_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_helmet_02_01.py new file mode 100644 index 00000000..b7b499d5 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_helmet_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_officer_roadmap_helmet_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_officer_roadmap_helmet_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Officer') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640) + object.setIntAttribute('cat_armor_standard_protection.energy', 640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_leggings_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_leggings_02_01.py new file mode 100644 index 00000000..570e11ae --- /dev/null +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_leggings_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_officer_roadmap_leggings_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_officer_roadmap_leggings_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Officer') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 2640) + object.setIntAttribute('cat_armor_standard_protection.energy', 640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return diff --git a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_belt.py b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_belt.py index ccad8904..8ff7a08e 100644 --- a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_belt.py +++ b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_belt.py @@ -1,4 +1,5 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_bicep_l.py b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_bicep_l.py index ccad8904..34e125d5 100644 --- a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_bicep_l.py +++ b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_bicep_l.py @@ -1,4 +1,11 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5440) + object.setIntAttribute('cat_armor_standard_protection.energy', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5440) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_bicep_r.py b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_bicep_r.py index ccad8904..34e125d5 100644 --- a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_bicep_r.py +++ b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_bicep_r.py @@ -1,4 +1,11 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5440) + object.setIntAttribute('cat_armor_standard_protection.energy', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5440) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_boots.py b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_boots.py index ccad8904..8ff7a08e 100644 --- a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_boots.py +++ b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_boots.py @@ -1,4 +1,5 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_bracer_l.py b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_bracer_l.py index ccad8904..34e125d5 100644 --- a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_bracer_l.py +++ b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_bracer_l.py @@ -1,4 +1,11 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5440) + object.setIntAttribute('cat_armor_standard_protection.energy', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5440) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_bracer_r.py b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_bracer_r.py index ccad8904..34e125d5 100644 --- a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_bracer_r.py +++ b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_bracer_r.py @@ -1,4 +1,11 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5440) + object.setIntAttribute('cat_armor_standard_protection.energy', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5440) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_chest_plate.py b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_chest_plate.py index ccad8904..34e125d5 100644 --- a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_chest_plate.py +++ b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_chest_plate.py @@ -1,4 +1,11 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5440) + object.setIntAttribute('cat_armor_standard_protection.energy', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5440) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_gloves.py b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_gloves.py index ccad8904..8ff7a08e 100644 --- a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_gloves.py +++ b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_gloves.py @@ -1,4 +1,5 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_helmet.py b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_helmet.py index ccad8904..34e125d5 100644 --- a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_helmet.py +++ b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_helmet.py @@ -1,4 +1,11 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5440) + object.setIntAttribute('cat_armor_standard_protection.energy', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5440) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_leggings.py b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_leggings.py index ccad8904..34e125d5 100644 --- a/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_leggings.py +++ b/scripts/object/tangible/wearables/armor/infiltrator/armor_infiltrator_s01_leggings.py @@ -1,4 +1,11 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5440) + object.setIntAttribute('cat_armor_standard_protection.energy', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5440) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5440) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_belt.py b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_belt.py index ccad8904..45de0b82 100644 --- a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_belt.py +++ b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_belt.py @@ -1,4 +1,11 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setIntAttribute('required_combat_level', 75) + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 18) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 6) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 12) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_bicep_l.py b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_bicep_l.py index ccad8904..5490df06 100644 --- a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_bicep_l.py +++ b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_bicep_l.py @@ -1,4 +1,17 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setIntAttribute('required_combat_level', 75) + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 18) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 6) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 12) + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5496) + object.setIntAttribute('cat_armor_standard_protection.energy', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5496) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_bicep_r.py b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_bicep_r.py index ccad8904..5490df06 100644 --- a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_bicep_r.py +++ b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_bicep_r.py @@ -1,4 +1,17 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setIntAttribute('required_combat_level', 75) + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 18) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 6) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 12) + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5496) + object.setIntAttribute('cat_armor_standard_protection.energy', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5496) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_boots.py b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_boots.py index ccad8904..45de0b82 100644 --- a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_boots.py +++ b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_boots.py @@ -1,4 +1,11 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setIntAttribute('required_combat_level', 75) + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 18) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 6) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 12) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_bracer_l.py b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_bracer_l.py index ccad8904..5490df06 100644 --- a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_bracer_l.py +++ b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_bracer_l.py @@ -1,4 +1,17 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setIntAttribute('required_combat_level', 75) + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 18) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 6) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 12) + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5496) + object.setIntAttribute('cat_armor_standard_protection.energy', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5496) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_bracer_r.py b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_bracer_r.py index ccad8904..5490df06 100644 --- a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_bracer_r.py +++ b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_bracer_r.py @@ -1,4 +1,17 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setIntAttribute('required_combat_level', 75) + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 18) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 6) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 12) + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5496) + object.setIntAttribute('cat_armor_standard_protection.energy', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5496) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_chest_plate.py b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_chest_plate.py index ccad8904..5490df06 100644 --- a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_chest_plate.py +++ b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_chest_plate.py @@ -1,4 +1,17 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setIntAttribute('required_combat_level', 75) + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 18) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 6) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 12) + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5496) + object.setIntAttribute('cat_armor_standard_protection.energy', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5496) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_gloves.py b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_gloves.py index ccad8904..45de0b82 100644 --- a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_gloves.py +++ b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_gloves.py @@ -1,4 +1,11 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setIntAttribute('required_combat_level', 75) + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 18) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 6) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 12) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_helmet.py b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_helmet.py index ccad8904..5490df06 100644 --- a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_helmet.py +++ b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_helmet.py @@ -1,4 +1,17 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setIntAttribute('required_combat_level', 75) + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 18) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 6) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 12) + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5496) + object.setIntAttribute('cat_armor_standard_protection.energy', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5496) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_leggings.py b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_leggings.py index ccad8904..5490df06 100644 --- a/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_leggings.py +++ b/scripts/object/tangible/wearables/armor/mandalorian_imperial/armor_mandalorian_imperial_leggings.py @@ -1,4 +1,17 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setIntAttribute('required_combat_level', 75) + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 18) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 6) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 12) + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5496) + object.setIntAttribute('cat_armor_standard_protection.energy', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5496) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5496) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_belt_gcw.py b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_belt_gcw.py index ccad8904..b1bac10d 100644 --- a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_belt_gcw.py +++ b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_belt_gcw.py @@ -1,4 +1,6 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setStringAttribute('required_faction', 'Rebel') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_bicep_l_gcw.py b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_bicep_l_gcw.py index ccad8904..c18593a4 100644 --- a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_bicep_l_gcw.py +++ b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_bicep_l_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setStringAttribute('required_faction', 'Rebel') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) + object.setIntAttribute('cat_armor_standard_protection.energy', 4608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_bicep_r_gcw.py b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_bicep_r_gcw.py index ccad8904..c18593a4 100644 --- a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_bicep_r_gcw.py +++ b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_bicep_r_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setStringAttribute('required_faction', 'Rebel') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) + object.setIntAttribute('cat_armor_standard_protection.energy', 4608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_boots_gcw.py b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_boots_gcw.py index ccad8904..b1bac10d 100644 --- a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_boots_gcw.py +++ b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_boots_gcw.py @@ -1,4 +1,6 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setStringAttribute('required_faction', 'Rebel') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_bracer_l_gcw.py b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_bracer_l_gcw.py index ccad8904..c18593a4 100644 --- a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_bracer_l_gcw.py +++ b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_bracer_l_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setStringAttribute('required_faction', 'Rebel') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) + object.setIntAttribute('cat_armor_standard_protection.energy', 4608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_bracer_r_gcw.py b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_bracer_r_gcw.py index ccad8904..c18593a4 100644 --- a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_bracer_r_gcw.py +++ b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_bracer_r_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setStringAttribute('required_faction', 'Rebel') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) + object.setIntAttribute('cat_armor_standard_protection.energy', 4608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_chest_plate_gcw.py b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_chest_plate_gcw.py index ccad8904..c18593a4 100644 --- a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_chest_plate_gcw.py +++ b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_chest_plate_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setStringAttribute('required_faction', 'Rebel') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) + object.setIntAttribute('cat_armor_standard_protection.energy', 4608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_gloves_gcw.py b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_gloves_gcw.py index ccad8904..b1bac10d 100644 --- a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_gloves_gcw.py +++ b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_gloves_gcw.py @@ -1,4 +1,6 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setStringAttribute('required_faction', 'Rebel') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_helmet_gcw.py b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_helmet_gcw.py index ccad8904..c18593a4 100644 --- a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_helmet_gcw.py +++ b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_helmet_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setStringAttribute('required_faction', 'Rebel') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) + object.setIntAttribute('cat_armor_standard_protection.energy', 4608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_leggings_gcw.py b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_leggings_gcw.py index ccad8904..c18593a4 100644 --- a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_leggings_gcw.py +++ b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_assault_leggings_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') + object.setStringAttribute('required_faction', 'Rebel') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) + object.setIntAttribute('cat_armor_standard_protection.energy', 4608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_bicep_l_gcw.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_bicep_l_gcw.py index ccad8904..645eee40 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_bicep_l_gcw.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_bicep_l_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 4608) + object.setIntAttribute('cat_armor_standard_protection.energy', 6608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_bicep_r_gcw.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_bicep_r_gcw.py index ccad8904..04521699 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_bicep_r_gcw.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_bicep_r_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', 'Reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 4608) + object.setIntAttribute('cat_armor_standard_protection.energy', 6608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_boots_gcw.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_boots_gcw.py index ccad8904..fa511268 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_boots_gcw.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_boots_gcw.py @@ -1,4 +1,6 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setIntAttribute('required_combat_level', 22) + object.setStringAttribute('required_faction', 'Imperial') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_bracer_l_gcw.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_bracer_l_gcw.py index ccad8904..645eee40 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_bracer_l_gcw.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_bracer_l_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 4608) + object.setIntAttribute('cat_armor_standard_protection.energy', 6608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_bracer_r_gcw.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_bracer_r_gcw.py index ccad8904..645eee40 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_bracer_r_gcw.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_bracer_r_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 4608) + object.setIntAttribute('cat_armor_standard_protection.energy', 6608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_chest_plate_gcw.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_chest_plate_gcw.py index ccad8904..645eee40 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_chest_plate_gcw.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_chest_plate_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 4608) + object.setIntAttribute('cat_armor_standard_protection.energy', 6608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_gloves_gcw.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_gloves_gcw.py index ccad8904..fa511268 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_gloves_gcw.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_gloves_gcw.py @@ -1,4 +1,6 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setIntAttribute('required_combat_level', 22) + object.setStringAttribute('required_faction', 'Imperial') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_helmet.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_helmet.py index ccad8904..08216793 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_helmet.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_helmet.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('faction_required', 'Imperial') + object.setStringAttribute('armor_category', 'Reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 4608) + object.setIntAttribute('cat_armor_standard_protection.energy', 6608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_helmet_gcw.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_helmet_gcw.py index ccad8904..645eee40 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_helmet_gcw.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_helmet_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 4608) + object.setIntAttribute('cat_armor_standard_protection.energy', 6608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_leggings_gcw.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_leggings_gcw.py index ccad8904..645eee40 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_leggings_gcw.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_leggings_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 4608) + object.setIntAttribute('cat_armor_standard_protection.energy', 6608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_utility_belt_gcw.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_utility_belt_gcw.py index ccad8904..fa511268 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_utility_belt_gcw.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_utility_belt_gcw.py @@ -1,4 +1,6 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setIntAttribute('required_combat_level', 22) + object.setStringAttribute('required_faction', 'Imperial') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_bicep_l_gcw.py b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_bicep_l_gcw.py index ccad8904..fc4499dc 100644 --- a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_bicep_l_gcw.py +++ b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_bicep_l_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5608) + object.setIntAttribute('cat_armor_standard_protection.energy', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_bicep_r_gcw.py b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_bicep_r_gcw.py index ccad8904..fc4499dc 100644 --- a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_bicep_r_gcw.py +++ b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_bicep_r_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5608) + object.setIntAttribute('cat_armor_standard_protection.energy', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_boots_gcw.py b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_boots_gcw.py index ccad8904..b87b4a9f 100644 --- a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_boots_gcw.py +++ b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_boots_gcw.py @@ -1,4 +1,6 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', 'Battle') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_bracer_l_gcw.py b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_bracer_l_gcw.py index ccad8904..fc4499dc 100644 --- a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_bracer_l_gcw.py +++ b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_bracer_l_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5608) + object.setIntAttribute('cat_armor_standard_protection.energy', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_bracer_r_gcw.py b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_bracer_r_gcw.py index ccad8904..fc4499dc 100644 --- a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_bracer_r_gcw.py +++ b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_bracer_r_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5608) + object.setIntAttribute('cat_armor_standard_protection.energy', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_chest_plate_gcw.py b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_chest_plate_gcw.py index ccad8904..fc4499dc 100644 --- a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_chest_plate_gcw.py +++ b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_chest_plate_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5608) + object.setIntAttribute('cat_armor_standard_protection.energy', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_gloves_gcw.py b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_gloves_gcw.py index ccad8904..b87b4a9f 100644 --- a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_gloves_gcw.py +++ b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_gloves_gcw.py @@ -1,4 +1,6 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', 'Battle') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_helmet_gcw.py b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_helmet_gcw.py index ccad8904..fc4499dc 100644 --- a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_helmet_gcw.py +++ b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_helmet_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5608) + object.setIntAttribute('cat_armor_standard_protection.energy', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_leggings_gcw.py b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_leggings_gcw.py index ccad8904..fc4499dc 100644 --- a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_leggings_gcw.py +++ b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_leggings_gcw.py @@ -1,4 +1,12 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 5608) + object.setIntAttribute('cat_armor_standard_protection.energy', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_utility_belt_gcw.py b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_utility_belt_gcw.py index ccad8904..e5f7deb7 100644 --- a/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_utility_belt_gcw.py +++ b/scripts/object/tangible/wearables/armor/stormtrooper/armor_stormtrooper_utility_belt_gcw.py @@ -1,4 +1,6 @@ import sys def setup(core, object): - return \ No newline at end of file + object.setStringAttribute('required_level', '22') + object.setStringAttribute('required_faction', 'Imperial') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bicep_l_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bicep_l_02_01.py new file mode 100644 index 00000000..8435f5b3 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bicep_l_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_medic_roadmap_bicep_l_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_medic_roadmap_bicep_l_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Medic') + object.setStringAttribute('armor_category', 'Reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bicep_r_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bicep_r_02_01.py new file mode 100644 index 00000000..350143fd --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bicep_r_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_medic_roadmap_bicep_r_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_medic_roadmap_bicep_r_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Medic') + object.setStringAttribute('armor_category', 'Reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_boots_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_boots_02_01.py new file mode 100644 index 00000000..9b50eaef --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_boots_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_medic_roadmap_boots_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_medic_roadmap_boots_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Medic') + object.setStringAttribute('armor_category', 'Reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bracer_l_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bracer_l_02_01.py new file mode 100644 index 00000000..d402a0d4 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bracer_l_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_medic_roadmap_bracer_l_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_medic_roadmap_bracer_l_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Medic') + object.setStringAttribute('armor_category', 'Reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bracer_r_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bracer_r_02_01.py new file mode 100644 index 00000000..5ed35fb2 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bracer_r_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_medic_roadmap_bracer_r_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_medic_roadmap_bicep_r_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Medic') + object.setStringAttribute('armor_category', 'Reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_chest_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_chest_02_01.py new file mode 100644 index 00000000..41b987cf --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_chest_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_medic_roadmap_chest_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_medic_roadmap_chest_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Medic') + object.setStringAttribute('armor_category', 'Reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_gloves_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_gloves_02_01.py new file mode 100644 index 00000000..e487a13a --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_gloves_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_medic_roadmap_gloves_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_medic_roadmap_gloves_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Medic') + object.setStringAttribute('armor_category', 'Reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_helmet_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_helmet_02_01.py new file mode 100644 index 00000000..6004a079 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_helmet_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_medic_roadmap_helmet_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_medic_roadmap_helmet_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Medic') + object.setStringAttribute('armor_category', 'Reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_leggings_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_leggings_02_01.py new file mode 100644 index 00000000..31942e3b --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_leggings_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_medic_roadmap_leggings_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_medic_roadmap_leggings_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Medic') + object.setStringAttribute('armor_category', 'Reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bicep_l_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bicep_l_02_01.py new file mode 100644 index 00000000..9e0b3774 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bicep_l_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_smuggler_roadmap_bicep_l_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_smuggler_roadmap_bicep_l_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Smuggler') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bicep_r_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bicep_r_02_01.py new file mode 100644 index 00000000..bbf860be --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bicep_r_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_smuggler_roadmap_bicep_r_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_smuggler_roadmap_bicep_r_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Smuggler') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_boots_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_boots_02_01.py new file mode 100644 index 00000000..d0358652 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_boots_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_smuggler_roadmap_boots_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_smuggler_roadmap_boots_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Smuggler') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bracer_l_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bracer_l_02_01.py new file mode 100644 index 00000000..80ff5147 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bracer_l_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_smuggler_roadmap_bracer_l_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_smuggler_roadmap_bracer_l_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Smuggler') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bracer_r_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bracer_r_02_01.py new file mode 100644 index 00000000..b6dd73e9 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bracer_r_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_smuggler_roadmap_bracer_r_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_smuggler_roadmap_bicep_r_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Smuggler') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_chest_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_chest_02_01.py new file mode 100644 index 00000000..9cd47af2 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_chest_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_smuggler_roadmap_chest_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_smuggler_roadmap_chest_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Smuggler') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_gloves_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_gloves_02_01.py new file mode 100644 index 00000000..6e7a2cf2 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_gloves_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_smuggler_roadmap_gloves_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_smuggler_roadmap_gloves_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Smuggler') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_helmet_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_helmet_02_01.py new file mode 100644 index 00000000..45b096a3 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_helmet_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_smuggler_roadmap_helmet_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_smuggler_roadmap_helmet_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Smuggler') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_leggings_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_leggings_02_01.py new file mode 100644 index 00000000..4d079a82 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_leggings_02_01.py @@ -0,0 +1,17 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('armor_smuggler_roadmap_leggings_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('armor_smuggler_roadmap_leggings_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Smuggler') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') + object.setIntAttribute('cat_armor_standard_protection.kinetic', 640) + object.setIntAttribute('cat_armor_standard_protection.energy', 2640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 1640) + object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 1640) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_entertainer_01_02.py b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_entertainer_01_02.py new file mode 100644 index 00000000..b5195564 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_entertainer_01_02.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_roadmap_belt_entertainer_01_02') + object.setDetailFilename('static_item_d') + object.setDetailName('item_roadmap_belt_entertainer_01_02') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 15) + object.setStringAttribute('class_required', 'Entertainer') + object.setIntAttribute('required_combat_level', 90) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_medic_01_02.py b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_medic_01_02.py new file mode 100644 index 00000000..9f5b8eb7 --- /dev/null +++ b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_medic_01_02.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_roadmap_belt_medic_01_02') + object.setDetailFilename('static_item_d') + object.setDetailName('item_roadmap_belt_medic_01_02') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 15) + object.setStringAttribute('class_required', 'Medic') + object.setIntAttribute('required_combat_level', 90) + return diff --git a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_officer_01_02.py b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_officer_01_02.py new file mode 100644 index 00000000..3534213e --- /dev/null +++ b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_officer_01_02.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_roadmap_belt_officer_01_02') + object.setDetailFilename('static_item_d') + object.setDetailName('item_roadmap_belt_officer_01_02') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 15) + object.setStringAttribute('class_required', 'Officer') + object.setIntAttribute('required_combat_level', 90) + return diff --git a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_smuggler_01_02.py b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_smuggler_01_02.py new file mode 100644 index 00000000..0f3db47c --- /dev/null +++ b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_smuggler_01_02.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_roadmap_belt_smuggler_01_02') + object.setDetailFilename('static_item_d') + object.setDetailName('item_roadmap_belt_smuggler_01_02') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 15) + object.setStringAttribute('class_required', 'Smuggler') + object.setIntAttribute('required_combat_level', 90) + return diff --git a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_trader_01_02.py b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_trader_01_02.py index 353407c0..3716a5a6 100644 --- a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_trader_01_02.py +++ b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_trader_01_02.py @@ -10,4 +10,4 @@ def setup(core, object): object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 15) object.setStringAttribute('class_required', 'Trader') object.setIntAttribute('required_combat_level', 90) - return \ No newline at end of file + return diff --git a/scripts/object/tangible/wearables/necklace/item_entertainer_pendant_01_02.py b/scripts/object/tangible/wearables/necklace/item_entertainer_pendant_01_02.py new file mode 100644 index 00000000..892b22d1 --- /dev/null +++ b/scripts/object/tangible/wearables/necklace/item_entertainer_pendant_01_02.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_entertainer_pendant_01_02') + object.setDetailFilename('static_item_d') + object.setDetailName('item_entertainer_pendant_01_02') + object.setIntAttribute('cat_skill_mod_bonus.@stat_n:dance_prop_assembly', 5) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:stamina_modified', 3) + object.setStringAttribute('class_required', 'Entertainer') + return diff --git a/scripts/object/tangible/wearables/necklace/item_medic_pendant_01_02.py b/scripts/object/tangible/wearables/necklace/item_medic_pendant_01_02.py new file mode 100644 index 00000000..a6fefff8 --- /dev/null +++ b/scripts/object/tangible/wearables/necklace/item_medic_pendant_01_02.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_medic_pendant_01_02') + object.setDetailFilename('static_item_d') + object.setDetailName('item_medic_pendant_01_02') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 12) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12) + object.setStringAttribute('class_required', 'Medic') + return diff --git a/scripts/object/tangible/wearables/necklace/item_officer_pendant_01_02.py b/scripts/object/tangible/wearables/necklace/item_officer_pendant_01_02.py new file mode 100644 index 00000000..f3b7d3e3 --- /dev/null +++ b/scripts/object/tangible/wearables/necklace/item_officer_pendant_01_02.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_officer_pendant_01_02') + object.setDetailFilename('static_item_d') + object.setDetailName('item_officer_pendant_01_02') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 12) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12) + object.setStringAttribute('class_required', 'Officer') + return diff --git a/scripts/object/tangible/wearables/necklace/item_smuggler_pendant_01_02.py b/scripts/object/tangible/wearables/necklace/item_smuggler_pendant_01_02.py new file mode 100644 index 00000000..a63039a2 --- /dev/null +++ b/scripts/object/tangible/wearables/necklace/item_smuggler_pendant_01_02.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_smuggler_pendant_01_02') + object.setDetailFilename('static_item_d') + object.setDetailName('item_smuggler_pendant_01_02') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 12) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12) + object.setStringAttribute('class_required', 'Smuggler') + return diff --git a/scripts/object/tangible/wearables/necklace/item_trader_pendant_01_02.py b/scripts/object/tangible/wearables/necklace/item_trader_pendant_01_02.py index 48f0b1b9..f8f53731 100644 --- a/scripts/object/tangible/wearables/necklace/item_trader_pendant_01_02.py +++ b/scripts/object/tangible/wearables/necklace/item_trader_pendant_01_02.py @@ -6,6 +6,6 @@ def setup(core, object): object.setDetailFilename('static_item_d') object.setDetailName('item_trader_pendant_01_02') object.setIntAttribute('cat_stat_mod_bonus.@stat_n:general_assembly', 5) - object.setIntAttribute('cat_stat_mod_bonus.@stat_n:hiring', 3) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:hiring', 2) object.setStringAttribute('class_required', 'Trader') return diff --git a/scripts/object/tangible/wearables/ring/item_entertainer_ring_01_02.py b/scripts/object/tangible/wearables/ring/item_entertainer_ring_01_02.py new file mode 100644 index 00000000..59c9222b --- /dev/null +++ b/scripts/object/tangible/wearables/ring/item_entertainer_ring_01_02.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, object): + object.setAttachment('objType', 'ring') + object.setStfFilename('static_item_n') + object.setStfName('item_entertainer_ring_01_02') + object.setDetailFilename('static_item_d') + object.setDetailName('item_entertainer_ring_01_02') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 6) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 6) + object.setStringAttribute('class_required', 'Entertainer') + object.setAttachment('radial_filename', 'ring/unity') + return diff --git a/scripts/object/tangible/wearables/ring/item_medic_ring_01_02.py b/scripts/object/tangible/wearables/ring/item_medic_ring_01_02.py new file mode 100644 index 00000000..be5e6507 --- /dev/null +++ b/scripts/object/tangible/wearables/ring/item_medic_ring_01_02.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, object): + object.setAttachment('objType', 'ring') + object.setStfFilename('static_item_n') + object.setStfName('item_medic_ring_01_02') + object.setDetailFilename('static_item_d') + object.setDetailName('item_medic_ring_01_02') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 6) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 6) + object.setStringAttribute('class_required', 'Medic') + object.setAttachment('radial_filename', 'ring/unity') + return diff --git a/scripts/object/tangible/wearables/ring/item_officer_ring_01_02.py b/scripts/object/tangible/wearables/ring/item_officer_ring_01_02.py new file mode 100644 index 00000000..3f031dc6 --- /dev/null +++ b/scripts/object/tangible/wearables/ring/item_officer_ring_01_02.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, object): + object.setAttachment('objType', 'ring') + object.setStfFilename('static_item_n') + object.setStfName('item_officer_ring_01_02') + object.setDetailFilename('static_item_d') + object.setDetailName('item_officer_ring_01_02') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 6) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 6) + object.setStringAttribute('class_required', 'Officer') + object.setAttachment('radial_filename', 'ring/unity') + return diff --git a/scripts/object/tangible/wearables/ring/item_smuggler_ring_01_02.py b/scripts/object/tangible/wearables/ring/item_smuggler_ring_01_02.py new file mode 100644 index 00000000..e2f686bf --- /dev/null +++ b/scripts/object/tangible/wearables/ring/item_smuggler_ring_01_02.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, object): + object.setAttachment('objType', 'ring') + object.setStfFilename('static_item_n') + object.setStfName('item_smuggler_ring_01_02') + object.setDetailFilename('static_item_d') + object.setDetailName('item_smuggler_ring_01_02') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 6) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 6) + object.setStringAttribute('class_required', 'Smuggler') + object.setAttachment('radial_filename', 'ring/unity') + return diff --git a/scripts/object/tangible/wearables/ring/item_trader_ring_01_02.py b/scripts/object/tangible/wearables/ring/item_trader_ring_01_02.py new file mode 100644 index 00000000..6c468b41 --- /dev/null +++ b/scripts/object/tangible/wearables/ring/item_trader_ring_01_02.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, object): + object.setAttachment('objType', 'ring') + object.setStfFilename('static_item_n') + object.setStfName('item_trader_ring_01_02') + object.setDetailFilename('static_item_d') + object.setDetailName('item_trader_ring_01_02') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 6) + object.setIntAttribute('cat_skill_mod_bonus.@stat_n:artisian_assembly', 6) + object.setStringAttribute('class_required', 'Trader') + object.setAttachment('radial_filename', 'ring/unity') + return diff --git a/scripts/static_spawns/tatooine/mos_eisley_wt_bunker.py b/scripts/static_spawns/tatooine/mos_eisley_wt_bunker.py new file mode 100644 index 00000000..5be559d8 --- /dev/null +++ b/scripts/static_spawns/tatooine/mos_eisley_wt_bunker.py @@ -0,0 +1,86 @@ +import sys +# Project SWG: WT Bunker: Static Spawns +# (C)2014 ProjectSWG + + + +from resources.datatables import Options +from resources.datatables import State + +def addPlanetSpawns(core, planet): + + + stcSvc = core.staticService + objSvc = core.objectService + + + #Outside + wt_guard = stcSvc.spawnObject('white_thranta_security_guard', 'tatooine', long(0), float(3749.7), float(16.8), float(-4200.5), float(0), float(0), float(0), float(0), 45) + wt_guard1 = stcSvc.spawnObject('white_thranta_security_guard', 'tatooine', long(0), float(3761.2), float(16.1), float(-4188.3), float(0), float(0), float(0), float(0), 45) + wt_guard2 = stcSvc.spawnObject('white_thranta_security_guard', 'tatooine', long(0), float(3740.9), float(15.6), float(-4188.3), float(0), float(0), float(0), float(0), 45) + wt_guard3 = stcSvc.spawnObject('white_thranta_security_guard', 'tatooine', long(0), float(3731.1), float(16.0), float(-4184.3), float(0), float(0), float(0), float(0), 45) + wt_guard4 = stcSvc.spawnObject('white_thranta_security_guard', 'tatooine', long(0), float(3724.7), float(16.2), float(-4184.3), float(0), float(0), float(0), float(0), 45) + wt_guard5 = stcSvc.spawnObject('white_thranta_security_guard', 'tatooine', long(0), float(3709.9), float(17.1), float(-4192.1), float(0), float(0), float(0), float(0), 45) + wt_guard6 = stcSvc.spawnObject('white_thranta_security_guard', 'tatooine', long(0), float(3718.3), float(16.2), float(-4193.1), float(0), float(0), float(0), float(0), 45) + wt_guard7 = stcSvc.spawnObject('white_thranta_security_guard', 'tatooine', long(0), float(3707), float(17.7), float(-4187.6), float(0), float(0), float(0), float(0), 45) + + + #inside + wt_bunker = core.objectService.getObject(long(-466404036409557111)) + + #1st room + wt_reciptionist = stcSvc.spawnObject('object/mobile/shared_dressed_tatooine_opening_wh_receptionist.iff', 'tatooine', wt_bunker.getCellByCellNumber(5), float(-0.3), float(-12), float(34.4), float(0), float(0), float(0), float(0)) + wt_reciptionist.setOptionsBitmask(256) + wt_reciptionist.setCustomName('White Thranta Reciptionist') + + wt_guard8 = stcSvc.spawnObject('white_thranta_security_guard', 'tatooine', wt_bunker.getCellByCellNumber(5), float(8.9), float(-12), float(50.8), float(0), float(0), float(0), float(0), 45) + wt_guard9 = stcSvc.spawnObject('white_thranta_security_guard', 'tatooine', wt_bunker.getCellByCellNumber(5), float(-1.7), float(-12), float(51.1), float(0), float(0), float(0), float(0), 45) + + wt_technican = stcSvc.spawnObject('white_thranta_technican', 'tatooine', wt_bunker.getCellByCellNumber(5), float(6.9), float(-12), float(39.5), float(0), float(0), float(0), float(0), 45) + wt_technican.setOptionsBitmask(128) + + wt_technican1 = stcSvc.spawnObject('white_thranta_technican', 'tatooine', wt_bunker.getCellByCellNumber(10), float(8.5), float(-16), float(133.7), float(0), float(0), float(0), float(0), 45) + wt_technican2 = stcSvc.spawnObject('white_thranta_technican', 'tatooine', wt_bunker.getCellByCellNumber(10), float(-2.0), float(-16), float(133.7), float(0), float(0), float(0), float(0), 45) + wt_technican3 = stcSvc.spawnObject('white_thranta_technican', 'tatooine', wt_bunker.getCellByCellNumber(10), float(6.6), float(-16), float(100.5), float(0), float(0), float(0), float(0), 45) + wt_technican4 = stcSvc.spawnObject('white_thranta_technican', 'tatooine', wt_bunker.getCellByCellNumber(26), float(-74.9), float(-28), float(56.9), float(0), float(0), float(0), float(0), 45) + + wt_officer = stcSvc.spawnObject('white_thranta_security_officer', 'tatooine', wt_bunker.getCellByCellNumber(7), float(11), float(-16), float(79), float(0), float(0), float(0), float(0), 45) + wt_officer1 = stcSvc.spawnObject('white_thranta_security_officer', 'tatooine', wt_bunker.getCellByCellNumber(18), float(-7.8), float(-12), float(91.3), float(0), float(0), float(0), float(0), 45) + wt_officer2 = stcSvc.spawnObject('white_thranta_security_officer', 'tatooine', wt_bunker.getCellByCellNumber(20), float(-34.5), float(-12), float(93.1), float(0), float(0), float(0), float(0), 45) + wt_officer3 = stcSvc.spawnObject('white_thranta_security_officer', 'tatooine', wt_bunker.getCellByCellNumber(20), float(-33.1), float(-12), float(114.2), float(0), float(0), float(0), float(0), 45) + wt_officer4 = stcSvc.spawnObject('white_thranta_security_officer', 'tatooine', wt_bunker.getCellByCellNumber(20), float(-36.7), float(-12), float(119.7), float(0), float(0), float(0), float(0), 45) + wt_officer5 = stcSvc.spawnObject('white_thranta_security_officer', 'tatooine', wt_bunker.getCellByCellNumber(10), float(25.1), float(-16), float(119.8), float(0), float(0), float(0), float(0), 45) + wt_officer6 = stcSvc.spawnObject('white_thranta_security_officer', 'tatooine', wt_bunker.getCellByCellNumber(10), float(11.9), float(-16), float(121.8), float(0), float(0), float(0), float(0), 45) + wt_officer7 = stcSvc.spawnObject('white_thranta_security_officer', 'tatooine', wt_bunker.getCellByCellNumber(29), float(-139.4), float(-44), float(79.4), float(0), float(0), float(0), float(0), 45) + wt_officer8 = stcSvc.spawnObject('white_thranta_security_officer', 'tatooine', wt_bunker.getCellByCellNumber(29), float(-153), float(-44), float(90.6), float(0), float(0), float(0), float(0), 45) + wt_officer9 = stcSvc.spawnObject('white_thranta_security_officer', 'tatooine', wt_bunker.getCellByCellNumber(26), float(-76.2), float(-28), float(74), float(0), float(0), float(0), float(0), 45) + wt_officer10 = stcSvc.spawnObject('white_thranta_security_officer', 'tatooine', wt_bunker.getCellByCellNumber(26), float(-75.7), float(-28), float(69.4), float(0), float(0), float(0), float(0), 45) + wt_officer11 = stcSvc.spawnObject('white_thranta_security_officer', 'tatooine', wt_bunker.getCellByCellNumber(32), float(-90.5), float(-44), float(-20.4), float(0), float(0), float(0), float(0), 45) + wt_officer12 = stcSvc.spawnObject('white_thranta_security_officer', 'tatooine', wt_bunker.getCellByCellNumber(32), float(-59.9), float(-44), float(4.2), float(0), float(0), float(0), float(0), 45) + wt_officer13 = stcSvc.spawnObject('white_thranta_security_officer', 'tatooine', wt_bunker.getCellByCellNumber(32), float(-86.2), float(-44), float(-9.3), float(0), float(0), float(0), float(0), 45) + wt_officer14 = stcSvc.spawnObject('white_thranta_security_officer', 'tatooine', wt_bunker.getCellByCellNumber(17), float(-77), float(-28), float(95.6), float(0), float(0), float(0), float(0), 45) + wt_officer15 = stcSvc.spawnObject('white_thranta_security_officer', 'tatooine', wt_bunker.getCellByCellNumber(17), float(-78.2), float(-28), float(126.4), float(0), float(0), float(0), float(0), 45) + wt_officer16 = stcSvc.spawnObject('white_thranta_security_officer', 'tatooine', wt_bunker.getCellByCellNumber(17), float(-96.6), float(-28), float(110.6), float(0), float(0), float(0), float(0), 45) + + wt_specialist = stcSvc.spawnObject('white_thranta_specialist', 'tatooine', wt_bunker.getCellByCellNumber(7), float(23.7), float(-16), float(79), float(0), float(0), float(0), float(0), 45) + wt_specialist1 = stcSvc.spawnObject('white_thranta_specialist', 'tatooine', wt_bunker.getCellByCellNumber(18), float(-14.3), float(-12), float(86.8), float(0), float(0), float(0), float(0), 45) + wt_specialist2 = stcSvc.spawnObject('white_thranta_specialist', 'tatooine', wt_bunker.getCellByCellNumber(18), float(-16.4), float(-12), float(96.6), float(0), float(0), float(0), float(0), 45) + wt_specialist3 = stcSvc.spawnObject('white_thranta_specialist', 'tatooine', wt_bunker.getCellByCellNumber(10), float(-9.7), float(-16), float(115.5), float(0), float(0), float(0), float(0), 45) + wt_specialist4 = stcSvc.spawnObject('white_thranta_specialist', 'tatooine', wt_bunker.getCellByCellNumber(10), float(-11), float(-16), float(126.5), float(0), float(0), float(0), float(0), 45) + wt_specialist5 = stcSvc.spawnObject('white_thranta_specialist', 'tatooine', wt_bunker.getCellByCellNumber(10), float(-2.2), float(-16), float(104.8), float(0), float(0), float(0), float(0), 45) + wt_specialist6 = stcSvc.spawnObject('white_thranta_specialist', 'tatooine', wt_bunker.getCellByCellNumber(26), float(-76.1), float(-28), float(55.2), float(0), float(0), float(0), float(0), 45) + wt_specialist7 = stcSvc.spawnObject('white_thranta_specialist', 'tatooine', wt_bunker.getCellByCellNumber(32), float(-93.4), float(-44), float(-8.8), float(0), float(0), float(0), float(0), 45) + wt_specialist8 = stcSvc.spawnObject('white_thranta_specialist', 'tatooine', wt_bunker.getCellByCellNumber(12), float(-23.3), float(-12), float(162.9), float(0), float(0), float(0), float(0), 45) + wt_specialist9 = stcSvc.spawnObject('white_thranta_specialist', 'tatooine', wt_bunker.getCellByCellNumber(12), float(-33.2), float(-12), float(167.9), float(0), float(0), float(0), float(0), 45) + wt_specialist10 = stcSvc.spawnObject('white_thranta_specialist', 'tatooine', wt_bunker.getCellByCellNumber(12), float(-31.4), float(-12), float(171.2), float(0), float(0), float(0), float(0), 45) + wt_specialist11 = stcSvc.spawnObject('white_thranta_specialist', 'tatooine', wt_bunker.getCellByCellNumber(12), float(-27), float(-12), float(144), float(0), float(0), float(0), float(0), 45) + wt_specialist12 = stcSvc.spawnObject('white_thranta_specialist', 'tatooine', wt_bunker.getCellByCellNumber(12), float(-33.3), float(-12), float(151.1), float(0), float(0), float(0), float(0), 45) + + wt_manager = stcSvc.spawnObject('white_thranta_manager', 'tatooine', wt_bunker.getCellByCellNumber(20), float(-40.2), float(-12), float(87.5), float(0), float(0), float(0), float(0), 45) + + wt_elite = stcSvc.spawnObject('white_thranta_security_elite', 'tatooine', wt_bunker.getCellByCellNumber(29), float(-137.8), float(-44), float(74.1), float(0), float(0), float(0), float(0), 45) + wt_elite1 = stcSvc.spawnObject('white_thranta_security_elite', 'tatooine', wt_bunker.getCellByCellNumber(29), float(-159.3), float(-44), float(85.1), float(0), float(0), float(0), float(0), 45) + + + return + \ No newline at end of file diff --git a/src/protocol/swg/StopClientEffectObjectByLabel.java b/src/protocol/swg/StopClientEffectObjectByLabel.java index b39d04d6..043035c1 100644 --- a/src/protocol/swg/StopClientEffectObjectByLabel.java +++ b/src/protocol/swg/StopClientEffectObjectByLabel.java @@ -33,10 +33,18 @@ public class StopClientEffectObjectByLabel extends SWGMessage { private long objectId; private String effectFile; private String commandString; + private byte unknownFlag; public StopClientEffectObjectByLabel(long objectId, String commandString) { this.objectId = objectId; this.commandString = commandString; + this.unknownFlag = 1; + } + + public StopClientEffectObjectByLabel(long objectId, String commandString, byte unknownFlag) { + this.objectId = objectId; + this.commandString = commandString; + this.unknownFlag = unknownFlag; } @Override @@ -48,7 +56,7 @@ public class StopClientEffectObjectByLabel extends SWGMessage { result.putInt(0xAD6F6B26); result.putLong(objectId); result.put(getAsciiString(commandString)); - result.put((byte) 1); + result.put(unknownFlag); return result.flip(); diff --git a/src/resources/common/collidables/AbstractCollidable.java b/src/resources/common/collidables/AbstractCollidable.java index b7f9a157..7a819f41 100644 --- a/src/resources/common/collidables/AbstractCollidable.java +++ b/src/resources/common/collidables/AbstractCollidable.java @@ -108,5 +108,9 @@ public abstract class AbstractCollidable { public abstract Point3D getRandomPosition(Point3D origin, float minDistance, float maxDistance); public abstract Point3D getRandomPosition(); + public Vector getCollisionList() { + return collidedObjects; + } + } diff --git a/src/resources/objects/building/BuildingObject.java b/src/resources/objects/building/BuildingObject.java index f3dc4d31..2247591e 100644 --- a/src/resources/objects/building/BuildingObject.java +++ b/src/resources/objects/building/BuildingObject.java @@ -210,9 +210,8 @@ public class BuildingObject extends TangibleObject implements IPersistent, Seria return getCustomName(); } - public void setBuildingName(String buildingName, CreatureObject owner) { + public void setBuildingName(String buildingName) { setCustomName(buildingName); - ((CreatureObject) owner).sendSystemMessage("Structure renamed.", DisplayType.Broadcast); SWGObject sign = (SWGObject) getAttachment("sign"); if(sign != null) sign.setCustomName(buildingName); diff --git a/src/services/LootService.java b/src/services/LootService.java index 37cfd7e0..a9e57e0b 100644 --- a/src/services/LootService.java +++ b/src/services/LootService.java @@ -102,7 +102,7 @@ public class LootService implements INetworkDispatch { } SWGObject lootedObjectInventory = lootedObject.getSlottedObject("inventory"); core.simulationService.openContainer(requester, lootedObjectInventory); - setLooted(requester,lootedObject); + //setLooted(requester,lootedObject); } } @@ -226,7 +226,7 @@ public class LootService implements INetworkDispatch { // RLS chest effect if (droppedItem.getAttachment("LootItemName").toString().contains("Loot Chest")){ - requester.playEffectObject("appearance/pt_rare_chest.prt", ""); + lootedObject.playEffectObject("appearance/pt_rare_chest.prt", ""); requester.playMusic("sound/rare_loot_chest.snd"); } } @@ -1870,7 +1870,7 @@ public class LootService implements INetworkDispatch { public void setLooted(CreatureObject requester,TangibleObject lootedObject){ lootedObject.setLooted(true); - StopClientEffectObjectByLabel stopmsg = new StopClientEffectObjectByLabel(lootedObject.getObjectID(),"lootMe"); + StopClientEffectObjectByLabel stopmsg = new StopClientEffectObjectByLabel(lootedObject.getObjectID(),"lootMe", (byte) 0); requester.getClient().getSession().write(stopmsg.serialize()); } @@ -2553,6 +2553,8 @@ public class LootService implements INetworkDispatch { TangibleObject item11 = (TangibleObject)core.objectService.createObject("object/tangible/loot/npc_loot/shared_armor_repair_device_generic.iff", player.getPlanet()); item11.setCustomName("Armor Repair Device"); playerInventory.add(item11); + + } diff --git a/src/services/bazaar/BazaarService.java b/src/services/bazaar/BazaarService.java index 0dce7454..5932bb25 100644 --- a/src/services/bazaar/BazaarService.java +++ b/src/services/bazaar/BazaarService.java @@ -23,6 +23,7 @@ package services.bazaar; import java.nio.ByteOrder; import java.util.ArrayList; +import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -35,6 +36,10 @@ import java.util.concurrent.TimeUnit; + + + + import main.NGECore; import engine.clients.Client; import engine.resources.common.CRC; @@ -46,12 +51,15 @@ import engine.resources.service.INetworkDispatch; import engine.resources.service.INetworkRemoteEvent; import resources.common.Opcodes; import resources.common.OutOfBand; +import resources.common.ProsePackage; import resources.datatables.DisplayType; import resources.objects.building.BuildingObject; import resources.objects.creature.CreatureObject; import resources.objects.intangible.IntangibleObject; import resources.objects.manufacture.ManufactureSchematicObject; import resources.objects.tangible.TangibleObject; +import services.chat.Mail; +import services.chat.WaypointAttachment; import protocol.swg.auctionManagerClientListener.AuctionQueryHeadersMessage; import protocol.swg.auctionManagerClientListener.AuctionQueryHeadersResponseMessage; import protocol.swg.auctionManagerClientListener.BidAuctionMessage; @@ -422,17 +430,60 @@ public class BazaarService implements INetworkDispatch { else retrieveExpire = timeUntilExpire + VENDOR_EXPIRE; + CreatureObject seller = (CreatureObject) core.objectService.getObject(item.getOwnerId()); + item.setStatus(AuctionItem.SOLD); item.setBuyerId(player.getObjectID()); item.setExpireTime(retrieveExpire); item.setBidderName(player.getCustomName()); player.setBankCredits(player.getBankCredits() - item.getPrice()); player.getClient().getSession().write(new BidAuctionResponseMessage(item.getObjectId(), BidAuctionResponseMessage.SUCCESS).serialize()); + + WaypointAttachment waypoint = new WaypointAttachment(); + waypoint.positionX = vendor.getWorldPosition().x; + waypoint.positionZ = vendor.getWorldPosition().z; + waypoint.planetCRC = CRC.StringtoCRC(vendor.getPlanet().getName()); + waypoint.name = vendor.getCustomName() == null ? vendor.getObjectName().getStfValue() : vendor.getCustomName(); - // TODO send mail with WP + Mail sellerMail = new Mail(); + Mail buyerMail = new Mail(); - CreatureObject seller = (CreatureObject) core.objectService.getObject(item.getOwnerId()); + sellerMail.setMailId(NGECore.getInstance().chatService.generateMailId()); + sellerMail.setMessage(""); + sellerMail.setRecieverId(item.getOwnerId()); + sellerMail.setStatus(Mail.NEW); + sellerMail.setTimeStamp((int) (new Date().getTime() / 1000)); + sellerMail.setSenderName("SWG." + core.getGalaxyName() + ".auctioner"); + if(item.isOnBazaar()) { + sellerMail.setSubject("@auction:subject_instant_seller"); + sellerMail.addProseAttachment(new ProsePackage("@auction:seller_success", "TO", item.getObjectId(), item.getItemName(), "TT", player.getObjectID(), item.getBidderName(), "DI", item.getPrice())); + } else { + sellerMail.setSubject("@auction:subject_vendor_seller"); + sellerMail.addProseAttachment(new ProsePackage("@auction:seller_success_vendor", "TO", item.getObjectId(), item.getItemName(), "TT", player.getObjectID(), item.getBidderName(), "DI", item.getPrice())); + } + sellerMail.addProseAttachment(new ProsePackage("@auction:seller_success_location", "TO", 0, "@planet_n:" + vendor.getPlanet().getName(), "TT", 0, core.mapService.getClosestCityName(vendor))); + sellerMail.addWaypointAttachment(waypoint); + + buyerMail.setMailId(NGECore.getInstance().chatService.generateMailId()); + buyerMail.setMessage(""); + buyerMail.setRecieverId(player.getObjectID()); + buyerMail.setStatus(Mail.NEW); + buyerMail.setTimeStamp((int) (new Date().getTime() / 1000)); + buyerMail.setSenderName("SWG." + core.getGalaxyName() + ".auctioner"); + if(item.isOnBazaar()) + buyerMail.setSubject("@auction:subject_instant_buyer"); + else + buyerMail.setSubject("@auction:subject_vendor_buyer"); + buyerMail.addProseAttachment(new ProsePackage("@auction:buyer_success", "TO", item.getObjectId(), item.getItemName(), "TT", item.getOwnerId(), item.getOwnerName(), "DI", item.getPrice())); + buyerMail.addProseAttachment(new ProsePackage("@auction:buyer_success_location", "TO", 0, "@planet_n:" + vendor.getPlanet().getName(), "TT", 0, core.mapService.getClosestCityName(vendor))); + buyerMail.addWaypointAttachment(waypoint); + core.chatService.storePersistentMessage(buyerMail); + core.chatService.storePersistentMessage(sellerMail); + core.chatService.sendPersistentMessageHeader(player.getClient(), buyerMail); + if(seller != null && seller.getClient() != null) + core.chatService.sendPersistentMessageHeader(seller.getClient(), sellerMail); + if(seller == null) { seller = core.objectService.getCreatureFromDB(item.getOwnerId()); seller.setBankCredits(seller.getBankCredits() + item.getPrice()); diff --git a/src/services/housing/HousingService.java b/src/services/housing/HousingService.java index 49ab652d..6ef59c27 100644 --- a/src/services/housing/HousingService.java +++ b/src/services/housing/HousingService.java @@ -34,8 +34,15 @@ import java.util.Map; import java.util.Random; import java.util.Vector; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicReference; + import main.NGECore; import protocol.swg.EnterStructurePlacementModeMessage; +import resources.datatables.DisplayType; import resources.objects.building.BuildingObject; import resources.objects.creature.CreatureObject; import resources.objects.player.PlayerObject; @@ -55,6 +62,7 @@ public class HousingService implements INetworkDispatch { private NGECore core; private Map housingTemplates = new ConcurrentHashMap(); private Map houseToDeed = new ConcurrentHashMap(); + private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); public HousingService(NGECore core) { this.core = core; @@ -139,8 +147,11 @@ public class HousingService implements INetworkDispatch { admins.add(actor.getObjectID()); building.setAttachment("sign", sign); // meh workaround + building.setAttachment("nextMaintenance", System.currentTimeMillis() + 3600000); building.setAttachment("structureOwner", actor.getObjectID()); building.setAttachment("structureAdmins", admins); + building.setAttachment("isCondemned", false); + building.setAttachment("outstandingMaint", 0); building.setDeedTemplate(deed.getTemplate()); building.setMaintenanceAmount(houseTemplate.getBaseMaintenanceRate()); building.setConditionDamage(100); // Ouch @@ -154,7 +165,7 @@ public class HousingService implements INetworkDispatch { // Check for city founders joining a new city PlayerCity cityActorIsIn = core.playerCityService.getCityObjectIsIn(actor); - if (cityActorIsIn!=null){ + if (cityActorIsIn!=null) { actor.setAttachment("Has24HZoningFor",cityActorIsIn.getCityID()); // for testing int cityActorHasZoning = (int)actor.getAttachment("Has24HZoningFor"); @@ -169,6 +180,46 @@ public class HousingService implements INetworkDispatch { } core.objectService.persistObject(building.getObjectID(), building, core.getSWGObjectODB()); + + } + + public void startMaintenanceTask(BuildingObject building) { + + AtomicReference> ref = new AtomicReference>(); + ref.set(scheduler.scheduleAtFixedRate(() -> { + + if(core.objectService.getObject(building.getObjectID()) == null) + ref.get().cancel(true); + + int amount = building.getBMR(); + boolean needSave = false; + CreatureObject owner = (CreatureObject) core.objectService.getObject((long) building.getAttachment("structureOwner")); + if(owner == null) { + needSave = true; + owner = core.objectService.getCreatureFromDB((long) building.getAttachment("structureOwner")); + } + if(building.getMaintenanceAmount() >= amount) { + building.setMaintenanceAmount(building.getMaintenanceAmount() - amount); + } else { + if(owner == null) + ref.get().cancel(true); + if(owner.getBankCredits() >= amount) { + owner.setBankCredits(owner.getBankCredits() - amount); + } else if(owner.getCashCredits() >= amount) { + owner.setCashCredits(owner.getCashCredits() - amount); + } else { + if(building.getAttachment("isCondemned") != null && !((boolean) building.getAttachment("isCondemned"))) { + building.setAttachment("isCondemned", true); + building.setBuildingName(building.getBuildingName() + " \\#FF0000(CONDEMNED)\\#FFFFFF"); + } + building.setAttachment("outstandingMaint", (int) building.getAttachment("outstandingMaint") + amount); + // TODO: lock down building, add option to pay outstanding maintenance and uncondemn building + } + } + if(needSave && owner != null) + core.objectService.persistObject(owner.getObjectID(), owner, core.getSWGObjectODB()); + + }, (long) building.getAttachment("nextMaintenance") - System.currentTimeMillis(), 3600000, TimeUnit.MILLISECONDS)); } @@ -292,6 +343,8 @@ public class HousingService implements INetworkDispatch { deed.setIntAttribute("@obj_attr_n:examine_maintenance", (int) building.getMaintenanceAmount()); core.objectService.destroyObject(building.getObjectID()); + if(building.getAttachment("sign") != null) + core.objectService.destroyObject((SWGObject) building.getAttachment("sign")); SWGObject ownerInventory = owner.getSlottedObject("inventory"); ownerInventory.add(deed); @@ -394,8 +447,8 @@ public class HousingService implements INetworkDispatch { } public void handleSetName(CreatureObject owner, TangibleObject target,String name) { - - ((BuildingObject) target).setBuildingName(name,owner); + ((BuildingObject) target).setBuildingName(name); + owner.sendSystemMessage("Structure renamed.", DisplayType.Broadcast); } public void createStatusSUIPage(SWGObject owner, TangibleObject target) { diff --git a/src/services/object/ObjectService.java b/src/services/object/ObjectService.java index c2aa8e82..ace233d5 100644 --- a/src/services/object/ObjectService.java +++ b/src/services/object/ObjectService.java @@ -205,6 +205,8 @@ public class ObjectService implements INetworkDispatch { sign.initAfterDBLoad(); objectList.put(sign.getObjectID(), sign); } + if(building.getAttachment("structureOwner") != null && ((BuildingObject) building).getMaintenanceAmount() > 0) + core.housingService.startMaintenanceTask((BuildingObject) building); } cursor.close(); diff --git a/src/services/sui/SUIService.java b/src/services/sui/SUIService.java index 662ec843..1fcee751 100644 --- a/src/services/sui/SUIService.java +++ b/src/services/sui/SUIService.java @@ -184,6 +184,13 @@ public class SUIService implements INetworkDispatch { core.scriptService.callScript("scripts/radial/", "terminal/vendor", "handleSelection", core, owner, target, objMenuSelect.getSelection()); return; } + + if(target.getGrandparent() != null && target.getGrandparent().getAttachment("structureAdmins") != null) { + if(core.housingService.getPermissions(owner, target.getContainer()) && !getRadialFilename(target).equals("structure/structure_management_terminal")) { + core.scriptService.callScript("scripts/radial/", "structure/moveable", "handleSelection", core, owner, target, objMenuSelect.getSelection()); + return; + } + } core.scriptService.callScript("scripts/radial/", getRadialFilename(target), "handleSelection", core, owner, target, objMenuSelect.getSelection());