From b9ed655f539396fd22c7a6a5b732058757898819 Mon Sep 17 00:00:00 2001 From: Waverunner Date: Tue, 25 Mar 2014 22:05:41 -0400 Subject: [PATCH 1/8] Refactored Starter Clothing, Added CustomizationDelta, basework for Image Design (Bug) Fixed hair and items on char create not being added to equip list (Code) Minor change to BuffBuilderMessage (Code) Added base work for Image Design (Code) Refactored how starter clothing is assigned (Code) Added delta for customization data on tangible objects (Code) Created ProfessionTemplateVisitor for profession template iff's --- scripts/commands/en_holographic_image.py | 21 + scripts/commands/en_holographic_recall.py | 7 + scripts/commands/imagedesign.py | 17 + scripts/commands/setgodmode.py | 6 +- .../combat_brawler_humanoid_female.py | 13 - .../combat_brawler_humanoid_male.py | 13 - .../combat_brawler_ithorian_female.py | 15 - .../combat_brawler_ithorian_male.py | 9 - .../combat_brawler_trandoshan_female.py | 11 - .../combat_brawler_trandoshan_male.py | 10 - .../combat_brawler_wookiee_female.py | 7 - .../combat_brawler_wookiee_male.py | 8 - .../combat_marksman_humanoid_female.py | 15 - .../combat_marksman_humanoid_male.py | 12 - .../combat_marksman_ithorian_female.py | 12 - .../combat_marksman_ithorian_male.py | 12 - .../combat_marksman_trandoshan_female.py | 14 - .../combat_marksman_trandoshan_male.py | 10 - .../combat_marksman_wookiee_female.py | 8 - .../combat_marksman_wookiee_male.py | 8 - .../crafting_artisan_humanoid_female.py | 18 - .../crafting_artisan_humanoid_male.py | 14 - .../crafting_artisan_ithorian_female.py | 8 - .../crafting_artisan_ithorian_male.py | 10 - .../crafting_artisan_trandoshan_female.py | 16 - .../crafting_artisan_trandoshan_male.py | 11 - .../crafting_artisan_twilek_female.py | 20 - .../crafting_artisan_wookiee_female.py | 8 - .../crafting_artisan_wookiee_male.py | 8 - .../outdoors_scout_humanoid_female.py | 22 -- .../outdoors_scout_humanoid_male.py | 14 - .../outdoors_scout_ithorian_female.py | 10 - .../outdoors_scout_ithorian_male.py | 10 - .../outdoors_scout_trandoshan_female.py | 18 - .../outdoors_scout_trandoshan_male.py | 12 - .../outdoors_scout_wookiee_female.py | 6 - .../outdoors_scout_wookiee_male.py | 6 - .../science_medic_humanoid_female.py | 12 - .../science_medic_humanoid_male.py | 10 - .../science_medic_ithorian_female.py | 8 - .../science_medic_ithorian_male.py | 10 - .../science_medic_trandoshan_female.py | 10 - .../science_medic_trandoshan_male.py | 8 - .../science_medic_wookiee_female.py | 8 - .../science_medic_wookiee_male.py | 8 - .../social_entertainer_humanoid_female.py | 16 - .../social_entertainer_humanoid_male.py | 10 - .../social_entertainer_ithorian_female.py | 16 - .../social_entertainer_ithorian_male.py | 10 - .../social_entertainer_trandoshan_female.py | 14 - .../social_entertainer_trandoshan_male.py | 8 - .../social_entertainer_twilek_female.py | 18 - .../social_entertainer_wookiee_female.py | 8 - .../social_entertainer_wookiee_male.py | 8 - scripts/starterclothing.py | 298 -------------- src/protocol/swg/ObjControllerMessage.java | 3 + .../BuffBuilderChangeMessage.java | 11 +- .../ImageDesignMessage.java | 374 ++++++++++++++++++ .../ImageDesignStartMessage.java | 61 +++ src/resources/common/IDAttribute.java | 63 +++ .../common/ObjControllerOpcodes.java | 3 +- .../tangible/TangibleMessageBuilder.java | 11 + .../objects/tangible/TangibleObject.java | 6 +- src/services/CharacterService.java | 25 +- src/services/EntertainmentService.java | 152 ++++++- src/services/SimulationService.java | 2 +- 66 files changed, 743 insertions(+), 887 deletions(-) create mode 100644 scripts/commands/en_holographic_image.py create mode 100644 scripts/commands/en_holographic_recall.py create mode 100644 scripts/commands/imagedesign.py delete mode 100644 scripts/starter_clothing/combat_brawler_humanoid_female.py delete mode 100644 scripts/starter_clothing/combat_brawler_humanoid_male.py delete mode 100644 scripts/starter_clothing/combat_brawler_ithorian_female.py delete mode 100644 scripts/starter_clothing/combat_brawler_ithorian_male.py delete mode 100644 scripts/starter_clothing/combat_brawler_trandoshan_female.py delete mode 100644 scripts/starter_clothing/combat_brawler_trandoshan_male.py delete mode 100644 scripts/starter_clothing/combat_brawler_wookiee_female.py delete mode 100644 scripts/starter_clothing/combat_brawler_wookiee_male.py delete mode 100644 scripts/starter_clothing/combat_marksman_humanoid_female.py delete mode 100644 scripts/starter_clothing/combat_marksman_humanoid_male.py delete mode 100644 scripts/starter_clothing/combat_marksman_ithorian_female.py delete mode 100644 scripts/starter_clothing/combat_marksman_ithorian_male.py delete mode 100644 scripts/starter_clothing/combat_marksman_trandoshan_female.py delete mode 100644 scripts/starter_clothing/combat_marksman_trandoshan_male.py delete mode 100644 scripts/starter_clothing/combat_marksman_wookiee_female.py delete mode 100644 scripts/starter_clothing/combat_marksman_wookiee_male.py delete mode 100644 scripts/starter_clothing/crafting_artisan_humanoid_female.py delete mode 100644 scripts/starter_clothing/crafting_artisan_humanoid_male.py delete mode 100644 scripts/starter_clothing/crafting_artisan_ithorian_female.py delete mode 100644 scripts/starter_clothing/crafting_artisan_ithorian_male.py delete mode 100644 scripts/starter_clothing/crafting_artisan_trandoshan_female.py delete mode 100644 scripts/starter_clothing/crafting_artisan_trandoshan_male.py delete mode 100644 scripts/starter_clothing/crafting_artisan_twilek_female.py delete mode 100644 scripts/starter_clothing/crafting_artisan_wookiee_female.py delete mode 100644 scripts/starter_clothing/crafting_artisan_wookiee_male.py delete mode 100644 scripts/starter_clothing/outdoors_scout_humanoid_female.py delete mode 100644 scripts/starter_clothing/outdoors_scout_humanoid_male.py delete mode 100644 scripts/starter_clothing/outdoors_scout_ithorian_female.py delete mode 100644 scripts/starter_clothing/outdoors_scout_ithorian_male.py delete mode 100644 scripts/starter_clothing/outdoors_scout_trandoshan_female.py delete mode 100644 scripts/starter_clothing/outdoors_scout_trandoshan_male.py delete mode 100644 scripts/starter_clothing/outdoors_scout_wookiee_female.py delete mode 100644 scripts/starter_clothing/outdoors_scout_wookiee_male.py delete mode 100644 scripts/starter_clothing/science_medic_humanoid_female.py delete mode 100644 scripts/starter_clothing/science_medic_humanoid_male.py delete mode 100644 scripts/starter_clothing/science_medic_ithorian_female.py delete mode 100644 scripts/starter_clothing/science_medic_ithorian_male.py delete mode 100644 scripts/starter_clothing/science_medic_trandoshan_female.py delete mode 100644 scripts/starter_clothing/science_medic_trandoshan_male.py delete mode 100644 scripts/starter_clothing/science_medic_wookiee_female.py delete mode 100644 scripts/starter_clothing/science_medic_wookiee_male.py delete mode 100644 scripts/starter_clothing/social_entertainer_humanoid_female.py delete mode 100644 scripts/starter_clothing/social_entertainer_humanoid_male.py delete mode 100644 scripts/starter_clothing/social_entertainer_ithorian_female.py delete mode 100644 scripts/starter_clothing/social_entertainer_ithorian_male.py delete mode 100644 scripts/starter_clothing/social_entertainer_trandoshan_female.py delete mode 100644 scripts/starter_clothing/social_entertainer_trandoshan_male.py delete mode 100644 scripts/starter_clothing/social_entertainer_twilek_female.py delete mode 100644 scripts/starter_clothing/social_entertainer_wookiee_female.py delete mode 100644 scripts/starter_clothing/social_entertainer_wookiee_male.py delete mode 100644 scripts/starterclothing.py create mode 100644 src/protocol/swg/objectControllerObjects/ImageDesignMessage.java create mode 100644 src/protocol/swg/objectControllerObjects/ImageDesignStartMessage.java create mode 100644 src/resources/common/IDAttribute.java diff --git a/scripts/commands/en_holographic_image.py b/scripts/commands/en_holographic_image.py new file mode 100644 index 00000000..ad5e8eb7 --- /dev/null +++ b/scripts/commands/en_holographic_image.py @@ -0,0 +1,21 @@ +import sys + +def setup(): + return + +def run(core, actor, target, commandString): + player = actor.getSlottedObject('ghost') + + maxHolos = 1 + + if actor.getSkillMod('expertise_en_holographic_additional_backup') is not None: + maxHolos += actor.getSkillMod('expertise_en_holographic_additional_backup').getBase() + + holo = core.objectService.createObject(actor.getTemplate(), 0, actor.getPlanet(), actor.getPosition(), actor.getOrientation(), None, False) + holo.setHologram(True) + holo.setCustomName('a Hologram') # a Hologram + holo.setHeight(actor.getHeight()) + holo.setCustomization(actor.getCustomization()) + + core.simulationService.add(holo, holo.getPosition().x, holo.getPosition().z, True) + return \ No newline at end of file diff --git a/scripts/commands/en_holographic_recall.py b/scripts/commands/en_holographic_recall.py new file mode 100644 index 00000000..66c6ae4e --- /dev/null +++ b/scripts/commands/en_holographic_recall.py @@ -0,0 +1,7 @@ +import sys + +def setup(): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/imagedesign.py b/scripts/commands/imagedesign.py new file mode 100644 index 00000000..6cbf658d --- /dev/null +++ b/scripts/commands/imagedesign.py @@ -0,0 +1,17 @@ +from protocol.swg.objectControllerObjects import ImageDesignStartMessage +from protocol.swg import ObjControllerMessage +import sys + +def setup(): + return + +def run(core, actor, target, commandString): + print ('Design!') + design = ImageDesignStartMessage(actor.getObjectId(), actor.getObjectId(), target.getObjectId()) + obj = ObjControllerMessage(11, design) + actor.getClient().getSession().write(obj.serialize()) + + tDesign = ImageDesignStartMessage(target.getObjectId(), actor.getObjectId(), target.getObjectId()) + tObj = ObjControllerMessage(11, tDesign) + target.getClient().getSession().write(tObj.serialize()) + return \ No newline at end of file diff --git a/scripts/commands/setgodmode.py b/scripts/commands/setgodmode.py index 536a588b..71508d1a 100644 --- a/scripts/commands/setgodmode.py +++ b/scripts/commands/setgodmode.py @@ -15,9 +15,6 @@ def run(core, actor, target, commandString): if not playerObject: return - - if target is not None: - print ('has target!') commandArgs = commandString.split(' ') command = commandArgs[0] @@ -73,4 +70,7 @@ def run(core, actor, target, commandString): elif command == 'comm': comm = CommPlayerMessage(actor.getObjectId()) actor.getClient().getSession().write(comm.serialize()) + + elif command == 'id': + actor.sendSystemMessage('Your id is: ' + str(actor.getObjectId()), 0) return diff --git a/scripts/starter_clothing/combat_brawler_humanoid_female.py b/scripts/starter_clothing/combat_brawler_humanoid_female.py deleted file mode 100644 index 3a176081..00000000 --- a/scripts/starter_clothing/combat_brawler_humanoid_female.py +++ /dev/null @@ -1,13 +0,0 @@ -import sys - -def CombatBrawlerHumanoidFemale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s24.iff', object.getPlanet()) - jacket = core.objectService.createObject('object/tangible/wearables/jacket/shared_jacket_s24.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s25.iff', object.getPlanet()) - boots = core.objectService.createObject('object/tangible/wearables/boots/shared_boots_s05.iff', object.getPlanet()) - necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_primitive_01.iff', object.getPlanet()) - object._add(shirt) - object._add(jacket) - object._add(pants) - object._add(boots) - object._add(necklace) \ No newline at end of file diff --git a/scripts/starter_clothing/combat_brawler_humanoid_male.py b/scripts/starter_clothing/combat_brawler_humanoid_male.py deleted file mode 100644 index a1ae7072..00000000 --- a/scripts/starter_clothing/combat_brawler_humanoid_male.py +++ /dev/null @@ -1,13 +0,0 @@ -import sys - -def CombatBrawlerHumanoidMale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s42.iff', object.getPlanet()) - jacket = core.objectService.createObject('object/tangible/wearables/jacket/shared_jacket_s24.iff', object.getPlanet()) - gloves = core.objectService.createObject('object/tangible/wearables/gloves/shared_gloves_s06.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s04.iff', object.getPlanet()) - boots = core.objectService.createObject('object/tangible/wearables/boots/shared_boots_s22.iff', object.getPlanet()) - object._add(shirt) - object._add(jacket) - object._add(gloves) - object._add(pants) - object._add(boots) diff --git a/scripts/starter_clothing/combat_brawler_ithorian_female.py b/scripts/starter_clothing/combat_brawler_ithorian_female.py deleted file mode 100644 index 223236bd..00000000 --- a/scripts/starter_clothing/combat_brawler_ithorian_female.py +++ /dev/null @@ -1,15 +0,0 @@ -import sys - -def CombatBrawlerIthorianFemale(core, object): - jacket = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_jacket_s06.iff', object.getPlanet()) - shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s01.iff', object.getPlanet()) - bandolier = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_bandolier_s04.iff', object.getPlanet()) - belt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_belt_s17.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s01.iff', object.getPlanet()) - gloves = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_gloves_s01.iff', object.getPlanet()) - object._add(jacket) - object._add(shirt) - object._add(bandolier) - object._add(belt) - object._add(pants) - object._add(gloves) \ No newline at end of file diff --git a/scripts/starter_clothing/combat_brawler_ithorian_male.py b/scripts/starter_clothing/combat_brawler_ithorian_male.py deleted file mode 100644 index cd6dce81..00000000 --- a/scripts/starter_clothing/combat_brawler_ithorian_male.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys - -def CombatBrawlerIthorianMale(core, object): - jacket = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_jacket_s10.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s02.iff', object.getPlanet()) - bandolier = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_bandolier_s04.iff', object.getPlanet()) - object._add(jacket) - object._add(pants) - object._add(bandolier) \ No newline at end of file diff --git a/scripts/starter_clothing/combat_brawler_trandoshan_female.py b/scripts/starter_clothing/combat_brawler_trandoshan_female.py deleted file mode 100644 index 6f71399c..00000000 --- a/scripts/starter_clothing/combat_brawler_trandoshan_female.py +++ /dev/null @@ -1,11 +0,0 @@ -import sys - -def CombatBrawlerOutdoorScoutTrandoshanFemale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s24.iff', object.getPlanet()) - jacket = core.objectService.createObject('object/tangible/wearables/jacket/shared_jacket_s24.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s25.iff', object.getPlanet()) - necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_primitive_01.iff', object.getPlanet()) - object._add(shirt) - object._add(jacket) - object._add(pants) - object._add(necklace) diff --git a/scripts/starter_clothing/combat_brawler_trandoshan_male.py b/scripts/starter_clothing/combat_brawler_trandoshan_male.py deleted file mode 100644 index 78b4d786..00000000 --- a/scripts/starter_clothing/combat_brawler_trandoshan_male.py +++ /dev/null @@ -1,10 +0,0 @@ -import sys - -def CombatBrawlerTrandoshanMale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s42.iff', object.getPlanet()) - jacket = core.objectService.createObject('object/tangible/wearables/jacket/shared_jacket_s24.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s04.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(shirt) - object._add(jacket) - object._add(pants) diff --git a/scripts/starter_clothing/combat_brawler_wookiee_female.py b/scripts/starter_clothing/combat_brawler_wookiee_female.py deleted file mode 100644 index 917fb2d0..00000000 --- a/scripts/starter_clothing/combat_brawler_wookiee_female.py +++ /dev/null @@ -1,7 +0,0 @@ -import sys - -def CombatBrawlerWookieeFemale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_shirt_s04.iff', object.getPlanet()) - skirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_skirt_s02.iff', object.getPlanet()) - object._add(shirt) - object._add(skirt) diff --git a/scripts/starter_clothing/combat_brawler_wookiee_male.py b/scripts/starter_clothing/combat_brawler_wookiee_male.py deleted file mode 100644 index 8646f4e9..00000000 --- a/scripts/starter_clothing/combat_brawler_wookiee_male.py +++ /dev/null @@ -1,8 +0,0 @@ -import sys - -def CombatBrawlerWookieeMale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_shirt_s04.iff', object.getPlanet()) - skirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_skirt_s02.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(shirt) - object._add(skirt) diff --git a/scripts/starter_clothing/combat_marksman_humanoid_female.py b/scripts/starter_clothing/combat_marksman_humanoid_female.py deleted file mode 100644 index f43d084b..00000000 --- a/scripts/starter_clothing/combat_marksman_humanoid_female.py +++ /dev/null @@ -1,15 +0,0 @@ -import sys - -def CombatMarksmanHumanoidFemale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s28.iff', object.getPlanet()) - bandolier = core.objectService.createObject('object/tangible/wearables/bandolier/shared_npe_bandolier.iff', object.getPlanet()) - necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_primitive_04.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s09.iff', object.getPlanet()) - belt = core.objectService.createObject('object/tangible/wearables/belt/shared_npe_belt_02.iff', object.getPlanet()) - shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s01.iff', object.getPlanet()) - object._add(shirt) - object._add(bandolier) - object._add(necklace) - object._add(pants) - object._add(belt) - object._add(shoes) \ No newline at end of file diff --git a/scripts/starter_clothing/combat_marksman_humanoid_male.py b/scripts/starter_clothing/combat_marksman_humanoid_male.py deleted file mode 100644 index 421fed10..00000000 --- a/scripts/starter_clothing/combat_marksman_humanoid_male.py +++ /dev/null @@ -1,12 +0,0 @@ -import sys - -def CombatMarksmanHumanoidMale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_npe_shirt.iff', object.getPlanet()) - jacket = core.objectService.createObject('object/tangible/wearables/jacket/shared_jacket_s16.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s21.iff', object.getPlanet()) - boots = core.objectService.createObject('object/tangible/wearables/boots/shared_boots_s03.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(shirt) - object._add(jacket) - object._add(pants) - object._add(boots) \ No newline at end of file diff --git a/scripts/starter_clothing/combat_marksman_ithorian_female.py b/scripts/starter_clothing/combat_marksman_ithorian_female.py deleted file mode 100644 index 4f9903d7..00000000 --- a/scripts/starter_clothing/combat_marksman_ithorian_female.py +++ /dev/null @@ -1,12 +0,0 @@ -import sys - -def CombatMarksmanIthorianFemale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s09.iff', object.getPlanet()) - vest = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_vest_s01.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s01.iff', object.getPlanet()) - belt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_belt_s17.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._addshirt) - object._add(vest) - object._add(pants) - object._add(belt) \ No newline at end of file diff --git a/scripts/starter_clothing/combat_marksman_ithorian_male.py b/scripts/starter_clothing/combat_marksman_ithorian_male.py deleted file mode 100644 index 11db70e3..00000000 --- a/scripts/starter_clothing/combat_marksman_ithorian_male.py +++ /dev/null @@ -1,12 +0,0 @@ -import sys - -def CombatMarksmanIthorianMale(core, object): - belt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_belt_s20.iff', object.getPlanet()) - shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s11.iff', object.getPlanet()) - jacket = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_jacket_s07.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s04.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(belt) - object._add(shirt) - object._add(jacket) - object._add(pants) \ No newline at end of file diff --git a/scripts/starter_clothing/combat_marksman_trandoshan_female.py b/scripts/starter_clothing/combat_marksman_trandoshan_female.py deleted file mode 100644 index 569d1ad6..00000000 --- a/scripts/starter_clothing/combat_marksman_trandoshan_female.py +++ /dev/null @@ -1,14 +0,0 @@ -import sys - -def CombatMarksmanTrandoshanFemale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s28.iff', object.getPlanet()) - bandolier = core.objectService.createObject('object/tangible/wearables/bandolier/shared_npe_bandolier.iff', object.getPlanet()) - necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_primitive_04.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s09.iff', object.getPlanet()) - belt = core.objectService.createObject('object/tangible/wearables/belt/shared_npe_belt_02.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(shirt) - object._add(bandolier) - object._add(necklace) - object._add(pants) - object._add(belt) \ No newline at end of file diff --git a/scripts/starter_clothing/combat_marksman_trandoshan_male.py b/scripts/starter_clothing/combat_marksman_trandoshan_male.py deleted file mode 100644 index 724752b6..00000000 --- a/scripts/starter_clothing/combat_marksman_trandoshan_male.py +++ /dev/null @@ -1,10 +0,0 @@ -import sys - -def CombatMarksmanTrandoshanMale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_npe_shirt.iff', object.getPlanet()) - jacket = core.objectService.createObject('object/tangible/wearables/jacket/shared_jacket_s16.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s21.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(shirt) - object._add(jacket) - object._add(pants) \ No newline at end of file diff --git a/scripts/starter_clothing/combat_marksman_wookiee_female.py b/scripts/starter_clothing/combat_marksman_wookiee_female.py deleted file mode 100644 index 4c33c52a..00000000 --- a/scripts/starter_clothing/combat_marksman_wookiee_female.py +++ /dev/null @@ -1,8 +0,0 @@ -import sys - -def CombatMarksmanWookieeFemale(core, object): - bandolier = core.objectService.createObject('object/tangible/wearables/bandolier/shared_bandolier_s04.iff', object.getPlanet()) - shirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_shirt_s03.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(bandolier) - object._add(shirt) \ No newline at end of file diff --git a/scripts/starter_clothing/combat_marksman_wookiee_male.py b/scripts/starter_clothing/combat_marksman_wookiee_male.py deleted file mode 100644 index b43a9f0a..00000000 --- a/scripts/starter_clothing/combat_marksman_wookiee_male.py +++ /dev/null @@ -1,8 +0,0 @@ -import sys - -def CombatMarksmanWookieeMale(core, object): - bandolier = core.objectService.createObject('object/tangible/wearables/bandolier/shared_bandolier_s04.iff', object.getPlanet()) - shirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_shirt_s03.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(bandolier) - object._add(shirt) \ No newline at end of file diff --git a/scripts/starter_clothing/crafting_artisan_humanoid_female.py b/scripts/starter_clothing/crafting_artisan_humanoid_female.py deleted file mode 100644 index e02090dd..00000000 --- a/scripts/starter_clothing/crafting_artisan_humanoid_female.py +++ /dev/null @@ -1,18 +0,0 @@ -import sys - -def CraftingArtisanHumanoidFemale(core, object): - dress = core.objectService.createObject('object/tangible/wearables/dress/shared_dress_s29.iff', object.getPlanet()) - necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s02.iff', object.getPlanet()) - bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_l.iff', object.getPlanet()) - bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_r.iff', object.getPlanet()) - bracelet_l_2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s06_l.iff', object.getPlanet()) - bracelet_r_2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s06_r.iff', object.getPlanet()) - shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s07.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - inventory.add(bracelet_l_2) - inventory.add(bracelet_r_2) - object._add(dress) - object._add(necklace) - object._add(bracelet_l) - object._add(bracelet_r) - object._add(shoes) diff --git a/scripts/starter_clothing/crafting_artisan_humanoid_male.py b/scripts/starter_clothing/crafting_artisan_humanoid_male.py deleted file mode 100644 index f140e4c1..00000000 --- a/scripts/starter_clothing/crafting_artisan_humanoid_male.py +++ /dev/null @@ -1,14 +0,0 @@ -import sys - -def CraftingArtisanHumanoidMale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s03.iff', object.getPlanet()) - vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_s09.iff', object.getPlanet()) - necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_primitive_03.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s13.iff', object.getPlanet()) - shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s01.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(shirt) - object._add(vest) - object._add(necklace) - object._add(pants) - object._add(shoes) diff --git a/scripts/starter_clothing/crafting_artisan_ithorian_female.py b/scripts/starter_clothing/crafting_artisan_ithorian_female.py deleted file mode 100644 index 4ae7a7ea..00000000 --- a/scripts/starter_clothing/crafting_artisan_ithorian_female.py +++ /dev/null @@ -1,8 +0,0 @@ -import sys - -def CraftingArtisanIthorianFemale(core, object): - dress = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_dress_s03.iff', object.getPlanet()) - hat = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_hat_s02.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(dress) - object._add(hat) diff --git a/scripts/starter_clothing/crafting_artisan_ithorian_male.py b/scripts/starter_clothing/crafting_artisan_ithorian_male.py deleted file mode 100644 index 8ecd98cf..00000000 --- a/scripts/starter_clothing/crafting_artisan_ithorian_male.py +++ /dev/null @@ -1,10 +0,0 @@ -import sys - -def CraftingArtisanIthorianMale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s10.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s06.iff', object.getPlanet()) - vest = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_vest_s02.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(shirt) - object._add(pants) - object._add(vest) \ No newline at end of file diff --git a/scripts/starter_clothing/crafting_artisan_trandoshan_female.py b/scripts/starter_clothing/crafting_artisan_trandoshan_female.py deleted file mode 100644 index 60acce4a..00000000 --- a/scripts/starter_clothing/crafting_artisan_trandoshan_female.py +++ /dev/null @@ -1,16 +0,0 @@ -import sys - -def CraftingArtisanTrandoshanFemale(core, object): - dress = core.objectService.createObject('object/tangible/wearables/dress/shared_dress_s29.iff', object.getPlanet()) - necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s02.iff', object.getPlanet()) - bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_l.iff', object.getPlanet()) - bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_r.iff', object.getPlanet()) - bracelet_l_2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s06_l.iff', object.getPlanet()) - bracelet_r_2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s06_r.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - inventory.add(bracelet_l_2) - inventory.add(bracelet_r_2) - object._add(dress) - object._add(necklace) - object._add(bracelet_l) - object._add(bracelet_r) \ No newline at end of file diff --git a/scripts/starter_clothing/crafting_artisan_trandoshan_male.py b/scripts/starter_clothing/crafting_artisan_trandoshan_male.py deleted file mode 100644 index 3862af73..00000000 --- a/scripts/starter_clothing/crafting_artisan_trandoshan_male.py +++ /dev/null @@ -1,11 +0,0 @@ -import sys - -def CraftingArtisanTrandoshanMale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s03.iff', object.getPlanet()) - vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_s09.iff', object.getPlanet()) - necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_primitive_03.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s13.iff', object.getPlanet()) - object._add(shirt) - object._add(vest) - object._add(necklace) - object._add(pants) diff --git a/scripts/starter_clothing/crafting_artisan_twilek_female.py b/scripts/starter_clothing/crafting_artisan_twilek_female.py deleted file mode 100644 index 77e72081..00000000 --- a/scripts/starter_clothing/crafting_artisan_twilek_female.py +++ /dev/null @@ -1,20 +0,0 @@ -import sys - -def CraftingArtisanTwilekFemale(core, object): - dress = core.objectService.createObject('object/tangible/wearables/dress/shared_dress_s29.iff', object.getPlanet()) - necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s02.iff', object.getPlanet()) - bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_l.iff', object.getPlanet()) - bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s03_r.iff', object.getPlanet()) - bracelet_l_2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s06_l.iff', object.getPlanet()) - bracelet_r_2 = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s06_r.iff', object.getPlanet()) - shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s07.iff', object.getPlanet()) - hat = core.objectService.createObject('object/tangible/wearables/hat/shared_hat_twilek_s01.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - inventory.add(bracelet_l_2) - inventory.add(bracelet_r_2) - object._add(dress) - object._add(necklace) - object._add(bracelet_l) - object._add(bracelet_r) - object._add(shoes) - object._add(hat) diff --git a/scripts/starter_clothing/crafting_artisan_wookiee_female.py b/scripts/starter_clothing/crafting_artisan_wookiee_female.py deleted file mode 100644 index aa6fb915..00000000 --- a/scripts/starter_clothing/crafting_artisan_wookiee_female.py +++ /dev/null @@ -1,8 +0,0 @@ -import sys - -def CraftingArtisanWookieeFemale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_shirt_s02.iff', object.getPlanet()) - skirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_skirt_s03.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(shirt) - object._add(skirt) \ No newline at end of file diff --git a/scripts/starter_clothing/crafting_artisan_wookiee_male.py b/scripts/starter_clothing/crafting_artisan_wookiee_male.py deleted file mode 100644 index 841dfd41..00000000 --- a/scripts/starter_clothing/crafting_artisan_wookiee_male.py +++ /dev/null @@ -1,8 +0,0 @@ -import sys - -def CraftingArtisanWookieeMale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_shirt_s02.iff', object.getPlanet()) - skirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_skirt_s03.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(shirt) - object._add(skirt) \ No newline at end of file diff --git a/scripts/starter_clothing/outdoors_scout_humanoid_female.py b/scripts/starter_clothing/outdoors_scout_humanoid_female.py deleted file mode 100644 index a3347f00..00000000 --- a/scripts/starter_clothing/outdoors_scout_humanoid_female.py +++ /dev/null @@ -1,22 +0,0 @@ -import sys - -def OutdoorScoutHumanoidFemale(core, object): - vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_s04.iff', object.getPlanet()) - bustier = core.objectService.createObject('object/tangible/wearables/bustier/shared_bustier_s02.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s13.iff', object.getPlanet()) - gloves = core.objectService.createObject('object/tangible/wearables/gloves/shared_gloves_s06.iff', object.getPlanet()) - bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_l.iff', object.getPlanet()) - bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_r.iff', object.getPlanet()) - boots = core.objectService.createObject('object/tangible/wearables/boots/shared_boots_s04.iff', object.getPlanet()) - belt = core.objectService.createObject('object/tangible/wearables/belt/shared_npe_belt_02.iff', object.getPlanet()) - necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_primitive_03.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(vest) - object._add(bustier) - object._add(pants) - object._add(gloves) - object._add(bracelet_l) - object._add(bracelet_r) - object._add(boots) - object._add(belt) - object._add(necklace) diff --git a/scripts/starter_clothing/outdoors_scout_humanoid_male.py b/scripts/starter_clothing/outdoors_scout_humanoid_male.py deleted file mode 100644 index a6c8d1c4..00000000 --- a/scripts/starter_clothing/outdoors_scout_humanoid_male.py +++ /dev/null @@ -1,14 +0,0 @@ -import sys - -def OutdoorScoutHumanoidMale(core, object): - vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_hutt_gang_s01.iff', object.getPlanet()) - bracelet = core.objectService.createObject('object/tangible/wearables/bracelet/shared_primitive_bracelet.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s04.iff', object.getPlanet()) - belt = core.objectService.createObject('object/tangible/wearables/belt/shared_npe_belt_03.iff', object.getPlanet()) - boots = core.objectService.createObject('object/tangible/wearables/boots/shared_boots_s05.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(vest) - object._add(bracelet) - object._add(pants) - object._add(belt) - object._add(boots) diff --git a/scripts/starter_clothing/outdoors_scout_ithorian_female.py b/scripts/starter_clothing/outdoors_scout_ithorian_female.py deleted file mode 100644 index 11fd41ff..00000000 --- a/scripts/starter_clothing/outdoors_scout_ithorian_female.py +++ /dev/null @@ -1,10 +0,0 @@ -import sys - -def OutdoorScoutIthorianFemale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s05.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s16.iff', object.getPlanet()) - jacket = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_jacket_s02.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(shirt) - object._add(pants) - object._add(jacket) \ No newline at end of file diff --git a/scripts/starter_clothing/outdoors_scout_ithorian_male.py b/scripts/starter_clothing/outdoors_scout_ithorian_male.py deleted file mode 100644 index 6b824c94..00000000 --- a/scripts/starter_clothing/outdoors_scout_ithorian_male.py +++ /dev/null @@ -1,10 +0,0 @@ -import sys - -def OutdoorScoutIthorianMale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s13.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s12.iff', object.getPlanet()) - jacket = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_jacket_s03.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(shirt) - object._add(pants) - object._add(jacket) \ No newline at end of file diff --git a/scripts/starter_clothing/outdoors_scout_trandoshan_female.py b/scripts/starter_clothing/outdoors_scout_trandoshan_female.py deleted file mode 100644 index 8bf336ed..00000000 --- a/scripts/starter_clothing/outdoors_scout_trandoshan_female.py +++ /dev/null @@ -1,18 +0,0 @@ -import sys - -def OutdoorScoutTrandoshanFemale(core, object): - vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_s04.iff', object.getPlanet()) - bustier = core.objectService.createObject('object/tangible/wearables/bustier/shared_bustier_s02.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s13.iff', object.getPlanet()) - bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_l.iff', object.getPlanet()) - bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_r.iff', object.getPlanet()) - belt = core.objectService.createObject('object/tangible/wearables/belt/shared_npe_belt_02.iff', object.getPlanet()) - necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_primitive_03.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(vest) - object._add(bustier) - object._add(pants) - object._add(bracelet_l) - object._add(bracelet_r) - object._add(belt) - object._add(necklace) diff --git a/scripts/starter_clothing/outdoors_scout_trandoshan_male.py b/scripts/starter_clothing/outdoors_scout_trandoshan_male.py deleted file mode 100644 index de822de3..00000000 --- a/scripts/starter_clothing/outdoors_scout_trandoshan_male.py +++ /dev/null @@ -1,12 +0,0 @@ -import sys - -def OutdoorScoutTrandoshanMale(core, object): - vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_hutt_gang_s01.iff', object.getPlanet()) - bracelet = core.objectService.createObject('object/tangible/wearables/bracelet/shared_primitive_bracelet.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s04.iff', object.getPlanet()) - belt = core.objectService.createObject('object/tangible/wearables/belt/shared_npe_belt_03.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(vest) - object._add(bracelet) - object._add(pants) - object._add(belt) diff --git a/scripts/starter_clothing/outdoors_scout_wookiee_female.py b/scripts/starter_clothing/outdoors_scout_wookiee_female.py deleted file mode 100644 index c2fca3a7..00000000 --- a/scripts/starter_clothing/outdoors_scout_wookiee_female.py +++ /dev/null @@ -1,6 +0,0 @@ -import sys - -def OutdoorScoutWookieeFemale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_shirt_s01.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(shirt) \ No newline at end of file diff --git a/scripts/starter_clothing/outdoors_scout_wookiee_male.py b/scripts/starter_clothing/outdoors_scout_wookiee_male.py deleted file mode 100644 index 63a6b6cf..00000000 --- a/scripts/starter_clothing/outdoors_scout_wookiee_male.py +++ /dev/null @@ -1,6 +0,0 @@ -import sys - -def OutdoorScoutWookieeMale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_shirt_s01.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(shirt) \ No newline at end of file diff --git a/scripts/starter_clothing/science_medic_humanoid_female.py b/scripts/starter_clothing/science_medic_humanoid_female.py deleted file mode 100644 index 5e6ba991..00000000 --- a/scripts/starter_clothing/science_medic_humanoid_female.py +++ /dev/null @@ -1,12 +0,0 @@ -import sys - -def ScienceMedicHumanoidFemale(core, object): - jacket = core.objectService.createObject('object/tangible/wearables/jacket/shared_jacket_s26.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s08.iff', object.getPlanet()) - shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s01.iff', object.getPlanet()) - necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s01.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(jacket) - object._add(pants) - object._add(shoes) - object._add(necklace) \ No newline at end of file diff --git a/scripts/starter_clothing/science_medic_humanoid_male.py b/scripts/starter_clothing/science_medic_humanoid_male.py deleted file mode 100644 index ca19c6e2..00000000 --- a/scripts/starter_clothing/science_medic_humanoid_male.py +++ /dev/null @@ -1,10 +0,0 @@ -import sys - -def ScienceMedicHumanoidMale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_npe_shirt.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s01.iff', object.getPlanet()) - shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s02.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(shirt) - object._add(pants) - object._add(shoes) \ No newline at end of file diff --git a/scripts/starter_clothing/science_medic_ithorian_female.py b/scripts/starter_clothing/science_medic_ithorian_female.py deleted file mode 100644 index fb7638b8..00000000 --- a/scripts/starter_clothing/science_medic_ithorian_female.py +++ /dev/null @@ -1,8 +0,0 @@ -import sys - -def ScienceMedicIthorianFemale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s12.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s02.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(shirt) - object._add(pants) \ No newline at end of file diff --git a/scripts/starter_clothing/science_medic_ithorian_male.py b/scripts/starter_clothing/science_medic_ithorian_male.py deleted file mode 100644 index 88ec8b7a..00000000 --- a/scripts/starter_clothing/science_medic_ithorian_male.py +++ /dev/null @@ -1,10 +0,0 @@ -import sys - -def ScienceMedicIthorianMale(core, object): - jacket = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_jacket_s01.iff', object.getPlanet()) - shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s04.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s18.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(jacket) - object._add(shirt) - object._add(pants) diff --git a/scripts/starter_clothing/science_medic_trandoshan_female.py b/scripts/starter_clothing/science_medic_trandoshan_female.py deleted file mode 100644 index 556e8e94..00000000 --- a/scripts/starter_clothing/science_medic_trandoshan_female.py +++ /dev/null @@ -1,10 +0,0 @@ -import sys - -def ScienceMedicTrandoshanFemale(core, object): - jacket = core.objectService.createObject('object/tangible/wearables/jacket/shared_jacket_s26.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s08.iff', object.getPlanet()) - necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s01.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(jacket) - object._add(pants) - object._add(necklace) \ No newline at end of file diff --git a/scripts/starter_clothing/science_medic_trandoshan_male.py b/scripts/starter_clothing/science_medic_trandoshan_male.py deleted file mode 100644 index 9b50dd69..00000000 --- a/scripts/starter_clothing/science_medic_trandoshan_male.py +++ /dev/null @@ -1,8 +0,0 @@ -import sys - -def ScienceMedicTrandoshanMale(core, object): - shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_npe_shirt.iff', object.getPlanet()) - pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s01.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(shirt) - object._add(pants) \ No newline at end of file diff --git a/scripts/starter_clothing/science_medic_wookiee_female.py b/scripts/starter_clothing/science_medic_wookiee_female.py deleted file mode 100644 index 9e969888..00000000 --- a/scripts/starter_clothing/science_medic_wookiee_female.py +++ /dev/null @@ -1,8 +0,0 @@ -import sys - -def ScienceMedicWookieeFemale(core, object): - hood = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_hood_s02.iff', object.getPlanet()) - bandolier = core.objectService.createObject('object/tangible/wearables/bandolier/shared_bandolier_s09.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(hood) - object._add(bandolier) \ No newline at end of file diff --git a/scripts/starter_clothing/science_medic_wookiee_male.py b/scripts/starter_clothing/science_medic_wookiee_male.py deleted file mode 100644 index ba2c8845..00000000 --- a/scripts/starter_clothing/science_medic_wookiee_male.py +++ /dev/null @@ -1,8 +0,0 @@ -import sys - -def ScienceMedicWookieeMale(core, object): - hood = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_hood_s02.iff', object.getPlanet()) - bandolier = core.objectService.createObject('object/tangible/wearables/bandolier/shared_bandolier_s09.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(hood) - object._add(bandolier) \ No newline at end of file diff --git a/scripts/starter_clothing/social_entertainer_humanoid_female.py b/scripts/starter_clothing/social_entertainer_humanoid_female.py deleted file mode 100644 index 0b9f5157..00000000 --- a/scripts/starter_clothing/social_entertainer_humanoid_female.py +++ /dev/null @@ -1,16 +0,0 @@ -import sys - -def SocialEntertainerHumanoidFemale(core, object): - bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_l.iff', object.getPlanet()) - bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_r.iff', object.getPlanet()) - necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s12.iff', object.getPlanet()) - shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s07.iff', object.getPlanet()) - skirt = core.objectService.createObject('object/tangible/wearables/skirt/shared_npe_entertainer_skirt.iff', object.getPlanet()) - bustier = core.objectService.createObject('object/tangible/wearables/bustier/shared_bustier_s01.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(bracelet_l) - object._add(bracelet_r) - object._add(necklace) - object._add(shoes) - object._add(skirt) - object._add(bustier) \ No newline at end of file diff --git a/scripts/starter_clothing/social_entertainer_humanoid_male.py b/scripts/starter_clothing/social_entertainer_humanoid_male.py deleted file mode 100644 index c9fcfec6..00000000 --- a/scripts/starter_clothing/social_entertainer_humanoid_male.py +++ /dev/null @@ -1,10 +0,0 @@ -import sys - -def SocialEntertainerHumanoidMale(core, object): - vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_s15.iff', object.getPlanet()) - skirt = core.objectService.createObject('object/tangible/wearables/skirt/shared_skirt_s05.iff', object.getPlanet()) - shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s01.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(vest) - object._add(skirt) - object._add(shoes) \ No newline at end of file diff --git a/scripts/starter_clothing/social_entertainer_ithorian_female.py b/scripts/starter_clothing/social_entertainer_ithorian_female.py deleted file mode 100644 index 4afa5c52..00000000 --- a/scripts/starter_clothing/social_entertainer_ithorian_female.py +++ /dev/null @@ -1,16 +0,0 @@ -import sys - -def SocialEntertainerIthorianFemale(core, object): - bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_l.iff', object.getPlanet()) - bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_r.iff', object.getPlanet()) - necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s12.iff', object.getPlanet()) - shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s07.iff', object.getPlanet()) - skirt = core.objectService.createObject('object/tangible/wearables/skirt/shared_npe_entertainer_skirt.iff', object.getPlanet()) - bustier = core.objectService.createObject('object/tangible/wearables/bustier/shared_bustier_s01.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(bracelet_l) - object._add(bracelet_r) - object._add(necklace) - object._add(shoes) - object._add(skirt) - object._add(bustier) \ No newline at end of file diff --git a/scripts/starter_clothing/social_entertainer_ithorian_male.py b/scripts/starter_clothing/social_entertainer_ithorian_male.py deleted file mode 100644 index a13a5c78..00000000 --- a/scripts/starter_clothing/social_entertainer_ithorian_male.py +++ /dev/null @@ -1,10 +0,0 @@ -import sys - -def SocialEntertainerIthorianMale(core, object): - pants = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_pants_s10.iff', object.getPlanet()) - shirt = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_shirt_s08.iff', object.getPlanet()) - dress = core.objectService.createObject('object/tangible/wearables/ithorian/shared_ith_dress_short_s01.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(pants) - object._add(shirt) - object._add(dress) \ No newline at end of file diff --git a/scripts/starter_clothing/social_entertainer_trandoshan_female.py b/scripts/starter_clothing/social_entertainer_trandoshan_female.py deleted file mode 100644 index b77afa50..00000000 --- a/scripts/starter_clothing/social_entertainer_trandoshan_female.py +++ /dev/null @@ -1,14 +0,0 @@ -import sys - -def SocialEntertainerTrandoshanFemale(core, object): - bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_l.iff', object.getPlanet()) - bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_r.iff', object.getPlanet()) - necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s12.iff', object.getPlanet()) - skirt = core.objectService.createObject('object/tangible/wearables/skirt/shared_npe_entertainer_skirt.iff', object.getPlanet()) - bustier = core.objectService.createObject('object/tangible/wearables/bustier/shared_bustier_s01.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(bracelet_l) - object._add(bracelet_r) - object._add(necklace) - object._add(skirt) - object._add(bustier) \ No newline at end of file diff --git a/scripts/starter_clothing/social_entertainer_trandoshan_male.py b/scripts/starter_clothing/social_entertainer_trandoshan_male.py deleted file mode 100644 index cd9bcc6c..00000000 --- a/scripts/starter_clothing/social_entertainer_trandoshan_male.py +++ /dev/null @@ -1,8 +0,0 @@ -import sys - -def SocialEntertainerTrandoshanMale(core, object): - vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_s15.iff', object.getPlanet()) - skirt = core.objectService.createObject('object/tangible/wearables/skirt/shared_skirt_s05.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(vest) - object._add(skirt) \ No newline at end of file diff --git a/scripts/starter_clothing/social_entertainer_twilek_female.py b/scripts/starter_clothing/social_entertainer_twilek_female.py deleted file mode 100644 index e5dcdd36..00000000 --- a/scripts/starter_clothing/social_entertainer_twilek_female.py +++ /dev/null @@ -1,18 +0,0 @@ -import sys - -def SocialEntertainerTwilekFemale(core, object): - bracelet_l = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_l.iff', object.getPlanet()) - bracelet_r = core.objectService.createObject('object/tangible/wearables/bracelet/shared_bracelet_s05_r.iff', object.getPlanet()) - necklace = core.objectService.createObject('object/tangible/wearables/necklace/shared_necklace_s12.iff', object.getPlanet()) - shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s07.iff', object.getPlanet()) - skirt = core.objectService.createObject('object/tangible/wearables/skirt/shared_npe_entertainer_skirt.iff', object.getPlanet()) - bustier = core.objectService.createObject('object/tangible/wearables/bustier/shared_bustier_s01.iff', object.getPlanet()) - hat = core.objectService.createObject('object/tangible/wearables/hat/shared_hat_twilek_s03.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(bracelet_l) - object._add(bracelet_r) - object._add(necklace) - object._add(shoes) - object._add(skirt) - object._add(bustier) - object._add(hat) \ No newline at end of file diff --git a/scripts/starter_clothing/social_entertainer_wookiee_female.py b/scripts/starter_clothing/social_entertainer_wookiee_female.py deleted file mode 100644 index a8cdfee0..00000000 --- a/scripts/starter_clothing/social_entertainer_wookiee_female.py +++ /dev/null @@ -1,8 +0,0 @@ -import sys - -def SocialEntertainerWookieeFemale(core, object): - gloves = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_gloves_s04.iff', object.getPlanet()) - hood = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_hood_s03.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(gloves) - object._add(hood) \ No newline at end of file diff --git a/scripts/starter_clothing/social_entertainer_wookiee_male.py b/scripts/starter_clothing/social_entertainer_wookiee_male.py deleted file mode 100644 index ed797f8c..00000000 --- a/scripts/starter_clothing/social_entertainer_wookiee_male.py +++ /dev/null @@ -1,8 +0,0 @@ -import sys - -def SocialEntertainerWookieeMale(core, object): - gloves = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_gloves_s04.iff', object.getPlanet()) - hood = core.objectService.createObject('object/tangible/wearables/wookiee/shared_wke_hood_s03.iff', object.getPlanet()) - inventory = object.getSlottedObject('inventory') - object._add(gloves) - object._add(hood) \ No newline at end of file diff --git a/scripts/starterclothing.py b/scripts/starterclothing.py deleted file mode 100644 index 567e1345..00000000 --- a/scripts/starterclothing.py +++ /dev/null @@ -1,298 +0,0 @@ - - -import sys - -def CreateStarterClothing(core, object, starterProfession, raceTemplate): - - if starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/human_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_humanoid_male", "OutdoorScoutHumanoidMale", core, object) - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/zabrak_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_humanoid_male", "OutdoorScoutHumanoidMale", coree, object) - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/bothan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_humanoid_male", "OutdoorScoutHumanoidMale", coree, object) - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/sullustan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_humanoid_male", "OutdoorScoutHumanoidMale", coree, object) - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/twilek_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_humanoid_male", "OutdoorScoutHumanoidMale", coree, object) - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/moncal_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_humanoid_male", "OutdoorScoutHumanoidMale", coree, object) - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/rodian_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_humanoid_male", "OutdoorScoutHumanoidMale", coree, object) - - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/human_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_humanoid_female", "OutdoorScoutHumanoidFemale", core, object) - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/zabrak_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_humanoid_female", "OutdoorScoutHumanoidFemale", core, object) - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/bothan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_humanoid_female", "OutdoorScoutHumanoidFemale", core, object) - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/sullustan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_humanoid_female", "OutdoorScoutHumanoidFemale", core, object) - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/twilek_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_humanoid_female", "OutdoorScoutHumanoidFemale", core, object) - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/moncal_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_humanoid_female", "OutdoorScoutHumanoidFemale", core, object) - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/rodian_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_humanoid_female", "OutdoorScoutHumanoidFemale", core, object) - - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/trandoshan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_trandoshan_male", "OutdoorScoutTrandoshanMale", core, object) - - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/trandoshan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_trandoshan_female", "OutdoorScoutTrandoshanFemale", core, object) - - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/wookiee_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_wookiee_male", "OutdoorScoutWookieeMale", core, object) - - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/wookiee_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_wookiee_female", "OutdoorScoutWookieeFemale", core, object) - - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/ithorian_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_ithorian_male", "OutdoorScoutIthorianMale", core, object) - - elif starterProfession == 'outdoors_scout' and raceTemplate == 'object/creature/player/ithorian_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "outdoors_scout_ithorian_female", "OutdoorScoutIthorianFemale", core, object) - - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/human_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_humanoid_male", "CombatBrawlerHumanoidMale", core, object) - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/zabrak_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_humanoid_male", "CombatBrawlerHumanoidMale", core, object) - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/bothan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_humanoid_male", "CombatBrawlerHumanoidMale", core, object) - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/sullustan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_humanoid_male", "CombatBrawlerHumanoidMale", core, object) - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/twilek_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_humanoid_male", "CombatBrawlerHumanoidMale", core, object) - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/moncal_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_humanoid_male", "CombatBrawlerHumanoidMale", core, object) - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/rodian_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_humanoid_male", "CombatBrawlerHumanoidMale", core, object) - - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/human_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_humanoid_female", "CombatBrawlerHumanoidFemale", core, object) - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/zabrak_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_humanoid_female", "CombatBrawlerHumanoidFemale", core, object) - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/bothan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_humanoid_female", "CombatBrawlerHumanoidFemale", core, object) - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/sullustan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_humanoid_female", "CombatBrawlerHumanoidFemale", core, object) - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/twilek_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_humanoid_female", "CombatBrawlerHumanoidFemale", core, object) - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/moncal_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_humanoid_female", "CombatBrawlerHumanoidFemale", core, object) - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/rodian_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_humanoid_female", "CombatBrawlerHumanoidFemale", core, object) - - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/trandoshan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_trandoshan_male", "CombatBrawlerTrandoshanMale", core, object) - - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/trandoshan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_trandoshan_female", "CombatBrawlerOutdoorScoutTrandoshanFemale", core, object) - - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/wookiee_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_wookiee_male", "CombatBrawlerWookieeMale", core, object) - - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/wookiee_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_wookiee_female", "CombatBrawlerWookieeFemale", core, object) - - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/ithorian_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_ithorian_male", "CombatBrawlerIthorianMale", core, object) - - elif starterProfession == 'combat_brawler' and raceTemplate == 'object/creature/player/ithorian_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_brawler_ithorian_female", "CombatBrawlerIthorianFemale", core, object) - - - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/human_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_humanoid_male", "CombatMarksmanHumanoidMale", core, object) - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/zabrak_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_humanoid_male", "CombatMarksmanHumanoidMale", core, object) - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/bothan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_humanoid_male", "CombatMarksmanHumanoidMale", core, object) - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/sullustan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_humanoid_male", "CombatMarksmanHumanoidMale", core, object) - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/twilek_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_humanoid_male", "CombatMarksmanHumanoidMale", core, object) - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/moncal_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_humanoid_male", "CombatMarksmanHumanoidMale", core, object) - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/rodian_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_humanoid_male", "CombatMarksmanHumanoidMale", core, object) - - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/human_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_humanoid_female", "CombatMarksmanHumanoidFemale", core, object) - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/zabrak_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_humanoid_female", "CombatMarksmanHumanoidFemale", core, object) - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/bothan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_humanoid_female", "CombatMarksmanHumanoidFemale", core, object) - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/sullustan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_humanoid_female", "CombatMarksmanHumanoidFemale", core, object) - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/twilek_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_humanoid_female", "CombatMarksmanHumanoidFemale", core, object) - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/moncal_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_humanoid_female", "CombatMarksmanHumanoidFemale", core, object) - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/rodian_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_humanoid_female", "CombatMarksmanHumanoidFemale", core, object) - - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/trandoshan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_trandoshan_male", "CombatMarksmanTrandoshanMale", core, object) - - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/trandoshan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_trandoshan_female", "CombatMarksmanTrandoshanFemale", core, object) - - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/wookiee_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_wookiee_male", "CombatMarksmanWookieeMale", core, object) - - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/wookiee_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_wookiee_female", "CombatMarksmanWookieeFemale", core, object) - - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/ithorian_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_ithorian_male", "CombatMarksmanIthorianMale", core, object) - - elif starterProfession == 'combat_marksman' and raceTemplate == 'object/creature/player/ithorian_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "combat_marksman_ithorian_female", "CombatMarksmanIthorianFemale", core, object) - - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/human_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_humanoid_male", "CraftingArtisanHumanoidMale", core, object) - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/zabrak_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_humanoid_male", "CraftingArtisanHumanoidMale", core, object) - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/bothan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_humanoid_male", "CraftingArtisanHumanoidMale", core, object) - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/sullustan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_humanoid_male", "CraftingArtisanHumanoidMale", core, object) - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/twilek_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_humanoid_male", "CraftingArtisanHumanoidMale", core, object) - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/moncal_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_humanoid_male", "CraftingArtisanHumanoidMale", core, object) - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/rodian_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_humanoid_male", "CraftingArtisanHumanoidMale", core, object) - - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/human_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_humanoid_female", "CraftingArtisanHumanoidFemale", core, object) - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/zabrak_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_humanoid_female", "CraftingArtisanHumanoidFemale", core, object) - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/bothan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_humanoid_female", "CraftingArtisanHumanoidFemale", core, object) - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/sullustan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_humanoid_female", "CraftingArtisanHumanoidFemale", core, object) - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/twilek_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_twilek_female", "CraftingArtisanTwilekFemale", core, object) - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/moncal_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_humanoid_female", "CraftingArtisanHumanoidFemale", core, object) - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/rodian_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_humanoid_female", "CraftingArtisanHumanoidFemale", core, object) - - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/trandoshan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_trandoshan_male", "CraftingArtisanTrandoshanMale", core, object) - - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/trandoshan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_trandoshan_female", "CraftingArtisanTrandoshanFemale", core, object) - - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/wookiee_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_wookiee_male", "CraftingArtisanWookieeMale", core, object) - - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/wookiee_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_wookiee_female", "CraftingArtisanWookieeFemale", core, object) - - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/ithorian_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_ithorian_male", "CraftingArtisanIthorianMale", core, object) - - elif starterProfession == 'crafting_artisan' and raceTemplate == 'object/creature/player/ithorian_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "crafting_artisan_ithorian_female", "CraftingArtisanIthorianFemale", core, object) - - - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/human_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_humanoid_male", "ScienceMedicHumanoidMale", core, object) - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/zabrak_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_humanoid_male", "ScienceMedicHumanoidMale", core, object) - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/bothan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_humanoid_male", "ScienceMedicHumanoidMale", core, object) - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/sullustan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_humanoid_male", "ScienceMedicHumanoidMale", core, object) - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/twilek_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_humanoid_male", "ScienceMedicHumanoidMale", core, object) - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/moncal_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_humanoid_male", "ScienceMedicHumanoidMale", core, object) - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/rodian_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_humanoid_male", "ScienceMedicHumanoidMale", core, object) - - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/human_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_humanoid_female", "ScienceMedicHumanoidFemale", core, object) - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/zabrak_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_humanoid_female", "ScienceMedicHumanoidFemale", core, object) - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/bothan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_humanoid_female", "ScienceMedicHumanoidFemale", core, object) - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/sullustan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_humanoid_female", "ScienceMedicHumanoidFemale", core, object) - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/twilek_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_humanoid_female", "ScienceMedicHumanoidFemale", core, object) - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/moncal_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_humanoid_female", "ScienceMedicHumanoidFemale", core, object) - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/rodian_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_humanoid_female", "ScienceMedicHumanoidFemale", core, object) - - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/trandoshan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_trandoshan_male", "ScienceMedicTrandoshanMale", core, object) - - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/trandoshan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_trandoshan_female", "ScienceMedicTrandoshanFemale", core, object) - - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/wookiee_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_wookiee_male", "ScienceMedicWookieeMale", core, object) - - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/wookiee_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_wookiee_female", "ScienceMedicWookieeFemale", core, object) - - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/ithorian_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_ithorian_male", "ScienceMedicIthorianMale", core, object) - - elif starterProfession == 'science_medic' and raceTemplate == 'object/creature/player/ithorian_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "science_medic_ithorian_female", "ScienceMedicIthorianFemale", core, object) - - - - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/human_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_humanoid_male", "SocialEntertainerHumanoidMale", core, object) - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/zabrak_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_humanoid_male", "SocialEntertainerHumanoidMale", core, object) - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/bothan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_humanoid_male", "SocialEntertainerHumanoidMale", core, object) - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/sullustan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_humanoid_male", "SocialEntertainerHumanoidMale", core, object) - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/twilek_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_humanoid_male", "SocialEntertainerHumanoidMale", core, object) - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/moncal_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_humanoid_male", "SocialEntertainerHumanoidMale", core, object) - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/rodian_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_humanoid_male", "SocialEntertainerHumanoidMale", core, object) - - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/human_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_humanoid_female", "SocialEntertainerHumanoi_female", core, object) - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/zabrak_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_humanoid_female", "SocialEntertainerHumanoi_female", core, object) - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/bothan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_humanoid_female", "SocialEntertainerHumanoi_female", core, object) - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/sullustan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_humanoid_female", "SocialEntertainerHumanoi_female", core, object) - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/twilek_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_twilek_female", "SocialEntertainerTwilekFemale", core, object) - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/moncal_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_humanoid_female", "SocialEntertainerHumanoi_female", core, object) - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/rodian_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_humanoid_female", "SocialEntertainerHumanoi_female", core, object) - - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/trandoshan_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_trandoshan_male", "SocialEntertainerTrandoshanMale", core, object) - - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/trandoshan_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_trandoshan_female", "SocialEntertainerTrandoshanFemale", core, object) - - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/wookiee_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_wookiee_male", "SocialEntertainerWookieeMale", core, object) - - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/wookiee_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_wookiee_female", "SocialEntertainerWookieeFemale", core, object) - - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/ithorian_male.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_ithorian_male", "SocialEntertainerIthorianMale", core, object) - - elif starterProfession == 'social_entertainer' and raceTemplate == 'object/creature/player/ithorian_female.iff': - core.scriptService.callScript("scripts/starter_clothing/", "social_entertainer_ithorian_female", "SocialEntertainerIthorianFemale", core, object) - \ No newline at end of file diff --git a/src/protocol/swg/ObjControllerMessage.java b/src/protocol/swg/ObjControllerMessage.java index a441cad4..d6edf15c 100644 --- a/src/protocol/swg/ObjControllerMessage.java +++ b/src/protocol/swg/ObjControllerMessage.java @@ -60,6 +60,9 @@ public class ObjControllerMessage extends SWGMessage { public static final int BUFF_BUILDER_START = 0x025C; public static final int UI_PLAY_EFFECT = 0x0401; public static final int SHOW_LOOT_BOX = 0x04BC; + public static final int IMAGE_DESIGN_START = 0x023A; + public static final int IMAGE_DESIGN_CHANGE = 0x0238; + public static final int IMAGE_DESIGN_END = 0x0239; public ObjControllerMessage() { diff --git a/src/protocol/swg/objectControllerObjects/BuffBuilderChangeMessage.java b/src/protocol/swg/objectControllerObjects/BuffBuilderChangeMessage.java index ef067e9c..b522ee35 100644 --- a/src/protocol/swg/objectControllerObjects/BuffBuilderChangeMessage.java +++ b/src/protocol/swg/objectControllerObjects/BuffBuilderChangeMessage.java @@ -55,14 +55,9 @@ public class BuffBuilderChangeMessage extends ObjControllerObject { for (int i = 0; i < statSize; i++) { BuffItem item = new BuffItem(); - String statName = getAsciiString(data); - item.setSkillName(statName); - - int investedPoints = data.getInt(); - item.setInvested(investedPoints); - - int entBonus = data.getInt(); - item.setEntertainerBonus(entBonus); + item.setSkillName(getAsciiString(data)); + item.setInvested(data.getInt()); + item.setEntertainerBonus(data.getInt()); statBuffs.add(item); } diff --git a/src/protocol/swg/objectControllerObjects/ImageDesignMessage.java b/src/protocol/swg/objectControllerObjects/ImageDesignMessage.java new file mode 100644 index 00000000..5dc8a965 --- /dev/null +++ b/src/protocol/swg/objectControllerObjects/ImageDesignMessage.java @@ -0,0 +1,374 @@ +/******************************************************************************* + * Copyright (c) 2013 + * + * This File is part of NGECore2. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + * + * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. + * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. + ******************************************************************************/ +package protocol.swg.objectControllerObjects; + +import java.io.UnsupportedEncodingException; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.util.Vector; + +import org.apache.mina.core.buffer.IoBuffer; + +import protocol.swg.ObjControllerMessage; +import resources.common.IDAttribute; +import resources.common.StringUtilities; + +public class ImageDesignMessage extends ObjControllerObject { + + private long designerId; + private long targetId; + private long objectId; + private byte unkByte; + private String hair; + private String unk; + private int sessionId; + private int moneyDemanded; + private int moneyOffered; + private boolean designerCommited; + private boolean customerAccepted; + private byte flagStatMigration; + + private int bodyFormSkill1; + private int faceFormSkill1; + private int bodyFormSkill2; + private int faceFormSkill2; + + private String holoEmote; + + private Vector bodyAttributes; + private Vector colorAttributes; + + private boolean endMessage; + + public ImageDesignMessage() { } + + public ImageDesignMessage(long objectId, long designerId, long targetId) { + this.objectId = objectId; + this.designerId = designerId; + this.targetId = targetId; + } + + @Override + public void deserialize(IoBuffer data) { + System.out.println("===== Recieved Packet ======"); + StringUtilities.printBytes(data.array()); + + setObjectId(data.getLong()); + data.getInt(); + setDesignerId(data.getLong()); + setTargetId(data.getLong()); + data.getLong(); // tent id + + setUnkByte(data.get()); + setHair(getAsciiString(data)); + + setUnk(getAsciiString(data)); + data.getInt(); // timer + setSessionId(data.getInt()); + setMoneyDemanded(data.getInt()); + setMoneyOffered(data.getInt()); + setDesignerCommited((boolean) ((data.get() == 1) ? true : false)); + setCustomerAccepted((boolean) ((data.getInt() == 1) ? true : false)); + + setBodyFormSkill1(data.getInt()); + setFaceFormSkill1(data.getInt()); + + setBodyFormSkill2(data.getInt()); + setFaceFormSkill2(data.getInt()); + + int bodyAttributesSize = data.getInt(); + + if (bodyAttributesSize > 0) { + Vector bodyAttributes = new Vector(); + + for (int i = 0; i < bodyAttributesSize; i++) { + + IDAttribute atr = new IDAttribute(); + + atr.setName(getAsciiString(data)); + atr.setFloatValue(data.getFloat()); + + bodyAttributes.add(atr); + } + setBodyAttributes(bodyAttributes); + } + + int colorAttributesSize = data.getInt(); + + if (colorAttributesSize > 0) { + Vector colorAttributes = new Vector(); + + for (int i = 0; i < colorAttributesSize; i++) { + + IDAttribute atr = new IDAttribute(); + + atr.setName(getAsciiString(data)); + atr.setValue(data.getInt()); + + colorAttributes.add(atr); + } + setColorAttributes(colorAttributes); + } + + setHoloEmote(getAsciiString(data)); + } + + @Override + public IoBuffer serialize() { + IoBuffer buffer = IoBuffer.allocate(100).order(ByteOrder.LITTLE_ENDIAN); + buffer.setAutoExpand(true); + + if (endMessage) + buffer.putInt(ObjControllerMessage.IMAGE_DESIGN_END); + else + buffer.putInt(ObjControllerMessage.IMAGE_DESIGN_CHANGE); + + buffer.putLong(objectId); + buffer.putInt(0); + + buffer.putLong(designerId); + buffer.putLong(targetId); + buffer.putLong(0); // tent id + + buffer.put(unkByte); + if (hair != null) + buffer.put(getAsciiString(hair)); + else + buffer.putShort((short) 0); + + if (unk != null) + buffer.put(getAsciiString(unk)); + else + buffer.putShort((short) 0); + + buffer.putInt(0); // timer + + buffer.putInt(sessionId); + + buffer.putInt(moneyDemanded); + buffer.putInt(moneyOffered); + + buffer.put((byte) ((designerCommited) ? 1 : 0)); + buffer.putInt((int) ((customerAccepted) ? 1 : 0)); + + buffer.putInt(bodyFormSkill1); + buffer.putInt(faceFormSkill1); + buffer.putInt(bodyFormSkill2); + buffer.putInt(faceFormSkill2); + + if(bodyAttributes != null && bodyAttributes.size() > 0) { + buffer.putInt(bodyAttributes.size()); + for (IDAttribute atr : bodyAttributes) { + buffer.put(getAsciiString(atr.getName())); + buffer.putFloat(atr.getFloatValue()); + } + } else { + buffer.putInt(0); + } + + if (colorAttributes != null && colorAttributes.size() > 0) { + buffer.putInt(colorAttributes.size()); + for (IDAttribute atr : colorAttributes) { + buffer.put(getAsciiString(atr.getName())); + buffer.putInt(atr.getValue()); + } + } else { + buffer.putInt(0); + } + + if (holoEmote != null) + buffer.put(getAsciiString(holoEmote)); + else + buffer.putShort((short) 0); + + return buffer.flip(); + } + + public long getDesignerId() { + return designerId; + } + + public void setDesignerId(long designerId) { + this.designerId = designerId; + } + + public long getTargetId() { + return targetId; + } + + public void setTargetId(long targetId) { + this.targetId = targetId; + } + + public long getObjectId() { + return objectId; + } + + public void setObjectId(long objectId) { + System.out.println("OBJECT ID: " + objectId); + this.objectId = objectId; + } + + public byte getUnkByte() { + return unkByte; + } + + public void setUnkByte(byte unkByte) { + System.out.println("Set unk byte to " + unkByte); + this.unkByte = unkByte; + } + + public String getHair() { + return hair; + } + + public void setHair(String hair) { + this.hair = hair; + } + + public String getUnk() { + return unk; + } + + public void setUnk(String unk) { + System.out.println("Set UNK to " + unk); + this.unk = unk; + } + + public int getSessionId() { + return sessionId; + } + + public void setSessionId(int sessionId) { + this.sessionId = sessionId; + } + + public int getMoneyDemanded() { + return moneyDemanded; + } + + public void setMoneyDemanded(int moneyDemanded) { + this.moneyDemanded = moneyDemanded; + } + + public int getMoneyOffered() { + return moneyOffered; + } + + public void setMoneyOffered(int moneyOffered) { + this.moneyOffered = moneyOffered; + } + + public boolean isDesignerCommited() { + return designerCommited; + } + + public void setDesignerCommited(boolean designerCommited) { + this.designerCommited = designerCommited; + } + + public boolean isCustomerAccepted() { + return customerAccepted; + } + + public void setCustomerAccepted(boolean customerAccepted) { + this.customerAccepted = customerAccepted; + } + + public byte getFlagStatMigration() { + return flagStatMigration; + } + + public void setFlagStatMigration(byte flagStatMigration) { + this.flagStatMigration = flagStatMigration; + } + + public int getBodyFormSkill1() { + return bodyFormSkill1; + } + + public void setBodyFormSkill1(int bodyFormSkill1) { + System.out.println("Set body form skill 1 to " + bodyFormSkill1); + this.bodyFormSkill1 = bodyFormSkill1; + } + + public int getFaceFormSkill1() { + return faceFormSkill1; + } + + public void setFaceFormSkill1(int faceFormSkill1) { + System.out.println("Set face form skill 1 to " + faceFormSkill1); + this.faceFormSkill1 = faceFormSkill1; + } + + public int getBodyFormSkill2() { + return bodyFormSkill2; + } + + public void setBodyFormSkill2(int bodyFormSkill2) { + System.out.println("Set body form skill 2 to " + bodyFormSkill2); + this.bodyFormSkill2 = bodyFormSkill2; + } + + public int getFaceFormSkill2() { + return faceFormSkill2; + } + + public void setFaceFormSkill2(int faceFormSkill2) { + System.out.println("Set face form skill 2 to " + faceFormSkill2); + this.faceFormSkill2 = faceFormSkill2; + } + + public String getHoloEmote() { + return holoEmote; + } + + public void setHoloEmote(String holoEmote) { + System.out.println("Holoemote set to " + holoEmote); + this.holoEmote = holoEmote; + } + + public Vector getBodyAttributes() { + return bodyAttributes; + } + + public void setBodyAttributes(Vector bodyAttributes) { + this.bodyAttributes = bodyAttributes; + } + + public Vector getColorAttributes() { + return colorAttributes; + } + + public void setColorAttributes(Vector colorAttributes) { + this.colorAttributes = colorAttributes; + } + + public boolean isEndMessage() { + return endMessage; + } + + public void setEndMessage(boolean endMessage) { + this.endMessage = endMessage; + } + +} diff --git a/src/protocol/swg/objectControllerObjects/ImageDesignStartMessage.java b/src/protocol/swg/objectControllerObjects/ImageDesignStartMessage.java new file mode 100644 index 00000000..fdada211 --- /dev/null +++ b/src/protocol/swg/objectControllerObjects/ImageDesignStartMessage.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2013 + * + * This File is part of NGECore2. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + * + * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. + * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. + ******************************************************************************/ +package protocol.swg.objectControllerObjects; + +import java.nio.ByteOrder; + +import org.apache.mina.core.buffer.IoBuffer; + +import protocol.swg.ObjControllerMessage; + +public class ImageDesignStartMessage extends ObjControllerObject { + + private long objectId; + private long designer; + private long target; + + public ImageDesignStartMessage(long objectId, long designer, long target) { + this.designer = designer; + this.target = target; + this.objectId = objectId; + } + + @Override + public void deserialize(IoBuffer data) { + } + + @Override + public IoBuffer serialize() { + IoBuffer buffer = IoBuffer.allocate(46).order(ByteOrder.LITTLE_ENDIAN); + + buffer.putInt(ObjControllerMessage.IMAGE_DESIGN_START); + buffer.putLong(objectId); + + buffer.putInt(0); + buffer.putLong(designer); + buffer.putLong(target); + buffer.putLong(0); + buffer.putShort((short) 0); + return buffer.flip(); + } + +} diff --git a/src/resources/common/IDAttribute.java b/src/resources/common/IDAttribute.java new file mode 100644 index 00000000..7b26fc49 --- /dev/null +++ b/src/resources/common/IDAttribute.java @@ -0,0 +1,63 @@ +/******************************************************************************* + * Copyright (c) 2013 + * + * This File is part of NGECore2. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + * + * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. + * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. + ******************************************************************************/ +package resources.common; + +import java.math.BigInteger; + +public class IDAttribute { + + private float floatValue; + private String name; + private int value; + + public IDAttribute() { } + + public float getFloatValue() { + return floatValue; + } + + public String getName() { + return name; + } + + public int getValue() { + return value; + } + + public void setFloatValue(float floatValue) { + this.floatValue = floatValue; + } + + public void setName(String name) { + this.name = name; + } + + public void setValue(int value) { + this.value = value; + } + + public byte[] getHexValue() { + System.out.println(BigInteger.valueOf(value).toByteArray()); + return BigInteger.valueOf(value).toByteArray(); + } + +} \ No newline at end of file diff --git a/src/resources/common/ObjControllerOpcodes.java b/src/resources/common/ObjControllerOpcodes.java index 64636512..bf4edcb7 100644 --- a/src/resources/common/ObjControllerOpcodes.java +++ b/src/resources/common/ObjControllerOpcodes.java @@ -35,5 +35,6 @@ public class ObjControllerOpcodes { public static final int BUFF_BUILDER_END = 0x5B020000; public static final int MISSION_LIST_REQUEST = 0xF5000000; public static final int ChangeRoleIconChoice = 0x4D040000; - + public static final int IMAGE_DESIGN_CHANGE = 0x38020000; + public static final int IMAGE_DESIGN_END = 0x39020000; } diff --git a/src/resources/objects/tangible/TangibleMessageBuilder.java b/src/resources/objects/tangible/TangibleMessageBuilder.java index 92d525ee..44ae16ff 100644 --- a/src/resources/objects/tangible/TangibleMessageBuilder.java +++ b/src/resources/objects/tangible/TangibleMessageBuilder.java @@ -150,6 +150,17 @@ public class TangibleMessageBuilder extends ObjectMessageBuilder { } + public IoBuffer buildCustomizationDelta(byte[] customization) { + IoBuffer buffer = bufferPool.allocate(customization.length, false).order(ByteOrder.LITTLE_ENDIAN); + + buffer.put(customization); + + int size = buffer.position(); + buffer.flip(); + buffer = createDelta("TANO", (byte) 3, (short) 1, (short) 6, buffer, size + 4); + return buffer; + } + @Override public void sendListDelta(byte viewType, short updateType, IoBuffer buffer) { // TODO Auto-generated method stub diff --git a/src/resources/objects/tangible/TangibleObject.java b/src/resources/objects/tangible/TangibleObject.java index 8c579480..d8215817 100644 --- a/src/resources/objects/tangible/TangibleObject.java +++ b/src/resources/objects/tangible/TangibleObject.java @@ -123,7 +123,11 @@ public class TangibleObject extends SWGObject { } public void setCustomization(byte[] customization) { - this.customization = customization; + synchronized(objectMutex) { + this.customization = customization; + } + + notifyObservers(messageBuilder.buildCustomizationDelta(customization), false); } public List getComponentCustomizations() { diff --git a/src/services/CharacterService.java b/src/services/CharacterService.java index ea133655..533bdae4 100644 --- a/src/services/CharacterService.java +++ b/src/services/CharacterService.java @@ -33,6 +33,9 @@ import main.NGECore; import org.apache.mina.core.buffer.IoBuffer; import org.apache.mina.core.session.IoSession; +import clientdata.visitors.ProfessionTemplateVisitor; +import engine.clientdata.ClientFileManager; +import engine.clientdata.visitors.DatatableVisitor; import engine.clients.Client; import engine.resources.common.CRC; import engine.resources.container.CreatureContainerPermissions; @@ -279,6 +282,7 @@ public class CharacterService implements INetworkDispatch { if(clientCreateCharacter.getHairCustomization().length > 0) hair.setCustomization(clientCreateCharacter.getHairCustomization()); object._add(hair); + object.addObjectToEquipList(hair); } TangibleObject inventory = (TangibleObject) core.objectService.createObject("object/tangible/inventory/shared_character_inventory.iff", object.getPlanet()); @@ -324,8 +328,9 @@ public class CharacterService implements INetworkDispatch { object._add(defaultWeapon); object.setWeaponId(defaultWeapon.getObjectID()); - core.scriptService.callScript("scripts/", "starterclothing", "CreateStarterClothing", core, object, clientCreateCharacter.getStarterProfession(), clientCreateCharacter.getRaceTemplate()); - core.scriptService.callScript("scripts/", "demo", "CreateStartingCharacter", core, object); + + createStarterClothing(object, sharedRaceTemplate, clientCreateCharacter.getStarterProfession()); + //core.scriptService.callScript("scripts/", "demo", "CreateStartingCharacter", core, object); core.getCreatureODB().put(object, Long.class, CreatureObject.class, object.getTransaction()); // might not need to commit transaction but better safe than sorry @@ -524,5 +529,21 @@ public class CharacterService implements INetworkDispatch { } return false; } + + private void createStarterClothing(CreatureObject creature, String raceTemplate, String profession) { + try { + ProfessionTemplateVisitor visitor = ClientFileManager.loadFile("creation/profession_defaults_" + profession + ".iff", ProfessionTemplateVisitor.class); + TangibleObject inventory = (TangibleObject) creature.getSlottedObject("inventory"); + if (inventory == null) + return; + + for(String item : visitor.getItems(raceTemplate)) { + TangibleObject createdItem = (TangibleObject) core.objectService.createObject(item, creature.getPlanet()); + creature._add(createdItem); + creature.addObjectToEquipList(createdItem); + } + } + catch (InstantiationException | IllegalAccessException e) { e.printStackTrace();} + } } diff --git a/src/services/EntertainmentService.java b/src/services/EntertainmentService.java index 885d4999..587a6b3f 100644 --- a/src/services/EntertainmentService.java +++ b/src/services/EntertainmentService.java @@ -23,8 +23,10 @@ import protocol.swg.PlayClientEffectObjectMessage; import protocol.swg.objectControllerObjects.BuffBuilderChangeMessage; import protocol.swg.objectControllerObjects.BuffBuilderEndMessage; import protocol.swg.objectControllerObjects.BuffBuilderStartMessage; +import protocol.swg.objectControllerObjects.ImageDesignMessage; import resources.common.BuffBuilder; import resources.common.Console; +import resources.common.IDAttribute; import resources.common.MathUtilities; import resources.common.ObjControllerOpcodes; import resources.common.Performance; @@ -75,6 +77,146 @@ public class EntertainmentService implements INetworkDispatch { @Override public void insertOpcodes(Map swgOpcodes, Map objControllerOpcodes) { + objControllerOpcodes.put(ObjControllerOpcodes.IMAGE_DESIGN_CHANGE, new INetworkRemoteEvent() { + + @Override + public void handlePacket(IoSession session, IoBuffer data) throws Exception { + + data.order(ByteOrder.LITTLE_ENDIAN); + + Client client = core.getClient(session); + + if(client == null) + return; + + SWGObject sender = client.getParent(); + + if(sender == null) + return; + + ImageDesignMessage sentPacket = new ImageDesignMessage(); + sentPacket.deserialize(data); + + CreatureObject designTarget = (CreatureObject) core.objectService.getObject(sentPacket.getTargetId()); + CreatureObject designer = (CreatureObject) core.objectService.getObject(sentPacket.getDesignerId()); + + if (designTarget == null || designer == null) + return; + + if (designTarget.getClient() == null || designTarget.getClient().getSession() == null) + return; + + if (designer.getClient() == null || designer.getClient().getSession() == null) + return; + + Vector colorAttributes = sentPacket.getColorAttributes(); + Vector bodyAttributes = sentPacket.getBodyAttributes(); + // TODO: Attribute check for colors? + if (bodyAttributes != null) { + for (IDAttribute atr : bodyAttributes) { + System.out.println("ATTRIBUTE: " + atr.getName()); + if (atr.getFloatValue() > 1f || atr.getFloatValue() < 0) { // RIP Height Exploit <3 + return; + } + } + } + + if (colorAttributes != null) { + for (IDAttribute atr : colorAttributes) { + System.out.println("COLOR ATTRIBUTE: " + atr.getName()); + } + } + + if (sentPacket.getTargetId() != sentPacket.getDesignerId()) { + + if (sentPacket.isCustomerAccepted() && sentPacket.isDesignerCommited()) { + System.out.print("Both Accepted!"); + // TODO: Send close packet to target & apply changes + sentPacket.setEndMessage(true); + + if (sentPacket.getMoneyDemanded() > 0) { + int payersCash = designTarget.getCashCredits(); + int fee = sentPacket.getMoneyDemanded(); + int tip = sentPacket.getMoneyOffered(); + + if (payersCash < fee) { + + if (designTarget != designer) { + ObjControllerMessage msg = new ObjControllerMessage(0x0B, sentPacket); + designTarget.getClient().getSession().write(msg.serialize()); + + // Window is closed already, so this shouldn't be necessary + //ObjControllerMessage designMsg = new ObjControllerMessage(0x0B, sentPacket); + //designer.getClient().getSession().write(designMsg.serialize()); + + designTarget.sendSystemMessage("You don't have enough credits to pay the fee.", (byte) 0); + designer.sendSystemMessage("Your target did not have the required payment fee", (byte) 0); + + } + } else if (payersCash < tip) { + designTarget.sendSystemMessage("You tried to offer more credits than you had and the Image Design session has ended.", (byte) 0); + + ObjControllerMessage msg = new ObjControllerMessage(0x0B, sentPacket); + designTarget.getClient().getSession().write(msg.serialize()); + } else { + // TODO: Apply customization + for (IDAttribute atr : bodyAttributes) { + if (atr.getName().equals("height")) + designTarget.setHeight(atr.getFloatValue()); + } + + for (IDAttribute atr : colorAttributes) { + if (atr.getName().equals("color_hair")){ + if (sentPacket.getHair() != null) { + designTarget._remove(designTarget.getSlottedObject("hair")); + TangibleObject hair = (TangibleObject) core.objectService.createObject(sentPacket.getHair(), designTarget.getPlanet()); + hair.setCustomization(atr.getHexValue()); + designTarget._add(hair); + System.out.print("Added hair"); + } + } + } + } + } + + } else if (sentPacket.getObjectId() == designTarget.getObjectId()) { + sentPacket.setObjectId(designer.getObjectId()); + + ObjControllerMessage msg = new ObjControllerMessage(0x0B, sentPacket); + designer.getClient().getSession().write(msg.serialize()); + + } else if (sentPacket.getObjectId() == designer.getObjectId()) { + sentPacket.setObjectId(designTarget.getObjectId()); + + ObjControllerMessage msg = new ObjControllerMessage(0x0B, sentPacket); + designTarget.getClient().getSession().write(msg.serialize()); + } + } + } + + }); + + objControllerOpcodes.put(ObjControllerOpcodes.IMAGE_DESIGN_END, new INetworkRemoteEvent() { + + @Override + public void handlePacket(IoSession session, IoBuffer data) throws Exception { + + data.order(ByteOrder.LITTLE_ENDIAN); + + Client client = core.getClient(session); + + if(client == null) + return; + + SWGObject sender = client.getParent(); + + if(sender == null) + return; + + } + + }); + objControllerOpcodes.put(ObjControllerOpcodes.BUFF_BUILDER_END, new INetworkRemoteEvent() { @Override @@ -173,9 +315,8 @@ public class EntertainmentService implements INetworkDispatch { if (sentPacket.getAccepted() == true && sentPacket.getBuffRecipientAccepted() == 1) { if (sentPacket.getBuffCost() > 0) { - CreatureObject recipientCreature = (CreatureObject) buffRecipient; - if (recipientCreature.getCashCredits() >= sentPacket.getBuffCost()) { - recipientCreature.setCashCredits(recipientCreature.getCashCredits() - sentPacket.getBuffCost()); + if (buffRecipient.getCashCredits() >= sentPacket.getBuffCost()) { + buffRecipient.setCashCredits(buffRecipient.getCashCredits() - sentPacket.getBuffCost()); } else { return; } @@ -350,6 +491,7 @@ public class EntertainmentService implements INetworkDispatch { core.commandService.registerCommand("covercharge"); //core.commandService.registerCommand("en_holographic_recall"); //core.commandService.registerCommand("en_holographic_image"); + //core.commandService.registerCommand("imagedesign"); // TODO: Add /bandsolo, /bandpause, /changeBandMusic, /changeDance, /changeGroupDance, /changeMusic // Entertainer Effects @@ -720,6 +862,10 @@ public class EntertainmentService implements INetworkDispatch { } } + private void doAppearanceChange(CreatureObject designee, ImageDesignMessage msg) { + + } + @Override public void shutdown() { diff --git a/src/services/SimulationService.java b/src/services/SimulationService.java index 296cdf40..21493671 100644 --- a/src/services/SimulationService.java +++ b/src/services/SimulationService.java @@ -742,7 +742,7 @@ public class SimulationService implements INetworkDispatch { if(core.objectService.getObject(objectId).getAttachment("disconnectTask") != null) core.connectionService.disconnect(client); } - }, 5, TimeUnit.MINUTES); + }, 10, TimeUnit.SECONDS); core.removeClient(session); object.setAttachment("disconnectTask", disconnectTask); From 9e8bfb01de889c442bb54c29fd706dd961a68809 Mon Sep 17 00:00:00 2001 From: Waverunner Date: Tue, 25 Mar 2014 22:09:58 -0400 Subject: [PATCH 2/8] Fixed my previous change to disconnecting (oops D:) --- src/services/SimulationService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/SimulationService.java b/src/services/SimulationService.java index 21493671..296cdf40 100644 --- a/src/services/SimulationService.java +++ b/src/services/SimulationService.java @@ -742,7 +742,7 @@ public class SimulationService implements INetworkDispatch { if(core.objectService.getObject(objectId).getAttachment("disconnectTask") != null) core.connectionService.disconnect(client); } - }, 10, TimeUnit.SECONDS); + }, 5, TimeUnit.MINUTES); core.removeClient(session); object.setAttachment("disconnectTask", disconnectTask); From 9b60524b196fc39e440efa792494d0f1e7774025 Mon Sep 17 00:00:00 2001 From: Waverunner Date: Tue, 25 Mar 2014 22:51:46 -0400 Subject: [PATCH 3/8] Fixed import error temporarily Will add in the class tomorrow, forgot to stage it :S --- src/services/CharacterService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/services/CharacterService.java b/src/services/CharacterService.java index 533bdae4..53888936 100644 --- a/src/services/CharacterService.java +++ b/src/services/CharacterService.java @@ -33,7 +33,7 @@ import main.NGECore; import org.apache.mina.core.buffer.IoBuffer; import org.apache.mina.core.session.IoSession; -import clientdata.visitors.ProfessionTemplateVisitor; +//import clientdata.visitors.ProfessionTemplateVisitor; import engine.clientdata.ClientFileManager; import engine.clientdata.visitors.DatatableVisitor; import engine.clients.Client; @@ -329,7 +329,7 @@ public class CharacterService implements INetworkDispatch { object._add(defaultWeapon); object.setWeaponId(defaultWeapon.getObjectID()); - createStarterClothing(object, sharedRaceTemplate, clientCreateCharacter.getStarterProfession()); + //createStarterClothing(object, sharedRaceTemplate, clientCreateCharacter.getStarterProfession()); //core.scriptService.callScript("scripts/", "demo", "CreateStartingCharacter", core, object); core.getCreatureODB().put(object, Long.class, CreatureObject.class, object.getTransaction()); From 39602755bb71755407f6b76c66964908e092362f Mon Sep 17 00:00:00 2001 From: Waverunner Date: Tue, 25 Mar 2014 22:54:59 -0400 Subject: [PATCH 4/8] Commented out createStarterClothing temporarily --- src/services/CharacterService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/services/CharacterService.java b/src/services/CharacterService.java index 53888936..7009b743 100644 --- a/src/services/CharacterService.java +++ b/src/services/CharacterService.java @@ -530,7 +530,7 @@ public class CharacterService implements INetworkDispatch { return false; } - private void createStarterClothing(CreatureObject creature, String raceTemplate, String profession) { + /*private void createStarterClothing(CreatureObject creature, String raceTemplate, String profession) { try { ProfessionTemplateVisitor visitor = ClientFileManager.loadFile("creation/profession_defaults_" + profession + ".iff", ProfessionTemplateVisitor.class); TangibleObject inventory = (TangibleObject) creature.getSlottedObject("inventory"); @@ -545,5 +545,5 @@ public class CharacterService implements INetworkDispatch { } } catch (InstantiationException | IllegalAccessException e) { e.printStackTrace();} - } + }*/ } From d1630ae3c9f280bcf93fbc421ab3f6fe1efc8a5d Mon Sep 17 00:00:00 2001 From: Waverunner Date: Wed, 26 Mar 2014 08:02:01 -0400 Subject: [PATCH 5/8] Fixed commit b9ed655f --- .classpath | 2 +- .../visitors/ProfessionTemplateVisitor.java | 98 +++++++++++++++++++ src/services/CharacterService.java | 13 ++- 3 files changed, 108 insertions(+), 5 deletions(-) create mode 100644 src/resources/visitors/ProfessionTemplateVisitor.java diff --git a/.classpath b/.classpath index 6ea45b44..221c9ba7 100644 --- a/.classpath +++ b/.classpath @@ -30,6 +30,6 @@ - + diff --git a/src/resources/visitors/ProfessionTemplateVisitor.java b/src/resources/visitors/ProfessionTemplateVisitor.java new file mode 100644 index 00000000..8b46a49d --- /dev/null +++ b/src/resources/visitors/ProfessionTemplateVisitor.java @@ -0,0 +1,98 @@ +/******************************************************************************* + * Copyright (c) 2013 + * + * This File is part of NGECore2. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + * + * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. + * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. + ******************************************************************************/ +package resources.visitors; + +import java.nio.charset.CharacterCodingException; +import java.nio.charset.Charset; +import java.nio.charset.CharsetDecoder; +import java.util.Vector; + +import org.apache.mina.core.buffer.IoBuffer; + +import engine.clientdata.VisitorInterface; + +public class ProfessionTemplateVisitor implements VisitorInterface { + + + private class RaceTemplate { + private Vector items; + private String template; + public RaceTemplate(String template) { + this.template = template; + this.items = new Vector(); + } + + public Vector getItems() { + return items; + } + + public String getTemplate() { + return template; + } + } + + private CharsetDecoder charsetDecoder; + + private Vector pItems; + + public ProfessionTemplateVisitor() { + this.charsetDecoder = Charset.forName("US-ASCII").newDecoder(); + this.pItems = new Vector(); + } + + public Vector getItems(String template) { + for(RaceTemplate rTemplate : pItems) { + if (rTemplate.getTemplate().equals(template)) { + return rTemplate.getItems(); + } + } + return null; + } + + @Override + public void notifyFolder(String str, int depth) throws Exception { + } + + @Override + public void parseData(String node, IoBuffer data, int depth, int size) { + + try { + if (depth != 3) + return; + + if (node.equals("PTMPNAME")) { + String ptmpname = data.getString(charsetDecoder); + + pItems.add(new RaceTemplate(ptmpname)); + charsetDecoder.reset(); + } else if (node.equals("ITEM")){ + int index = pItems.size() - 1; + data.skip(4); + String item = data.getString(charsetDecoder); + pItems.get(index).getItems().add(item); + charsetDecoder.reset(); + } + } catch(CharacterCodingException e) { + e.printStackTrace(); + } + } +} diff --git a/src/services/CharacterService.java b/src/services/CharacterService.java index 7009b743..4f33063e 100644 --- a/src/services/CharacterService.java +++ b/src/services/CharacterService.java @@ -33,7 +33,7 @@ import main.NGECore; import org.apache.mina.core.buffer.IoBuffer; import org.apache.mina.core.session.IoSession; -//import clientdata.visitors.ProfessionTemplateVisitor; + import engine.clientdata.ClientFileManager; import engine.clientdata.visitors.DatatableVisitor; import engine.clients.Client; @@ -63,6 +63,7 @@ import resources.objects.mission.MissionObject; import resources.objects.player.PlayerObject; import resources.objects.tangible.TangibleObject; import resources.objects.weapon.WeaponObject; +import resources.visitors.ProfessionTemplateVisitor; @SuppressWarnings("unused") @@ -329,7 +330,7 @@ public class CharacterService implements INetworkDispatch { object._add(defaultWeapon); object.setWeaponId(defaultWeapon.getObjectID()); - //createStarterClothing(object, sharedRaceTemplate, clientCreateCharacter.getStarterProfession()); + createStarterClothing(object, sharedRaceTemplate, clientCreateCharacter.getStarterProfession()); //core.scriptService.callScript("scripts/", "demo", "CreateStartingCharacter", core, object); core.getCreatureODB().put(object, Long.class, CreatureObject.class, object.getTransaction()); @@ -530,7 +531,7 @@ public class CharacterService implements INetworkDispatch { return false; } - /*private void createStarterClothing(CreatureObject creature, String raceTemplate, String profession) { + private void createStarterClothing(CreatureObject creature, String raceTemplate, String profession) { try { ProfessionTemplateVisitor visitor = ClientFileManager.loadFile("creation/profession_defaults_" + profession + ".iff", ProfessionTemplateVisitor.class); TangibleObject inventory = (TangibleObject) creature.getSlottedObject("inventory"); @@ -540,10 +541,14 @@ public class CharacterService implements INetworkDispatch { for(String item : visitor.getItems(raceTemplate)) { TangibleObject createdItem = (TangibleObject) core.objectService.createObject(item, creature.getPlanet()); + + if (createdItem == null) + return; + creature._add(createdItem); creature.addObjectToEquipList(createdItem); } } catch (InstantiationException | IllegalAccessException e) { e.printStackTrace();} - }*/ + } } From 37507a1c68ca415018346d7f80ae2e5fd78abb91 Mon Sep 17 00:00:00 2001 From: Waverunner Date: Wed, 26 Mar 2014 08:09:09 -0400 Subject: [PATCH 6/8] Update .classpath --- .classpath | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.classpath b/.classpath index 221c9ba7..6ea45b44 100644 --- a/.classpath +++ b/.classpath @@ -30,6 +30,6 @@ - + From 010797ac47a2ecf399373bc811a5aa93c23da8ef Mon Sep 17 00:00:00 2001 From: Bronco69 Date: Wed, 26 Mar 2014 21:26:35 +0100 Subject: [PATCH 7/8] Fixed innate armor commando --- .../expertise/expertise_co_powered_armor_1.py | 45 ++++++++----------- .../expertise/expertise_co_powered_armor_2.py | 45 ++++++++----------- .../expertise/expertise_co_powered_armor_3.py | 45 ++++++++----------- .../expertise/expertise_co_powered_armor_4.py | 45 ++++++++----------- 4 files changed, 72 insertions(+), 108 deletions(-) diff --git a/scripts/expertise/expertise_co_powered_armor_1.py b/scripts/expertise/expertise_co_powered_armor_1.py index 0cd9dc3d..4e10ab53 100644 --- a/scripts/expertise/expertise_co_powered_armor_1.py +++ b/scripts/expertise/expertise_co_powered_armor_1.py @@ -3,45 +3,35 @@ import sys def addExpertisePoint(core, actor): player = actor.getSlottedObject('ghost') - + if not player: return - + if not player.getProfession() == 'commando_1a': return - + actor.addSkill('expertise_co_powered_armor_1') - - actor.addSkillMod('energy', 250) - actor.addSkillMod('kinetic', 250) - actor.addSkillMod('acid', 250) - actor.addSkillMod('heat', 250) - actor.addSkillMod('cold', 250) - actor.addSkillMod('electricity', 250) - + + actor.addSkillMod('expertise_innate_protection_all', 250) + addAbilities(core, actor, player) return - + def removeExpertisePoint(core, actor): player = actor.getSlottedObject('ghost') - + if not player: return - + if not player.getProfession() == 'commando_1a': return - + actor.removeSkill('expertise_co_powered_armor_1') - - actor.removeSkillMod('energy', 250) - actor.removeSkillMod('kinetic', 250) - actor.removeSkillMod('acid', 250) - actor.removeSkillMod('heat', 250) - actor.removeSkillMod('cold', 250) - actor.removeSkillMod('electricity', 250) - + + actor.removeSkillMod('expertise_innate_protection_all', 250) + removeAbilities(core, actor, player) return @@ -49,9 +39,10 @@ def removeExpertisePoint(core, actor): # this checks what abilities the player gets by level, need to also call this on level-up def addAbilities(core, actor, player): - return - -def removeAbilities(core, actor, player): return - \ No newline at end of file + +def removeAbilities(core, actor, player): + + + return diff --git a/scripts/expertise/expertise_co_powered_armor_2.py b/scripts/expertise/expertise_co_powered_armor_2.py index df2d0051..d146c681 100644 --- a/scripts/expertise/expertise_co_powered_armor_2.py +++ b/scripts/expertise/expertise_co_powered_armor_2.py @@ -3,45 +3,35 @@ import sys def addExpertisePoint(core, actor): player = actor.getSlottedObject('ghost') - + if not player: return - + if not player.getProfession() == 'commando_1a': return - + actor.addSkill('expertise_co_powered_armor_2') - - actor.addSkillMod('energy', 250) - actor.addSkillMod('kinetic', 250) - actor.addSkillMod('acid', 250) - actor.addSkillMod('heat', 250) - actor.addSkillMod('cold', 250) - actor.addSkillMod('electricity', 250) - + + actor.addSkillMod('expertise_innate_protection_all', 250) + addAbilities(core, actor, player) return - + def removeExpertisePoint(core, actor): player = actor.getSlottedObject('ghost') - + if not player: return - + if not player.getProfession() == 'commando_1a': return - + actor.removeSkill('expertise_co_powered_armor_2') - - actor.removeSkillMod('energy', 250) - actor.removeSkillMod('kinetic', 250) - actor.removeSkillMod('acid', 250) - actor.removeSkillMod('heat', 250) - actor.removeSkillMod('cold', 250) - actor.removeSkillMod('electricity', 250) - + + actor.removeSkillMod('expertise_innate_protection_all', 250) + removeAbilities(core, actor, player) return @@ -49,9 +39,10 @@ def removeExpertisePoint(core, actor): # this checks what abilities the player gets by level, need to also call this on level-up def addAbilities(core, actor, player): - return - -def removeAbilities(core, actor, player): return - \ No newline at end of file + +def removeAbilities(core, actor, player): + + + return diff --git a/scripts/expertise/expertise_co_powered_armor_3.py b/scripts/expertise/expertise_co_powered_armor_3.py index f0d1fe7f..3c12fe50 100644 --- a/scripts/expertise/expertise_co_powered_armor_3.py +++ b/scripts/expertise/expertise_co_powered_armor_3.py @@ -3,45 +3,35 @@ import sys def addExpertisePoint(core, actor): player = actor.getSlottedObject('ghost') - + if not player: return - + if not player.getProfession() == 'commando_1a': return - + actor.addSkill('expertise_co_powered_armor_3') - - actor.addSkillMod('energy', 250) - actor.addSkillMod('kinetic', 250) - actor.addSkillMod('acid', 250) - actor.addSkillMod('heat', 250) - actor.addSkillMod('cold', 250) - actor.addSkillMod('electricity', 250) - + + actor.addSkillMod('expertise_innate_protection_all', 250) + addAbilities(core, actor, player) return - + def removeExpertisePoint(core, actor): player = actor.getSlottedObject('ghost') - + if not player: return - + if not player.getProfession() == 'commando_1a': return - + actor.removeSkill('expertise_co_powered_armor_3') - - actor.removeSkillMod('energy', 250) - actor.removeSkillMod('kinetic', 250) - actor.removeSkillMod('acid', 250) - actor.removeSkillMod('heat', 250) - actor.removeSkillMod('cold', 250) - actor.removeSkillMod('electricity', 250) - + + actor.removeSkillMod('expertise_innate_protection_all', 250) + removeAbilities(core, actor, player) return @@ -49,9 +39,10 @@ def removeExpertisePoint(core, actor): # this checks what abilities the player gets by level, need to also call this on level-up def addAbilities(core, actor, player): - return - -def removeAbilities(core, actor, player): return - \ No newline at end of file + +def removeAbilities(core, actor, player): + + + return diff --git a/scripts/expertise/expertise_co_powered_armor_4.py b/scripts/expertise/expertise_co_powered_armor_4.py index 9b0e2f44..6daafc8d 100644 --- a/scripts/expertise/expertise_co_powered_armor_4.py +++ b/scripts/expertise/expertise_co_powered_armor_4.py @@ -3,45 +3,35 @@ import sys def addExpertisePoint(core, actor): player = actor.getSlottedObject('ghost') - + if not player: return - + if not player.getProfession() == 'commando_1a': return - + actor.addSkill('expertise_co_powered_armor_4') - - actor.addSkillMod('energy', 250) - actor.addSkillMod('kinetic', 250) - actor.addSkillMod('acid', 250) - actor.addSkillMod('heat', 250) - actor.addSkillMod('cold', 250) - actor.addSkillMod('electricity', 250) - + + actor.addSkillMod('expertise_innate_protection_all', 250) + addAbilities(core, actor, player) return - + def removeExpertisePoint(core, actor): player = actor.getSlottedObject('ghost') - + if not player: return - + if not player.getProfession() == 'commando_1a': return - + actor.removeSkill('expertise_co_powered_armor_4') - - actor.removeSkillMod('energy', 250) - actor.removeSkillMod('kinetic', 250) - actor.removeSkillMod('acid', 250) - actor.removeSkillMod('heat', 250) - actor.removeSkillMod('cold', 250) - actor.removeSkillMod('electricity', 250) - + + actor.removeSkillMod('expertise_innate_protection_all', 250) + removeAbilities(core, actor, player) return @@ -49,9 +39,10 @@ def removeExpertisePoint(core, actor): # this checks what abilities the player gets by level, need to also call this on level-up def addAbilities(core, actor, player): - return - -def removeAbilities(core, actor, player): return - \ No newline at end of file + +def removeAbilities(core, actor, player): + + + return From da33dba33e214ae0283a08c0816d11e6bf447fd8 Mon Sep 17 00:00:00 2001 From: Bronco69 Date: Wed, 26 Mar 2014 22:34:43 +0100 Subject: [PATCH 8/8] Fixed BH + Commando armor upgrades - pinpoint shielding for commando expertise fixed - energy + kinetic for BH expertise fixed --- .../expertise_co_pinpoint_shielding_1.py | 45 +++++++----------- .../expertise_co_pinpoint_shielding_2.py | 45 +++++++----------- .../expertise_co_pinpoint_shielding_3.py | 47 ++++++++----------- .../expertise_co_pinpoint_shielding_4.py | 45 +++++++----------- .../expertise_innate_protection_energy.py | 2 + .../expertise_innate_protection_kinetic.py | 2 + 6 files changed, 77 insertions(+), 109 deletions(-) diff --git a/scripts/expertise/expertise_co_pinpoint_shielding_1.py b/scripts/expertise/expertise_co_pinpoint_shielding_1.py index c8cc7ca7..42a66f6e 100644 --- a/scripts/expertise/expertise_co_pinpoint_shielding_1.py +++ b/scripts/expertise/expertise_co_pinpoint_shielding_1.py @@ -3,45 +3,35 @@ import sys def addExpertisePoint(core, actor): player = actor.getSlottedObject('ghost') - + if not player: return - + if not player.getProfession() == 'commando_1a': return - + actor.addSkill('expertise_co_pinpoint_shielding_1') - - actor.addSkillMod('energy', 250) - actor.addSkillMod('kinetic', 250) - actor.addSkillMod('acid', 250) - actor.addSkillMod('heat', 250) - actor.addSkillMod('cold', 250) - actor.addSkillMod('electricity', 250) - + + actor.addSkillMod('expertise_innate_protection_all', 250) + addAbilities(core, actor, player) return - + def removeExpertisePoint(core, actor): player = actor.getSlottedObject('ghost') - + if not player: return - + if not player.getProfession() == 'commando_1a': return - + actor.removeSkill('expertise_co_pinpoint_shielding_1') - - actor.removeSkillMod('energy', 250) - actor.removeSkillMod('kinetic', 250) - actor.removeSkillMod('acid', 250) - actor.removeSkillMod('heat', 250) - actor.removeSkillMod('cold', 250) - actor.removeSkillMod('electricity', 250) - + + actor.removeSkillMod('expertise_innate_protection_all', 250) + removeAbilities(core, actor, player) return @@ -49,9 +39,10 @@ def removeExpertisePoint(core, actor): # this checks what abilities the player gets by level, need to also call this on level-up def addAbilities(core, actor, player): - return - -def removeAbilities(core, actor, player): return - \ No newline at end of file + +def removeAbilities(core, actor, player): + + + return diff --git a/scripts/expertise/expertise_co_pinpoint_shielding_2.py b/scripts/expertise/expertise_co_pinpoint_shielding_2.py index f311375b..7ce8362f 100644 --- a/scripts/expertise/expertise_co_pinpoint_shielding_2.py +++ b/scripts/expertise/expertise_co_pinpoint_shielding_2.py @@ -3,45 +3,35 @@ import sys def addExpertisePoint(core, actor): player = actor.getSlottedObject('ghost') - + if not player: return - + if not player.getProfession() == 'commando_1a': return - + actor.addSkill('expertise_co_pinpoint_shielding_2') - - actor.addSkillMod('energy', 250) - actor.addSkillMod('kinetic', 250) - actor.addSkillMod('acid', 250) - actor.addSkillMod('heat', 250) - actor.addSkillMod('cold', 250) - actor.addSkillMod('electricity', 250) - + + actor.addSkillMod('expertise_innate_protection_all', 250) + addAbilities(core, actor, player) return - + def removeExpertisePoint(core, actor): player = actor.getSlottedObject('ghost') - + if not player: return - + if not player.getProfession() == 'commando_1a': return - + actor.removeSkill('expertise_co_pinpoint_shielding_2') - - actor.removeSkillMod('energy', 250) - actor.removeSkillMod('kinetic', 250) - actor.removeSkillMod('acid', 250) - actor.removeSkillMod('heat', 250) - actor.removeSkillMod('cold', 250) - actor.removeSkillMod('electricity', 250) - + + actor.removeSkillMod('expertise_innate_protection_all', 250) + removeAbilities(core, actor, player) return @@ -49,9 +39,10 @@ def removeExpertisePoint(core, actor): # this checks what abilities the player gets by level, need to also call this on level-up def addAbilities(core, actor, player): - return - -def removeAbilities(core, actor, player): return - \ No newline at end of file + +def removeAbilities(core, actor, player): + + + return diff --git a/scripts/expertise/expertise_co_pinpoint_shielding_3.py b/scripts/expertise/expertise_co_pinpoint_shielding_3.py index e06a60e5..4f8d9921 100644 --- a/scripts/expertise/expertise_co_pinpoint_shielding_3.py +++ b/scripts/expertise/expertise_co_pinpoint_shielding_3.py @@ -3,45 +3,35 @@ import sys def addExpertisePoint(core, actor): player = actor.getSlottedObject('ghost') - + if not player: return - + if not player.getProfession() == 'commando_1a': return - + actor.addSkill('expertise_co_pinpoint_shielding_3') - - actor.addSkillMod('energy', 250) - actor.addSkillMod('kinetic', 250) - actor.addSkillMod('acid', 250) - actor.addSkillMod('heat', 250) - actor.addSkillMod('cold', 250) - actor.addSkillMod('electricity', 250) - + + actor.addSkillMod('expertise_innate_protection_all', 250) + addAbilities(core, actor, player) return - + def removeExpertisePoint(core, actor): player = actor.getSlottedObject('ghost') - + if not player: return - + if not player.getProfession() == 'commando_1a': return - - actor.removeSkill('expertise_co_pinpoint_shielding_3') - - actor.removeSkillMod('energy', 250) - actor.removeSkillMod('kinetic', 250) - actor.removeSkillMod('acid', 250) - actor.removeSkillMod('heat', 250) - actor.removeSkillMod('cold', 250) - actor.removeSkillMod('electricity', 250) - + + actor.removeSkill('expertise_co_pinpoint_shielding_3) + + actor.removeSkillMod('expertise_innate_protection_all', 250) + removeAbilities(core, actor, player) return @@ -49,9 +39,10 @@ def removeExpertisePoint(core, actor): # this checks what abilities the player gets by level, need to also call this on level-up def addAbilities(core, actor, player): - return - -def removeAbilities(core, actor, player): return - \ No newline at end of file + +def removeAbilities(core, actor, player): + + + return diff --git a/scripts/expertise/expertise_co_pinpoint_shielding_4.py b/scripts/expertise/expertise_co_pinpoint_shielding_4.py index c910bccb..9d3948ee 100644 --- a/scripts/expertise/expertise_co_pinpoint_shielding_4.py +++ b/scripts/expertise/expertise_co_pinpoint_shielding_4.py @@ -3,45 +3,35 @@ import sys def addExpertisePoint(core, actor): player = actor.getSlottedObject('ghost') - + if not player: return - + if not player.getProfession() == 'commando_1a': return - + actor.addSkill('expertise_co_pinpoint_shielding_4') - - actor.addSkillMod('energy', 250) - actor.addSkillMod('kinetic', 250) - actor.addSkillMod('acid', 250) - actor.addSkillMod('heat', 250) - actor.addSkillMod('cold', 250) - actor.addSkillMod('electricity', 250) - + + actor.addSkillMod('expertise_innate_protection_all', 250) + addAbilities(core, actor, player) return - + def removeExpertisePoint(core, actor): player = actor.getSlottedObject('ghost') - + if not player: return - + if not player.getProfession() == 'commando_1a': return - + actor.removeSkill('expertise_co_pinpoint_shielding_4') - - actor.removeSkillMod('energy', 250) - actor.removeSkillMod('kinetic', 250) - actor.removeSkillMod('acid', 250) - actor.removeSkillMod('heat', 250) - actor.removeSkillMod('cold', 250) - actor.removeSkillMod('electricity', 250) - + + actor.removeSkillMod('expertise_innate_protection_all', 250) + removeAbilities(core, actor, player) return @@ -49,9 +39,10 @@ def removeExpertisePoint(core, actor): # this checks what abilities the player gets by level, need to also call this on level-up def addAbilities(core, actor, player): - return - -def removeAbilities(core, actor, player): return - \ No newline at end of file + +def removeAbilities(core, actor, player): + + + return diff --git a/scripts/skillMods/expertise_innate_protection_energy.py b/scripts/skillMods/expertise_innate_protection_energy.py index ee7769e2..5715c8bc 100644 --- a/scripts/skillMods/expertise_innate_protection_energy.py +++ b/scripts/skillMods/expertise_innate_protection_energy.py @@ -1,10 +1,12 @@ import sys def add(core, actor, name, base): + actor.addSkillMod('energy', base) actor.addSkillMod(name, base) return def deduct(core, actor, name, base): + actor.deductSkillMod('energy', base) actor.deductSkillMod(name, base) return \ No newline at end of file diff --git a/scripts/skillMods/expertise_innate_protection_kinetic.py b/scripts/skillMods/expertise_innate_protection_kinetic.py index ee7769e2..6cea2b42 100644 --- a/scripts/skillMods/expertise_innate_protection_kinetic.py +++ b/scripts/skillMods/expertise_innate_protection_kinetic.py @@ -1,10 +1,12 @@ import sys def add(core, actor, name, base): + actor.addSkillMod('kinetic', base) actor.addSkillMod(name, base) return def deduct(core, actor, name, base): + actor.deductSkillMod('kinetic', base) actor.deductSkillMod(name, base) return \ No newline at end of file