diff --git a/README.md b/README.md index abccf1b8..1523c7a5 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,6 @@ Now your changes will be reviewed by other developers and once the changes are a For more information please visit the wiki: https://github.com/ProjectSWGCore/NGECore2/wiki -Documentation can be found here: http://projectswgcore.github.io/NGECore2/doc/ +Documentation can be found here: http://projectswg.com/doc/ Please prefix all commits with Added, Changed, Removed or Fixed. If you don't have enough room for multiple changes, use the extended description. Try not to bundle multiple changes into one vague line (ie. "Changed various combat things"). Try to make all commit messages understandable by non-programmers. diff --git a/scripts/buffs/buildabuff_inspiration.py b/scripts/buffs/buildabuff_inspiration.py index 35a49556..0474b1d9 100644 --- a/scripts/buffs/buildabuff_inspiration.py +++ b/scripts/buffs/buildabuff_inspiration.py @@ -5,19 +5,15 @@ def setup(core, actor, buff): return def add(core, actor, buff): - buffWorkshop = actor.getAttachment('buffWorkshop') - if buffWorkshop is None: return - attached = actor.getAttachment('inspireDuration') buff.setDuration(float(actor.getAttachment('inspireDuration') * 60)) for BuffItem in buffWorkshop: core.skillModService.addSkillMod(actor, BuffItem.getSkillName(), BuffItem.getAffectAmount()) - return def remove(core, actor, buff): diff --git a/scripts/character_builder_terminal.py b/scripts/character_builder_terminal.py index 29675e3f..d58927ff 100644 --- a/scripts/character_builder_terminal.py +++ b/scripts/character_builder_terminal.py @@ -306,6 +306,7 @@ def miscHandler(owner): window.addListBoxMenuItem('Backpack', 0) window.addListBoxMenuItem('Heroism Jewelry Set', 1) window.addListBoxMenuItem('Belt of Master Bodo Baas', 2) + window.addListBoxMenuItem('Starter Equipment Box', 3) core.suiService.openSUIWindow(window); def miscHandlerCallback(owner, window, eventType, returnList): @@ -323,6 +324,9 @@ def miscHandlerCallback(owner, window, eventType, returnList): if returnList.get(0)=='2': jediBelt(owner, inventory) return + if returnList.get(0)=='3': + starterEquipmentBox(owner, inventory) + return return def combatLevel(owner): @@ -379,35 +383,35 @@ def combatLevelDown(owner): def rangedWeapons(owner, inventory): rifle = core.objectService.createObject('object/weapon/ranged/rifle/shared_rifle_e11.iff', owner.getPlanet()) - rifle.setDamageType("energy"); - rifle.setWeaponType(WeaponType.RIFLE); - rifle.setAttackSpeed(0.8); - rifle.setMinDamage(518); - rifle.setMaxDamage(1035); + rifle.setDamageType('energy') + rifle.setWeaponType(WeaponType.RIFLE) + rifle.setAttackSpeed(0.8) + rifle.setMinDamage(518) + rifle.setMaxDamage(1035) rifle.setMaxRange(64) pistol = core.objectService.createObject('object/weapon/ranged/pistol/shared_pistol_dl44.iff', owner.getPlanet()) - pistol.setDamageType("energy"); - pistol.setWeaponType(WeaponType.PISTOL); - pistol.setAttackSpeed(0.4); - pistol.setMinDamage(259); - pistol.setMaxDamage(518); - pistol.setMaxRange(35); + pistol.setDamageType('energy') + pistol.setWeaponType(WeaponType.PISTOL) + pistol.setAttackSpeed(0.4) + pistol.setMinDamage(259) + pistol.setMaxDamage(518) + pistol.setMaxRange(35) carbine = core.objectService.createObject('object/weapon/ranged/carbine/shared_carbine_e11.iff', owner.getPlanet()) - carbine.setDamageType("energy"); - carbine.setWeaponType(WeaponType.CARBINE); - carbine.setAttackSpeed(0.6); - carbine.setMinDamage(389); - carbine.setMaxDamage(780); - carbine.setMaxRange(50); + carbine.setDamageType('energy') + carbine.setWeaponType(WeaponType.CARBINE) + carbine.setAttackSpeed(0.6) + carbine.setMinDamage(389) + carbine.setMaxDamage(780) + carbine.setMaxRange(50) heavy = core.objectService.createObject('object/weapon/ranged/heavy/shared_som_lava_cannon.iff', owner.getPlanet()) - heavy.setDamageType("energy"); - heavy.setWeaponType(WeaponType.HEAVYWEAPON); - heavy.setAttackSpeed(1); - heavy.setMinDamage(850); - heavy.setMaxDamage(1350); + heavy.setDamageType('energy') + heavy.setWeaponType(WeaponType.HEAVYWEAPON) + heavy.setAttackSpeed(1) + heavy.setMinDamage(850) + heavy.setMaxDamage(1350) heavy.setStringAttribute('wpn_elemental_type', 'Heat') heavy.setStringAttribute('wpn_elemental_value', '50') heavy.setMaxRange(64) @@ -605,6 +609,11 @@ def backpack(owner, inventory): inventory.add(core.objectService.createObject("object/tangible/wearables/backpack/shared_backpack_s01.iff", owner.getPlanet())) screenOne(core, owner) return + +def starterEquipmentBox(owner, inventory): + inventory.add(core.objectService.createObject("object/tangible/npe/shared_npe_uniform_box.iff", owner.getPlanet())) + screenOne(core, owner) + return def heroismJewelry(owner, inventory): heroismBand = core.objectService.createObject("object/tangible/wearables/ring/shared_ring_s04.iff", owner.getPlanet(), "item_band_set_hero_01_01") diff --git a/scripts/collections/gcwrank_imperial.py b/scripts/collections/gcwrank_imperial.py index 19e67fe5..584d18a6 100644 --- a/scripts/collections/gcwrank_imperial.py +++ b/scripts/collections/gcwrank_imperial.py @@ -3,23 +3,23 @@ from resources.datatables import GcwRank def handleRankUp(core, actor, newrank): if newrank >= GcwRank.LIEUTENANT: - actor.addAbility('pvp_retaliation_ability') + actor.addAbility('command_pvp_retaliation_ability') core.collectionService.addCollection(actor, 'pvp_imperial_lieutenant') if newrank >= GcwRank.CAPTAIN: - actor.addAbility('pvp_adrenaline_ability') + actor.addAbility('command_pvp_adrenaline_ability') core.collectionService.addCollection(actor, 'pvp_imperial_captain') if newrank >= GcwRank.MAJOR: - actor.addAbility('pvp_unstoppable_ability') + actor.addAbility('command_pvp_unstoppable_ability') core.collectionService.addCollection(actor, 'pvp_imperial_major') if newrank >= GcwRank.LTCOLONEL: - actor.addAbility('pvp_last_man_ability') + actor.addAbility('command_pvp_last_man_ability') core.collectionService.addCollection(actor, 'pvp_imperial_lt_colonel') if newrank >= GcwRank.COLONEL: - actor.addAbility('pvp_aura_buff_self_ability') + actor.addAbility('pvp_aura_buff_imperial_self') core.collectionService.addCollection(actor, 'pvp_imperial_colonel') if newrank >= GcwRank.GENERAL: @@ -30,19 +30,19 @@ def handleRankUp(core, actor, newrank): def handleRankDown(actor, newrank): if newrank < GcwRank.LIEUTENANT: - actor.removeAbility('pvp_retaliation_ability') + actor.removeAbility('command_pvp_retaliation_ability') if newrank < GcwRank.CAPTAIN: - actor.removeAbility('pvp_adrenaline_ability') + actor.removeAbility('command_pvp_adrenaline_ability') if newrank < GcwRank.MAJOR: - actor.removeAbility('pvp_unstoppable_ability') + actor.removeAbility('command_pvp_unstoppable_ability') if newrank < GcwRank.LTCOLONEL: - actor.removeAbility('pvp_last_man_ability') + actor.removeAbility('command_pvp_last_man_ability') if newrank < GcwRank.COLONEL: - actor.removeAbility('pvp_aura_buff_self_ability') + actor.removeAbility('pvp_aura_buff_imperial_self') if newrank < GcwRank.GENERAL: actor.removeAbility('pvp_airstrike_ability') diff --git a/scripts/collections/gcwrank_rebel.py b/scripts/collections/gcwrank_rebel.py index 7cd757fc..3ba4222b 100644 --- a/scripts/collections/gcwrank_rebel.py +++ b/scripts/collections/gcwrank_rebel.py @@ -3,23 +3,23 @@ from resources.datatables import GcwRank def handleRankUp(core, actor, newrank): if newrank >= GcwRank.LIEUTENANT: - actor.addAbility('pvp_retaliation_rebel_ability') + actor.addAbility('command_pvp_retaliation_rebel_ability') core.collectionService.addCollection(actor, 'pvp_rebel_lieutenant') if newrank >= GcwRank.CAPTAIN: - actor.addAbility('pvp_adrenaline_rebel_ability') + actor.addAbility('command_pvp_adrenaline_rebel_ability') core.collectionService.addCollection(actor, 'pvp_rebel_captain') if newrank >= GcwRank.MAJOR: - actor.addAbility('pvp_unstoppable_rebel_ability') + actor.addAbility('command_pvp_unstoppable_rebel_ability') core.collectionService.addCollection(actor, 'pvp_rebel_major') if newrank >= GcwRank.COMMANDER: - actor.addAbility('pvp_last_man_rebel_ability') + actor.addAbility('command_pvp_last_man_rebel_ability') core.collectionService.addCollection(actor, 'pvp_rebel_commander') if newrank >= GcwRank.COLONEL: - actor.addAbility('pvp_aura_buff_self_rebel_ability') + actor.addAbility('pvp_aura_buff_rebel_self') core.collectionService.addCollection(actor, 'pvp_rebel_colonel') if newrank >= GcwRank.GENERAL: @@ -30,19 +30,19 @@ def handleRankUp(core, actor, newrank): def handleRankDown(actor, newrank): if newrank < GcwRank.LIEUTENANT: - actor.removeAbility('pvp_retaliation_rebel_ability') + actor.removeAbility('command_pvp_retaliation_rebel_ability') if newrank < GcwRank.CAPTAIN: - actor.removeAbility('pvp_adrenaline_rebel_ability') + actor.removeAbility('command_pvp_adrenaline_rebel_ability') if newrank < GcwRank.MAJOR: - actor.removeAbility('pvp_unstoppable_rebel_ability') + actor.removeAbility('command_pvp_unstoppable_rebel_ability') if newrank < GcwRank.COMMANDER: - actor.removeAbility('pvp_last_man_rebel_ability') + actor.removeAbility('command_pvp_last_man_rebel_ability') if newrank < GcwRank.COLONEL: - actor.removeAbility('pvp_aura_buff_self_rebel_ability') + actor.removeAbility('pvp_aura_buff_rebel_self') if newrank < GcwRank.GENERAL: actor.removeAbility('pvp_airstrike_rebel_ability') diff --git a/scripts/commands/adjustLotCount.py b/scripts/commands/adjustLotCount.py new file mode 100644 index 00000000..736323da --- /dev/null +++ b/scripts/commands/adjustLotCount.py @@ -0,0 +1,15 @@ +import sys + +def run(core, actor, target, commandString): + commandArgs = commandString.split(' ') + arg1 = commandArgs[0] + + if target is None: + target = actor + + if target: + playerObject = target.getSlottedObject('ghost') + playerObject.setLotsRemaining(playerObject.getLotsRemaining() + int(arg1)) + print(playerObject.getLotsRemaining()) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF adjustLotCount: Command completed successfully for: ' + target.getFirstName(), 0) + return \ No newline at end of file diff --git a/scripts/commands/broadcast.py b/scripts/commands/broadcast.py index afcaebef..130ad5a6 100644 --- a/scripts/commands/broadcast.py +++ b/scripts/commands/broadcast.py @@ -1,12 +1,14 @@ -from services.sui import SUIWindow -from services.sui.SUIWindow import Trigger -from java.util import Vector -import sys - -def setup(): - return - -def run(core, actor, target, commandString): - core.chatService.broadcastGalaxy(commandString) - return - +# -- This file will be used at a later date. It's plans are for /broadcast . (Where imperial/rebel broadcasts to their respective factions). +#from services.sui import SUIWindow +#from services.sui.SUIWindow import Trigger +#from java.util import Vector +#import sys +# +#def setup(): +# return +# +#def run(core, actor, target, commandString): +# core.chatService.broadcastGalaxy(commandString) + #return +# +# \ No newline at end of file diff --git a/scripts/commands/broadcastGalaxy.py b/scripts/commands/broadcastGalaxy.py new file mode 100644 index 00000000..990c80ef --- /dev/null +++ b/scripts/commands/broadcastGalaxy.py @@ -0,0 +1,13 @@ + +from services.sui import SUIWindow +from services.sui.SUIWindow import Trigger +from java.util import Vector +import sys + +def setup(): + return + +def run(core, actor, target, commandString): + core.chatService.broadcastGalaxy(commandString) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF broadcastGalaxy: Command completed successfully.', 0) + return \ No newline at end of file diff --git a/scripts/commands/broadcastPlanet.py b/scripts/commands/broadcastPlanet.py new file mode 100644 index 00000000..da40f608 --- /dev/null +++ b/scripts/commands/broadcastPlanet.py @@ -0,0 +1,12 @@ +from services.sui import SUIWindow +from services.sui.SUIWindow import Trigger +from java.util import Vector +import sys + +def setup(): + return + +def run(core, actor, target, commandString): + core.chatService.broadcastPlanet(commandString, actor.getPlanet()) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF broadcastPlanet: Command completed successfully.', 0) + return \ No newline at end of file diff --git a/scripts/commands/credits.py b/scripts/commands/credits.py new file mode 100644 index 00000000..2ba1d840 --- /dev/null +++ b/scripts/commands/credits.py @@ -0,0 +1,18 @@ +import sys + + + +def run(core, actor, target, commandString): + commandArgs = commandString.split(' ') + arg1 = commandArgs[0] + playerObject = actor.getSlottedObject('ghost') + + if actor: + actor.setCashCredits(actor.getCashCredits() + int(arg1)) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Credits: Command completed successfully. You have given yourself ' + arg1 + 'credits.', 0) + + if actor and target: + target.setCashCredits(target.getCashCredits() + int(arg1)) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Credits: Command completed successfully. You have transferred ' + arg1 + ' credits to ' + target.getFirstName() + '.', 0) + + return \ No newline at end of file diff --git a/scripts/commands/inspire.py b/scripts/commands/inspire.py index 282fe64a..15948e9e 100644 --- a/scripts/commands/inspire.py +++ b/scripts/commands/inspire.py @@ -10,13 +10,12 @@ def run(core, actor, target, commandString): if not playerObject or playerObject.getProfession() != "entertainer_1a": return - if target is None or actor.getObjectId() == target.getObjectId(): openBuffWindow = BuffBuilderStartMessage(actor.getObjectId(), actor.getObjectId(), actor.getObjectId()) objController = ObjControllerMessage(11, openBuffWindow) actor.getClient().getSession().write(objController.serialize()) return - + if target is None and commandString is not None: target = core.chatService.getObjectByFirstName(commandString) if target is None: diff --git a/scripts/commands/invulnerable.py b/scripts/commands/invulnerable.py new file mode 100644 index 00000000..f9865d9f --- /dev/null +++ b/scripts/commands/invulnerable.py @@ -0,0 +1,33 @@ +import sys +from resources.datatables import Options + +def run(core, actor, target, commandString): + commandArgs = commandString.split(' ') + command = commandArgs[0] + + + if command == 'invisible': + if (actor.isInStealth()): + actor.setInStealth(False) + actor.setRadarVisible(True) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Invulnerable invisible: Command completed successfully. You are no longer Invisible.', 0) + + else: + actor.setInStealth(True) + actor.setRadarVisible(False) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Invulnerable invisible: Command completed successfully. You are now Invisible.', 0) + + if actor.getOptionsBitmask() == 128: + actor.setOptionsBitmask(Options.NONE) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Invulnerable: Command completed successfully. You are now Invulnerable.', 0) + + + elif actor.getOptionsBitmask() == 0: + actor.setOptionsBitmask(Options.ATTACKABLE) + print(actor.getOptionsBitmask()) + + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Invulnerable: Command completed successfully. You are no longer Invulnerable.', 0) + + return + + \ No newline at end of file diff --git a/scripts/commands/server.py b/scripts/commands/server.py index 09765edc..815739da 100644 --- a/scripts/commands/server.py +++ b/scripts/commands/server.py @@ -24,18 +24,23 @@ def run(core, actor, target, commandString): arg4 = commandArgs[4] if not command: + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Server: Invalid Syntax. Syntax is: /server .', 0) return if command == 'lockServer': core.setGalaxyStatus(GalaxyStatus.Locked) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Server lockServer: Command completed successfully. Server is now in Locked Status.', 0) if command == 'unlockServer': core.setGalaxyStatus(GalaxyStatus.Online) - if command == 'info': - actor.sendSystemMessage(str(core.getActiveZoneClients()) + ' online characters.', 0) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Server unlockServer: Command completed successfully. Server is now in Online Status.', 0) + #if command == 'restart': //This command currently causes an error at NGEcore.java like 593 whole attempting to close databaseConnection2 + #core.restart() + #actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Server restart: Command completed successfully. Server restart initiated.', 0) if command == 'shutdown': core.initiateShutdown() - if command == 'getheight': - actor.sendSystemMessage(str(core.terrainService.getHeight(actor.getPlanetId(), actor.getWorldPosition().x, actor.getWorldPosition().z)), 0) - + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Server shutdown: Command completed successfully. Server shutdown initiated.', 0) + if command == 'stop': + core.initiateStop() + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Server stop: Command completed successfully. Emergency server shutdown initiated.', 0) return diff --git a/scripts/commands/setRank.py b/scripts/commands/setRank.py new file mode 100644 index 00000000..8ea9d2a7 --- /dev/null +++ b/scripts/commands/setRank.py @@ -0,0 +1,41 @@ +import sys +from resources.datatables import GcwRank +from services.gcw import GCWService + +def run(core, actor, target, commandString): + commandArgs = commandString.split(' ') + arg1 = commandArgs[0] + if len(commandArgs) > 1: + arg2 = commandArgs[1] + + if target is None: + target = actor + + if target.getFaction() == 'rebel' or 'imperial' and arg1 == 'up': + playerObject = target.getSlottedObject('ghost') + playerObject.setCurrentRank(int(arg2)) + newrank = playerObject.getCurrentRank() + core.scriptService.callScript("scripts/collections/", "gcwrank_" + target.getFaction(), "handleRankUp", core, target, newrank) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF setRank: Command completed successfully.', 0) + if target.getFaction() == 'rebel' or 'imperial' and arg1 == 'down': + playerObject = target.getSlottedObject('ghost') + playerObject.setCurrentRank(int(arg2)) + newrank = playerObject.getCurrentRank() + core.scriptService.callScript("scripts/collections/", "gcwrank_" + target.getFaction(), "handleRankDown", target, newrank) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF setRank: Command completed successfully.', 0) + +# if target.getFaction() == 'imperial' and arg1 == 'up': +# if arg1 == 'up': +# playerObject = actor.getSlottedObject('ghost') +# playerObject.setCurrentRank(int(arg2)) +# newrank = playerObject.getCurrentRank() +# core.scriptService.callScript("scripts/collections/", "gcwrank_" + target.getFaction(), "handleRankUp", core, target, newrank) +# actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF setRank: Command completed successfully.', 0) +# if target.getFaction() == 'imperial' and arg1 == 'down': +# playerObject = actor.getSlottedObject('ghost') +# playerObject.setCurrentRank(int(arg2)) +# newrank = playerObject.getCurrentRank() +# core.scriptService.callScript("scripts/collections/", "gcwrank_" + target.getFaction(), "handleRankDown", target, newrank) +# actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF setRank: Command completed successfully.', 0) + + return \ No newline at end of file diff --git a/scripts/commands/setgodmode.py b/scripts/commands/setgodmode.py index 753cd3f2..e00e103d 100644 --- a/scripts/commands/setgodmode.py +++ b/scripts/commands/setgodmode.py @@ -17,6 +17,8 @@ def run(core, actor, target, commandString): playerObject = actor.getSlottedObject('ghost') + global str + if not playerObject: return diff --git a/scripts/commands/teleport.py b/scripts/commands/teleport.py index fb35c621..1b2e4112 100644 --- a/scripts/commands/teleport.py +++ b/scripts/commands/teleport.py @@ -23,24 +23,24 @@ def run(core, actor, target, commandString): if arg1 and arg2 and arg3 and arg4 is not None: try: - actor.sendSystemMessage('gm: teleport: Command completed successfully.', 0) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Teleport: Command completed successfully.', 0) position = Point3D(float(arg1), float(arg2), float(arg3)) core.simulationService.transferToPlanet(actor, core.terrainService.getPlanetByName(arg4), position, actor.getOrientation(), None) except: - actor.sendSystemMessage('Invalid Syntax. Syntax is: /teleport [] ', 0) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Teleport: Invalid Syntax. Syntax is: /teleport [] .', 0) return return elif arg1 and arg2 and arg3: try: - actor.sendSystemMessage('gm: teleport: Command completed successfully.', 0) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Teleport: Command completed successfully.', 0) position = Point3D(float(arg1), 0, float(arg2)) core.simulationService.transferToPlanet(actor, core.terrainService.getPlanetByName(arg3), position, actor.getOrientation(), None) except: - actor.sendSystemMessage('Invalid Syntax. Syntax is: /teleport [] ', 0) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Teleport: Invalid Syntax. Syntax is: /teleport [] .', 0) return else: - actor.sendSystemMessage('Invalid Syntax. Syntax is: /teleport [] ', 0) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Teleport: Invalid Syntax. Syntax is: /teleport [] .', 0) return return \ No newline at end of file diff --git a/scripts/commands/teleporttarget.py b/scripts/commands/teleporttarget.py index 4b69ecdb..9a9fde95 100644 --- a/scripts/commands/teleporttarget.py +++ b/scripts/commands/teleporttarget.py @@ -12,11 +12,11 @@ def run(core, actor, target, commandString): return if target and target.getSlottedObject('ghost') is not None: - actor.sendSystemMessage('gm: teleporttarget: Command completed successfully.', 0) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF teleportTarget: Command completed successfully.', 0) core.simulationService.teleport(target, actor.getPosition(), actor.getOrientation(), 0) return else: - actor.sendSystemMessage('Invalid Syntax. Syntax is: /teleporttarget ', 0) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF teleportTarget: Invalid Syntax. Syntax is: /teleportTarget ', 0) return return diff --git a/scripts/commands/teleportto.py b/scripts/commands/teleportto.py index cf0b9a59..8ffc85a0 100644 --- a/scripts/commands/teleportto.py +++ b/scripts/commands/teleportto.py @@ -15,7 +15,7 @@ def run(core, actor, target, commandString): target = core.objectService.getObjectByFirstName(commandString) if target and target.getSlottedObject('ghost') is not None: - actor.sendSystemMessage('gm: teleportto: Command completed successfully.', 0) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF teleportTo: Command completed successfully.', 0) if target.getPlanetId() == actor.getPlanetId(): core.simulationService.teleport(actor, target.getPosition(), target.getOrientation(), target.getParentId()) else: @@ -25,6 +25,6 @@ def run(core, actor, target, commandString): core.simulationService.transferToPlanet(actor, core.terrainService.getPlanetById(target.getPlanetId()), target.getPosition(), target.getOrientation(), core.objectService.getObject(target.getParentId())) return else: - actor.sendSystemMessage('Invalid Syntax. Syntax is: /teleportto ', 0) + actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF teleportTo: Invalid Syntax. Syntax is: /teleportTo ', 0) return return diff --git a/scripts/mobiles/corellia/grassland_slice_hound.py b/scripts/mobiles/corellia/grassland_slice_hound.py index 62709da1..e697cbd6 100644 --- a/scripts/mobiles/corellia/grassland_slice_hound.py +++ b/scripts/mobiles/corellia/grassland_slice_hound.py @@ -44,5 +44,5 @@ def addTemplate(core): mobileTemplate.setDefaultAttack('creatureMeleeAttack') mobileTemplate.setAttacks(attacks) - core.spawnService.addMobileTemplate('gassland_slice_hound', mobileTemplate) + core.spawnService.addMobileTemplate('grassland_slice_hound', mobileTemplate) return \ No newline at end of file diff --git a/scripts/mobiles/dantooine/baby_bol.py b/scripts/mobiles/dantooine/baby_bol.py new file mode 100644 index 00000000..e51cde50 --- /dev/null +++ b/scripts/mobiles/dantooine/baby_bol.py @@ -0,0 +1,45 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from resources.datatables import WeaponType +from resources.datatables import Difficulty +from resources.datatables import Options +from java.util import Vector + + +def addTemplate(core): + mobileTemplate = MobileTemplate() + mobileTemplate.setCreatureName('baby_bol') + mobileTemplate.setLevel(58) + mobileTemplate.setDifficulty(Difficulty.NORMAL) + + mobileTemplate.setMinSpawnDistance(5) + mobileTemplate.setMaxSpawnDistance(10) + mobileTemplate.setDeathblow(False) + mobileTemplate.setScale(1) + mobileTemplate.setMeatType("Wild Meat") + mobileTemplate.setMeatAmount(0) + mobileTemplate.setHideType("Leathery Hide") + mobileTemplate.setBoneAmount(300) + mobileTemplate.setBoneType("Animal Bone") + mobileTemplate.setHideAmount(180) + mobileTemplate.setSocialGroup("bol") + mobileTemplate.setAssistRange(12) + mobileTemplate.setStalker(False) + mobileTemplate.setOptionsBitmask(Options.ATTACKABLE) + + templates = Vector() + templates.add('object/mobile/shared_baby_bol.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('baby_bol', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/lairgroups/lok_bosstest.py b/scripts/mobiles/lairgroups/lok_bosstest.py new file mode 100644 index 00000000..bc781ff8 --- /dev/null +++ b/scripts/mobiles/lairgroups/lok_bosstest.py @@ -0,0 +1,11 @@ +import sys +from services.spawn import LairSpawnTemplate +from java.util import Vector + +def addLairGroup(core): + spawnTemplate1 = LairSpawnTemplate(-1, 'lok_gurk_lair', 5, 20) + spawnTemplates = Vector() + spawnTemplates.add(spawnTemplate1) + + core.spawnService.addLairGroup('lok_bosstest', spawnTemplates) + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_bageraset_lair_1.py b/scripts/mobiles/lairs/corellia_bageraset_lair_1.py new file mode 100644 index 00000000..190463f2 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_bageraset_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('bageraset') + + core.spawnService.addLairTemplate('corellia_bageraset_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_leaf_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_bageraset_lair_2.py b/scripts/mobiles/lairs/corellia_bageraset_lair_2.py new file mode 100644 index 00000000..7416ec37 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_bageraset_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('bageraset') + mobileTemplates.add('bageraset_bruiser') + + core.spawnService.addLairTemplate('corellia_bageraset_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_leaf_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_canoid_lair_1.py b/scripts/mobiles/lairs/corellia_canoid_lair_1.py new file mode 100644 index 00000000..214118ba --- /dev/null +++ b/scripts/mobiles/lairs/corellia_canoid_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('canoid') + + core.spawnService.addLairTemplate('corellia_canoid_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_canoid_lair_2.py b/scripts/mobiles/lairs/corellia_canoid_lair_2.py new file mode 100644 index 00000000..3e1ec9d7 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_canoid_lair_2.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('canoid') + mobileTemplates.add('canoid_hunter') + mobileTemplates.add('canoid_pack_leader') + + core.spawnService.addLairTemplate('corellia_canoid_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_carrion_spat_lair_1.py b/scripts/mobiles/lairs/corellia_carrion_spat_lair_1.py new file mode 100644 index 00000000..63bf9eb6 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_carrion_spat_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('carrion_spat') + + core.spawnService.addLairTemplate('corellia_carrion_spat_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_nest_large_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_carrion_spat_lair_2.py b/scripts/mobiles/lairs/corellia_carrion_spat_lair_2.py new file mode 100644 index 00000000..a43d423d --- /dev/null +++ b/scripts/mobiles/lairs/corellia_carrion_spat_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('carrion_spat') + mobileTemplates.add('carrion_spat_corpsereaver') + + core.spawnService.addLairTemplate('corellia_carrion_spat_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_nest_large_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_1.py b/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_1.py new file mode 100644 index 00000000..d1203981 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_1.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('corellian_butterfly') + mobileTemplates.add('corellian_butterfly_monarch') + mobileTemplates.add('corellian_butterfly_worker') + + core.spawnService.addLairTemplate('corellia_corellian_butterfly_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_insecthill_small_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_2.py b/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_2.py new file mode 100644 index 00000000..2c0b447b --- /dev/null +++ b/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_2.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('blood_thirsty_monarch') + mobileTemplates.add('corellian_butterfly_monarch') + mobileTemplates.add('corellian_butterfly_warrior') + + core.spawnService.addLairTemplate('corellia_corellian_butterfly_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_insecthill_small_fog_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_3.py b/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_3.py new file mode 100644 index 00000000..012c38db --- /dev/null +++ b/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_3.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('corellian_butterfly') + mobileTemplates.add('corellian_butterfly_warrior') + + core.spawnService.addLairTemplate('corellia_corellian_butterfly_lair_3', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_insecthill_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_4.py b/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_4.py new file mode 100644 index 00000000..ab0ba8c0 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_4.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('corellian_butterfly_worker') + mobileTemplates.add('corellian_butterfly_defender') + mobileTemplates.add('corellian_butterfly_drone') + + core.spawnService.addLairTemplate('corellia_corellian_butterfly_lair_4', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_insecthill_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_crazed_durni_lair_1.py b/scripts/mobiles/lairs/corellia_crazed_durni_lair_1.py new file mode 100644 index 00000000..e70abe68 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_crazed_durni_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('crazed_durni') + + core.spawnService.addLairTemplate('corellia_crazed_durni_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_warren_small_fog_gray.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_crimson_sand_panther_lair_1.py b/scripts/mobiles/lairs/corellia_crimson_sand_panther_lair_1.py new file mode 100644 index 00000000..76e1a71a --- /dev/null +++ b/scripts/mobiles/lairs/corellia_crimson_sand_panther_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('crimson_razor_cat') + + core.spawnService.addLairTemplate('corellia_crimson_sand_panther_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rock_shelter_large_fog_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_dalyrake_lair_1.py b/scripts/mobiles/lairs/corellia_dalyrake_lair_1.py new file mode 100644 index 00000000..871fb920 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_dalyrake_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('dalyrake') + + core.spawnService.addLairTemplate('corellia_dalyrake_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_mound_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_dalyrake_lair_2.py b/scripts/mobiles/lairs/corellia_dalyrake_lair_2.py new file mode 100644 index 00000000..5830bcba --- /dev/null +++ b/scripts/mobiles/lairs/corellia_dalyrake_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('dalyrake_martriarch') + mobileTemplates.add('dalyrake_harvester') + + core.spawnService.addLairTemplate('corellia_dalyrake_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_nest_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_deranged_wrix_lair_1.py b/scripts/mobiles/lairs/corellia_deranged_wrix_lair_1.py new file mode 100644 index 00000000..9edab76e --- /dev/null +++ b/scripts/mobiles/lairs/corellia_deranged_wrix_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('deranged_wrix') + + core.spawnService.addLairTemplate('corellia_deranged_wrix_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large_evil_fire_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_devil_gulginaw_lair_1.py b/scripts/mobiles/lairs/corellia_devil_gulginaw_lair_1.py new file mode 100644 index 00000000..7cec4fad --- /dev/null +++ b/scripts/mobiles/lairs/corellia_devil_gulginaw_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('devil_gulginaw') + + core.spawnService.addLairTemplate('corellia_devil_gulginaw_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_bones_evil_fire_redpoi_all_lair_bones_evil_fire_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_dire_cat_lair_1.py b/scripts/mobiles/lairs/corellia_dire_cat_lair_1.py new file mode 100644 index 00000000..f362da6a --- /dev/null +++ b/scripts/mobiles/lairs/corellia_dire_cat_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('dire_cat') + + core.spawnService.addLairTemplate('corellia_dire_cat_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_dire_cat_lair_2.py b/scripts/mobiles/lairs/corellia_dire_cat_lair_2.py new file mode 100644 index 00000000..95c03604 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_dire_cat_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('dire_cat') + mobileTemplates.add('feral_orphan') + + core.spawnService.addLairTemplate('corellia_dire_cat_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_1.py b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_1.py new file mode 100644 index 00000000..6635cfc0 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('diseased_vrelt') + mobileTemplates.add('diseased_vrelt_matriarch') + + core.spawnService.addLairTemplate('corellia_diseased_vrelt_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_2.py b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_2.py new file mode 100644 index 00000000..613570a4 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_2.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('diseased_vrelt') + + core.spawnService.addLairTemplate('corellia_diseased_vrelt_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_3.py b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_3.py new file mode 100644 index 00000000..649dd2fb --- /dev/null +++ b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_3.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('diseased_vrelt') + mobileTemplates.add('noxious_vrelt_scavenger') + + core.spawnService.addLairTemplate('corellia_diseased_vrelt_lair_3', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small_fog_mustard.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_4.py b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_4.py new file mode 100644 index 00000000..8e645a8d --- /dev/null +++ b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_4.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('noxious_vrelt_scavenger') + + core.spawnService.addLairTemplate('corellia_diseased_vrelt_lair_4', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small_fog_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_5.py b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_5.py new file mode 100644 index 00000000..e77375e6 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_5.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('diseased_vrelt') + mobileTemplates.add('diseased_vrelt_matriarch') + + core.spawnService.addLairTemplate('corellia_diseased_vrelt_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small_fog_gray.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_6.py b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_6.py new file mode 100644 index 00000000..1617ec61 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_6.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('diseased_vrelt') + mobileTemplates.add('diseased_vrelt_matriarch') + + core.spawnService.addLairTemplate('corellia_diseased_vrelt_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small_fog_mustard.iff') + return diff --git a/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_7.py b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_7.py new file mode 100644 index 00000000..bc6f56ca --- /dev/null +++ b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_7.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('diseased_vrelt') + mobileTemplates.add('diseased_vrelt_matriarch') + + core.spawnService.addLairTemplate('corellia_diseased_vrelt_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small_fog_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_8.py b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_8.py new file mode 100644 index 00000000..b6682cb2 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_8.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('diseased_vrelt') + + core.spawnService.addLairTemplate('corellia_diseased_vrelt_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_durni_warren_lair_1.py b/scripts/mobiles/lairs/corellia_durni_warren_lair_1.py new file mode 100644 index 00000000..721a5b3c --- /dev/null +++ b/scripts/mobiles/lairs/corellia_durni_warren_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('durni') + + core.spawnService.addLairTemplate('corellia_durni_warren_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_warren_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_durni_warren_lair_2.py b/scripts/mobiles/lairs/corellia_durni_warren_lair_2.py new file mode 100644 index 00000000..2fc3d415 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_durni_warren_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('durni') + mobileTemplates.add('vehement_warrior') + + core.spawnService.addLairTemplate('corellia_durni_warren_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_warren_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_forest_murra_lair_1.py b/scripts/mobiles/lairs/corellia_forest_murra_lair_1.py new file mode 100644 index 00000000..ddfe6a0a --- /dev/null +++ b/scripts/mobiles/lairs/corellia_forest_murra_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('forest_murra') + + core.spawnService.addLairTemplate('corellia_forest_murra_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_dead_log_small_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_forest_slice_hound_lair_1.py b/scripts/mobiles/lairs/corellia_forest_slice_hound_lair_1.py new file mode 100644 index 00000000..95e39849 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_forest_slice_hound_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('forest_slice_hound') + + core.spawnService.addLairTemplate('corellia_forest_slice_hound_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_bones_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_giant_carrion_spat_lair_1.py b/scripts/mobiles/lairs/corellia_giant_carrion_spat_lair_1.py new file mode 100644 index 00000000..e5906408 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_giant_carrion_spat_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('giant_carrion_spat') + + core.spawnService.addLairTemplate('corellia_giant_carrion_spat_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_nest_large_evil_fire_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_giant_dalyrake_lair_1.py b/scripts/mobiles/lairs/corellia_giant_dalyrake_lair_1.py new file mode 100644 index 00000000..d64384f0 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_giant_dalyrake_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('giant_dalyrake') + + core.spawnService.addLairTemplate('corellia_giant_dalyrake_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_mound_large_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_giant_gubbur_lair_1.py b/scripts/mobiles/lairs/corellia_giant_gubbur_lair_1.py new file mode 100644 index 00000000..44d5d5bd --- /dev/null +++ b/scripts/mobiles/lairs/corellia_giant_gubbur_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('giant_gubbur') + + core.spawnService.addLairTemplate('corellia_giant_gubbur_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_leaf_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_grand_wrix_lair_1.py b/scripts/mobiles/lairs/corellia_grand_wrix_lair_1.py new file mode 100644 index 00000000..8e66fb6c --- /dev/null +++ b/scripts/mobiles/lairs/corellia_grand_wrix_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('grand_wrix') + + core.spawnService.addLairTemplate('corellia_grand_wrix_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_grassland_slice_hound_lair_1.py b/scripts/mobiles/lairs/corellia_grassland_slice_hound_lair_1.py new file mode 100644 index 00000000..954062f4 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_grassland_slice_hound_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('grassland_slice_hound') + mobileTemplates.add('female_grassland_slice_hound') + + core.spawnService.addLairTemplate('corellia_grassland_slice_hound_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_bones_large_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_greater_gulginaw_nest_lair_1.py b/scripts/mobiles/lairs/corellia_greater_gulginaw_nest_lair_1.py new file mode 100644 index 00000000..bd8bc324 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_greater_gulginaw_nest_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('greater_gulginaw') + + core.spawnService.addLairTemplate('corellia_greater_gulginaw_nest_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_bones_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_gronda_lair_1.py b/scripts/mobiles/lairs/corellia_gronda_lair_1.py new file mode 100644 index 00000000..66a08f7d --- /dev/null +++ b/scripts/mobiles/lairs/corellia_gronda_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('gronda') + mobileTemplates.add('dwarf_gronda') + + core.spawnService.addLairTemplate('corellia_gronda_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_gubbur_lair_1.py b/scripts/mobiles/lairs/corellia_gubbur_lair_1.py new file mode 100644 index 00000000..c494d670 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_gubbur_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('gubbur') + + core.spawnService.addLairTemplate('corellia_gubbur_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_leaf_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_gulginaw_lair_1.py b/scripts/mobiles/lairs/corellia_gulginaw_lair_1.py new file mode 100644 index 00000000..e0963caf --- /dev/null +++ b/scripts/mobiles/lairs/corellia_gulginaw_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('gulginaw') + + core.spawnService.addLairTemplate('corellia_gulginaw_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rock_shelter_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_gurrcat_lair_1.py b/scripts/mobiles/lairs/corellia_gurrcat_lair_1.py new file mode 100644 index 00000000..698cffef --- /dev/null +++ b/scripts/mobiles/lairs/corellia_gurrcat_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('gurrcat') + + core.spawnService.addLairTemplate('corellia_gurrcat_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_bones.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_humbaba_lair_1.py b/scripts/mobiles/lairs/corellia_humbaba_lair_1.py new file mode 100644 index 00000000..b27337e2 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_humbaba_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('humbaba') + + core.spawnService.addLairTemplate('corellia_humbaba_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_brambles_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_krahbu_lair_1.py b/scripts/mobiles/lairs/corellia_krahbu_lair_1.py new file mode 100644 index 00000000..a563fe60 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_krahbu_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('krahbu') + + core.spawnService.addLairTemplate('corellia_krahbu_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_thicket_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_mountain_murra_lair_1.py b/scripts/mobiles/lairs/corellia_mountain_murra_lair_1.py new file mode 100644 index 00000000..74117320 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_mountain_murra_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('mountain_murra') + + core.spawnService.addLairTemplate('corellia_mountain_murra_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_dead_log_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_murra_lair_1.py b/scripts/mobiles/lairs/corellia_murra_lair_1.py new file mode 100644 index 00000000..29f569d0 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_murra_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('murra') + + core.spawnService.addLairTemplate('corellia_murra_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_dead_log_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_paralope_lair_1.py b/scripts/mobiles/lairs/corellia_paralope_lair_1.py new file mode 100644 index 00000000..e09caee7 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_paralope_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('paralope') + + core.spawnService.addLairTemplate('corellia_paralope_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_thicket_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_plumed_rasp_eyrie_lair_1.py b/scripts/mobiles/lairs/corellia_plumed_rasp_eyrie_lair_1.py new file mode 100644 index 00000000..91214c21 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_plumed_rasp_eyrie_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('majestic_plumed_rasp') + + core.spawnService.addLairTemplate('corellia_plumed_rasp_eyrie_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_nest_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_plumed_rasp_lair_1.py b/scripts/mobiles/lairs/corellia_plumed_rasp_lair_1.py new file mode 100644 index 00000000..a731a40f --- /dev/null +++ b/scripts/mobiles/lairs/corellia_plumed_rasp_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('plumed_rasp') + + core.spawnService.addLairTemplate('corellia_plumed_rasp_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_nest_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_razor_cat_pride_lair_1.py b/scripts/mobiles/lairs/corellia_razor_cat_pride_lair_1.py new file mode 100644 index 00000000..b89d4d16 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_razor_cat_pride_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('razor_cat') + mobileTemplates.add('female_razor_cat') + + core.spawnService.addLairTemplate('corellia_razor_cat_pride_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rock_shelter_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_razor_cat_pride_lair_2.py b/scripts/mobiles/lairs/corellia_razor_cat_pride_lair_2.py new file mode 100644 index 00000000..fd2edaad --- /dev/null +++ b/scripts/mobiles/lairs/corellia_razor_cat_pride_lair_2.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('razor_cat') + mobileTemplates.add('female_razor_cat') + mobileTemplates.add('razor_cat_eviscerator') + + core.spawnService.addLairTemplate('corellia_razor_cat_pride_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rock_shelter_large_evil_fire_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_savage_humbaba_lair_1.py b/scripts/mobiles/lairs/corellia_savage_humbaba_lair_1.py new file mode 100644 index 00000000..70263416 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_savage_humbaba_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('savage_humbaba') + + core.spawnService.addLairTemplate('corellia_savage_humbaba_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_brambles_large_evil_fire_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_scavenger_rat_lair_1.py b/scripts/mobiles/lairs/corellia_scavenger_rat_lair_1.py new file mode 100644 index 00000000..85d0f31f --- /dev/null +++ b/scripts/mobiles/lairs/corellia_scavenger_rat_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('scavenger_rat') + + core.spawnService.addLairTemplate('corellia_scavenger_rat_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_sharnaff_lair_1.py b/scripts/mobiles/lairs/corellia_sharnaff_lair_1.py new file mode 100644 index 00000000..e0cb4bd8 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_sharnaff_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('sharnaff') + + core.spawnService.addLairTemplate('corellia_sharnaff_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_sharnaff_lair_2.py b/scripts/mobiles/lairs/corellia_sharnaff_lair_2.py new file mode 100644 index 00000000..efc1ae28 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_sharnaff_lair_2.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('sharnaff') + mobileTemplates.add('sharnaff_reckless_ravager') + mobileTemplates.add('sharnaff_bull') + + core.spawnService.addLairTemplate('corellia_sharnaff_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_slice_hound_lair_1.py b/scripts/mobiles/lairs/corellia_slice_hound_lair_1.py new file mode 100644 index 00000000..f13589a4 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_slice_hound_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('female_slice_hound') + mobileTemplates.add('slice_hound') + + core.spawnService.addLairTemplate('corellia_grassland_slice_hound_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_bones.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_swamp_gurrcat_lair_1.py b/scripts/mobiles/lairs/corellia_swamp_gurrcat_lair_1.py new file mode 100644 index 00000000..baa213cc --- /dev/null +++ b/scripts/mobiles/lairs/corellia_swamp_gurrcat_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('gulginaw') + + core.spawnService.addLairTemplate('corellia_gulginaw_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_bones.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_swamp_humbaba_lair_1.py b/scripts/mobiles/lairs/corellia_swamp_humbaba_lair_1.py new file mode 100644 index 00000000..5f5c5074 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_swamp_humbaba_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('swamp_humbaba') + + core.spawnService.addLairTemplate('corellia_swamp_humbaba_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_brambles_large_fog_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_tabage_lair_1.py b/scripts/mobiles/lairs/corellia_tabage_lair_1.py new file mode 100644 index 00000000..6c292c2d --- /dev/null +++ b/scripts/mobiles/lairs/corellia_tabage_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('tabage') + + core.spawnService.addLairTemplate('corellia_tabage_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_tabage_lair_2.py b/scripts/mobiles/lairs/corellia_tabage_lair_2.py new file mode 100644 index 00000000..0707c004 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_tabage_lair_2.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('tabage_scavenger') + + core.spawnService.addLairTemplate('corellia_tabage_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_brambles_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_violent_krahbu_lair_1.py b/scripts/mobiles/lairs/corellia_violent_krahbu_lair_1.py new file mode 100644 index 00000000..c9a90909 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_violent_krahbu_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('violent_krahbu') + + core.spawnService.addLairTemplate('corellia_krahbu_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_thicket_small_evil_fire_red..iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_vrelt_lair_1.py b/scripts/mobiles/lairs/corellia_vrelt_lair_1.py new file mode 100644 index 00000000..04053b94 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_vrelt_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('vrelt') + + core.spawnService.addLairTemplate('corellia_vrelt_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_vynock_lair_1.py b/scripts/mobiles/lairs/corellia_vynock_lair_1.py new file mode 100644 index 00000000..749d161d --- /dev/null +++ b/scripts/mobiles/lairs/corellia_vynock_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('vynock') + + core.spawnService.addLairTemplate('corellia_vynock_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_nest_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_war_gronda_lair_1.py b/scripts/mobiles/lairs/corellia_war_gronda_lair_1.py new file mode 100644 index 00000000..86e0c220 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_war_gronda_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('war_gronda') + + core.spawnService.addLairTemplate('corellia_war_gronda_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_wooded_paralope_lair_1.py b/scripts/mobiles/lairs/corellia_wooded_paralope_lair_1.py new file mode 100644 index 00000000..fd1356b1 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_wooded_paralope_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('wooded_paralope') + + core.spawnService.addLairTemplate('corellia_wooded_paralope_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_thicket_small_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_wrix_lair_1.py b/scripts/mobiles/lairs/corellia_wrix_lair_1.py new file mode 100644 index 00000000..c61b1eb8 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_wrix_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('wrix') + + core.spawnService.addLairTemplate('corellia_wrix_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_ancient_graul_lair_1.py b/scripts/mobiles/lairs/dantooine_ancient_graul_lair_1.py new file mode 100644 index 00000000..cc31937a --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_ancient_graul_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('ancient_graul') + + + core.spawnService.addLairTemplate('dantooine_ancient_graul_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/cave_small_light.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_bol_lair_1.py b/scripts/mobiles/lairs/dantooine_bol_lair_1.py index 953c80f5..0bbd1300 100644 --- a/scripts/mobiles/lairs/dantooine_bol_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_bol_lair_1.py @@ -3,7 +3,9 @@ from java.util import Vector def addTemplate(core): mobileTemplates = Vector() - mobileTemplates.add('lesser_plains_bol') - mobileTemplates.add('seething_bol_crusher') - mobileTemplates.add('swift_charging_bol') - core.spawnService.addLairTemplate('dantooine_bol_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + mobileTemplates.add('bol') + mobileTemplates.add('bol_pack_runner') + mobileTemplates.add('baby_bol') + + core.spawnService.addLairTemplate('dantooine_bol_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rock_shelter_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_bol_lair_2.py b/scripts/mobiles/lairs/dantooine_bol_lair_2.py new file mode 100644 index 00000000..617b642e --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_bol_lair_2.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('bol') + mobileTemplates.add('bol_pack_runner') + mobileTemplates.add('baby_bol') + + core.spawnService.addLairTemplate('dantooine_bol_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_bol_lair_3.py b/scripts/mobiles/lairs/dantooine_bol_lair_3.py new file mode 100644 index 00000000..acdf2eac --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_bol_lair_3.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('bol') + mobileTemplates.add('bol_pack_runner') + mobileTemplates.add('swift_charging_bol') + + core.spawnService.addLairTemplate('dantooine_bol_lair_3', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_bol_lair_4.py b/scripts/mobiles/lairs/dantooine_bol_lair_4.py new file mode 100644 index 00000000..a219678b --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_bol_lair_4.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('bol') + mobileTemplates.add('bol_pack_runner') + mobileTemplates.add('swift_charging_bol') + + core.spawnService.addLairTemplate('dantooine_bol_lair_4', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rock_shelter_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_bol_lair_5.py b/scripts/mobiles/lairs/dantooine_bol_lair_5.py new file mode 100644 index 00000000..e4ba26a7 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_bol_lair_5.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('lesser_plains_bol') + + core.spawnService.addLairTemplate('dantooine_bol_lair_5', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rock_shelter_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_bol_lair_6.py b/scripts/mobiles/lairs/dantooine_bol_lair_6.py new file mode 100644 index 00000000..e5787a02 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_bol_lair_6.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('lesser_plains_bol') + + core.spawnService.addLairTemplate('dantooine_bol_lair_6', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_bol_lair_7.py b/scripts/mobiles/lairs/dantooine_bol_lair_7.py new file mode 100644 index 00000000..9e6d793c --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_bol_lair_7.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('seething_bol_crusher') + + core.spawnService.addLairTemplate('dantooine_bol_lair_6', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_bol_lair_8.py b/scripts/mobiles/lairs/dantooine_bol_lair_8.py new file mode 100644 index 00000000..bb17c668 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_bol_lair_8.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('seething_bol_crusher') + + core.spawnService.addLairTemplate('dantooine_bol_lair_6', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rock_shelter_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_frenzied_graul_lair_1.py b/scripts/mobiles/lairs/dantooine_frenzied_graul_lair_1.py new file mode 100644 index 00000000..55991920 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_frenzied_graul_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('frenzied_graul') + + + core.spawnService.addLairTemplate('dantooine_frenzied_graul_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/cave_small_dark.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_graul_lair_1.py b/scripts/mobiles/lairs/dantooine_graul_lair_1.py index 953c80f5..f8c2d409 100644 --- a/scripts/mobiles/lairs/dantooine_graul_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_graul_lair_1.py @@ -2,8 +2,5 @@ import sys from java.util import Vector def addTemplate(core): - mobileTemplates = Vector() - mobileTemplates.add('lesser_plains_bol') - mobileTemplates.add('seething_bol_crusher') - mobileTemplates.add('swift_charging_bol') - core.spawnService.addLairTemplate('dantooine_bol_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + core.spawnService.addLairTemplate('dantooine_graul_mauler_lair_1', 'graul', 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_graul_mauler_lair_1.py b/scripts/mobiles/lairs/dantooine_graul_mauler_lair_1.py index dfad5707..88845099 100644 --- a/scripts/mobiles/lairs/dantooine_graul_mauler_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_graul_mauler_lair_1.py @@ -2,4 +2,5 @@ import sys from java.util import Vector def addTemplate(core): - core.spawnService.addLairTemplate('dantooine_graul_mauler_lair_1', 'graul_mauler', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + core.spawnService.addLairTemplate('dantooine_graul_mauler_lair_1', 'graul_mauler', 15, 'object/tangible/lair/base/poi_all_lair_rocks_large_evil_fire_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_graul_mauler_lair_2.py b/scripts/mobiles/lairs/dantooine_graul_mauler_lair_2.py new file mode 100644 index 00000000..ca0b46d3 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_graul_mauler_lair_2.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + + mobileTemplates = Vector() + mobileTemplates.add('graul_mauler') + mobileTemplates.add('graul_mangler') + + core.spawnService.addLairTemplate('dantooine_graul_mauler_lair_1', mobileTemplates , 15, 'object/tangible/lair/base/poi_all_lair_rocks_large_evil_fire_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_huurton_howler_lair_1.py b/scripts/mobiles/lairs/dantooine_huurton_howler_lair_1.py new file mode 100644 index 00000000..12dc3b54 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_huurton_howler_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('huurton_howler') + + core.spawnService.addLairTemplate('dantooine_huurton_howler_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/bramble_light.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_huurton_howler_lair_2.py b/scripts/mobiles/lairs/dantooine_huurton_howler_lair_2.py new file mode 100644 index 00000000..9ed66794 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_huurton_howler_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('huurton_howler') + mobileTemplates.add('huurton_bloodhunter') + + core.spawnService.addLairTemplate('dantooine_huurton_howler_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_brambles_large_fog_mustard.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_huurton_lair_1.py b/scripts/mobiles/lairs/dantooine_huurton_lair_1.py index 68fe6e33..6b3e89e2 100644 --- a/scripts/mobiles/lairs/dantooine_huurton_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_huurton_lair_1.py @@ -6,4 +6,6 @@ def addTemplate(core): mobileTemplates.add('huurton') mobileTemplates.add('huurton_howler') mobileTemplates.add('huurton_matron') - core.spawnService.addLairTemplate('dantooine_huurton_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + + core.spawnService.addLairTemplate('dantooine_huurton_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_huurton_lair_2.py b/scripts/mobiles/lairs/dantooine_huurton_lair_2.py index a94d718e..03eb120a 100644 --- a/scripts/mobiles/lairs/dantooine_huurton_lair_2.py +++ b/scripts/mobiles/lairs/dantooine_huurton_lair_2.py @@ -6,4 +6,6 @@ def addTemplate(core): mobileTemplates.add('huurton_pub') mobileTemplates.add('huurton_reaper') mobileTemplates.add('huurton_stalker') - core.spawnService.addLairTemplate('dantooine_huurton_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + + core.spawnService.addLairTemplate('dantooine_huurton_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_huurton_matron_lair_1.py b/scripts/mobiles/lairs/dantooine_huurton_matron_lair_1.py new file mode 100644 index 00000000..176637aa --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_huurton_matron_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('huurton_matron') + + + core.spawnService.addLairTemplate('dantooine_huurton_matron_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/bramble_light.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_piket_lair_1.py b/scripts/mobiles/lairs/dantooine_piket_lair_1.py index a6ccd8a6..baff7b2c 100644 --- a/scripts/mobiles/lairs/dantooine_piket_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_piket_lair_1.py @@ -1,4 +1,5 @@ import sys def addTemplate(core): - core.spawnService.addLairTemplate('dantooine_piket_lair_1', 'piket', 15, 'object/tangible/lair/base/shared_earthmound_light.iff') \ No newline at end of file + core.spawnService.addLairTemplate('dantooine_piket_lair_1', 'piket', 15, 'object/tangible/lair/base/shared_earthmound_light.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_1.py b/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_1.py index 1e24cef1..d4f0229e 100644 --- a/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_1.py @@ -5,5 +5,6 @@ def addTemplate(core): mobileTemplates = Vector() mobileTemplates.add('piket_longhorn') mobileTemplates.add('piket_longhorn_female') - mobileTemplates.add('piket_plains_walker') - core.spawnService.addLairTemplate('dantooine_piket_longhorn_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_earthmound_light.iff') \ No newline at end of file + + core.spawnService.addLairTemplate('dantooine_piket_longhorn_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/lair_base_mound_bramble_dark.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_2.py b/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_2.py new file mode 100644 index 00000000..7bad6b0e --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('piket_longhorn') + mobileTemplates.add('piket_longhorn_female') + + core.spawnService.addLairTemplate('dantooine_piket_longhorn_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_piket_plains_walker_lair_1.py b/scripts/mobiles/lairs/dantooine_piket_plains_walker_lair_1.py index b837fe8c..88314728 100644 --- a/scripts/mobiles/lairs/dantooine_piket_plains_walker_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_piket_plains_walker_lair_1.py @@ -4,4 +4,6 @@ from java.util import Vector def addTemplate(core): mobileTemplates = Vector() mobileTemplates.add('piket_plains_walker') - core.spawnService.addLairTemplate('dantooine_piket_plains_walker_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_earthmound_light.iff') \ No newline at end of file + + core.spawnService.addLairTemplate('dantooine_piket_plains_walker_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_earthmound_light.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_piket_protector_lair_1.py b/scripts/mobiles/lairs/dantooine_piket_protector_lair_1.py new file mode 100644 index 00000000..fd64b4e1 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_piket_protector_lair_1.py @@ -0,0 +1,5 @@ +import sys + +def addTemplate(core): + core.spawnService.addLairTemplate('dantooine_piket_protector_lair_1', 'fierce_piket_protector', 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_quenker_bile_lair_1.py b/scripts/mobiles/lairs/dantooine_quenker_bile_lair_1.py new file mode 100644 index 00000000..166c54d3 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_quenker_bile_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('bile_drenched_quenker') + + core.spawnService.addLairTemplate('dantooine_quenker_bile_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_thicket_small_fog_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_quenker_bile_lair_2.py b/scripts/mobiles/lairs/dantooine_quenker_bile_lair_2.py new file mode 100644 index 00000000..061d5ffa --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_quenker_bile_lair_2.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('bile_drenched_quenker') + + core.spawnService.addLairTemplate('dantooine_quenker_bile_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_warren_small_fog_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_quenker_lair_1.py b/scripts/mobiles/lairs/dantooine_quenker_lair_1.py index 4856d31e..204cc448 100644 --- a/scripts/mobiles/lairs/dantooine_quenker_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_quenker_lair_1.py @@ -4,6 +4,6 @@ from java.util import Vector def addTemplate(core): mobileTemplates = Vector() mobileTemplates.add('quenker') - mobileTemplates.add('quenker_ravager') - mobileTemplates.add('quenker_relic_reaper') - core.spawnService.addLairTemplate('dantooine_quenker_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + + core.spawnService.addLairTemplate('dantooine_quenker_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large_fog_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_quenker_ravager_lair_1.py b/scripts/mobiles/lairs/dantooine_quenker_ravager_lair_1.py new file mode 100644 index 00000000..9fba4007 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_quenker_ravager_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('quenker_ravager') + + core.spawnService.addLairTemplate('dantooine_quenker_ravager_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_warren_small_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_quenker_relic_reaper_lair_1.py b/scripts/mobiles/lairs/dantooine_quenker_relic_reaper_lair_1.py new file mode 100644 index 00000000..a4a8011f --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_quenker_relic_reaper_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('quenker_relic_reaper') + + core.spawnService.addLairTemplate('dantooine_quenker_relic_reaper_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_warren_small_fog_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_quenker_savage_lair_1.py b/scripts/mobiles/lairs/dantooine_quenker_savage_lair_1.py new file mode 100644 index 00000000..bbce9ee6 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_quenker_savage_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('savage_quenker') + + core.spawnService.addLairTemplate('dantooine_quenker_savage_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_warren_small_fog_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_quenker_savage_lair_2.py b/scripts/mobiles/lairs/dantooine_quenker_savage_lair_2.py new file mode 100644 index 00000000..3b58cfdb --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_quenker_savage_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('savage_quenker') + mobileTemplates.add('terrible_quenker') + + core.spawnService.addLairTemplate('dantooine_quenker_savage_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_warren_small_evil_fire_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_thune_lair_1.py b/scripts/mobiles/lairs/dantooine_thune_lair_1.py index 93962a7a..1ab7ea01 100644 --- a/scripts/mobiles/lairs/dantooine_thune_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_thune_lair_1.py @@ -4,6 +4,6 @@ from java.util import Vector def addTemplate(core): mobileTemplates = Vector() mobileTemplates.add('thune') - mobileTemplates.add('thune_grassland_guardian') - mobileTemplates.add('thune_herd_leader') - core.spawnService.addLairTemplate('dantooine_thune_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_earthmound_light.iff') \ No newline at end of file + + core.spawnService.addLairTemplate('dantooine_thune_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large_fog_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_horned_lizard_lair_1.py b/scripts/mobiles/lairs/dantooine_voritor_horned_lizard_lair_1.py new file mode 100644 index 00000000..0db9d437 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_voritor_horned_lizard_lair_1.py @@ -0,0 +1,6 @@ +import sys +from java.util import Vector + +def addTemplate(core): + core.spawnService.addLairTemplate('dantooine_voritor_horned_lizard_lair_1', 'horned_voritor_jungle_lizard', 15, 'object/tangible/lair/base/poi_all_lair_leaf_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_horned_lizard_lair_2.py b/scripts/mobiles/lairs/dantooine_voritor_horned_lizard_lair_2.py new file mode 100644 index 00000000..5b387af4 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_voritor_horned_lizard_lair_2.py @@ -0,0 +1,6 @@ +import sys +from java.util import Vector + +def addTemplate(core): + core.spawnService.addLairTemplate('dantooine_voritor_horned_lizard_lair_1', 'horned_voritor_jungle_lizard', 15, 'object/tangible/lair/base/poi_all_lair_thicket_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_hunter_lair_1.py b/scripts/mobiles/lairs/dantooine_voritor_hunter_lair_1.py new file mode 100644 index 00000000..e466f3fd --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_voritor_hunter_lair_1.py @@ -0,0 +1,6 @@ +import sys +from java.util import Vector + +def addTemplate(core): + core.spawnService.addLairTemplate('dantooine_voritor_hunter_lair_2', 'slinking_voritor_hunter', 15, 'object/tangible/lair/base/poi_all_lair_bones.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_hunter_lair_2.py b/scripts/mobiles/lairs/dantooine_voritor_hunter_lair_2.py new file mode 100644 index 00000000..2df263de --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_voritor_hunter_lair_2.py @@ -0,0 +1,6 @@ +import sys +from java.util import Vector + +def addTemplate(core): + core.spawnService.addLairTemplate('dantooine_voritor_hunter_lair_1', 'slinking_voritor_hunter', 15, 'object/tangible/lair/base/poi_all_lair_dead_log_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_jungle_lair_1.py b/scripts/mobiles/lairs/dantooine_voritor_jungle_lair_1.py new file mode 100644 index 00000000..332d53a1 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_voritor_jungle_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('horned_voritor_jungle_lizard') + mobileTemplates.add('spiked_slasher') + + core.spawnService.addLairTemplate('dantooine_voritor_jungle_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_leaf_small_fog_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_jungle_lair_2.py b/scripts/mobiles/lairs/dantooine_voritor_jungle_lair_2.py new file mode 100644 index 00000000..9dc8a02a --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_voritor_jungle_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('horned_voritor_jungle_lizard') + mobileTemplates.add('spiked_slasher') + + core.spawnService.addLairTemplate('dantooine_voritor_jungle_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_thicket_small_fog_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_lair_1.py b/scripts/mobiles/lairs/dantooine_voritor_lair_1.py index 8e1afee4..cb1f3fbf 100644 --- a/scripts/mobiles/lairs/dantooine_voritor_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_voritor_lair_1.py @@ -2,4 +2,8 @@ import sys from java.util import Vector def addTemplate(core): - core.spawnService.addLairTemplate('dantooine_voritor_lair_1', 'voritor_lizard', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + mobileTemplates = Vector() + mobileTemplates.add('voritor_lizard') + + core.spawnService.addLairTemplate('dantooine_voritor_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_leaf_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_lair_2.py b/scripts/mobiles/lairs/dantooine_voritor_lair_2.py index 9352c9f3..8ec37571 100644 --- a/scripts/mobiles/lairs/dantooine_voritor_lair_2.py +++ b/scripts/mobiles/lairs/dantooine_voritor_lair_2.py @@ -3,9 +3,7 @@ from java.util import Vector def addTemplate(core): mobileTemplates = Vector() - mobileTemplates.add('voritor_lizard') - mobileTemplates.add('horned_voritor_jungle_lizard') - mobileTemplates.add('vexed_voritor_lizard') - mobileTemplates.add('voritor_dasher') - mobileTemplates.add('spiked_slasher') - core.spawnService.addLairTemplate('dantooine_voritor_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + mobileTemplates.add('voritor_lizard') + + core.spawnService.addLairTemplate('dantooine_voritor_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_thicket_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_tracker_lair_1.py b/scripts/mobiles/lairs/dantooine_voritor_tracker_lair_1.py new file mode 100644 index 00000000..c144818b --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_voritor_tracker_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('grassland_voritor_tracker') + + core.spawnService.addLairTemplate('dantooine_voritor_tracker_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_thicket_small_fog_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/lok_gurk_lair.py b/scripts/mobiles/lairs/lok_gurk_lair.py new file mode 100644 index 00000000..9c7997b3 --- /dev/null +++ b/scripts/mobiles/lairs/lok_gurk_lair.py @@ -0,0 +1,8 @@ +import sys +from java.util import Vector + +def addTemplate(core): + lairCRCs = Vector() + lairCRCs.add('object/tangible/terminal/shared_terminal_character_builder.iff') + core.spawnService.addLairTemplate('lok_gurk_lair', 'lok_gurk', 15, lairCRCs,'reclusive_gurk_king') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/naboo_chuba_lair_neutral_small.py b/scripts/mobiles/lairs/naboo_chuba_lair_neutral_small.py index ac408bdb..8b1f2057 100644 --- a/scripts/mobiles/lairs/naboo_chuba_lair_neutral_small.py +++ b/scripts/mobiles/lairs/naboo_chuba_lair_neutral_small.py @@ -1,4 +1,5 @@ import sys def addTemplate(core): - core.spawnService.addLairTemplate('naboo_chuba_lair_neutral_small', 'chuba', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + core.spawnService.addLairTemplate('naboo_chuba_lair_neutral_small', 'chuba', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/tatooine_kreetle_lair_neutral_small.py b/scripts/mobiles/lairs/tatooine_kreetle_lair_neutral_small.py index 76e76ebe..c50994d2 100644 --- a/scripts/mobiles/lairs/tatooine_kreetle_lair_neutral_small.py +++ b/scripts/mobiles/lairs/tatooine_kreetle_lair_neutral_small.py @@ -1,4 +1,5 @@ import sys def addTemplate(core): - core.spawnService.addLairTemplate('tatooine_kreetle_lair_neutral_small', 'kreetle', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + core.spawnService.addLairTemplate('tatooine_kreetle_lair_neutral_small', 'kreetle', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/tatooine_womprat_lair_neutral_small.py b/scripts/mobiles/lairs/tatooine_womprat_lair_neutral_small.py index 60400598..6de07bc2 100644 --- a/scripts/mobiles/lairs/tatooine_womprat_lair_neutral_small.py +++ b/scripts/mobiles/lairs/tatooine_womprat_lair_neutral_small.py @@ -1,4 +1,5 @@ import sys def addTemplate(core): - core.spawnService.addLairTemplate('tatooine_womprat_lair_neutral_small', 'womprat', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + core.spawnService.addLairTemplate('tatooine_womprat_lair_neutral_small', 'womprat', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lok/lok_gurk.py b/scripts/mobiles/lok/lok_gurk.py new file mode 100644 index 00000000..fa561007 --- /dev/null +++ b/scripts/mobiles/lok/lok_gurk.py @@ -0,0 +1,46 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from resources.datatables import WeaponType +from resources.datatables import Difficulty +from resources.datatables import Options +from java.util import Vector + + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCustomName('A gurk') + mobileTemplate.setLevel(79) + mobileTemplate.setMinLevel(79) + mobileTemplate.setMaxLevel(80) + mobileTemplate.setDifficulty(Difficulty.NORMAL) + + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setMeatType("Carnivore Meat") + mobileTemplate.setMeatAmount(1450) + mobileTemplate.setHideType("Leathery Hide") + mobileTemplate.setHideAmount(1350) + mobileTemplate.setSocialGroup("kimogila") + mobileTemplate.setAssistRange(12) + mobileTemplate.setStalker(True) + mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE) + + templates = Vector() + templates.add('object/mobile/shared_voritor_dasher.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('lok_gurk', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/lok/reclusive_gurk_king.py b/scripts/mobiles/lok/reclusive_gurk_king.py new file mode 100644 index 00000000..754ca0fe --- /dev/null +++ b/scripts/mobiles/lok/reclusive_gurk_king.py @@ -0,0 +1,46 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from resources.datatables import WeaponType +from resources.datatables import Difficulty +from resources.datatables import Options +from java.util import Vector + + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCustomName('Gurk King') + mobileTemplate.setLevel(79) + mobileTemplate.setMinLevel(79) + mobileTemplate.setMaxLevel(80) + mobileTemplate.setDifficulty(Difficulty.BOSS) + + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setMeatType("Carnivore Meat") + mobileTemplate.setMeatAmount(1450) + mobileTemplate.setHideType("Leathery Hide") + mobileTemplate.setHideAmount(1350) + mobileTemplate.setSocialGroup("kimogila") + mobileTemplate.setAssistRange(12) + mobileTemplate.setStalker(True) + mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE) + + templates = Vector() + templates.add('object/mobile/shared_recluse_gurk_king.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('reclusive_gurk_king', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/spawnareas/lok_lair_bosstest_1.py b/scripts/mobiles/spawnareas/lok_lair_bosstest_1.py new file mode 100644 index 00000000..64d88a8d --- /dev/null +++ b/scripts/mobiles/spawnareas/lok_lair_bosstest_1.py @@ -0,0 +1,6 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys + +def addSpawnArea(core): + core.spawnService.addLairSpawnArea('lok_bosstest', -2400, 3600, 1800, 'lok') + return diff --git a/scripts/object/building/player/player_house_mustafar_lg.py b/scripts/object/building/player/player_house_mustafar_lg.py index c768c102..4fc36272 100644 --- a/scripts/object/building/player/player_house_mustafar_lg.py +++ b/scripts/object/building/player/player_house_mustafar_lg.py @@ -8,4 +8,10 @@ def setup(core, object): structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', -4.1, 0.55, 6.6, 0.714 ,0.714, 1) #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') structureterminal.setAttachment('housing_parentstruct', object) + + elevatorterminal1 = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_elevator_down.iff', 0, 0.8, -0.655, -0.103, 0.998, 10) + + elevatorterminal2 = core.objectService.createChildobject(object, 'object/tangible/terminal/shared_terminal_elevator.iff', 0, -3, -0.655, 0.994, -0.103, 10) + + elevatorterminal3 = core.objectService.createChildobject(object, 'object/tangible/terminal/shared_terminal_elevator_up.iff', 0, -6, -0.655, 0.994, -0.103, 10) return \ No newline at end of file diff --git a/scripts/object/tangible/crafting/station/item_npe_gen_craft_tool_trader_03_01.py b/scripts/object/tangible/crafting/station/item_npe_gen_craft_tool_trader_03_01.py new file mode 100644 index 00000000..c8257a29 --- /dev/null +++ b/scripts/object/tangible/crafting/station/item_npe_gen_craft_tool_trader_03_01.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_npe_gen_craft_tool_trader_03_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_npe_gen_craft_tool_trader_03_01') + object.setIntAttribute('no_trade', 1) + object.setIntAttribute('required_combat_level', 1) + + return diff --git a/scripts/object/tangible/loot/generic_usable/item_bounty_hunter_clicky_01_02.py b/scripts/object/tangible/loot/generic_usable/item_bounty_hunter_clicky_01_02.py index f65bc0a3..d8a79549 100644 --- a/scripts/object/tangible/loot/generic_usable/item_bounty_hunter_clicky_01_02.py +++ b/scripts/object/tangible/loot/generic_usable/item_bounty_hunter_clicky_01_02.py @@ -6,6 +6,7 @@ def setup(core, object): object.setStfName('item_bounty_hunter_clicky_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_bounty_hunter_clicky_01_02') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Bounty Hunter') return diff --git a/scripts/object/tangible/loot/generic_usable/item_commando_clicky_01_02.py b/scripts/object/tangible/loot/generic_usable/item_commando_clicky_01_02.py index 165755c5..ad443d0f 100644 --- a/scripts/object/tangible/loot/generic_usable/item_commando_clicky_01_02.py +++ b/scripts/object/tangible/loot/generic_usable/item_commando_clicky_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfFilename('static_item_n') object.setStfName('item_commando_clicky_01_02') object.setDetailFilename('static_item_d') + object.setIntAttribute('no_trade', 1) object.setDetailName('item_commando_clicky_01_02') object.setStringAttribute('class_required', 'Commando') return diff --git a/scripts/object/tangible/loot/generic_usable/item_entertainer_clicky_01_02.py b/scripts/object/tangible/loot/generic_usable/item_entertainer_clicky_01_02.py index 2033534c..d9ccdb3b 100644 --- a/scripts/object/tangible/loot/generic_usable/item_entertainer_clicky_01_02.py +++ b/scripts/object/tangible/loot/generic_usable/item_entertainer_clicky_01_02.py @@ -6,6 +6,7 @@ def setup(core, object): object.setStfName('item_entertainer_clicky_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_entertainer_clicky_01_02') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Entertainer') return diff --git a/scripts/object/tangible/loot/generic_usable/item_force_sensitive_clicky_01_02.py b/scripts/object/tangible/loot/generic_usable/item_force_sensitive_clicky_01_02.py index 261d9930..64023ec6 100644 --- a/scripts/object/tangible/loot/generic_usable/item_force_sensitive_clicky_01_02.py +++ b/scripts/object/tangible/loot/generic_usable/item_force_sensitive_clicky_01_02.py @@ -6,6 +6,7 @@ def setup(core, object): object.setStfName('item_force_sensitive_clicky_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_force_sensitive_clicky_01_02') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Jedi') return diff --git a/scripts/object/tangible/loot/generic_usable/item_medic_clicky_01_02.py b/scripts/object/tangible/loot/generic_usable/item_medic_clicky_01_02.py index 8567c5f0..fab14c4c 100644 --- a/scripts/object/tangible/loot/generic_usable/item_medic_clicky_01_02.py +++ b/scripts/object/tangible/loot/generic_usable/item_medic_clicky_01_02.py @@ -6,6 +6,7 @@ def setup(core, object): object.setStfName('item_medic_clicky_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_medic_clicky_01_02') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Medic') return def use(core, actor, object): diff --git a/scripts/object/tangible/loot/generic_usable/item_officer_clicky_01_02.py b/scripts/object/tangible/loot/generic_usable/item_officer_clicky_01_02.py index 712c17ba..8319db18 100644 --- a/scripts/object/tangible/loot/generic_usable/item_officer_clicky_01_02.py +++ b/scripts/object/tangible/loot/generic_usable/item_officer_clicky_01_02.py @@ -6,6 +6,7 @@ def setup(core, object): object.setStfName('item_officer_clicky_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_officer_clicky_01_02') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Officer') return diff --git a/scripts/object/tangible/loot/generic_usable/item_smuggler_clicky_01_02.py b/scripts/object/tangible/loot/generic_usable/item_smuggler_clicky_01_02.py index 2c0614bc..a0c4226c 100644 --- a/scripts/object/tangible/loot/generic_usable/item_smuggler_clicky_01_02.py +++ b/scripts/object/tangible/loot/generic_usable/item_smuggler_clicky_01_02.py @@ -6,6 +6,7 @@ def setup(core, object): object.setStfName('item_smuggler_clicky_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_smuggler_clicky_01_02') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Smuggler') return diff --git a/scripts/object/tangible/loot/generic_usable/item_spy_clicky_01_02.py b/scripts/object/tangible/loot/generic_usable/item_spy_clicky_01_02.py index d55d710d..6a4c717f 100644 --- a/scripts/object/tangible/loot/generic_usable/item_spy_clicky_01_02.py +++ b/scripts/object/tangible/loot/generic_usable/item_spy_clicky_01_02.py @@ -6,6 +6,7 @@ def setup(core, object): object.setStfName('item_spy_clicky_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_spy_clicky_01_02') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Spy') return diff --git a/scripts/object/tangible/npe/npe_uniform_box.py b/scripts/object/tangible/npe/npe_uniform_box.py index ccad8904..959298b9 100644 --- a/scripts/object/tangible/npe/npe_uniform_box.py +++ b/scripts/object/tangible/npe/npe_uniform_box.py @@ -1,4 +1,141 @@ import sys +from java.util import Vector def setup(core, object): - return \ No newline at end of file + object.setAttachment('radial_filename', 'object/usable') + return + +def use(core, actor, object): + + profession = actor.getSlottedObject('ghost').getProfession() + items = Vector() + + if profession =='force_sensitive_1a': + robe = core.objectService.createObject('object/tangible/wearables/robe/shared_robe_jedi_padawan.iff', actor.getPlanet(), 'item_npe_fs_robe_02_01') + items.add(robe) + + elif profession =='entertainer_1a': + boots = core.objectService.createObject('object/tangible/wearables/boots/shared_boots_s15.iff', actor.getPlanet(), 'item_entertainer_boots_02_01') + pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s13.iff', actor.getPlanet(), 'item_entertainer_pants_02_01') + shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s04.iff', actor.getPlanet(), 'item_entertainer_shirt_02_01') + hat = core.objectService.createObject('object/tangible/wearables/hat/shared_hat_s02.iff', actor.getPlanet(), 'item_entertainer_hat_02_01') + items.add(boots) + items.add(pants) + items.add(shirt) + items.add(hat) + + elif profession =='officer_1a': + boots = core.objectService.createObject('object/tangible/wearables/boots/shared_boots_s22.iff', actor.getPlanet(), 'item_officer_boots_02_01') + pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s15.iff', actor.getPlanet(), 'item_officer_pants_02_01') + shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s34.iff', actor.getPlanet(), 'item_officer_shirt_02_01') + belt = core.objectService.createObject('object/tangible/wearables/belt/shared_belt_s11.iff', actor.getPlanet(), 'item_officer_belt_02_01') + items.add(boots) + items.add(pants) + items.add(shirt) + items.add(belt) + + elif profession =='bounty_hunter_1a': + boots = core.objectService.createObject('object/tangible/wearables/boots/shared_boots_s12.iff', actor.getPlanet(), 'item_bounty_hunter_boots_02_01') + pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s08.iff', actor.getPlanet(), 'item_bounty_hunter_pants_02_01') + shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s42.iff', actor.getPlanet(), 'item_bounty_hunter_shirt_02_01') + vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_s09.iff', actor.getPlanet(), 'item_bounty_hunter_vest_02_01') + items.add(boots) + items.add(pants) + items.add(shirt) + items.add(vest) + + elif profession =='smuggler_1a': + boots = core.objectService.createObject('object/tangible/wearables/boots/shared_boots_s15.iff', actor.getPlanet(), 'item_smuggler_boots_02_01') + pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s05.iff', actor.getPlanet(), 'item_smuggler_pants_02_01') + shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s16.iff', actor.getPlanet(), 'item_smuggler_shirt_02_01') + vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_s15.iff', actor.getPlanet(), 'item_smuggler_vest_02_01') + items.add(boots) + items.add(pants) + items.add(shirt) + items.add(vest) + + elif profession =='commando_1a': + boots = core.objectService.createObject('object/tangible/wearables/boots/shared_boots_s22.iff', actor.getPlanet(), 'item_commando_boots_02_01') + pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s05.iff', actor.getPlanet(), 'item_commando_pants_02_01') + shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s42.iff', actor.getPlanet(), 'item_commando_shirt_02_01') + vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_s04.iff', actor.getPlanet(), 'item_commando_vest_02_01') + items.add(boots) + items.add(pants) + items.add(shirt) + items.add(vest) + + elif profession =='spy_1a': + boots = core.objectService.createObject('object/tangible/wearables/boots/shared_boots_s12.iff', actor.getPlanet(), 'item_spy_boots_02_01') + gloves = core.objectService.createObject('object/tangible/wearables/gloves/shared_gloves_s12.iff', actor.getPlanet(), 'item_spy_gloves_02_01') + pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s30.iff', actor.getPlanet(), 'item_spy_pants_02_01') + shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s30.iff', actor.getPlanet(), 'item_spy_shirt_02_01') + items.add(boots) + items.add(gloves) + items.add(pants) + items.add(shirt) + + elif profession == 'medic_1a': + boots = core.objectService.createObject('object/tangible/wearables/boots/shared_boots_s22.iff', actor.getPlanet(), 'item_medic_boots_02_01') + pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s08.iff', actor.getPlanet(), 'item_medic_pants_02_01') + shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s27.iff', actor.getPlanet(), 'item_medic_shirt_02_01') + vest = core.objectService.createObject('object/tangible/wearables/vest/shared_vest_s05.iff', actor.getPlanet(), 'item_medic_vest_02_01') + items.add(shoes) + items.add(pants) + items.add(shirt) + items.add(vest) + + elif "trader" in profession: + shoes = core.objectService.createObject('object/tangible/wearables/shoes/shared_shoes_s01.iff', actor.getPlanet(), 'item_trader_shoes_02_01') + pants = core.objectService.createObject('object/tangible/wearables/pants/shared_pants_s15.iff', actor.getPlanet(), 'item_trader_pants_02_01') + shirt = core.objectService.createObject('object/tangible/wearables/shirt/shared_shirt_s05.iff', actor.getPlanet(), 'item_trader_shirt_02_01') + belt = core.objectService.createObject('object/tangible/wearables/armor/zam/shared_armor_zam_wesell_belt.iff', actor.getPlanet()) + items.add(shoes) + items.add(pants) + items.add(shirt) + items.add(belt) + + else: + actor.sendSystemMessage('@base_player:not_correct_skill', 0) + + items.add(createProfessionItem(core, actor)) + core.playerService.giveItems(actor, items) + core.objectService.destroyObject(object) + return + + +def createProfessionItem(core, actor): + profession = actor.getSlottedObject('ghost').getProfession() + + if profession == 'bounty_hunter_1a': + return core.objectService.createObject('object/weapon/ranged/carbine/shared_carbine_dh17_black_npe.iff', actor.getPlanet(), 'weapon_npe_carbine_bh_03_01') + + elif profession == 'commando_1a': + return core.objectService.createObject('object/weapon/ranged/carbine/shared_carbine_dh17_black_npe.iff', actor.getPlanet(), 'weapon_npe_commando_carbine_03_01') + + elif profession == 'entertainer_1a': + print("Entertainer Professionitem disabled for now") + #return core.objectService.createObject('object/tangible/dance_prob/shared_prop_sparkler_l.iff', actor.getPlanet()) + + elif profession == 'force_sensitive_1a': + return core.objectService.createObject('object/weapon/melee/polearm/shared_polearm_vibro_axe_npe.iff', actor.getPlanet(), 'weapon_polearm_02_03') + + elif profession == 'medic_1a': + return core.objectService.createObject('object/weapon/ranged/pistol/shared_pistol_scout_blaster_npe.iff', actor.getPlanet(), 'weapon_npe_medic_pistol_03_01') + + elif profession == 'officer_1a': + return core.objectService.createObject('object/weapon/ranged/pistol/shared_pistol_scout_blaster_npe.iff', actor.getPlanet(), 'item_npe_officer_sidearm') + + elif profession == 'smuggler_1a': + return core.objectService.createObject('object/weapon/ranged/pistol/shared_pistol_dl44_metal.iff', actor.getPlanet(), 'item_npe_smuggler_han_solo_gun') + + elif profession == 'spy_1a': + return core.objectService.createObject('object/weapon/ranged/carbine/shared_carbine_dh17_black_npe.iff', actor.getPlanet(), 'weapon_npe_carbine_spy_03_01') + + elif "trader" in profession: + print("Trader Professionitem disabled until crafting is in") + #return core.objectService.createObject('object/tangible/crafting/station/shared_generic_generic_tool.iff', actor.getPlanet(), 'item_npe_gen_craft_tool_trader_03_01') + + + return + + \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bicep_l_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bicep_l_02_01.py index eca97b55..48fcbde1 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bicep_l_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bicep_l_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_bounty_hunter_roadmap_bicep_l_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_bounty_hunter_roadmap_bicep_l_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bicep_r_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bicep_r_02_01.py index 620162e6..18778491 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bicep_r_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bicep_r_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_bounty_hunter_roadmap_bicep_r_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_bounty_hunter_roadmap_bicep_r_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_boots_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_boots_02_01.py index 02901aa8..01913d13 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_boots_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_boots_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_bounty_hunter_roadmap_boots_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_bounty_hunter_roadmap_boots_02_01') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') return diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bracer_l_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bracer_l_02_01.py index 9cc31a18..32ca34fb 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bracer_l_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bracer_l_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_bounty_hunter_roadmap_bracer_l_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_bounty_hunter_roadmap_bracer_l_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bracer_r_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bracer_r_02_01.py index 9d568858..34c21636 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bracer_r_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_bracer_r_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_bounty_hunter_roadmap_bracer_r_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_bounty_hunter_roadmap_bracer_r_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_chest_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_chest_02_01.py index 0aa599e3..02e45e85 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_chest_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_chest_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_bounty_hunter_roadmap_chest_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_bounty_hunter_roadmap_chest_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_gloves_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_gloves_02_01.py index 2dea0b31..44a518f0 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_gloves_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_gloves_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_bounty_hunter_roadmap_gloves_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_bounty_hunter_roadmap_gloves_02_01') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') return diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_helmet_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_helmet_02_01.py index e51b6216..6e2f1fb7 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_helmet_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_helmet_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_bounty_hunter_roadmap_helmet_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_bounty_hunter_roadmap_helmet_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_leggings_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_leggings_02_01.py index fcb345da..58f96dcc 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_leggings_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_bounty_hunter_roadmap_leggings_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_bounty_hunter_roadmap_leggings_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_bounty_hunter_roadmap_leggings_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bicep_l_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bicep_l_02_01.py index ab6643d1..9636c70c 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bicep_l_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bicep_l_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_commando_roadmap_bicep_l_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_commando_roadmap_bicep_l_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Commando') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bicep_r_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bicep_r_02_01.py index ade79d6e..49d07ed6 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bicep_r_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bicep_r_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_commando_roadmap_bicep_r_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_commando_roadmap_bicep_r_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Commando') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_boots_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_boots_02_01.py index 6c0d8c60..6ef00772 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_boots_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_boots_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_commando_roadmap_boots_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_commando_roadmap_boots_02_01') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Commando') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') return diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bracer_l_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bracer_l_02_01.py index 868cc082..660b3a6e 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bracer_l_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bracer_l_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_commando_roadmap_bracer_l_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_commando_roadmap_bracer_l_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Commando') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bracer_r_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bracer_r_02_01.py index a51da683..02c8cbe7 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bracer_r_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_bracer_r_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_commando_roadmap_bracer_r_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_commando_roadmap_bracer_r_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Commando') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_chest_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_chest_02_01.py index c6ffaa48..1690021b 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_chest_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_chest_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_commando_roadmap_chest_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_commando_roadmap_chest_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Commando') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_gloves_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_gloves_02_01.py index 3bb5dde3..7ebff097 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_gloves_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_gloves_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_commando_roadmap_gloves_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_commando_roadmap_gloves_02_01') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Commando') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') return diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_helmet_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_helmet_02_01.py index 724dabb0..2651b355 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_helmet_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_helmet_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_commando_roadmap_helmet_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_commando_roadmap_helmet_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Commando') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_leggings_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_leggings_02_01.py index 039b9ab4..b1c733f2 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_leggings_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_commando_roadmap_leggings_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_commando_roadmap_leggings_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_commando_roadmap_leggings_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Commando') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bicep_l_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bicep_l_02_01.py index 367b6b0f..77e5a82c 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bicep_l_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bicep_l_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_officer_roadmap_bicep_l_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_officer_roadmap_bicep_l_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Officer') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bicep_r_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bicep_r_02_01.py index 34a0b3e0..4292509c 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bicep_r_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bicep_r_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_officer_roadmap_bicep_r_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_officer_roadmap_bicep_r_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Officer') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_boots_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_boots_02_01.py index 22ac3210..571e40a7 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_boots_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_boots_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_officer_roadmap_boots_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_officer_roadmap_boots_02_01') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Officer') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') return diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bracer_l_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bracer_l_02_01.py index 91127698..8a96a9e9 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bracer_l_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bracer_l_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_officer_roadmap_bracer_l_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_officer_roadmap_bracer_l_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Officer') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bracer_r_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bracer_r_02_01.py index 5b388ff8..e5b2ffce 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bracer_r_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_bracer_r_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_officer_roadmap_bracer_r_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_officer_roadmap_bracer_r_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Officer') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_chest_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_chest_02_01.py index 42da84a6..484e8680 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_chest_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_chest_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_officer_roadmap_chest_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_officer_roadmap_chest_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Officer') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_gloves_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_gloves_02_01.py index 0693bb14..c1013e71 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_gloves_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_gloves_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_officer_roadmap_gloves_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_officer_roadmap_gloves_02_01') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Officer') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') return diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_helmet_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_helmet_02_01.py index b7b499d5..9b4ac6bd 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_helmet_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_helmet_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_officer_roadmap_helmet_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_officer_roadmap_helmet_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Officer') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_leggings_02_01.py b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_leggings_02_01.py index 570e11ae..57fabef2 100644 --- a/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_leggings_02_01.py +++ b/scripts/object/tangible/wearables/armor/composite/armor_officer_roadmap_leggings_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_officer_roadmap_leggings_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_officer_roadmap_leggings_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Officer') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bicep_l_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bicep_l_02_03.py index 67da6ef4..173c23f6 100644 --- a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bicep_l_02_03.py +++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bicep_l_02_03.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_ithorian_roadmap_bicep_l_02_03') object.setDetailFilename('static_item_d') object.setDetailName('armor_ithorian_roadmap_bicep_l_02_03') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', 'Assault') diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bicep_r_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bicep_r_02_03.py index 53f0fb21..e1b578ab 100644 --- a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bicep_r_02_03.py +++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bicep_r_02_03.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_ithorian_roadmap_bicep_r_02_03') object.setDetailFilename('static_item_d') object.setDetailName('armor_ithorian_roadmap_bicep_r_02_03') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', 'Assault') diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_boots_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_boots_02_03.py index 5822a2dc..63671ab1 100644 --- a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_boots_02_03.py +++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_boots_02_03.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_ithorian_roadmap_boots_02_03') object.setDetailFilename('static_item_d') object.setDetailName('armor_ithorian_roadmap_boots_02_03') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', 'Assault') return diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bracer_l_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bracer_l_02_03.py index 2c96e2dd..c7d9f8f6 100644 --- a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bracer_l_02_03.py +++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bracer_l_02_03.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_ithorian_roadmap_bracer_l_02_03') object.setDetailFilename('static_item_d') object.setDetailName('armor_ithorian_roadmap_bracer_l_02_03') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', 'Assault') diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bracer_r_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bracer_r_02_03.py index 1fee94a5..7a72f952 100644 --- a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bracer_r_02_03.py +++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_bracer_r_02_03.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_ithorian_roadmap_bracer_r_02_03') object.setDetailFilename('static_item_d') object.setDetailName('armor_ithorian_roadmap_bracer_r_02_03') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', 'Assault') diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_chest_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_chest_02_03.py index b17b98cc..5bc36496 100644 --- a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_chest_02_03.py +++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_chest_02_03.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_ithorian_roadmap_chest_02_03') object.setDetailFilename('static_item_d') object.setDetailName('armor_ithorian_roadmap_chest_02_03') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', 'Assault') diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_gloves_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_gloves_02_03.py index 54aab0ca..0fdc1d48 100644 --- a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_gloves_02_03.py +++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_gloves_02_03.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_ithorian_roadmap_gloves_02_03') object.setDetailFilename('static_item_d') object.setDetailName('armor_ithorian_roadmap_gloves_02_03') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', 'Assault') return diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_helmet_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_helmet_02_03.py index 91f77a60..88ec64f6 100644 --- a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_helmet_02_03.py +++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_helmet_02_03.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_ithorian_roadmap_helmet_02_03') object.setDetailFilename('static_item_d') object.setDetailName('armor_ithorian_roadmap_helmet_02_03') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', 'Assault') diff --git a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_leggings_02_03.py b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_leggings_02_03.py index e77eef3a..22d2ce94 100644 --- a/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_leggings_02_03.py +++ b/scripts/object/tangible/wearables/armor/ithorian_sentinel/armor_ithorian_roadmap_leggings_02_03.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_ithorian_roadmap_leggings_02_03') object.setDetailFilename('static_item_d') object.setDetailName('armor_ithorian_roadmap_leggings_02_03') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', 'Assault') diff --git a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bicep_l_02_03.py b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bicep_l_02_03.py index 765a3379..c7c83735 100644 --- a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bicep_l_02_03.py +++ b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bicep_l_02_03.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_wookiee_roadmap_bicep_l_02_03') object.setDetailFilename('static_item_d') object.setDetailName('armor_wookiee_roadmap_bicep_l_02_03') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', 'Assault') diff --git a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bicep_r_02_03.py b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bicep_r_02_03.py index f25225df..4dab83e8 100644 --- a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bicep_r_02_03.py +++ b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bicep_r_02_03.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_wookiee_roadmap_bicep_r_02_03') object.setDetailFilename('static_item_d') object.setDetailName('armor_wookiee_roadmap_bicep_r_02_03') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', 'Assault') diff --git a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bracer_l_02_03.py b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bracer_l_02_03.py index 808e135d..c06ec287 100644 --- a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bracer_l_02_03.py +++ b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bracer_l_02_03.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_wookiee_roadmap_bracer_l_02_03') object.setDetailFilename('static_item_d') object.setDetailName('armor_wookiee_roadmap_bracer_l_02_03') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', 'Assault') diff --git a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bracer_r_02_03.py b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bracer_r_02_03.py index a2b95572..640deb4f 100644 --- a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bracer_r_02_03.py +++ b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_bracer_r_02_03.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_wookiee_roadmap_bracer_r_02_03') object.setDetailFilename('static_item_d') object.setDetailName('armor_wookiee_roadmap_bracer_r_02_03') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', 'Assault') diff --git a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_chest_02_03.py b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_chest_02_03.py index 15500015..7d1fa6c9 100644 --- a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_chest_02_03.py +++ b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_chest_02_03.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_wookiee_roadmap_chest_02_03') object.setDetailFilename('static_item_d') object.setDetailName('armor_wookiee_roadmap_chest_02_03') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', 'Assault') diff --git a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_leggings_02_03.py b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_leggings_02_03.py index ca4b2cfa..facb2b9b 100644 --- a/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_leggings_02_03.py +++ b/scripts/object/tangible/wearables/armor/kashyyykian_hunting/armor_wookiee_roadmap_leggings_02_03.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_wookiee_roadmap_leggings_02_03') object.setDetailFilename('static_item_d') object.setDetailName('armor_wookiee_roadmap_leggings_02_03') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Bounty Hunter') object.setStringAttribute('armor_category', 'Assault') diff --git a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_belt_02_01.py b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_belt_02_01.py deleted file mode 100644 index bd693ed0..00000000 --- a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_belt_02_01.py +++ /dev/null @@ -1,10 +0,0 @@ -import sys - -def setup(core, object): - object.setStfFilename('static_item_n') - object.setStfName('armor_spy_roadmap_boots_02_01') - object.setDetailFilename('static_item_d') - object.setDetailName('armor_spy_roadmap_boots_02_01') - object.setStringAttribute('class_required', 'Spy') - object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') - return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_bicep_l_02_01.py b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_bicep_l_02_01.py index 83011087..614cfaaa 100644 --- a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_bicep_l_02_01.py +++ b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_bicep_l_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_spy_roadmap_bicep_l_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_spy_roadmap_bicep_l_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Spy') object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') diff --git a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_bicep_r_02_01.py b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_bicep_r_02_01.py index 22974eb8..6439de0e 100644 --- a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_bicep_r_02_01.py +++ b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_bicep_r_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_spy_roadmap_bicep_r_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_spy_roadmap_bicep_r_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Spy') object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') diff --git a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_boots_02_01.py b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_boots_02_01.py index bd693ed0..00f664b1 100644 --- a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_boots_02_01.py +++ b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_boots_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_spy_roadmap_boots_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_spy_roadmap_boots_02_01') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Spy') object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_bracer_l_02_01.py b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_bracer_l_02_01.py index bc0cbb14..1a75853f 100644 --- a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_bracer_l_02_01.py +++ b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_bracer_l_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_spy_roadmap_bracer_l_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_spy_roadmap_bracer_l_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Spy') object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') diff --git a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_bracer_r_02_01.py b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_bracer_r_02_01.py index af5e6c49..5dbe00a0 100644 --- a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_bracer_r_02_01.py +++ b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_bracer_r_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_spy_roadmap_bracer_r_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_spy_roadmap_bracer_r_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Spy') object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') diff --git a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_chest_02_01.py b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_chest_02_01.py index dd1bd6fb..06ad9fe9 100644 --- a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_chest_02_01.py +++ b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_chest_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_spy_roadmap_chest_plate_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_spy_roadmap_chest_plate_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Spy') object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') diff --git a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_gloves_02_01.py b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_gloves_02_01.py index 1cf2d36e..33770962 100644 --- a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_gloves_02_01.py +++ b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_gloves_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_spy_roadmap_gloves_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_spy_roadmap_gloves_02_01') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Spy') object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_helmet_02_01.py b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_helmet_02_01.py index e9051900..d492b352 100644 --- a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_helmet_02_01.py +++ b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_helmet_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_spy_roadmap_helmet_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_spy_roadmap_helmet_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Spy') object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') diff --git a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_leggings_02_01.py b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_leggings_02_01.py index 8ab9eade..f2f0cde4 100644 --- a/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_leggings_02_01.py +++ b/scripts/object/tangible/wearables/armor/padded/armor_spy_roadmap_leggings_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_spy_roadmap_leggings_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_spy_roadmap_leggings_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Spy') object.setStringAttribute('armor_category', '@obj_attr_n:armor_battle') diff --git a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_spec_ops_belt.py b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_spec_ops_belt.py index 1be134b6..b589b6e8 100644 --- a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_spec_ops_belt.py +++ b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_spec_ops_belt.py @@ -10,10 +10,4 @@ def setup(core, object): object.setIntAttribute('no_trade', 1) object.setStringAttribute('faction_restriction', 'Rebel') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') - object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) - object.setIntAttribute('cat_armor_standard_protection.energy', 4608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_spec_ops_boots.py b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_spec_ops_boots.py index f7d17219..c79a2747 100644 --- a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_spec_ops_boots.py +++ b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_spec_ops_boots.py @@ -10,10 +10,4 @@ def setup(core, object): object.setIntAttribute('no_trade', 1) object.setStringAttribute('faction_restriction', 'Rebel') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') - object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) - object.setIntAttribute('cat_armor_standard_protection.energy', 4608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_spec_ops_gloves.py b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_spec_ops_gloves.py index 2e0a2417..ff30b43a 100644 --- a/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_spec_ops_gloves.py +++ b/scripts/object/tangible/wearables/armor/rebel_assault/armor_rebel_spec_ops_gloves.py @@ -10,10 +10,4 @@ def setup(core, object): object.setIntAttribute('no_trade', 1) object.setStringAttribute('faction_restriction', 'Rebel') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') - object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) - object.setIntAttribute('cat_armor_standard_protection.energy', 4608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_boots_gcw.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_boots_gcw.py index fa511268..26cd7460 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_boots_gcw.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_boots_gcw.py @@ -1,6 +1,6 @@ import sys def setup(core, object): - object.setIntAttribute('required_combat_level', 22) object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_gloves_gcw.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_gloves_gcw.py index fa511268..26cd7460 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_gloves_gcw.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_gloves_gcw.py @@ -1,6 +1,6 @@ import sys def setup(core, object): - object.setIntAttribute('required_combat_level', 22) object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_helmet.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_helmet.py index 08216793..2c2f76b9 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_helmet.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_helmet.py @@ -1,12 +1,4 @@ import sys def setup(core, object): - object.setStringAttribute('faction_required', 'Imperial') - object.setStringAttribute('armor_category', 'Reconnaissance') - object.setIntAttribute('cat_armor_standard_protection.kinetic', 4608) - object.setIntAttribute('cat_armor_standard_protection.energy', 6608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/stormtrooper/armor_pvp_spec_ops_imperial_black_belt_05_01.py b/scripts/object/tangible/wearables/armor/stormtrooper/armor_pvp_spec_ops_imperial_black_belt_05_01.py index 3c98941f..3ebc0dbf 100644 --- a/scripts/object/tangible/wearables/armor/stormtrooper/armor_pvp_spec_ops_imperial_black_belt_05_01.py +++ b/scripts/object/tangible/wearables/armor/stormtrooper/armor_pvp_spec_ops_imperial_black_belt_05_01.py @@ -11,10 +11,4 @@ def setup(core, object): object.setIntAttribute('no_trade', 1) object.setStringAttribute('faction_restriction', 'Imperial') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') - object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) - object.setIntAttribute('cat_armor_standard_protection.energy', 4608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/stormtrooper/armor_pvp_spec_ops_imperial_black_boots_05_01.py b/scripts/object/tangible/wearables/armor/stormtrooper/armor_pvp_spec_ops_imperial_black_boots_05_01.py index 5e993cf8..ffcc1157 100644 --- a/scripts/object/tangible/wearables/armor/stormtrooper/armor_pvp_spec_ops_imperial_black_boots_05_01.py +++ b/scripts/object/tangible/wearables/armor/stormtrooper/armor_pvp_spec_ops_imperial_black_boots_05_01.py @@ -11,10 +11,4 @@ def setup(core, object): object.setIntAttribute('no_trade', 1) object.setStringAttribute('faction_restriction', 'Imperial') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') - object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) - object.setIntAttribute('cat_armor_standard_protection.energy', 4608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/stormtrooper/armor_pvp_spec_ops_imperial_black_gloves_05_01.py b/scripts/object/tangible/wearables/armor/stormtrooper/armor_pvp_spec_ops_imperial_black_gloves_05_01.py index bfcbba83..8781ee28 100644 --- a/scripts/object/tangible/wearables/armor/stormtrooper/armor_pvp_spec_ops_imperial_black_gloves_05_01.py +++ b/scripts/object/tangible/wearables/armor/stormtrooper/armor_pvp_spec_ops_imperial_black_gloves_05_01.py @@ -11,10 +11,4 @@ def setup(core, object): object.setIntAttribute('no_trade', 1) object.setStringAttribute('faction_restriction', 'Imperial') object.setStringAttribute('armor_category', '@obj_attr_n:armor_assault') - object.setIntAttribute('cat_armor_standard_protection.kinetic', 6608) - object.setIntAttribute('cat_armor_standard_protection.energy', 4608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_heat', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_cold', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_acid', 5608) - object.setIntAttribute('cat_armor_special_protection.special_protection_type_electricity', 5608) return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bicep_l_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bicep_l_02_01.py index efcf7879..60903312 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bicep_l_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bicep_l_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_medic_roadmap_bicep_l_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_medic_roadmap_bicep_l_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Medic') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bicep_r_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bicep_r_02_01.py index f20698ec..fc70e44e 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bicep_r_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bicep_r_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_medic_roadmap_bicep_r_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_medic_roadmap_bicep_r_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Medic') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_boots_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_boots_02_01.py index 9062ccca..4cc0860a 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_boots_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_boots_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_medic_roadmap_boots_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_medic_roadmap_boots_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Medic') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bracer_l_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bracer_l_02_01.py index b4911dfb..2326a65e 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bracer_l_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bracer_l_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_medic_roadmap_bracer_l_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_medic_roadmap_bracer_l_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Medic') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bracer_r_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bracer_r_02_01.py index 4a5aa536..83680392 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bracer_r_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_bracer_r_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_medic_roadmap_bracer_r_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_medic_roadmap_bicep_r_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Medic') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_chest_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_chest_02_01.py index 4d0bb1c6..0644f14f 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_chest_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_chest_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_medic_roadmap_chest_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_medic_roadmap_chest_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Medic') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_gloves_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_gloves_02_01.py index 0030a3f4..ddf8d518 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_gloves_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_gloves_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_medic_roadmap_gloves_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_medic_roadmap_gloves_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Medic') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_helmet_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_helmet_02_01.py index dc80455a..050b9a49 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_helmet_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_helmet_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_medic_roadmap_helmet_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_medic_roadmap_helmet_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Medic') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_leggings_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_leggings_02_01.py index c56989d1..7433eba6 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_leggings_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_medic_roadmap_leggings_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_medic_roadmap_leggings_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_medic_roadmap_leggings_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Medic') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bicep_l_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bicep_l_02_01.py index 9e0b3774..7498dadf 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bicep_l_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bicep_l_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_smuggler_roadmap_bicep_l_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_smuggler_roadmap_bicep_l_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Smuggler') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bicep_r_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bicep_r_02_01.py index bbf860be..c1fff4a0 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bicep_r_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bicep_r_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_smuggler_roadmap_bicep_r_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_smuggler_roadmap_bicep_r_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Smuggler') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_boots_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_boots_02_01.py index 061183b7..d39b7e0a 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_boots_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_boots_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_smuggler_roadmap_boots_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_smuggler_roadmap_boots_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Smuggler') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bracer_l_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bracer_l_02_01.py index 80ff5147..562a47f5 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bracer_l_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bracer_l_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_smuggler_roadmap_bracer_l_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_smuggler_roadmap_bracer_l_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Smuggler') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bracer_r_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bracer_r_02_01.py index b6dd73e9..304313b3 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bracer_r_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_bracer_r_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_smuggler_roadmap_bracer_r_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_smuggler_roadmap_bicep_r_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Smuggler') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_chest_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_chest_02_01.py index 9cd47af2..54689dbd 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_chest_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_chest_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_smuggler_roadmap_chest_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_smuggler_roadmap_chest_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Smuggler') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_gloves_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_gloves_02_01.py index f9d19a1b..3841d2aa 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_gloves_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_gloves_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_smuggler_roadmap_gloves_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_smuggler_roadmap_gloves_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Smuggler') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_helmet_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_helmet_02_01.py index 45b096a3..016ebbb7 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_helmet_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_helmet_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_smuggler_roadmap_helmet_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_smuggler_roadmap_helmet_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Smuggler') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_leggings_02_01.py b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_leggings_02_01.py index 4d079a82..d9c91bce 100644 --- a/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_leggings_02_01.py +++ b/scripts/object/tangible/wearables/armor/tantel/armor_smuggler_roadmap_leggings_02_01.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('armor_smuggler_roadmap_leggings_02_01') object.setDetailFilename('static_item_d') object.setDetailName('armor_smuggler_roadmap_leggings_02_01') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) object.setStringAttribute('class_required', 'Smuggler') object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') diff --git a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_bounty_hunter_01_02.py b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_bounty_hunter_01_02.py index c845f9fb..d9c51e17 100644 --- a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_bounty_hunter_01_02.py +++ b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_bounty_hunter_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_roadmap_belt_bounty_hunter_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_roadmap_belt_bounty_hunter_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 15) diff --git a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_commando_01_02.py b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_commando_01_02.py index 03d3b4ae..d562d8d4 100644 --- a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_commando_01_02.py +++ b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_commando_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_roadmap_belt_commando_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_roadmap_belt_commando_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 15) diff --git a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_entertainer_01_02.py b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_entertainer_01_02.py index b5195564..499bfb20 100644 --- a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_entertainer_01_02.py +++ b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_entertainer_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_roadmap_belt_entertainer_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_roadmap_belt_entertainer_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 15) diff --git a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_force_sensitive_01_02.py b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_force_sensitive_01_02.py index e383382b..33a6b820 100644 --- a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_force_sensitive_01_02.py +++ b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_force_sensitive_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_roadmap_belt_force_sensitive_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_roadmap_belt_force_sensitive_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 15) diff --git a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_medic_01_02.py b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_medic_01_02.py index 9f5b8eb7..13e4b137 100644 --- a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_medic_01_02.py +++ b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_medic_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_roadmap_belt_medic_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_roadmap_belt_medic_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 15) diff --git a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_officer_01_02.py b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_officer_01_02.py index 3534213e..400f2576 100644 --- a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_officer_01_02.py +++ b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_officer_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_roadmap_belt_officer_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_roadmap_belt_officer_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 15) diff --git a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_smuggler_01_02.py b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_smuggler_01_02.py index 0f3db47c..f4bc7ecb 100644 --- a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_smuggler_01_02.py +++ b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_smuggler_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_roadmap_belt_smuggler_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_roadmap_belt_smuggler_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 15) diff --git a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_spy_01_02.py b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_spy_01_02.py index 71012ad3..eb353047 100644 --- a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_spy_01_02.py +++ b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_spy_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_roadmap_belt_spy_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_roadmap_belt_spy_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 15) diff --git a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_trader_01_02.py b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_trader_01_02.py index 3716a5a6..80a162fc 100644 --- a/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_trader_01_02.py +++ b/scripts/object/tangible/wearables/armor/zam/item_roadmap_belt_trader_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_roadmap_belt_trader_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_roadmap_belt_trader_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 15) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 20) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 15) diff --git a/scripts/object/tangible/wearables/backpack/item_bounty_hunter_backpack_01_02.py b/scripts/object/tangible/wearables/backpack/item_bounty_hunter_backpack_01_02.py index b1bdc206..fcf2cb83 100644 --- a/scripts/object/tangible/wearables/backpack/item_bounty_hunter_backpack_01_02.py +++ b/scripts/object/tangible/wearables/backpack/item_bounty_hunter_backpack_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_bounty_hunter_backpack_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_bounty_hunter_backpack_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 5) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5) object.setStringAttribute('class_required', 'Bounty Hunter') diff --git a/scripts/object/tangible/wearables/backpack/item_commando_backpack_01_02.py b/scripts/object/tangible/wearables/backpack/item_commando_backpack_01_02.py index ffc76111..937245ae 100644 --- a/scripts/object/tangible/wearables/backpack/item_commando_backpack_01_02.py +++ b/scripts/object/tangible/wearables/backpack/item_commando_backpack_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_commando_backpack_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_commando_backpack_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 5) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5) object.setStringAttribute('class_required', 'Commando') diff --git a/scripts/object/tangible/wearables/backpack/item_entertainer_backpack_01_02.py b/scripts/object/tangible/wearables/backpack/item_entertainer_backpack_01_02.py index 4e424485..85b5e20e 100644 --- a/scripts/object/tangible/wearables/backpack/item_entertainer_backpack_01_02.py +++ b/scripts/object/tangible/wearables/backpack/item_entertainer_backpack_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_entertainer_backpack_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_entertainer_backpack_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 5) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5) object.setStringAttribute('class_required', 'Entertainer') diff --git a/scripts/object/tangible/wearables/backpack/item_medic_backpack_01_02.py b/scripts/object/tangible/wearables/backpack/item_medic_backpack_01_02.py index 4b0acdb8..562fd93a 100644 --- a/scripts/object/tangible/wearables/backpack/item_medic_backpack_01_02.py +++ b/scripts/object/tangible/wearables/backpack/item_medic_backpack_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_medic_backpack_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_medic_backpack_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 5) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5) object.setStringAttribute('class_required', 'Medic') diff --git a/scripts/object/tangible/wearables/backpack/item_officer_backpack_01_02.py b/scripts/object/tangible/wearables/backpack/item_officer_backpack_01_02.py index 3121849f..fb8e83c2 100644 --- a/scripts/object/tangible/wearables/backpack/item_officer_backpack_01_02.py +++ b/scripts/object/tangible/wearables/backpack/item_officer_backpack_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_officer_backpack_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_officer_backpack_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 5) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5) object.setStringAttribute('class_required', 'Officer') diff --git a/scripts/object/tangible/wearables/backpack/item_smuggler_backpack_01_02.py b/scripts/object/tangible/wearables/backpack/item_smuggler_backpack_01_02.py index f9d08aaf..87c208f1 100644 --- a/scripts/object/tangible/wearables/backpack/item_smuggler_backpack_01_02.py +++ b/scripts/object/tangible/wearables/backpack/item_smuggler_backpack_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_smuggler_backpack_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_smuggler_backpack_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 5) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5) object.setStringAttribute('class_required', 'Smuggler') diff --git a/scripts/object/tangible/wearables/backpack/item_spy_backpack_01_02.py b/scripts/object/tangible/wearables/backpack/item_spy_backpack_01_02.py index f6412dee..a69f3ec4 100644 --- a/scripts/object/tangible/wearables/backpack/item_spy_backpack_01_02.py +++ b/scripts/object/tangible/wearables/backpack/item_spy_backpack_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_spy_backpack_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_spy_backpack_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 5) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5) object.setStringAttribute('class_required', 'Spy') diff --git a/scripts/object/tangible/wearables/backpack/item_trader_backpack_01_02.py b/scripts/object/tangible/wearables/backpack/item_trader_backpack_01_02.py index 9eb23a37..97c76849 100644 --- a/scripts/object/tangible/wearables/backpack/item_trader_backpack_01_02.py +++ b/scripts/object/tangible/wearables/backpack/item_trader_backpack_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_trader_backpack_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_trader_backpack_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:expertise_assembly_increase_artisan', 5) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:hiring', 3) object.setStringAttribute('class_required', 'Trader') diff --git a/scripts/object/tangible/wearables/belt/item_bounty_hunter_boots_02_01.py b/scripts/object/tangible/wearables/belt/item_bounty_hunter_boots_02_01.py new file mode 100644 index 00000000..093bcef0 --- /dev/null +++ b/scripts/object/tangible/wearables/belt/item_bounty_hunter_boots_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_officer_belt_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_officer_belt_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Officer') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/boots/item_bounty_hunter_boots_02_01.py b/scripts/object/tangible/wearables/boots/item_bounty_hunter_boots_02_01.py new file mode 100644 index 00000000..367ee7ce --- /dev/null +++ b/scripts/object/tangible/wearables/boots/item_bounty_hunter_boots_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_bounty_hunter_boots_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_bounty_hunter_boots_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Bounty Hunter') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/boots/item_commando_pants_02_01.py b/scripts/object/tangible/wearables/boots/item_commando_pants_02_01.py new file mode 100644 index 00000000..d1c2dbaa --- /dev/null +++ b/scripts/object/tangible/wearables/boots/item_commando_pants_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_commando_boots_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_commando_boots_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Commando') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/boots/item_entertainer_boots_02_01.py b/scripts/object/tangible/wearables/boots/item_entertainer_boots_02_01.py new file mode 100644 index 00000000..7032e034 --- /dev/null +++ b/scripts/object/tangible/wearables/boots/item_entertainer_boots_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_entertainer_boots_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_entertainer_boots_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Entertainer') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/boots/item_medic_boots_02_01.py b/scripts/object/tangible/wearables/boots/item_medic_boots_02_01.py new file mode 100644 index 00000000..53c3e8f3 --- /dev/null +++ b/scripts/object/tangible/wearables/boots/item_medic_boots_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_medic_boots_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_medic_boots_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Medic') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/boots/item_officer_boots_02_01.py b/scripts/object/tangible/wearables/boots/item_officer_boots_02_01.py new file mode 100644 index 00000000..b545fb1f --- /dev/null +++ b/scripts/object/tangible/wearables/boots/item_officer_boots_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_officer_boots_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_officer_boots_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Officer') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/hat/item_entertainer_hat_02_01.py b/scripts/object/tangible/wearables/hat/item_entertainer_hat_02_01.py new file mode 100644 index 00000000..c8a61881 --- /dev/null +++ b/scripts/object/tangible/wearables/hat/item_entertainer_hat_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_entertainer_hat_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_entertainer_hat_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Entertainer') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/ithorian/item_trader_roadmap_hat_02_01.py b/scripts/object/tangible/wearables/ithorian/item_trader_roadmap_hat_02_01.py new file mode 100644 index 00000000..29c119e3 --- /dev/null +++ b/scripts/object/tangible/wearables/ithorian/item_trader_roadmap_hat_02_01.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_trader_roadmap_hat_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_trader_roadmap_hat_02_01') + object.setIntAttribute('no_trade', 1) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Trader) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/ithorian/item_trader_roadmap_jumpsuit_02_02.py b/scripts/object/tangible/wearables/ithorian/item_trader_roadmap_jumpsuit_02_02.py new file mode 100644 index 00000000..b513df81 --- /dev/null +++ b/scripts/object/tangible/wearables/ithorian/item_trader_roadmap_jumpsuit_02_02.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_trader_roadmap_jumpsuit_02_02') + object.setDetailFilename('static_item_d') + object.setDetailName('item_trader_roadmap_jumpsuit_02_02') + object.setIntAttribute('no_trade', 1) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Trader) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/necklace/item_bounty_hunter_pendant_01_02.py b/scripts/object/tangible/wearables/necklace/item_bounty_hunter_pendant_01_02.py index 46555e1f..bdcbfb2d 100644 --- a/scripts/object/tangible/wearables/necklace/item_bounty_hunter_pendant_01_02.py +++ b/scripts/object/tangible/wearables/necklace/item_bounty_hunter_pendant_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_bounty_hunter_pendant_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_bounty_hunter_pendant_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 12) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12) object.setStringAttribute('class_required', 'Bounty Hunter') diff --git a/scripts/object/tangible/wearables/necklace/item_commando_pendant_01_02.py b/scripts/object/tangible/wearables/necklace/item_commando_pendant_01_02.py index 716905e2..196a4bab 100644 --- a/scripts/object/tangible/wearables/necklace/item_commando_pendant_01_02.py +++ b/scripts/object/tangible/wearables/necklace/item_commando_pendant_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_commando_pendant_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_commando_pendant_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 12) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12) object.setStringAttribute('class_required', 'Commando') diff --git a/scripts/object/tangible/wearables/necklace/item_spy_pendant_01_02.py b/scripts/object/tangible/wearables/necklace/item_spy_pendant_01_02.py index f46a52b8..2302a9e2 100644 --- a/scripts/object/tangible/wearables/necklace/item_spy_pendant_01_02.py +++ b/scripts/object/tangible/wearables/necklace/item_spy_pendant_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_spy_pendant_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_spy_pendant_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 12) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 12) object.setStringAttribute('class_required', 'Spy') diff --git a/scripts/object/tangible/wearables/pants/item_bounty_hunter_pants_02_01.py b/scripts/object/tangible/wearables/pants/item_bounty_hunter_pants_02_01.py new file mode 100644 index 00000000..72be2264 --- /dev/null +++ b/scripts/object/tangible/wearables/pants/item_bounty_hunter_pants_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_bounty_hunter_pants_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_bounty_hunter_pants_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Bounty Hunter') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/pants/item_commando_pants_02_01.py b/scripts/object/tangible/wearables/pants/item_commando_pants_02_01.py new file mode 100644 index 00000000..5e58f989 --- /dev/null +++ b/scripts/object/tangible/wearables/pants/item_commando_pants_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_commando_pants_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_commando_pants_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Commando') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/pants/item_entertainer_pants_02_01.py b/scripts/object/tangible/wearables/pants/item_entertainer_pants_02_01.py new file mode 100644 index 00000000..07594377 --- /dev/null +++ b/scripts/object/tangible/wearables/pants/item_entertainer_pants_02_01.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_entertainer_pants_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_entertainer_pants_02_01') + #object.setCustomizationVariable('/private/index_color_1', 44); + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Entertainer') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/pants/item_medic_pants_02_01.py b/scripts/object/tangible/wearables/pants/item_medic_pants_02_01.py new file mode 100644 index 00000000..e9c590ea --- /dev/null +++ b/scripts/object/tangible/wearables/pants/item_medic_pants_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_medic_pants_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_medic_pants_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Medic') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/pants/item_officer_pants_02_01.py b/scripts/object/tangible/wearables/pants/item_officer_pants_02_01.py new file mode 100644 index 00000000..666fc886 --- /dev/null +++ b/scripts/object/tangible/wearables/pants/item_officer_pants_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_officer_pants_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_officer_pants_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Officer') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/pants/item_trader_pants_02_01.py b/scripts/object/tangible/wearables/pants/item_trader_pants_02_01.py new file mode 100644 index 00000000..20459a52 --- /dev/null +++ b/scripts/object/tangible/wearables/pants/item_trader_pants_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_trader_pants_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_trader_pants_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Trader') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/ring/item_bounty_hunter_ring_01_02.py b/scripts/object/tangible/wearables/ring/item_bounty_hunter_ring_01_02.py index 110a5ec1..44c67cbc 100644 --- a/scripts/object/tangible/wearables/ring/item_bounty_hunter_ring_01_02.py +++ b/scripts/object/tangible/wearables/ring/item_bounty_hunter_ring_01_02.py @@ -6,6 +6,7 @@ def setup(core, object): object.setStfName('item_bounty_hunter_ring_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_bounty_hunter_ring_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 6) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 6) object.setStringAttribute('class_required', 'Bounty Hunter') diff --git a/scripts/object/tangible/wearables/ring/item_commando_ring_01_02.py b/scripts/object/tangible/wearables/ring/item_commando_ring_01_02.py index 5e4f73c1..ecbc5a20 100644 --- a/scripts/object/tangible/wearables/ring/item_commando_ring_01_02.py +++ b/scripts/object/tangible/wearables/ring/item_commando_ring_01_02.py @@ -6,6 +6,7 @@ def setup(core, object): object.setStfName('item_commando_ring_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_commando_ring_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 6) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 6) object.setStringAttribute('class_required', 'Commando') diff --git a/scripts/object/tangible/wearables/ring/item_spy_ring_01_02.py b/scripts/object/tangible/wearables/ring/item_spy_ring_01_02.py index e6d4aafb..faa88931 100644 --- a/scripts/object/tangible/wearables/ring/item_spy_ring_01_02.py +++ b/scripts/object/tangible/wearables/ring/item_spy_ring_01_02.py @@ -5,6 +5,7 @@ def setup(core, object): object.setStfName('item_spy_ring_01_02') object.setDetailFilename('static_item_d') object.setDetailName('item_spy_ring_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 6) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 6) object.setStringAttribute('class_required', 'Spy') diff --git a/scripts/object/tangible/wearables/shirt/item_bounty_hunter_shirt_02_01.py b/scripts/object/tangible/wearables/shirt/item_bounty_hunter_shirt_02_01.py new file mode 100644 index 00000000..077c13bc --- /dev/null +++ b/scripts/object/tangible/wearables/shirt/item_bounty_hunter_shirt_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_bounty_hunter_shirt_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_bounty_hunter_shirt_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Bounty Hunter') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/shirt/item_commando_shirt_02_01.py b/scripts/object/tangible/wearables/shirt/item_commando_shirt_02_01.py new file mode 100644 index 00000000..1bdd8f9f --- /dev/null +++ b/scripts/object/tangible/wearables/shirt/item_commando_shirt_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_commando_shirt_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_commando_shirt_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Commando') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/shirt/item_entertainer_shirt_02_01.py b/scripts/object/tangible/wearables/shirt/item_entertainer_shirt_02_01.py new file mode 100644 index 00000000..e2c47968 --- /dev/null +++ b/scripts/object/tangible/wearables/shirt/item_entertainer_shirt_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_officer_shirt_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_officer_shirt_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Officer') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/shirt/item_medic_shirt_02_01.py b/scripts/object/tangible/wearables/shirt/item_medic_shirt_02_01.py new file mode 100644 index 00000000..b7a24faf --- /dev/null +++ b/scripts/object/tangible/wearables/shirt/item_medic_shirt_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_medic_shirt_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_medic_shirt_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Medic') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/shirt/item_officer_shirt_02_01.py b/scripts/object/tangible/wearables/shirt/item_officer_shirt_02_01.py new file mode 100644 index 00000000..7d9fc542 --- /dev/null +++ b/scripts/object/tangible/wearables/shirt/item_officer_shirt_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_entertainer_shirt_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_entertainer_shirt_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Entertainer') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/shirt/item_trader_shirt_02_01.py b/scripts/object/tangible/wearables/shirt/item_trader_shirt_02_01.py new file mode 100644 index 00000000..b7a24faf --- /dev/null +++ b/scripts/object/tangible/wearables/shirt/item_trader_shirt_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_medic_shirt_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_medic_shirt_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Medic') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/shoes/item_trader_shoes_02_01.py b/scripts/object/tangible/wearables/shoes/item_trader_shoes_02_01.py new file mode 100644 index 00000000..c15979e3 --- /dev/null +++ b/scripts/object/tangible/wearables/shoes/item_trader_shoes_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_trader_shoes_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_trader_shoes_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Trader') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/vest/item_bounty_hunter_vest_02_01.py b/scripts/object/tangible/wearables/vest/item_bounty_hunter_vest_02_01.py new file mode 100644 index 00000000..09c0b935 --- /dev/null +++ b/scripts/object/tangible/wearables/vest/item_bounty_hunter_vest_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_bounty_hunter_vest_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_bounty_hunter_vest_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Bounty Hunter') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/vest/item_commando_vest_02_01.py b/scripts/object/tangible/wearables/vest/item_commando_vest_02_01.py new file mode 100644 index 00000000..80685679 --- /dev/null +++ b/scripts/object/tangible/wearables/vest/item_commando_vest_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_commando_vest_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_commando_vest_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Commando') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/vest/item_medic_vest_02_01.py b/scripts/object/tangible/wearables/vest/item_medic_vest_02_01.py new file mode 100644 index 00000000..c889ee17 --- /dev/null +++ b/scripts/object/tangible/wearables/vest/item_medic_vest_02_01.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_medic_vest_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_medic_vest_02_01') + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 3) + object.setStringAttribute('class_required', 'Medic') + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/wookiee/item_trader_roadmap_gloves_02_02.py b/scripts/object/tangible/wearables/wookiee/item_trader_roadmap_gloves_02_02.py new file mode 100644 index 00000000..0bd5279f --- /dev/null +++ b/scripts/object/tangible/wearables/wookiee/item_trader_roadmap_gloves_02_02.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_trader_roadmap_gloves_02_02') + object.setDetailFilename('static_item_d') + object.setDetailName('item_trader_roadmap_gloves_02_02') + object.setIntAttribute('no_trade', 1) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Trader) + return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/wookiee/item_trader_roadmap_shoulder_pad_02_01.py b/scripts/object/tangible/wearables/wookiee/item_trader_roadmap_shoulder_pad_02_01.py new file mode 100644 index 00000000..7100ff42 --- /dev/null +++ b/scripts/object/tangible/wearables/wookiee/item_trader_roadmap_shoulder_pad_02_01.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, object): + object.setStfFilename('static_item_n') + object.setStfName('item_trader_roadmap_shoulder_pad_02_01') + object.setDetailFilename('static_item_d') + object.setDetailName('item_trader_roadmap_shoulder_pad_02_01') + object.setIntAttribute('no_trade', 1) + object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 3) + object.setStringAttribute('class_required', 'Trader) + return \ No newline at end of file diff --git a/scripts/object/weapon/ranged/carbine/carbine_pvp.py b/scripts/object/weapon/ranged/carbine/carbine_pvp.py index df45159e..8931d99f 100644 --- a/scripts/object/weapon/ranged/carbine/carbine_pvp.py +++ b/scripts/object/weapon/ranged/carbine/carbine_pvp.py @@ -1,4 +1,5 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStringAttribute('tier', '6') @@ -12,7 +13,7 @@ def setup(core, object): object.setStringAttribute('faction_restriction', 'Rebel') object.setStringAttribute('required_skill', 'None') object.setDamageType("energy"); - object.setWeaponType(1); + object.setWeaponType(WeaponType.CARBINE); object.setAttackSpeed(0.6); object.setMinDamage(389); object.setMaxDamage(780); diff --git a/scripts/object/weapon/ranged/carbine/weapon_acidbeam_commando_roadmap_01_02.py b/scripts/object/weapon/ranged/carbine/weapon_acidbeam_commando_roadmap_01_02.py index b0cf2fc2..70eecf54 100644 --- a/scripts/object/weapon/ranged/carbine/weapon_acidbeam_commando_roadmap_01_02.py +++ b/scripts/object/weapon/ranged/carbine/weapon_acidbeam_commando_roadmap_01_02.py @@ -1,10 +1,12 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStfFilename('static_item_n') object.setStfName('weapon_acidbeam_commando_roadmap_01_02') object.setDetailFilename('static_item_d') object.setDetailName('weapon_acidbeam_commando_roadmap_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5) object.setStringAttribute('class_required', 'Commando') object.setIntAttribute('required_combat_level', 30) @@ -13,5 +15,5 @@ def setup(core, object): object.setDamageType("energy"); object.setMinDamage(109); object.setMaxDamage(218); - object.setWeaponType(1); + object.setWeaponType(WeaponType.CARBINE); return \ No newline at end of file diff --git a/scripts/object/weapon/ranged/carbine/weapon_carbine_bh_roadmap_01_02.py b/scripts/object/weapon/ranged/carbine/weapon_carbine_bh_roadmap_01_02.py index 0b8e2f34..eafe9b7d 100644 --- a/scripts/object/weapon/ranged/carbine/weapon_carbine_bh_roadmap_01_02.py +++ b/scripts/object/weapon/ranged/carbine/weapon_carbine_bh_roadmap_01_02.py @@ -1,10 +1,12 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStfFilename('static_item_n') object.setStfName('weapon_carbine_bh_roadmap_01_02') object.setDetailFilename('static_item_d') object.setDetailName('weapon_carbine_bh_roadmap_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5) object.setStringAttribute('class_required', 'Bounty Hunter') object.setIntAttribute('required_combat_level', 30) @@ -13,5 +15,5 @@ def setup(core, object): object.setDamageType("energy"); object.setMinDamage(109); object.setMaxDamage(218); - object.setWeaponType(1); + object.setWeaponType(WeaponType.CARBINE); return \ No newline at end of file diff --git a/scripts/object/weapon/ranged/carbine/weapon_carbine_sp_roadmap_01_02.py b/scripts/object/weapon/ranged/carbine/weapon_carbine_sp_roadmap_01_02.py index 7dc750ef..01956b11 100644 --- a/scripts/object/weapon/ranged/carbine/weapon_carbine_sp_roadmap_01_02.py +++ b/scripts/object/weapon/ranged/carbine/weapon_carbine_sp_roadmap_01_02.py @@ -1,10 +1,12 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStfFilename('static_item_n') object.setStfName('weapon_carbine_sp_roadmap_01_02') object.setDetailFilename('static_item_d') object.setDetailName('weapon_carbine_sp_roadmap_01_02') + object.setIntAttribute('no_trade', 1) object.setStringAttribute('class_required', 'Spy') object.setIntAttribute('required_combat_level', 50) object.setAttackSpeed(0.6); @@ -12,5 +14,5 @@ def setup(core, object): object.setDamageType("energy"); object.setMinDamage(195); object.setMaxDamage(392); - object.setWeaponType(1); + object.setWeaponType(WeaponType.CARBINE); return \ No newline at end of file diff --git a/scripts/object/weapon/ranged/carbine/weapon_npe_carbine_bh_03_01.py b/scripts/object/weapon/ranged/carbine/weapon_npe_carbine_bh_03_01.py index 600a05a8..4f49c8f6 100644 --- a/scripts/object/weapon/ranged/carbine/weapon_npe_carbine_bh_03_01.py +++ b/scripts/object/weapon/ranged/carbine/weapon_npe_carbine_bh_03_01.py @@ -1,4 +1,5 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStfFilename('static_item_n') @@ -12,5 +13,5 @@ def setup(core, object): object.setDamageType("energy"); object.setMinDamage(17); object.setMaxDamage(43); - object.setWeaponType(1); + object.setWeaponType(WeaponType.CARBINE); return \ No newline at end of file diff --git a/scripts/object/weapon/ranged/carbine/weapon_npe_carbine_spy_03_01.py b/scripts/object/weapon/ranged/carbine/weapon_npe_carbine_spy_03_01.py index bb153176..a1bfb367 100644 --- a/scripts/object/weapon/ranged/carbine/weapon_npe_carbine_spy_03_01.py +++ b/scripts/object/weapon/ranged/carbine/weapon_npe_carbine_spy_03_01.py @@ -1,4 +1,5 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStfFilename('static_item_n') @@ -12,5 +13,5 @@ def setup(core, object): object.setDamageType("energy"); object.setMinDamage(17); object.setMaxDamage(43); - object.setWeaponType(1); + object.setWeaponType(WeaponType.CARBINE); return \ No newline at end of file diff --git a/scripts/object/weapon/ranged/carbine/weapon_npe_commando_carbine_03_01.py b/scripts/object/weapon/ranged/carbine/weapon_npe_commando_carbine_03_01.py index e707e4f4..ffeb530b 100644 --- a/scripts/object/weapon/ranged/carbine/weapon_npe_commando_carbine_03_01.py +++ b/scripts/object/weapon/ranged/carbine/weapon_npe_commando_carbine_03_01.py @@ -1,4 +1,5 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStfFilename('static_item_n') @@ -12,5 +13,5 @@ def setup(core, object): object.setDamageType("energy"); object.setMinDamage(20); object.setMaxDamage(40); - object.setWeaponType(1); + object.setWeaponType(Weapon.Type.CARBINE); return \ No newline at end of file diff --git a/scripts/object/weapon/ranged/heavy/heavy_pvp.py b/scripts/object/weapon/ranged/heavy/heavy_pvp.py index 0bbf3010..d2511794 100644 --- a/scripts/object/weapon/ranged/heavy/heavy_pvp.py +++ b/scripts/object/weapon/ranged/heavy/heavy_pvp.py @@ -1,4 +1,5 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStfFilename('static_item_n') @@ -9,10 +10,10 @@ def setup(core, object): object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 10) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 10) - object.setStringAttribute('healing_combat_level_required', '75') + object.setStringAttribute('required_combat_level', '75') object.setStringAttribute('required_skill', 'None') object.setDamageType("energy"); - object.setWeaponType(12); + object.setWeaponType(WeaponType.HEAVYWEAPON); object.setAttackSpeed(1); object.setMinDamage(850); object.setMaxDamage(1350); diff --git a/scripts/object/weapon/ranged/pistol/item_npe_officer_sidearm.py b/scripts/object/weapon/ranged/pistol/item_npe_officer_sidearm.py index b1c7fa0f..7e3aee0b 100644 --- a/scripts/object/weapon/ranged/pistol/item_npe_officer_sidearm.py +++ b/scripts/object/weapon/ranged/pistol/item_npe_officer_sidearm.py @@ -1,4 +1,5 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStfFilename('static_item_n') @@ -12,5 +13,5 @@ def setup(core, object): object.setDamageType("energy"); object.setMinDamage(15); object.setMaxDamage(25); - object.setWeaponType(2); + object.setWeaponType(WeaponType.PISTOL); return \ No newline at end of file diff --git a/scripts/object/weapon/ranged/pistol/item_npe_smuggler_han_solo_gun.py b/scripts/object/weapon/ranged/pistol/item_npe_smuggler_han_solo_gun.py index baef2e0b..6aa08b78 100644 --- a/scripts/object/weapon/ranged/pistol/item_npe_smuggler_han_solo_gun.py +++ b/scripts/object/weapon/ranged/pistol/item_npe_smuggler_han_solo_gun.py @@ -1,4 +1,5 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStfFilename('static_item_n') @@ -12,5 +13,5 @@ def setup(core, object): object.setDamageType("energy"); object.setMinDamage(13); object.setMaxDamage(27); - object.setWeaponType(2); + object.setWeaponType(WeaponType.PISTOL); return \ No newline at end of file diff --git a/scripts/object/weapon/ranged/pistol/pistol_pvp.py b/scripts/object/weapon/ranged/pistol/pistol_pvp.py index a4f22603..73989872 100644 --- a/scripts/object/weapon/ranged/pistol/pistol_pvp.py +++ b/scripts/object/weapon/ranged/pistol/pistol_pvp.py @@ -1,4 +1,5 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStfFilename('static_item_n') @@ -9,10 +10,10 @@ def setup(core, object): object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 10) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 10) - object.setStringAttribute('healing_combat_level_required', '75') + object.setStringAttribute('required_combat_level', '75') object.setStringAttribute('required_skill', 'None') object.setDamageType("energy"); - object.setWeaponType(2); + object.setWeaponType(WeaponType.PISTOL); object.setAttackSpeed(0.4); object.setMinDamage(259); object.setMaxDamage(518); diff --git a/scripts/object/weapon/ranged/pistol/weapon_npe_medic_pistol_03_01.py b/scripts/object/weapon/ranged/pistol/weapon_npe_medic_pistol_03_01.py index 56169960..a96a4530 100644 --- a/scripts/object/weapon/ranged/pistol/weapon_npe_medic_pistol_03_01.py +++ b/scripts/object/weapon/ranged/pistol/weapon_npe_medic_pistol_03_01.py @@ -1,4 +1,5 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStfFilename('static_item_n') @@ -12,5 +13,5 @@ def setup(core, object): object.setDamageType("energy"); object.setMinDamage(13); object.setMaxDamage(27); - object.setWeaponType(2); + object.setWeaponType(WeaponType.PISTOL); return \ No newline at end of file diff --git a/scripts/object/weapon/ranged/pistol/weapon_pistol_en_roadmap_01_02.py b/scripts/object/weapon/ranged/pistol/weapon_pistol_en_roadmap_01_02.py index 04b64dd7..2f5507c3 100644 --- a/scripts/object/weapon/ranged/pistol/weapon_pistol_en_roadmap_01_02.py +++ b/scripts/object/weapon/ranged/pistol/weapon_pistol_en_roadmap_01_02.py @@ -1,4 +1,5 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStfFilename('static_item_n') @@ -13,5 +14,5 @@ def setup(core, object): object.setDamageType("energy"); object.setMinDamage(131); object.setMaxDamage(261); - object.setWeaponType(2); + object.setWeaponType(WeaponType.PISTOL); return \ No newline at end of file diff --git a/scripts/object/weapon/ranged/pistol/weapon_pistol_sp_roadmap_01_02.py b/scripts/object/weapon/ranged/pistol/weapon_pistol_sp_roadmap_01_02.py index 48ea9736..d97f1f3b 100644 --- a/scripts/object/weapon/ranged/pistol/weapon_pistol_sp_roadmap_01_02.py +++ b/scripts/object/weapon/ranged/pistol/weapon_pistol_sp_roadmap_01_02.py @@ -1,10 +1,12 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStfFilename('static_item_n') object.setStfName('weapon_pistol_sp_roadmap_01_02') object.setDetailFilename('static_item_d') object.setDetailName('weapon_pistol_sp_roadmap_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5) object.setStringAttribute('class_required', 'Spy') object.setIntAttribute('required_combat_level', 30) @@ -13,5 +15,5 @@ def setup(core, object): object.setDamageType("energy"); object.setMinDamage(73); object.setMaxDamage(145); - object.setWeaponType(2); + object.setWeaponType(WeaponType.PISTOL); return \ No newline at end of file diff --git a/scripts/object/weapon/ranged/pistol/weapon_pistol_trader_roadmap_01_02.py b/scripts/object/weapon/ranged/pistol/weapon_pistol_trader_roadmap_01_02.py index 160019db..160c73dd 100644 --- a/scripts/object/weapon/ranged/pistol/weapon_pistol_trader_roadmap_01_02.py +++ b/scripts/object/weapon/ranged/pistol/weapon_pistol_trader_roadmap_01_02.py @@ -1,4 +1,5 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStfFilename('static_item_n') @@ -12,5 +13,5 @@ def setup(core, object): object.setDamageType("energy"); object.setMinDamage(250); object.setMaxDamage(500); - object.setWeaponType(2); + object.setWeaponType(WeaponType.Pistol); return \ No newline at end of file diff --git a/scripts/object/weapon/ranged/rifle/rifle_pvp.py b/scripts/object/weapon/ranged/rifle/rifle_pvp.py index 2de5b766..75bc3fbf 100644 --- a/scripts/object/weapon/ranged/rifle/rifle_pvp.py +++ b/scripts/object/weapon/ranged/rifle/rifle_pvp.py @@ -1,4 +1,5 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStfFilename('static_item_n') @@ -9,10 +10,10 @@ def setup(core, object): object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 10) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 10) - object.setStringAttribute('healing_combat_level_required', '75') + object.setStringAttribute('required_combat_level', '75') object.setStringAttribute('required_skill', 'None') object.setDamageType("energy"); - object.setWeaponType(0); + object.setWeaponType(WeaponType.RIFLE); object.setAttackSpeed(0.8); object.setMinDamage(518); object.setMaxDamage(1035); diff --git a/scripts/object/weapon/ranged/rifle/weapon_lightningbeam_commando_roadmap_01_02.py b/scripts/object/weapon/ranged/rifle/weapon_lightningbeam_commando_roadmap_01_02.py index de45af3a..da6eb1aa 100644 --- a/scripts/object/weapon/ranged/rifle/weapon_lightningbeam_commando_roadmap_01_02.py +++ b/scripts/object/weapon/ranged/rifle/weapon_lightningbeam_commando_roadmap_01_02.py @@ -1,10 +1,12 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStfFilename('static_item_n') object.setStfName('weapon_lightningbeam_commando_roadmap_01_02') object.setDetailFilename('static_item_d') object.setDetailName('weapon_lightningbeam_commando_roadmap_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5) object.setStringAttribute('class_required', 'commando') object.setIntAttribute('required_combat_level', 30) @@ -13,5 +15,5 @@ def setup(core, object): object.setDamageType("energy"); object.setMinDamage(261); object.setMaxDamage(522); - object.setWeaponType(2); + object.setWeaponType(WeaponType.RIFLE); return \ No newline at end of file diff --git a/scripts/object/weapon/ranged/rifle/weapon_rifle_bh_roadmap_01_02.py b/scripts/object/weapon/ranged/rifle/weapon_rifle_bh_roadmap_01_02.py index 98980b19..915797f2 100644 --- a/scripts/object/weapon/ranged/rifle/weapon_rifle_bh_roadmap_01_02.py +++ b/scripts/object/weapon/ranged/rifle/weapon_rifle_bh_roadmap_01_02.py @@ -1,10 +1,12 @@ import sys +from resources.datatables import WeaponType def setup(core, object): object.setStfFilename('static_item_n') object.setStfName('weapon_rifle_bh_roadmap_01_02') object.setDetailFilename('static_item_d') object.setDetailName('weapon_rifle_bh_roadmap_01_02') + object.setIntAttribute('no_trade', 1) object.setIntAttribute('cat_stat_mod_bonus.@stat_n:precision_modified', 5) object.setStringAttribute('class_required', 'Bounty Hunter') object.setIntAttribute('required_combat_level', 50) @@ -13,5 +15,5 @@ def setup(core, object): object.setDamageType("energy"); object.setMinDamage(261); object.setMaxDamage(522); - object.setWeaponType(2); + object.setWeaponType(WeaponType.RIFLE); return \ No newline at end of file diff --git a/scripts/radial/npc/untamable.py b/scripts/radial/npc/untamable.py index 420fb6d0..e75e088f 100644 --- a/scripts/radial/npc/untamable.py +++ b/scripts/radial/npc/untamable.py @@ -7,6 +7,6 @@ def createRadial(core, owner, target, radials): return def handleSelection(core, owner, target, option): + return - \ No newline at end of file diff --git a/scripts/radial/terminal/travel_terminal_itv.py b/scripts/radial/terminal/travel_terminal_itv.py index 510d23f9..b9356f38 100644 --- a/scripts/radial/terminal/travel_terminal_itv.py +++ b/scripts/radial/terminal/travel_terminal_itv.py @@ -1,5 +1,5 @@ from resources.common import RadialOptions -from protocol.swg import EnterTicketPurchaseModeMessage +from protocol.swg import EnterTicketPurchaseModeMessageItv import sys def createRadial(core, owner, target, radials): @@ -14,7 +14,7 @@ def handleSelection(core, owner, target, option): if owner.getCombatFlag() == 1: owner.sendSystemMessage('You can\'t use that while in combat.', 0) return - tpm = EnterTicketPurchaseModeMessage(owner.getPlanet().getName(), core.mapService.getClosestCityName(owner), owner) + tpm = EnterTicketPurchaseModeMessage(owner.getPlanet().getName(), core.mapService.getClosestCityName(owner), owner, True) owner.getClient().getSession().write(tpm.serialize()) return return diff --git a/scripts/roadmap/entertainer_1a.py b/scripts/roadmap/entertainer_1a.py index 9e9368ba..8aedc930 100644 --- a/scripts/roadmap/entertainer_1a.py +++ b/scripts/roadmap/entertainer_1a.py @@ -30,7 +30,7 @@ def getRewards(name): return "object/tangible/wearables/backpack/shared_backpack_s01.iff" if name == 'armor_entertainer_roadmap_cloak_02_01': - return "object/tangible/wearables/robe/shared_robe_s01.iff" + return "object/tangible/wearables/robe/shared_robe_s05.iff" if name == 'armor_entertainer_roadmap_boots_02_01': return "object/tangible/wearables/boots/shared_boots_s03.iff" @@ -41,7 +41,7 @@ def getRewards(name): if name == 'armor_entertainer_roadmap_pants_02_01': return "object/tangible/wearables/pants/shared_pants_s01.iff" - if name == 'weapon_vibro_en_roadmap_01_02': + if name == 'weapon_knuckler_ent_roadmap_02_02': return "object/weapon/melee/special/shared_vibroknuckler.iff" if name == 'weapon_pistol_en_roadmap_01_02': diff --git a/scripts/roadmap/officer_1a.py b/scripts/roadmap/officer_1a.py index 3a139591..28dfda55 100644 --- a/scripts/roadmap/officer_1a.py +++ b/scripts/roadmap/officer_1a.py @@ -56,52 +56,52 @@ def getRewards(name): if name == 'armor_officer_roadmap_leggings_02_01': return "object/tangible/wearables/armor/composite/shared_armor_composite_leggings.iff" - if name == 'armor_wookiee_roadmap_chest_02_03': + if name == 'armor_wookiee_roadmap_chest_02_02': return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_chestplate.iff" - if name == 'armor_wookiee_roadmap_leggings_02_03': + if name == 'armor_wookiee_roadmap_leggings_02_02': return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_leggings.iff" - if name == 'armor_wookiee_roadmap_bicep_l_02_03': + if name == 'armor_wookiee_roadmap_bicep_l_02_02': return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bicep_l.iff" - if name == 'armor_wookiee_roadmap_bicep_r_02_03': + if name == 'armor_wookiee_roadmap_bicep_r_02_02': return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bicep_r.iff" - if name == 'armor_wookiee_roadmap_bracer_l_02_03': + if name == 'armor_wookiee_roadmap_bracer_l_02_02': return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bracer_l.iff" - if name == 'armor_wookiee_roadmap_bracer_r_02_03': + if name == 'armor_wookiee_roadmap_bracer_r_02_02': return "object/tangible/wearables/armor/kashyyykian_hunting/shared_armor_kashyyykian_hunting_bracer_r.iff" - if name == 'armor_ithorian_roadmap_chest_02_03': + if name == 'armor_ithorian_roadmap_chest_02_02': return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_chest_plate.iff" - if name == 'armor_ithorian_roadmap_leggings_02_03': + if name == 'armor_ithorian_roadmap_leggings_02_02': return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_leggings.iff" - if name == 'armor_ithorian_roadmap_helmet_02_03': + if name == 'armor_ithorian_roadmap_helmet_02_02': return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_helmet.iff" - if name == 'armor_ithorian_roadmap_bicep_l_02_03': + if name == 'armor_ithorian_roadmap_bicep_l_02_02': return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bicep_l.iff" - if name == 'armor_ithorian_roadmap_bicep_r_02_03': + if name == 'armor_ithorian_roadmap_bicep_r_02_02': return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bicep_r.iff" - if name == 'armor_ithorian_roadmap_bracer_l_02_03': + if name == 'armor_ithorian_roadmap_bracer_l_02_02': return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bracer_l.iff" - if name == 'armor_ithorian_roadmap_bracer_r_02_03': + if name == 'armor_ithorian_roadmap_bracer_r_02_02': return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bracer_r.iff" - if name == 'armor_ithorian_roadmap_boots_02_03': + if name == 'armor_ithorian_roadmap_boots_02_02': return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_boots.iff" - if name == 'armor_ithorian_roadmap_gloves_02_03': + if name == 'armor_ithorian_roadmap_gloves_02_02': return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_gloves.iff" - if name == 'weapon_pistol_sp_roadmap_01_02': + if name == 'weapon_pistol_officer_roadmap_01_02': return "object/weapon/ranged/pistol/shared_pistol_dl44.iff" if name == 'item_officer_ring_01_02': diff --git a/scripts/roadmap/trader_0a.py b/scripts/roadmap/trader_0a.py index c0ae1ee4..436f9d4b 100644 --- a/scripts/roadmap/trader_0a.py +++ b/scripts/roadmap/trader_0a.py @@ -33,12 +33,33 @@ def getRewards(name): if name == 'weapon_knife_trader_roadmap_01_02': return "object/weapon/melee/knife/shared_knife_dagger.iff" - + if name == 'item_trader_ring_01_02': return "object/tangible/wearables/ring/shared_ring_s02.iff" - + + # Human Clothing + if name == 'item_trader_roadmap_jumpsuit_02_01': + return "object/tangible/wearables/bodysuit/shared_bodysuit_s13.iff" + + if name == 'item_trader_roadmap_boots_02_01': + return "object/tangible/wearables/boots/shared_boots_s03.iff" + + if name == 'item_trader_roadmap_gloves_02_01': + return "object/tangible/wearables/gloves/shared_gloves_s02.iff" + + # Wookiee Clothing + if name == 'item_trader_roadmap_shoulder_pad_02_01': + return "object/tangible/wearables/wookiee/shared_wke_shoulder_pad_s01.iff" + + if name == 'item_trader_roadmap_gloves_02_02': + return "object/tangible/wearables/wookiee/shared_wke_gloves_s01.iff" + + # Ithorian Clothing if name == 'item_trader_roadmap_jumpsuit_02_02': - return "object/tangible/wearables/bodysuit/shared_bodysuit_s01.iff" + return "object/tangible/wearables/ithorian/shared_ith_bodysuit_s03.iff" + + if name == 'item_trader_roadmap_hat_02_01': + return "object/tangible/wearables/ithorian/shared_ith_hat_s03.iff" if name == 'weapon_pistol_trader_roadmap_01_02': return "object/weapon/ranged/pistol/shared_pistol_scout_blaster.iff" diff --git a/scripts/roadmap/trader_0b.py b/scripts/roadmap/trader_0b.py index c3a7e4ec..436f9d4b 100644 --- a/scripts/roadmap/trader_0b.py +++ b/scripts/roadmap/trader_0b.py @@ -24,7 +24,6 @@ def getHealth(): def getAction(): return 75 - def getRewards(name): if name == 'item_npe_gen_craft_tool_trader_03_01': return "object/tangible/crafting/base/shared_generic_base_tool.iff" @@ -37,9 +36,30 @@ def getRewards(name): if name == 'item_trader_ring_01_02': return "object/tangible/wearables/ring/shared_ring_s02.iff" + + # Human Clothing + if name == 'item_trader_roadmap_jumpsuit_02_01': + return "object/tangible/wearables/bodysuit/shared_bodysuit_s13.iff" + if name == 'item_trader_roadmap_boots_02_01': + return "object/tangible/wearables/boots/shared_boots_s03.iff" + + if name == 'item_trader_roadmap_gloves_02_01': + return "object/tangible/wearables/gloves/shared_gloves_s02.iff" + + # Wookiee Clothing + if name == 'item_trader_roadmap_shoulder_pad_02_01': + return "object/tangible/wearables/wookiee/shared_wke_shoulder_pad_s01.iff" + + if name == 'item_trader_roadmap_gloves_02_02': + return "object/tangible/wearables/wookiee/shared_wke_gloves_s01.iff" + + # Ithorian Clothing if name == 'item_trader_roadmap_jumpsuit_02_02': - return "object/tangible/wearables/bodysuit/shared_bodysuit_s01.iff" + return "object/tangible/wearables/ithorian/shared_ith_bodysuit_s03.iff" + + if name == 'item_trader_roadmap_hat_02_01': + return "object/tangible/wearables/ithorian/shared_ith_hat_s03.iff" if name == 'weapon_pistol_trader_roadmap_01_02': return "object/weapon/ranged/pistol/shared_pistol_scout_blaster.iff" diff --git a/scripts/roadmap/trader_0c.py b/scripts/roadmap/trader_0c.py index 7ac4a0d7..436f9d4b 100644 --- a/scripts/roadmap/trader_0c.py +++ b/scripts/roadmap/trader_0c.py @@ -36,9 +36,30 @@ def getRewards(name): if name == 'item_trader_ring_01_02': return "object/tangible/wearables/ring/shared_ring_s02.iff" + + # Human Clothing + if name == 'item_trader_roadmap_jumpsuit_02_01': + return "object/tangible/wearables/bodysuit/shared_bodysuit_s13.iff" + if name == 'item_trader_roadmap_boots_02_01': + return "object/tangible/wearables/boots/shared_boots_s03.iff" + + if name == 'item_trader_roadmap_gloves_02_01': + return "object/tangible/wearables/gloves/shared_gloves_s02.iff" + + # Wookiee Clothing + if name == 'item_trader_roadmap_shoulder_pad_02_01': + return "object/tangible/wearables/wookiee/shared_wke_shoulder_pad_s01.iff" + + if name == 'item_trader_roadmap_gloves_02_02': + return "object/tangible/wearables/wookiee/shared_wke_gloves_s01.iff" + + # Ithorian Clothing if name == 'item_trader_roadmap_jumpsuit_02_02': - return "object/tangible/wearables/bodysuit/shared_bodysuit_s01.iff" + return "object/tangible/wearables/ithorian/shared_ith_bodysuit_s03.iff" + + if name == 'item_trader_roadmap_hat_02_01': + return "object/tangible/wearables/ithorian/shared_ith_hat_s03.iff" if name == 'weapon_pistol_trader_roadmap_01_02': return "object/weapon/ranged/pistol/shared_pistol_scout_blaster.iff" diff --git a/scripts/roadmap/trader_0d.py b/scripts/roadmap/trader_0d.py index 7ac4a0d7..436f9d4b 100644 --- a/scripts/roadmap/trader_0d.py +++ b/scripts/roadmap/trader_0d.py @@ -36,9 +36,30 @@ def getRewards(name): if name == 'item_trader_ring_01_02': return "object/tangible/wearables/ring/shared_ring_s02.iff" + + # Human Clothing + if name == 'item_trader_roadmap_jumpsuit_02_01': + return "object/tangible/wearables/bodysuit/shared_bodysuit_s13.iff" + if name == 'item_trader_roadmap_boots_02_01': + return "object/tangible/wearables/boots/shared_boots_s03.iff" + + if name == 'item_trader_roadmap_gloves_02_01': + return "object/tangible/wearables/gloves/shared_gloves_s02.iff" + + # Wookiee Clothing + if name == 'item_trader_roadmap_shoulder_pad_02_01': + return "object/tangible/wearables/wookiee/shared_wke_shoulder_pad_s01.iff" + + if name == 'item_trader_roadmap_gloves_02_02': + return "object/tangible/wearables/wookiee/shared_wke_gloves_s01.iff" + + # Ithorian Clothing if name == 'item_trader_roadmap_jumpsuit_02_02': - return "object/tangible/wearables/bodysuit/shared_bodysuit_s01.iff" + return "object/tangible/wearables/ithorian/shared_ith_bodysuit_s03.iff" + + if name == 'item_trader_roadmap_hat_02_01': + return "object/tangible/wearables/ithorian/shared_ith_hat_s03.iff" if name == 'weapon_pistol_trader_roadmap_01_02': return "object/weapon/ranged/pistol/shared_pistol_scout_blaster.iff" diff --git a/scripts/skillMods/elemental_resistance.py b/scripts/skillMods/elemental_resistance.py new file mode 100644 index 00000000..5a327427 --- /dev/null +++ b/scripts/skillMods/elemental_resistance.py @@ -0,0 +1,16 @@ +import sys + +def add(core, actor, skillMod, divisor): + core.skillModService.addSkillMod(actor, 'acid', skillMod) + core.skillModService.addSkillMod(actor, 'heat', skillMod) + core.skillModService.addSkillMod(actor, 'cold', skillMod) + core.skillModService.addSkillMod(actor, 'electricity', skillMod) + return + +def deduct(core, actor, skillMod, divisor): + core.skillModService.deductSkillMod(actor, 'acid', skillMod) + core.skillModService.deductSkillMod(actor, 'heat', skillMod) + core.skillModService.deductSkillMod(actor, 'cold', skillMod) + core.skillModService.deductSkillMod(actor, 'electricity', skillMod) + return + \ No newline at end of file diff --git a/scripts/skillMods/expertise_innate_protection_acid.py b/scripts/skillMods/expertise_innate_protection_acid.py new file mode 100644 index 00000000..f3597431 --- /dev/null +++ b/scripts/skillMods/expertise_innate_protection_acid.py @@ -0,0 +1,10 @@ +import sys + +def add(core, actor, skillMod, divisor): + core.skillModService.addSkillMod(actor, 'acid', skillMod) + return + +def deduct(core, actor, skillMod, divisor): + core.skillModService.deductSkillMod(actor, 'acid', skillMod) + return + \ No newline at end of file diff --git a/scripts/skillMods/expertise_innate_protection_cold.py b/scripts/skillMods/expertise_innate_protection_cold.py new file mode 100644 index 00000000..8581c26d --- /dev/null +++ b/scripts/skillMods/expertise_innate_protection_cold.py @@ -0,0 +1,10 @@ +import sys + +def add(core, actor, skillMod, divisor): + core.skillModService.addSkillMod(actor, 'cold', skillMod) + return + +def deduct(core, actor, skillMod, divisor): + core.skillModService.deductSkillMod(actor, 'cold', skillMod) + return + \ No newline at end of file diff --git a/scripts/skillMods/expertise_innate_protection_electricity.py b/scripts/skillMods/expertise_innate_protection_electricity.py new file mode 100644 index 00000000..6174b979 --- /dev/null +++ b/scripts/skillMods/expertise_innate_protection_electricity.py @@ -0,0 +1,10 @@ +import sys + +def add(core, actor, skillMod, divisor): + core.skillModService.addSkillMod(actor, 'electricity', skillMod) + return + +def deduct(core, actor, skillMod, divisor): + core.skillModService.deductSkillMod(actor, 'electricity', skillMod) + return + \ No newline at end of file diff --git a/scripts/skillMods/expertise_innate_protection_heat.py b/scripts/skillMods/expertise_innate_protection_heat.py new file mode 100644 index 00000000..19188fc7 --- /dev/null +++ b/scripts/skillMods/expertise_innate_protection_heat.py @@ -0,0 +1,10 @@ +import sys + +def add(core, actor, skillMod, divisor): + core.skillModService.addSkillMod(actor, 'heat', skillMod) + return + +def deduct(core, actor, skillMod, divisor): + core.skillModService.deductSkillMod(actor, 'heat', skillMod) + return + \ No newline at end of file diff --git a/scripts/static_spawns/tatooine/mos_espa_frog.py b/scripts/static_spawns/tatooine/mos_espa_frog.py new file mode 100644 index 00000000..8f87f45c --- /dev/null +++ b/scripts/static_spawns/tatooine/mos_espa_frog.py @@ -0,0 +1,14 @@ +# Project SWG: Mos Espa: Frogbuilding +# (C)2014 ProjectSWG + +import sys + +def addPlanetSpawns(core, planet): + + + stcSvc = core.staticService + objSvc = core.objectService + + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'tatooine', long(0), float(-3308), float(5.4), float(2174), float(0.70), float(0.71)) + return + diff --git a/src/main/NGECore.java b/src/main/NGECore.java index e264accf..348dc54f 100644 --- a/src/main/NGECore.java +++ b/src/main/NGECore.java @@ -797,8 +797,26 @@ public class NGECore { } catch (InterruptedException e) { e.printStackTrace(); } + } - + public void initiateStop() { + if(isShuttingDown) + return; + try { + chatService.broadcastGalaxy("You will now be disconnected so the server can perform a final save before shutting down."); + Thread.sleep(10000); + synchronized(getActiveConnectionsMap()) { + for(Client client : getActiveConnectionsMap().values()) { + client.getSession().close(true); + connectionService.disconnect(client); + } + } + + System.exit(0); + + } catch (InterruptedException e) { + e.printStackTrace(); + } } diff --git a/src/protocol/swg/EnterTicketPurchaseModeMessage.java b/src/protocol/swg/EnterTicketPurchaseModeMessage.java index 8ba42533..0287c55c 100644 --- a/src/protocol/swg/EnterTicketPurchaseModeMessage.java +++ b/src/protocol/swg/EnterTicketPurchaseModeMessage.java @@ -36,6 +36,14 @@ public class EnterTicketPurchaseModeMessage extends SWGMessage { private String planetName; private String cityName; private SWGObject player; + private boolean isItv = false; + + public EnterTicketPurchaseModeMessage(String planetName, String cityName, SWGObject player, boolean isItv) { + this.planetName = planetName; + this.cityName = cityName; + this.player = player; + this.isItv = true; + } public EnterTicketPurchaseModeMessage(String planetName, String cityName, SWGObject player) { this.planetName = planetName; @@ -51,9 +59,12 @@ public class EnterTicketPurchaseModeMessage extends SWGMessage { @Override public IoBuffer serialize() { final NGECore core = NGECore.getInstance(); - TravelPoint nearestPoint = core.travelService.getNearestTravelPoint(player); - IoBuffer result = IoBuffer.allocate(11 + planetName.length() + nearestPoint.getName().length()).order(ByteOrder.LITTLE_ENDIAN); + TravelPoint nearestPoint = null; + if (!isItv) nearestPoint = core.travelService.getNearestTravelPoint(player); + else nearestPoint = core.travelService.getNearestTravelPoint(player, 5120); + + IoBuffer result = IoBuffer.allocate(11 + planetName.length() + nearestPoint.getName().length()).order(ByteOrder.LITTLE_ENDIAN); result.putShort((short) 3); result.putInt(0x904DAE1A); diff --git a/src/resources/common/BuffBuilder.java b/src/resources/common/BuffBuilder.java index 83b2d9fb..cd3c48a4 100644 --- a/src/resources/common/BuffBuilder.java +++ b/src/resources/common/BuffBuilder.java @@ -30,6 +30,11 @@ public class BuffBuilder { private String statAffects; private String statName; + + public enum BuffCategory {ATTRIBUTES,RESISTANCES,TRADE,COMBAT,MISC}; + private BuffCategory catId; + + public BuffBuilder() { } @@ -42,6 +47,10 @@ public class BuffBuilder { return category; } + public BuffCategory getCategoryId() { + return catId; + } + public int getCost() { return this.cost; } @@ -66,7 +75,26 @@ public class BuffBuilder { this.affectAmount = affectAmount; } - public void setCategory(String category) { + public void setCategory(String category) + { + this.catId=BuffCategory.MISC; + if(category.equals("attributes")) + { + this.catId=BuffCategory.ATTRIBUTES; + } + else if(category.equals("trade")) + { + this.catId=BuffCategory.TRADE; + } + else if(category.equals("resistances")) + { + this.catId=BuffCategory.RESISTANCES; + } + else if(category.equals("combat")) + { + this.catId=BuffCategory.COMBAT; + } + this.category = category; } diff --git a/src/resources/objects/creature/CreatureMessageBuilder.java b/src/resources/objects/creature/CreatureMessageBuilder.java index 33367160..93c58e5e 100644 --- a/src/resources/objects/creature/CreatureMessageBuilder.java +++ b/src/resources/objects/creature/CreatureMessageBuilder.java @@ -336,8 +336,10 @@ public class CreatureMessageBuilder extends TangibleMessageBuilder { buffer.putInt(CRC.StringtoCRC(weapon.getTemplate())); buffer.put((byte) 1); - buffer.put(weapon.getMessageBuilder().buildBaseline3()); - buffer.put(weapon.getMessageBuilder().buildBaseline6()); +// buffer.put(weapon.getMessageBuilder().buildBaseline3()); +// buffer.put(weapon.getMessageBuilder().buildBaseline6()); + buffer.put(weapon.getBaseline(3).getBaseline()); + buffer.put(weapon.getBaseline(6).getBaseline()); } else { System.out.println("Bad equipment object"); } @@ -1050,8 +1052,10 @@ public class CreatureMessageBuilder extends TangibleMessageBuilder { if(item instanceof WeaponObject) { WeaponObject weapon = (WeaponObject) item; buffer.put((byte) 1); - buffer.put(weapon.getMessageBuilder().buildBaseline3()); - buffer.put(weapon.getMessageBuilder().buildBaseline6()); +// buffer.put(weapon.getMessageBuilder().buildBaseline3()); +// buffer.put(weapon.getMessageBuilder().buildBaseline6()); + buffer.put(weapon.getBaseline(3).getBaseline()); + buffer.put(weapon.getBaseline(6).getBaseline()); } else { buffer.put((byte) 0); } diff --git a/src/resources/objects/creature/CreatureObject.java b/src/resources/objects/creature/CreatureObject.java index 1ac2c33b..979063cf 100644 --- a/src/resources/objects/creature/CreatureObject.java +++ b/src/resources/objects/creature/CreatureObject.java @@ -54,6 +54,7 @@ import resources.common.OutOfBand; import resources.objects.ObjectMessageBuilder; import resources.objects.SWGList; import resources.objects.SWGMap; +import resources.objects.SWGSet; import engine.resources.common.CRC; import engine.resources.objects.SWGObject; import engine.resources.scene.Planet; @@ -72,7 +73,7 @@ public class CreatureObject extends TangibleObject implements Serializable { // CREO 1 private int bankCredits = 0; private int cashCredits = 0; - private List skills; + private SWGSet skills; @NotPersistent private transient int skillsUpdateCounter = 0; @@ -192,7 +193,7 @@ public class CreatureObject extends TangibleObject implements Serializable { super(objectID, planet, position, orientation, Template); messageBuilder = new CreatureMessageBuilder(this); loadTemplateData(); - skills = new ArrayList(); + skills = new SWGSet(this, 1, 4, false); skillMods = new SWGMap(this, 4, 3, true); abilities = new SWGMap(this, 4, 14, true); missionCriticalObjects = new SWGMap(this, 4, 13, false); @@ -302,7 +303,7 @@ public class CreatureObject extends TangibleObject implements Serializable { } } - public List getSkills() { + public SWGSet getSkills() { return skills; } @@ -903,7 +904,7 @@ public class CreatureObject extends TangibleObject implements Serializable { } IoBuffer weaponIdDelta = messageBuilder.buildWeaponIdDelta(weaponId); - + tools.CharonPacketUtils.printAnalysis(weaponIdDelta, "buildWeaponIdDelta"); notifyObservers(weaponIdDelta, true); } @@ -1490,6 +1491,10 @@ public class CreatureObject extends TangibleObject implements Serializable { getClient().getSession().write(new PlayMusicMessage(sndFile, targetId, 1, false).serialize()); } + public void playMusicSelf(String sndFile, long targetId, int repetitions, boolean flag) { + getClient().getSession().write(new PlayMusicMessage(sndFile, targetId, 1, false).serialize()); + } + public boolean getGroupDance() { synchronized(objectMutex) { return groupDance; diff --git a/src/resources/objects/weapon/WeaponMessageBuilder.java b/src/resources/objects/weapon/WeaponMessageBuilder.java index a67444cd..03377c62 100644 --- a/src/resources/objects/weapon/WeaponMessageBuilder.java +++ b/src/resources/objects/weapon/WeaponMessageBuilder.java @@ -21,14 +21,10 @@ ******************************************************************************/ package resources.objects.weapon; -import java.nio.ByteOrder; import java.util.Map; -import org.apache.mina.core.buffer.IoBuffer; - import engine.resources.objects.Builder; import resources.objects.tangible.TangibleMessageBuilder; -import resources.datatables.Elemental; public class WeaponMessageBuilder extends TangibleMessageBuilder { @@ -40,105 +36,6 @@ public class WeaponMessageBuilder extends TangibleMessageBuilder { super(); } - public IoBuffer buildBaseline3() { - WeaponObject weapon = (WeaponObject) object; - IoBuffer buffer = bufferPool.allocate(100, false).order(ByteOrder.LITTLE_ENDIAN); - buffer.setAutoExpand(true); - buffer.putShort((short) 0x14); - buffer.putFloat(0); - buffer.put(getAsciiString(weapon.getStfFilename())); - buffer.putInt(0); - buffer.put(getAsciiString(weapon.getStfName())); - if(weapon.getCustomName() == null || weapon.getCustomName().length() < 1) - buffer.putInt(0); - else - buffer.put(getUnicodeString(weapon.getCustomName())); - buffer.putInt(object.getVolume()); - buffer.putInt(0); - buffer.putInt(0); // unknowns - if(weapon.getCustomization() == null || weapon.getCustomization().length < 1) - buffer.putShort((short) 0); - else { - buffer.putShort((short) weapon.getCustomization().length); - buffer.put(weapon.getCustomization()); - } - buffer.putInt(0); - buffer.putInt(0); - buffer.putInt(weapon.getOptionsBitmask()); - buffer.putInt(0); - buffer.putInt(weapon.getConditionDamage()); - buffer.putInt(0x64); - buffer.put((byte) (weapon.isStaticObject() ? 1 : 0)); - buffer.putFloat(weapon.getAttackSpeed()); - buffer.putInt(0); - buffer.putInt(0); - buffer.putFloat(weapon.getMaxRange()); - buffer.putInt(0); - if( weapon.getElementalType() != null) // Weapon particle effect - buffer.putInt(Elemental.getElementalNum(weapon.getElementalType())); - else - buffer.putInt(Elemental.getElementalNum(weapon.getDamageType())); - buffer.putInt(0); - - int size = buffer.position(); - buffer = bufferPool.allocate(size, false).put(buffer.array(), 0, size); - - buffer.flip(); - buffer = createBaseline("WEAO", (byte) 3, buffer, size); - - return buffer; - } - - public IoBuffer buildBaseline6() { - WeaponObject weapon = (WeaponObject) object; - IoBuffer buffer = bufferPool.allocate(100, false).order(ByteOrder.LITTLE_ENDIAN); - buffer.setAutoExpand(true); - buffer.putShort((short) 9); - buffer.putInt(0x43); - buffer.put(getAsciiString(weapon.getDetailFilename())); - buffer.putInt(0); - buffer.put(getAsciiString(weapon.getDetailName())); - buffer.put((byte) 0); - buffer.putLong(0); - buffer.putInt(0); - buffer.putLong(0); - buffer.putLong(0); // unks - buffer.putLong(0); - buffer.putInt(weapon.getWeaponType()); - - int size = buffer.position(); - buffer = bufferPool.allocate(size, false).put(buffer.array(), 0, size); - - buffer.flip(); - buffer = createBaseline("WEAO", (byte) 6, buffer, size); - - return buffer; - } - - public IoBuffer buildBaseline8() { - IoBuffer buffer = bufferPool.allocate(2, false).order(ByteOrder.LITTLE_ENDIAN); - buffer.putShort((short) 0); - int size = buffer.position(); - buffer = IoBuffer.allocate(size).put(buffer.array(), 0, size); - - buffer.flip(); - buffer = createBaseline("WEAO", (byte) 8, buffer, size); - - return buffer; - } - - public IoBuffer buildBaseline9() { - IoBuffer buffer = bufferPool.allocate(2, false).order(ByteOrder.LITTLE_ENDIAN); - buffer.putShort((short) 0); - int size = buffer.position(); - buffer = IoBuffer.allocate(size).put(buffer.array(), 0, size); - - buffer.flip(); - buffer = createBaseline("WEAO", (byte) 9, buffer, size); - - return buffer; - } - @Override public void buildBaseline3(Map baselineBuilders, Map deltaBuilders) { super.buildBaseline3(baselineBuilders, deltaBuilders); diff --git a/src/resources/objects/weapon/WeaponObject.java b/src/resources/objects/weapon/WeaponObject.java index a06010ec..4f7402b6 100644 --- a/src/resources/objects/weapon/WeaponObject.java +++ b/src/resources/objects/weapon/WeaponObject.java @@ -22,13 +22,13 @@ package resources.objects.weapon; import java.io.Serializable; -import java.util.Vector; +import org.apache.mina.core.buffer.IoBuffer; + +import engine.resources.objects.Baseline; +import resources.datatables.Elemental; import resources.datatables.WeaponType; import resources.objects.tangible.TangibleObject; - -import com.sleepycat.persist.model.NotPersistent; - import engine.clients.Client; import engine.resources.scene.Planet; import engine.resources.scene.Point3D; @@ -37,36 +37,115 @@ import engine.resources.scene.Quaternion; public class WeaponObject extends TangibleObject implements Serializable { private static final long serialVersionUID = 1L; - - // TODO: Thread safety - @NotPersistent private transient WeaponMessageBuilder messageBuilder; public WeaponObject(long objectID, Planet planet, String template) { super(objectID, planet, new Point3D(0, 0, 0), new Quaternion(1, 0, 1, 0), template); - messageBuilder = new WeaponMessageBuilder(this); if (this.getClass().getSimpleName().equals("WeaponObject")) setIntAttribute("volume", 1); setStringAttribute("cat_wpn_damage.damage", "0-0"); } - + public WeaponObject(long objectID, Planet planet, Point3D position, Quaternion orientation, String template) { super(objectID, planet, position, orientation, template); - messageBuilder = new WeaponMessageBuilder(this); if (this.getClass().getSimpleName().equals("WeaponObject")) setIntAttribute("volume", 1); setStringAttribute("cat_wpn_damage.damage", "0-0"); } public WeaponObject() { super(); - messageBuilder = new WeaponMessageBuilder(this); + } + + public void initAfterDBLoad() { + super.initAfterDBLoad(); } @Override - public void initAfterDBLoad() { - super.init(); - messageBuilder = new WeaponMessageBuilder(this); - defendersList = new Vector(); + public Baseline getOtherVariables() { + Baseline baseline = super.getOtherVariables(); + return baseline; + } + + @Override + public Baseline getBaseline3() { + Baseline baseline = super.getBaseline3(); + baseline.put("attackSpeed", (float) 0); + baseline.put("14", 0); + baseline.put("15", 0); + baseline.put("maxRange", (float) 0); + baseline.put("17", 0); // Could be lightsaber color? Seen as 2 on a saber + baseline.put("weaponParticleEffect", 0); + baseline.put("19", 0); // something to do with particle color + return baseline; + } + + @Override + public Baseline getBaseline6() { + Baseline baseline = super.getBaseline6(); + baseline.put("weaponType", 6); + return baseline; + } + + @Override + public Baseline getBaseline8() { + Baseline baseline = super.getBaseline8(); + return baseline; + } + + @Override + public Baseline getBaseline9() { + Baseline baseline = super.getBaseline9(); + return baseline; + } + + public float getAttackSpeed() { + return (float) getBaseline(3).get("attackSpeed"); + } + + public void setAttackSpeed(float attackSpeed) { + if ((int) attackSpeed != attackSpeed) { + setFloatAttribute("cat_wpn_damage.wpn_attack_speed", attackSpeed); + } else { + setIntAttribute("cat_wpn_damage.wpn_attack_speed", (int) attackSpeed); + } + + setIntAttribute("cat_wpn_damage.dps", getDamagePerSecond()); + notifyClients(getBaseline(3).set("attackSpeed", attackSpeed), false); + } + + public float getMaxRange() { + return (float) getBaseline(3).get("maxRange"); + } + + public void setMaxRange(float maxRange) { + if ((int) maxRange != maxRange) { + setStringAttribute("cat_wpn_damage.wpn_range", "0-" + String.valueOf(maxRange) + "m"); + } else { + setStringAttribute("cat_wpn_damage.wpn_range", "0-" + String.valueOf((int) maxRange) + "m"); + } + + notifyClients(getBaseline(3).set("maxRange", maxRange), false); + } + + public int getWeaponParticleEffect() { + return (int) getBaseline(3).get("weaponParticleEffect"); + } + + public void setWeaponParticleEffect(int weaponParticleEffect) { + notifyClients(getBaseline(3).set("weaponParticleEffect", weaponParticleEffect), false); + } + + public int getWeaponType() { + if (getStringAttribute("cat_wpn_damage.wpn_category") == null) { + System.err.println("Error: Weapon Type not defined for " + getTemplate()); + } + + return (int) getBaseline(6).get("weaponType"); + } + + public void setWeaponType(int weaponType) { + setStringAttribute("cat_wpn_damage.wpn_category", "@obj_attr_n:wpn_category_" + weaponType); + notifyClients(getBaseline(6).set("weaponType", weaponType), false); } public int getMaxDamage() { @@ -81,9 +160,8 @@ public class WeaponObject extends TangibleObject implements Serializable { public int getMinDamage() { return Integer.parseInt(getStringAttribute("cat_wpn_damage.damage").split("-")[0]); } - + public void setMinDamage(int minDamage) { - setStringAttribute("cat_wpn_damage.damage", String.valueOf(minDamage) + "-" + String.valueOf(getMaxDamage())); setIntAttribute("cat_wpn_damage.dps", getDamagePerSecond()); } @@ -91,20 +169,23 @@ public class WeaponObject extends TangibleObject implements Serializable { public int getElementalDamage() { return getIntAttribute("cat_wpn_damage.wpn_elemental_value"); } - + public void setElementalDamage(int elementalDamage) { setIntAttribute("cat_wpn_damage.wpn_elemental_value", elementalDamage); setIntAttribute("cat_wpn_damage.dps", getDamagePerSecond()); } - + public String getElementalType() { - if (getStringAttribute("cat_wpn_damage.wpn_elemental_type") != null ) + if (getStringAttribute("cat_wpn_damage.wpn_elemental_type") != null) { return getStringAttribute("cat_wpn_damage.wpn_elemental_type").replace("@obj_attr_n:elemental_", ""); + } + return null; } public void setElementalType(String elementalType) { setStringAttribute("cat_wpn_damage.wpn_elemental_type", "@obj_attr_n:elemental_" + elementalType); + setWeaponParticleEffect(Elemental.getElementalNum(getElementalType())); } public String getDamageType() { @@ -113,93 +194,70 @@ public class WeaponObject extends TangibleObject implements Serializable { public void setDamageType(String damageType) { setStringAttribute("cat_wpn_damage.wpn_damage_type", "@obj_attr_n:armor_eff_" + damageType); + setWeaponParticleEffect(Elemental.getElementalNum(getDamageType())); } public int getDamagePerSecond() { - if(getAttributes().containsKey("cat_wpn_damage.damage") && getAttributes().containsKey("cat_wpn_damage.wpn_attack_speed")) { - - if (getElementalType() != null ) + if (getAttributes().containsKey("cat_wpn_damage.damage") && getAttributes().containsKey("cat_wpn_damage.wpn_attack_speed")) { + if (getElementalType() != null) { return (int) (((getMaxDamage() + getElementalDamage() + getMinDamage() + getElementalDamage()) / 2 + getElementalDamage()) * (1 / getAttackSpeed())); - else + } else { return (int) (((getMaxDamage() + getMinDamage()) / 2 ) * (1 / getAttackSpeed())); - } else - return 0; - } - - public int getWeaponType() { - if (getStringAttribute("cat_wpn_damage.wpn_category") == null) { - System.err.println("Error: Weapon Type not defined for " + getTemplate()); - return 6; + } + } else { + return 0; } - - return Integer.parseInt(getStringAttribute("cat_wpn_damage.wpn_category").replace("@obj_attr_n:wpn_category_", "")); } - public void setWeaponType(int weaponType) { - setStringAttribute("cat_wpn_damage.wpn_category", "@obj_attr_n:wpn_category_" + weaponType); - } - - @Override - public void sendBaselines(Client destination) { - - if(destination == null || destination.getSession() == null) - return; - - destination.getSession().write(messageBuilder.buildBaseline3()); - destination.getSession().write(messageBuilder.buildBaseline6()); - destination.getSession().write(messageBuilder.buildBaseline8()); - destination.getSession().write(messageBuilder.buildBaseline9()); - - - } - - public float getAttackSpeed() { - return getFloatAttribute("cat_wpn_damage.wpn_attack_speed"); - } - - public void setAttackSpeed(float attackSpeed) { - if((int) attackSpeed != attackSpeed) - setFloatAttribute("cat_wpn_damage.wpn_attack_speed", attackSpeed); - else - setIntAttribute("cat_wpn_damage.wpn_attack_speed", (int) attackSpeed); - - setIntAttribute("cat_wpn_damage.dps", getDamagePerSecond()); - } - - public WeaponMessageBuilder getMessageBuilder() { - return messageBuilder; - } - - public float getMaxRange() { - return Float.parseFloat(getStringAttribute("cat_wpn_damage.wpn_range").replace("0-", "").replace("m", "")); - } - - public void setMaxRange(float maxRange) { - if((int) maxRange != maxRange) - setStringAttribute("cat_wpn_damage.wpn_range", "0-" + String.valueOf(maxRange) + "m"); - else - setStringAttribute("cat_wpn_damage.wpn_range", "0-" + String.valueOf((int) maxRange) + "m"); - } - public boolean isMelee() { - int weaponType = getWeaponType(); - if(weaponType == WeaponType.ONEHANDEDMELEE || weaponType == WeaponType.TWOHANDEDMELEE || weaponType == WeaponType.UNARMED || weaponType == WeaponType.POLEARMMELEE || weaponType == WeaponType.ONEHANDEDSABER || weaponType == WeaponType.TWOHANDEDSABER || weaponType == WeaponType.POLEARMSABER) + if (weaponType == WeaponType.ONEHANDEDMELEE || weaponType == WeaponType.TWOHANDEDMELEE || weaponType == WeaponType.UNARMED || weaponType == WeaponType.POLEARMMELEE || weaponType == WeaponType.ONEHANDEDSABER || weaponType == WeaponType.TWOHANDEDSABER || weaponType == WeaponType.POLEARMSABER) { return true; + } return false; - } public boolean isRanged() { - int weaponType = getWeaponType(); - if(weaponType == WeaponType.RIFLE || weaponType == WeaponType.CARBINE || weaponType == WeaponType.PISTOL || weaponType == WeaponType.FLAMETHROWER || weaponType == WeaponType.HEAVYWEAPON) + if (weaponType == WeaponType.RIFLE || weaponType == WeaponType.CARBINE || weaponType == WeaponType.PISTOL || weaponType == WeaponType.FLAMETHROWER || weaponType == WeaponType.HEAVYWEAPON) { return true; - + } + return false; - } + + @Override + public void notifyClients(IoBuffer buffer, boolean notifySelf) { + notifyObservers(buffer, notifySelf); + } + + @Override + public WeaponMessageBuilder getMessageBuilder() { + synchronized(objectMutex) { + if (messageBuilder == null) { + messageBuilder = new WeaponMessageBuilder(this); + } + + return messageBuilder; + } + } + + @Override + public void sendBaselines(Client destination) { + if (destination != null && destination.getSession() != null) { + destination.getSession().write(getBaseline(3).getBaseline()); + destination.getSession().write(getBaseline(6).getBaseline()); + + Client parent = ((getGrandparent() == null) ? null : getGrandparent().getClient()); + + if (parent != null && destination == parent) { + destination.getSession().write(getBaseline(8).getBaseline()); + destination.getSession().write(getBaseline(9).getBaseline()); + } + } + } + } diff --git a/src/services/BuffService.java b/src/services/BuffService.java index 993c25bb..70a24957 100644 --- a/src/services/BuffService.java +++ b/src/services/BuffService.java @@ -89,7 +89,10 @@ public class BuffService implements INetworkDispatch { Buff buff = buffMap.get(buffName); - if(buff == null) return false; + if(buff == null) + { + return false; + } // Here the necessary checks must be placed to prevent buffs from the same buff group (e.g. Buff D) being stacked! @@ -105,6 +108,10 @@ public class BuffService implements INetworkDispatch { public Buff doAddBuff(final CreatureObject target, String buffName, final CreatureObject buffer) { + //BUG HERE !! watch it + //TODO fix this -- !! this is wrong - I can buff from 5,5 in cantina someone sitting at 20,20 in the universe/planet !!! - accross the galaxy/planet + //cause get position is relative to creature system of coordinates - when one's outside and other inside + //if you must use getPosition() check for isInCell first for both or something like that if (target.getPosition().getDistance(buffer.getPosition()) > 20) { return null; } @@ -119,10 +126,24 @@ public class BuffService implements INetworkDispatch { else buff.setTotalPlayTime(0); - if(FileUtilities.doesFileExist("scripts/buffs/" + buffName + ".py")) core.scriptService.callScript("scripts/buffs/", buffName, "setup", core, buffer, buff); + + if(FileUtilities.doesFileExist("scripts/buffs/" + buffName + ".py")) + { + if(!buffName.equals("buildabuff_inspiration")) + { + core.scriptService.callScript("scripts/buffs/", buffName, "setup", core, buffer, buff); + } + else + { + //!!! for special case inspiration , workshop is attached to target + core.scriptService.callScript("scripts/buffs/", buffName, "add", core, target, buff); + } + } + + for (final Buff otherBuff : target.getBuffList()) { - if (buff.getGroup1().equals(otherBuff.getGroup1())) + if (buff.getGroup1().equals(otherBuff.getGroup1())) if (buff.getPriority() >= otherBuff.getPriority()) { if (buff.getBuffName().equals(otherBuff.getBuffName())) { @@ -143,11 +164,11 @@ public class BuffService implements INetworkDispatch { if (otherBuff.getRemainingDuration() > buff.getDuration() && otherBuff.getStacks() >= otherBuff.getMaxStacks()) return null; } - removeBuffFromCreature(target, otherBuff); break; - } else { - System.out.println("buff not added:" + buffName); + } else + { + return null; } } @@ -218,9 +239,12 @@ public class BuffService implements INetworkDispatch { } @SuppressWarnings("unused") - public void removeBuffFromCreature(CreatureObject creature, Buff buff) { + public void removeBuffFromCreature(CreatureObject creature, Buff buff) + { if(!creature.getBuffList().contains(buff)) - return; + { + return; + } DamageOverTime dot = creature.getDotByBuff(buff); if(dot != null) { dot.getTask().cancel(true); @@ -230,14 +254,40 @@ public class BuffService implements INetworkDispatch { /* if(FileUtilities.doesFileExist("scripts/buffs/" + buff.getBuffName() + ".py")) core.scriptService.callScript("scripts/buffs/", buff.getBuffName(), "remove", core, creature, buff); else {*/ - if(buff.getEffect1Name().length() > 0) core.skillModService.deductSkillMod(creature, buff.getEffect1Name(), (int) buff.getEffect1Value()); - if(buff.getEffect2Name().length() > 0) core.skillModService.deductSkillMod(creature, buff.getEffect2Name(), (int) buff.getEffect2Value()); - if(buff.getEffect1Name().length() > 0) core.skillModService.deductSkillMod(creature, buff.getEffect3Name(), (int) buff.getEffect3Value()); - if(buff.getEffect1Name().length() > 0) core.skillModService.deductSkillMod(creature, buff.getEffect4Name(), (int) buff.getEffect4Value()); - if(buff.getEffect1Name().length() > 0) core.skillModService.deductSkillMod(creature, buff.getEffect5Name(), (int) buff.getEffect5Value()); -// } - if (!buff.getCallback().equals("none") && !buff.getCallback().equals("")) { + if(buff.getEffect1Name().length() > 0) + { + + core.skillModService.deductSkillMod(creature, buff.getEffect1Name(), (int) buff.getEffect1Value()); + + } + + if(buff.getEffect2Name().length() > 0) + { + core.skillModService.deductSkillMod(creature, buff.getEffect2Name(), (int) buff.getEffect2Value()); + } + + if(buff.getEffect3Name().length() > 0) + { + core.skillModService.deductSkillMod(creature, buff.getEffect3Name(), (int) buff.getEffect3Value()); + + } + + if(buff.getEffect4Name().length() > 0) + { + core.skillModService.deductSkillMod(creature, buff.getEffect4Name(), (int) buff.getEffect4Value()); + + } + + if(buff.getEffect5Name().length() > 0) + { + core.skillModService.deductSkillMod(creature, buff.getEffect5Name(), (int) buff.getEffect5Value()); + } +// } + + // ??? callback for what ? toggle buff ? + if (!buff.getCallback().equals("none") && !buff.getCallback().equals("")) + { if (FileUtilities.doesFileExist("scripts/buffs/" + buff.getBuffName() + ".py")) { PyObject method = core.scriptService.getMethod("scripts/buffs/", buff.getBuffName(), buff.getCallback()); @@ -246,6 +296,19 @@ public class BuffService implements INetworkDispatch { } } } + //remove method is more like it + else + { + if (FileUtilities.doesFileExist("scripts/buffs/" + buff.getBuffName() + ".py")) + { + PyObject method = core.scriptService.getMethod("scripts/buffs/", buff.getBuffName(), "remove"); + + if (method != null && method.isCallable()) + { + method.__call__(Py.java2py(core), Py.java2py(creature), Py.java2py(buff)); + } + } + } creature.removeBuff(buff); for (String effect : buff.getParticleEffect().split(",")) { @@ -331,14 +394,16 @@ public class BuffService implements INetworkDispatch { public void addGroupBuff(CreatureObject target, String buffName, CreatureObject buffer) { - if(buffer.getGroupId() == 0) { + if(buffer.getGroupId() == 0) + { doAddBuff(target, buffName, buffer); return; } GroupObject group = (GroupObject) core.objectService.getObject(buffer.getGroupId()); - if(group == null) { + if(group == null) + { doAddBuff(target, buffName, buffer); return; } diff --git a/src/services/EntertainmentService.java b/src/services/EntertainmentService.java index 78c04f0d..645dcd8d 100644 --- a/src/services/EntertainmentService.java +++ b/src/services/EntertainmentService.java @@ -62,6 +62,8 @@ public class EntertainmentService implements INetworkDispatch { private Map performanceEffects = new ConcurrentHashMap(); + + public EntertainmentService(NGECore core) { this.core = core; populateSkillCaps(); @@ -282,7 +284,8 @@ public class EntertainmentService implements INetworkDispatch { buffRecipient.getClient().getSession().write(closeMessage.serialize()); } - if (sender.getObjectId() == buffRecipient.getObjectId()) { + if (sender.getObjectId() == buffRecipient.getObjectId()) + { // send close packet to buffer BuffBuilderEndMessage end = new BuffBuilderEndMessage(sentPacket); end.setObjectId(buffer.getObjectId()); @@ -294,6 +297,8 @@ public class EntertainmentService implements INetworkDispatch { buffer.getClient().getSession().write(closeMessage.serialize()); CreatureObject cre = (CreatureObject) buffer; cre.sendSystemMessage("The buff recipient cancelled the buff builder session.", (byte) 0); + + } } } @@ -534,24 +539,70 @@ public class EntertainmentService implements INetworkDispatch { public void giveInspirationBuff(CreatureObject reciever, CreatureObject buffer, Vector buffVector) { + + if (reciever.hasBuff("buildabuff_inspiration")) + { + core.buffService.removeBuffFromCreature(reciever, reciever.getBuffByName("buildabuff_inspiration")); + } + Vector availableStats = buffBuilderSkills; Vector stats = new Vector(); - for (BuffItem item : buffVector) { - for(BuffBuilder builder : availableStats) { - if(builder.getStatName().equalsIgnoreCase(item.getSkillName())) { + for (BuffItem item : buffVector) + { + for(BuffBuilder builder : availableStats) + { + + if(builder.getStatName().equalsIgnoreCase(item.getSkillName())) + { + + if(builder.getMaxTimesApplied() < item.getInvested()) return; + + int affectTotal=0; + + - // Ent. Expertise Percent + (invested points * affect amount) = stat - int bonusPoints = (int) (builder.getAffectAmount() *((float) item.getEntertainerBonus()/100f)); - int affectTotal = bonusPoints + (item.getInvested() * builder.getAffectAmount()); - BuffItem stat = new BuffItem(builder.getStatAffects(), item.getInvested(), item.getEntertainerBonus()); - stat.setAffectAmount(affectTotal); + + switch(builder.getCategoryId()) + { + + case TRADE: + case RESISTANCES: + case ATTRIBUTES: + { + affectTotal=(int)( ( (1+(float) item.getEntertainerBonus()/100f)*builder.getAffectAmount()) * item.getInvested()); + break; + + } + case COMBAT: + { + affectTotal=(int) (( builder.getAffectAmount()+item.getEntertainerBonus()) * item.getInvested()); + break; + + } + case MISC: + { + affectTotal=(int) (( builder.getAffectAmount()) * item.getInvested()); + break; + + } + default: + { + System.out.println("unhandled builder catId of "+builder.getCategoryId()); + } + + } + + stat.setAffectAmount(affectTotal); stats.add(stat); + + break; } + } } @@ -566,8 +617,7 @@ public class EntertainmentService implements INetworkDispatch { //if (reciever.getAttachment("buffWorkshopTimestamp") != null) //timeStamp = (long) reciever.getAttachment("buffWorkshopTimestamp"); - if (reciever.hasBuff("buildabuff_inspiration")) - core.buffService.removeBuffFromCreature(reciever, reciever.getBuffByName("buildabuff_inspiration")); + core.buffService.addBuffToCreature(reciever, "buildabuff_inspiration", buffer); /*if (core.buffService.addBuffToCreature(reciever, "buildabuff_inspiration", buffer) && !rPlayer.getProfession().equals("entertainer_1a")) { diff --git a/src/services/GroupService.java b/src/services/GroupService.java index 13b46c7b..a311d9e5 100644 --- a/src/services/GroupService.java +++ b/src/services/GroupService.java @@ -126,7 +126,8 @@ public class GroupService implements INetworkDispatch { invited.setInviteSenderName(""); invited.sendSystemMessage(OutOfBand.ProsePackage("TT", leader.getObjectID(), "@group:decline_self"), (byte) 0); invited.updateGroupInviteInfo(); - invited.sendSystemMessage(OutOfBand.ProsePackage("TT", invited.getObjectID(), "@group:decline_leader"), (byte) 0); + + leader.sendSystemMessage(OutOfBand.ProsePackage("TT", invited.getObjectID(), "@group:decline_leader"), (byte) 0); } diff --git a/src/services/LootService.java b/src/services/LootService.java index 6811ee64..3ac9ee45 100644 --- a/src/services/LootService.java +++ b/src/services/LootService.java @@ -242,7 +242,7 @@ public class LootService implements INetworkDispatch { if (droppedItem.getAttachment("LootItemName").toString().contains("Loot Chest")){ lootedObject.playEffectObject("appearance/pt_rare_chest.prt", ""); - requester.playMusic("sound/rare_loot_chest.snd"); + requester.playMusicSelf("sound/rare_loot_chest.snd", requester.getObjectID(),1,false); } } diff --git a/src/services/PlayerService.java b/src/services/PlayerService.java index e65d989c..04d1b18c 100644 --- a/src/services/PlayerService.java +++ b/src/services/PlayerService.java @@ -1468,6 +1468,19 @@ public class PlayerService implements INetworkDispatch { return formalName; } + public String checkForGender(CreatureObject object) { + String gender =""; + if(object.getTemplate().contains("_female")){ + gender = "female"; + }else if(object.getTemplate().contains("_male")){ + gender = "male"; + }else{ + System.out.println("Error: No Gender"); + gender = "no_gender"; + } + return gender; + } + @Override public void shutdown() { // TODO Auto-generated method stub diff --git a/src/services/ai/LairActor.java b/src/services/ai/LairActor.java index 56fa0ac5..1bb1e4b8 100644 --- a/src/services/ai/LairActor.java +++ b/src/services/ai/LairActor.java @@ -42,6 +42,8 @@ public class LairActor { private Vector creatureTemplates; private volatile int spawnWave = 0; private short level; + private String bossTemplate; + private boolean bossSpawned = false; public LairActor(TangibleObject lairObject, String creatureTemplate) { this.lairObject = lairObject; @@ -118,6 +120,10 @@ public class LairActor { } break; case 3: + if (bossTemplate!=null && ! bossSpawned){ + CreatureObject boss = (CreatureObject)NGECore.getInstance().spawnService.spawnCreature(bossTemplate, lairObject.getPlanet().getName(), 0L, lairObject.getPosition().x + 3, lairObject.getPosition().y, lairObject.getPosition().z, lairObject.getOrientation().w, lairObject.getOrientation().x, lairObject.getOrientation().y,lairObject.getOrientation().z,-1); + bossSpawned = true; + } return; default: @@ -139,7 +145,7 @@ public class LairActor { creatureTemplate = creatureTemplates.get(new Random().nextInt(creatureTemplates.size())); float babyChance = new Random().nextFloat(); CreatureObject creature = null; - if (babyChance>0.9){ + if (babyChance>0.1){ creature = NGECore.getInstance().spawnService.spawnCreature(creatureTemplate, lairObject.getPlanet().getName(), 0, position.x, position.y, position.z, level); } else { creature = NGECore.getInstance().spawnService.spawnCreatureBaby(creatureTemplate, lairObject.getPlanet().getName(), 0, position.x, position.y, position.z, level); @@ -197,4 +203,12 @@ public class LairActor { public void setLevel(short level) { this.level = level; } + + public String getBossTemplate() { + return bossTemplate; + } + + public void setBossTemplate(String bossTemplate) { + this.bossTemplate = bossTemplate; + } } diff --git a/src/services/command/CommandService.java b/src/services/command/CommandService.java index a8cd0210..59d2590a 100644 --- a/src/services/command/CommandService.java +++ b/src/services/command/CommandService.java @@ -94,11 +94,14 @@ public class CommandService implements INetworkDispatch { return false; } - TangibleObject weapon = (TangibleObject) core.objectService.getObject(actor.getWeaponId()); + // Causes this service method to return with false after equipping a rifle, not allowing to unequip it anymore + // because the client seems to consider rifles invalidweapons for an unkown reason - if (weapon != null && weapon instanceof WeaponObject && ((WeaponObject) weapon).getWeaponType() == command.getInvalidWeapon()) { - return false; - } +// TangibleObject weapon = (TangibleObject) core.objectService.getObject(actor.getWeaponId()); +// +// if (weapon != null && weapon instanceof WeaponObject && ((WeaponObject) weapon).getWeaponType() == command.getInvalidWeapon()) { +// return false; +// } for (long state : command.getInvalidStates()) { if ((actor.getStateBitmask() & state) == state) { diff --git a/src/services/equipment/EquipmentService.java b/src/services/equipment/EquipmentService.java index f5220c53..d1cf09ae 100644 --- a/src/services/equipment/EquipmentService.java +++ b/src/services/equipment/EquipmentService.java @@ -165,7 +165,12 @@ public class EquipmentService implements INetworkDispatch { if(func != null) func.__call__(Py.java2py(core), Py.java2py(actor), Py.java2py(item)); if(!actor.getEquipmentList().contains(item.getObjectID())) { - if(item instanceof WeaponObject) actor.setWeaponId(item.getObjectID()); + //if(item instanceof WeaponObject){ + //A rifle is not identified as a true WeaponObject ?!?!?!?! + if (item.getTemplate().contains("object/weapon/")){ + actor.setWeaponId(item.getObjectID()); // This line causes the rifle lockup + //System.out.println("WEAPON IDENTIFIED!"); + } actor.addObjectToEquipList(item); processItemAtrributes(actor, item, true); } diff --git a/src/services/spawn/LairTemplate.java b/src/services/spawn/LairTemplate.java index 04741351..c94dfe50 100644 --- a/src/services/spawn/LairTemplate.java +++ b/src/services/spawn/LairTemplate.java @@ -29,7 +29,9 @@ public class LairTemplate { private String lairCRC; private String mobileName; private Vector mobiles; + private Vector lairCRCs; private int mobileLimit; + private String bossTemplate; public LairTemplate(String name, String mobile, int mobileLimit, String lairCRC) { this.name = name; @@ -45,6 +47,36 @@ public class LairTemplate { this.lairCRC = lairCRC; } + public LairTemplate(String name, Vector mobiles, int mobileLimit, Vector lairCRCs) { + this.name = name; + this.mobiles = mobiles; + this.mobileLimit = mobileLimit; + this.lairCRCs = lairCRCs; + } + + public LairTemplate(String name, Vector mobiles, int mobileLimit, Vector lairCRCs, String bossTemplate) { + this.name = name; + this.mobiles = mobiles; + this.mobileLimit = mobileLimit; + this.lairCRCs = lairCRCs; + this.bossTemplate = bossTemplate; + } + + public LairTemplate(String name, String mobile, int mobileLimit, Vector lairCRCs, String bossTemplate) { + this.name = name; + this.mobileName = mobile; + this.mobileLimit = mobileLimit; + this.lairCRCs = lairCRCs; + this.bossTemplate = bossTemplate; + } + + public LairTemplate(String name, String mobile, int mobileLimit, Vector lairCRCs) { + this.name = name; + this.mobileName = mobile; + this.mobileLimit = mobileLimit; + this.lairCRCs = lairCRCs; + } + public String getLairCRC() { return lairCRC; } @@ -85,4 +117,20 @@ public class LairTemplate { this.mobiles = mobiles; } + public Vector getLairCRCs() { + return lairCRCs; + } + + public void setLairCRCs(Vector lairCRCs) { + this.lairCRCs = lairCRCs; + } + + public String getBossTemplate() { + return bossTemplate; + } + + public void setBossTemplate(String bossTemplate) { + this.bossTemplate = bossTemplate; + } + } diff --git a/src/services/spawn/SpawnService.java b/src/services/spawn/SpawnService.java index 1a612118..0fc22032 100644 --- a/src/services/spawn/SpawnService.java +++ b/src/services/spawn/SpawnService.java @@ -436,7 +436,15 @@ public class SpawnService { LairTemplate lairTemplate = lairTemplates.get(lairSpawnTemplate); if(lairTemplate == null) return null; - TangibleObject lairObject = (TangibleObject) core.objectService.createObject(lairTemplate.getLairCRC(), 0, planet, position, new Quaternion(1, 0, 0, 0)); + + TangibleObject lairObject = null; + if (lairTemplate.getLairCRC()==null){ + String lairCRC = lairTemplate.getLairCRCs().get(new Random().nextInt(lairTemplate.getLairCRCs().size())); + System.out.println("Lair CRC " + lairCRC); + lairObject = (TangibleObject) core.objectService.createObject(lairCRC, 0, planet, position, new Quaternion(1, 0, 0, 0)); + } else { + lairObject = (TangibleObject) core.objectService.createObject(lairTemplate.getLairCRC().trim(), 0, planet, position, new Quaternion(1, 0, 0, 0)); + } if(lairObject == null) return null; @@ -452,6 +460,9 @@ public class SpawnService { lairObject.setAttachment("AI", lairActor); + if (lairTemplate.getBossTemplate()!=null) + lairActor.setBossTemplate(lairTemplate.getBossTemplate()); + core.simulationService.add(lairObject, position.x, position.z, true); lairActor.spawnNewCreatures(); @@ -506,6 +517,18 @@ public class SpawnService { lairTemplates.put(name, new LairTemplate(name, mobiles, mobileLimit, lairCRC)); } + public void addLairTemplate(String name, Vector mobiles, int mobileLimit, Vector lairCRCs) { + lairTemplates.put(name, new LairTemplate(name, mobiles, mobileLimit, lairCRCs)); + } + + public void addLairTemplate(String name, Vector mobiles, int mobileLimit, Vector lairCRCs, String bossTemplate) { + lairTemplates.put(name, new LairTemplate(name, mobiles, mobileLimit, lairCRCs)); + } + + public void addLairTemplate(String name, String mobile, int mobileLimit, Vector lairCRCs, String bossTemplate) { + lairTemplates.put(name, new LairTemplate(name, mobile, mobileLimit, lairCRCs)); + } + public void loadLairGroups() { Path p = Paths.get("scripts/mobiles/lairgroups"); FileVisitor fv = new SimpleFileVisitor() {