diff --git a/.gitignore b/.gitignore index fffabff6..f80b1387 100644 --- a/.gitignore +++ b/.gitignore @@ -60,8 +60,13 @@ odb/chatRooms/je.info.* odb/resourcehistory/je.info.* odb/resourceroots/je.info.* odb/resources/je.info.* +<<<<<<< HEAD odb/auction/je.info.* odb/swgobjects/je.info.* +======= +odb/auction/je.info.* +odb/bounties/je.info.* +>>>>>>> 12ca3ae66170fcfe09d848a7eea529041b9af5ad # External tool builders .externalToolBuilders/ diff --git a/odb/bounties/placeholder.txt b/odb/bounties/placeholder.txt new file mode 100644 index 00000000..e69de29b diff --git a/scripts/commands/grantzoningrights.py b/scripts/commands/grantzoningrights.py new file mode 100644 index 00000000..21cbbb8d --- /dev/null +++ b/scripts/commands/grantzoningrights.py @@ -0,0 +1,40 @@ +import sys +from java.lang import System +from resources.common import OutOfBand +from resources.common import ProsePackage +import main.NGECore + +def setup(): + return + +def run(core, actor, target, commandString): + + if target == None: + return + + #if !actor.hasSkill('Politician'): + #You must be a Politician to enable city zoning. + #actor.sendSystemMessage('@city/city:zoning_skill', 0) + #return + + thisCity = main.NGECore.getInstance().playerCityService.getCityObjectIsIn(actor) + + if thisCity == None: + #not_in_city_limits + actor.sendSystemMessage('@city/city:not_in_city_limits', 0) + return + + if thisCity.getMayorID()!=actor.getObjectID() and not thisCity.isMilitiaMember(actor.getObjectID()): + #You must be the mayor of the city or a member of the city militia to grant zoning rights. + actor.sendSystemMessage('@city/city:grant_rights_fail', 0) + actor.sendSystemMessage('thisCity.getMayorID() %s' % thisCity.getMayorID(), 0) + actor.sendSystemMessage('actor.getObjectID() %s' % actor.getObjectID(), 0) + return + + #You have granted %TO zoning rights for 24 hours. + actor.sendSystemMessage(OutOfBand.ProsePackage("@city/city:rights_granted_self", "TO", target.getCustomName()), 0) + target.setAttachment('Has24HZoningFor',thisCity.getCityID()) + target.setAttachment('Has24HZoningUntil',System.currentTimeMillis()+60*60*24) + target.sendSystemMessage(OutOfBand.ProsePackage("@city/city:rights_granted", "TO", thisCity.getCityName()), 0) + + return \ No newline at end of file diff --git a/scripts/commands/harvesteractivate.py b/scripts/commands/harvesteractivate.py index 5411445a..f05ede73 100644 --- a/scripts/commands/harvesteractivate.py +++ b/scripts/commands/harvesteractivate.py @@ -2,7 +2,7 @@ import sys def setup(): return - + def run(core, actor, target, commandString): core.harvesterService.handleHarvesterActivateCommand(actor, target, commandString) return diff --git a/scripts/commands/harvesterdeactivate.py b/scripts/commands/harvesterdeactivate.py index 3a225b3f..7989148f 100644 --- a/scripts/commands/harvesterdeactivate.py +++ b/scripts/commands/harvesterdeactivate.py @@ -2,9 +2,7 @@ import sys def setup(): return - + def run(core, actor, target, commandString): core.harvesterService.handleHarvesterDeactivateCommand(actor, target, commandString) return - - \ No newline at end of file diff --git a/scripts/commands/harvesterdiscardhopper.py b/scripts/commands/harvesterdiscardhopper.py index 3a52f754..6ae345b9 100644 --- a/scripts/commands/harvesterdiscardhopper.py +++ b/scripts/commands/harvesterdiscardhopper.py @@ -2,10 +2,8 @@ import sys def setup(): return - + def run(core, actor, target, commandString): actor.sendSystemMessage('handleEmptyHarvester', 0) core.harvesterService.handleEmptyHarvester(actor, target, commandString) return - - \ No newline at end of file diff --git a/scripts/commands/harvesterselectresource.py b/scripts/commands/harvesterselectresource.py index 69c8c725..cc1c18aa 100644 --- a/scripts/commands/harvesterselectresource.py +++ b/scripts/commands/harvesterselectresource.py @@ -2,9 +2,7 @@ import sys def setup(): return - + def run(core, actor, target, commandString): core.harvesterService.handleHarvesterSelectResourceCommand(actor, target, commandString) return - - \ No newline at end of file diff --git a/scripts/commands/movefurniture.py b/scripts/commands/movefurniture.py index 1f4a7148..d07ea1da 100644 --- a/scripts/commands/movefurniture.py +++ b/scripts/commands/movefurniture.py @@ -3,7 +3,7 @@ from engine.resources.scene import Point3D def setup(): return - + def run(core, actor, target, commandString): tarObj = core.objectService.getObject(actor.getTargetId()) container = actor.getContainer() @@ -28,10 +28,8 @@ def run(core, actor, target, commandString): elif parsedMsg[0] == "left": core.simulationService.transform(tarObj, Point3D(float(parsedMsg[1]) * -0.01, 0, 0)) return - elif container.getTemplate() == "object/cell/shared_cell.iff": actor.sendSystemMessage("You do not have permission to access that container!", 0) return - + return - \ No newline at end of file diff --git a/scripts/commands/permissionlistmodify.py b/scripts/commands/permissionlistmodify.py index 8c0108ba..5d75a1e2 100644 --- a/scripts/commands/permissionlistmodify.py +++ b/scripts/commands/permissionlistmodify.py @@ -2,7 +2,7 @@ import sys def setup(): return - + def run(core, actor, target, commandString): permissionType = 'Undetermined' commandArgs = commandString.split(' ') diff --git a/scripts/commands/placestructure.py b/scripts/commands/placestructure.py index f6f5c122..fa7bc65a 100644 --- a/scripts/commands/placestructure.py +++ b/scripts/commands/placestructure.py @@ -1,32 +1,25 @@ import sys -import resources.objects.deed.Harvester_Deed def setup(): return - + def run(core, actor, target, commandString): cmdArgs = commandString.split(" ") deedId = long(cmdArgs[0]) deed = core.objectService.getObject(deedId) - - if (actor.getAttachment('UsingHarvesterDeed') == '1'): - actor.setAttachment('UsingHarvesterDeed', '0'); + + if deed == actor: + deed = actor.getUseTarget() + + if deed.getTemplate().startswith('object/tangible/deed/harvester_deed') is True or deed.getTemplate().startswith('object/tangible/deed/generator_deed') is True: core.harvesterService.handlePlaceStructureCommand(actor, target, commandString) return - + positionX = float(cmdArgs[1]) positionZ = float(cmdArgs[2]) - #positionY = core.terrainService.getHeight(actor.getPlanetId(), positionX, positionZ) + 2 - rotation = float(cmdArgs[3]) - - #structureTemplate = deed.getAttachment("structureTemplate") - core.housingService.placeStructure(actor, deed, positionX, positionZ, rotation) - #building = core.objectService.createObject(structureTemplate, actor.getPlanet(), positionX, positionZ, positionY); - #core.simulationService.add(building, building.getPosition().x, building.getPosition().z); - - return \ No newline at end of file + return diff --git a/scripts/commands/pvp.py b/scripts/commands/pvp.py index 8fbdc155..1260a24c 100644 --- a/scripts/commands/pvp.py +++ b/scripts/commands/pvp.py @@ -17,7 +17,8 @@ def run(core, actor, target, commandString): if commandString != '' and commandString != faction: if commandString == 'rebel' or commandString == 'imperial' or commandString == 'neutral': - actor.sendSystemMessage('@faction_recruiter:sui_resig_complete_in_5', 0) + if faction != 'neutral': + actor.sendSystemMessage('@faction_recruiter:sui_resig_complete_in_5', 0) if actor.getFactionStatus() == FactionStatus.SpecialForces: actor.setPvpStatus(PvpStatus.GoingCovert, True) diff --git a/scripts/commands/resourceemptyhopper.py b/scripts/commands/resourceemptyhopper.py index 3a225b3f..7989148f 100644 --- a/scripts/commands/resourceemptyhopper.py +++ b/scripts/commands/resourceemptyhopper.py @@ -2,9 +2,7 @@ import sys def setup(): return - + def run(core, actor, target, commandString): core.harvesterService.handleHarvesterDeactivateCommand(actor, target, commandString) return - - \ No newline at end of file diff --git a/scripts/commands/rotatefurniture.py b/scripts/commands/rotatefurniture.py index 9d019d0c..18fbfe35 100644 --- a/scripts/commands/rotatefurniture.py +++ b/scripts/commands/rotatefurniture.py @@ -3,7 +3,7 @@ from engine.resources.scene import Point3D def setup(): return - + def run(core, actor, target, commandString): tarObj = core.objectService.getObject(actor.getTargetId()) @@ -20,10 +20,8 @@ def run(core, actor, target, commandString): elif parsedMsg[0] == "roll": core.simulationService.transform(tarObj, float(parsedMsg[1]), Point3D(0, 0, 1)) # this is messed up ??? return - elif container.getTemplate() == "object/cell/shared_cell.iff": actor.sendSystemMessage("You do not have permission to access that container!", 0) return - + return - \ No newline at end of file diff --git a/scripts/commands/setgodmode.py b/scripts/commands/setgodmode.py index e66d7982..b0e78d52 100644 --- a/scripts/commands/setgodmode.py +++ b/scripts/commands/setgodmode.py @@ -99,11 +99,9 @@ def run(core, actor, target, commandString): if (actor.isInStealth()): actor.setInStealth(False) actor.setRadarVisible(True) - actor.sendSystemMessage('You are now visible to other players.', 0) else: actor.setInStealth(True) actor.setRadarVisible(False) - actor.sendSystemMessage('You are now hidden from players. "Stealth Effect" is not implemented, however players still won\'t be able to see you. Type /setgodmode stealth again to be visible.', 0) elif command == 'holoEmote' and arg1: playerObject.setHoloEmote('holoemote_' + arg1) @@ -114,5 +112,9 @@ def run(core, actor, target, commandString): if playerObject.getGodLevel > 0: actor.removeAbility("admin") playerObject.setGodLevel(0) - + + elif command == 'setBounty': + core.playerService.sendSetBountyWindow(actor, actor) + return + return diff --git a/scripts/conversation/missions/deliver.py b/scripts/conversation/missions/deliver.py index 5caef3fa..f8ee5667 100644 --- a/scripts/conversation/missions/deliver.py +++ b/scripts/conversation/missions/deliver.py @@ -44,8 +44,8 @@ def handlePickupStage(core, actor, npc, objective, mission): return core.conversationService.sendStopConversation(actor, npc, mission.getMissionDescription(), 'm' + str(mission.getMissionId()) + 'p') - objective.createDeliveryItem() - objective.update() + objective.createDeliveryItem(core, actor) + objective.update(core, actor) return def handleDeliveryStage(core, actor, npc, objective, mission): @@ -56,7 +56,7 @@ def handleDeliveryStage(core, actor, npc, objective, mission): core.conversationService.sendStopConversation(actor, npc, mission.getMissionDescription(), 'm' + str(mission.getMissionId()) + 'r') core.objectService.destroyObject(objective.getDeliveryObject()) - objective.update() + objective.update(core, actor) return def handleCompletionStage(core, actor, npc, objective, mission): @@ -66,5 +66,5 @@ def handleCompletionStage(core, actor, npc, objective, mission): return core.conversationService.sendStopConversation(actor, npc, mission.getMissionDescription(), 'm' + str(mission.getMissionId()) + 's') - objective.complete() + objective.complete(core, actor) return \ No newline at end of file diff --git a/scripts/houses/player_cityhall_corellia_style_01.py b/scripts/houses/player_cityhall_corellia_style_01.py index 7b9e070b..ff396cb0 100644 --- a/scripts/houses/player_cityhall_corellia_style_01.py +++ b/scripts/houses/player_cityhall_corellia_style_01.py @@ -2,13 +2,15 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/city_deed/shared_cityhall_corellia_deed.iff", "object/building/player/city/shared_cityhall_corellia.iff", 0) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(1, 2, 3)) houseTemplate.addPlaceablePlanet("corellia") houseTemplate.addPlaceablePlanet("talus") houseTemplate.setDefaultItemLimit(400) + houseTemplate.setBaseMaintenanceRate(308) + + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) - core.housingService.addHousingTemplate(houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_cityhall_naboo_style_01.py b/scripts/houses/player_cityhall_naboo_style_01.py index 0e9a8335..8bb52c69 100644 --- a/scripts/houses/player_cityhall_naboo_style_01.py +++ b/scripts/houses/player_cityhall_naboo_style_01.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/city_deed/shared_cityhall_naboo_deed.iff", "object/building/player/city/shared_cityhall_naboo.iff", 0) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(1, 2, 3)) @@ -10,6 +10,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("rori") houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.setDefaultItemLimit(400) + houseTemplate.setBaseMaintenanceRate(308) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_cityhall_tatooine_style_01.py b/scripts/houses/player_cityhall_tatooine_style_01.py index da337900..766ed7cf 100644 --- a/scripts/houses/player_cityhall_tatooine_style_01.py +++ b/scripts/houses/player_cityhall_tatooine_style_01.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/city_deed/shared_cityhall_tatooine_deed.iff", "object/building/player/city/shared_cityhall_tatooine.iff", 0) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(1, 2, 3)) @@ -10,6 +10,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(400) + houseTemplate.setBaseMaintenanceRate(308) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_garden_tatooine_sml_01.py b/scripts/houses/player_garden_tatooine_sml_01.py new file mode 100644 index 00000000..ed3b2981 --- /dev/null +++ b/scripts/houses/player_garden_tatooine_sml_01.py @@ -0,0 +1,15 @@ +import sys +from services.housing import HouseTemplate +from engine.resources.scene import Point3D + +def setup(housingTemplates): + houseTemplate = HouseTemplate("object/tangible/deed/city_deed/shared_garden_tatooine_sml_01_deed.iff", "object/building/player/city/shared_garden_tatooine_sml_01.iff", 0) + + houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(1, 2, 3)) + houseTemplate.addPlaceablePlanet("tatooine") + houseTemplate.addPlaceablePlanet("dantooine") + houseTemplate.addPlaceablePlanet("lok") + houseTemplate.setDefaultItemLimit(0) + + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) + return \ No newline at end of file diff --git a/scripts/houses/player_guildhall_corellia_style_01.py b/scripts/houses/player_guildhall_corellia_style_01.py index d48d14e0..31cb89f8 100644 --- a/scripts/houses/player_guildhall_corellia_style_01.py +++ b/scripts/houses/player_guildhall_corellia_style_01.py @@ -2,13 +2,14 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/guild_deed/shared_corellia_guild_deed.iff", "object/building/player/shared_player_guildhall_corellia_style_01.iff", 5) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(6), float(3), float(18.4))) houseTemplate.addPlaceablePlanet("corellia") houseTemplate.addPlaceablePlanet("talus") houseTemplate.setDefaultItemLimit(400) + houseTemplate.setBaseMaintenanceRate(100) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_guildhall_generic_style_01.py b/scripts/houses/player_guildhall_generic_style_01.py index a52507ea..a60c94d6 100644 --- a/scripts/houses/player_guildhall_generic_style_01.py +++ b/scripts/houses/player_guildhall_generic_style_01.py @@ -2,8 +2,8 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): - houseTemplate = HouseTemplate("object/tangible/deed/guild_deed/shared_generic_guild_deed.iff", "object/building/player/shared_player_guildhall_generic_style_01.iff", 2) +def setup(housingTemplates): + houseTemplate = HouseTemplate("object/tangible/deed/guild_deed/shared_generic_guild_deed.iff", "object/building/player/shared_player_guildhall_generic_style_01.iff", 5) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(6), float(3), float(18.4))) houseTemplate.addPlaceablePlanet("tatooine") @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(400) + houseTemplate.setBaseMaintenanceRate(100) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_guildhall_naboo_style_01.py b/scripts/houses/player_guildhall_naboo_style_01.py index 61304374..c9a2777e 100644 --- a/scripts/houses/player_guildhall_naboo_style_01.py +++ b/scripts/houses/player_guildhall_naboo_style_01.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/guild_deed/shared_naboo_guild_deed.iff", "object/building/player/shared_player_guildhall_naboo_style_01.iff", 5) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(6), float(3), float(18.4))) @@ -10,6 +10,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("rori") houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.setDefaultItemLimit(400) + houseTemplate.setBaseMaintenanceRate(100) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_guildhall_tatooine_style_01.py b/scripts/houses/player_guildhall_tatooine_style_01.py index edae69a7..05a70c0c 100644 --- a/scripts/houses/player_guildhall_tatooine_style_01.py +++ b/scripts/houses/player_guildhall_tatooine_style_01.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/guild_deed/shared_tatooine_guild_deed.iff", "object/building/player/shared_player_guildhall_tatooine_style_01.iff", 5) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(6), float(3), float(18.4))) @@ -10,6 +10,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(400) + houseTemplate.setBaseMaintenanceRate(100) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_guildhall_tatooine_style_02.py b/scripts/houses/player_guildhall_tatooine_style_02.py index 395b56d6..451bb05a 100644 --- a/scripts/houses/player_guildhall_tatooine_style_02.py +++ b/scripts/houses/player_guildhall_tatooine_style_02.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/guild_deed/shared_tatooine_guild_style_02_deed.iff", "object/building/player/shared_player_guildhall_tatooine_style_02.iff", 5) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(5.5), float(4), float(12.7))) @@ -10,6 +10,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(400) + houseTemplate.setBaseMaintenanceRate(100) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_atat.py b/scripts/houses/player_house_atat.py index 3d0b04d2..1ff4e466 100644 --- a/scripts/houses/player_house_atat.py +++ b/scripts/houses/player_house_atat.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/tcg/series5/shared_structure_deed_player_house_atat.iff", "object/building/player/shared_player_house_atat.iff", 3) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-3.8), float(5.86), float(15.1))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(350) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_corellia_large_style_01.py b/scripts/houses/player_house_corellia_large_style_01.py index 44d9fd81..9c1382ce 100644 --- a/scripts/houses/player_house_corellia_large_style_01.py +++ b/scripts/houses/player_house_corellia_large_style_01.py @@ -2,13 +2,14 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_corellia_house_large_deed.iff", "object/building/player/shared_player_house_corellia_large_style_01.iff", 5) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(6), float(3), float(13.4))) houseTemplate.addPlaceablePlanet("corellia") houseTemplate.addPlaceablePlanet("talus") houseTemplate.setDefaultItemLimit(500) + houseTemplate.setBaseMaintenanceRate(26) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_corellia_large_style_02.py b/scripts/houses/player_house_corellia_large_style_02.py index 7d35d0de..7bc5f2da 100644 --- a/scripts/houses/player_house_corellia_large_style_02.py +++ b/scripts/houses/player_house_corellia_large_style_02.py @@ -2,12 +2,14 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_corellia_house_large_style_02_deed.iff", "object/building/player/shared_player_house_generic_large_style_02.iff", 5) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-13.4), float(3), float(9.1))) houseTemplate.addPlaceablePlanet("corellia") houseTemplate.addPlaceablePlanet("talus") - houseTemplate.setDefaultItemLimit(500) - core.housingService.addHousingTemplate(houseTemplate) + houseTemplate.setDefaultItemLimit(500) + houseTemplate.setBaseMaintenanceRate(26) + + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_corellia_medium_style_01.py b/scripts/houses/player_house_corellia_medium_style_01.py index 27988156..48167fda 100644 --- a/scripts/houses/player_house_corellia_medium_style_01.py +++ b/scripts/houses/player_house_corellia_medium_style_01.py @@ -2,12 +2,14 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_corellia_house_medium_deed.iff", "object/building/player/shared_player_house_corellia_medium_style_01.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(5.3),float(2.26),float(7.7))) houseTemplate.addPlaceablePlanet("corellia") houseTemplate.addPlaceablePlanet("talus") houseTemplate.setDefaultItemLimit(200) - core.housingService.addHousingTemplate(houseTemplate) + houseTemplate.setBaseMaintenanceRate(18) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) + return \ No newline at end of file diff --git a/scripts/houses/player_house_corellia_medium_style_02.py b/scripts/houses/player_house_corellia_medium_style_02.py index a0472e2e..41559ba0 100644 --- a/scripts/houses/player_house_corellia_medium_style_02.py +++ b/scripts/houses/player_house_corellia_medium_style_02.py @@ -2,12 +2,14 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_corellia_house_medium_style_02_deed.iff", "object/building/player/shared_player_house_corellia_medium_style_02.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(5.3), float(2.26), float(7.7))) houseTemplate.addPlaceablePlanet("corellia") houseTemplate.addPlaceablePlanet("talus") houseTemplate.setDefaultItemLimit(200) - core.housingService.addHousingTemplate(houseTemplate) + houseTemplate.setBaseMaintenanceRate(18) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) + return \ No newline at end of file diff --git a/scripts/houses/player_house_corellia_small_style_01.py b/scripts/houses/player_house_corellia_small_style_01.py index acae7c15..96de8802 100644 --- a/scripts/houses/player_house_corellia_small_style_01.py +++ b/scripts/houses/player_house_corellia_small_style_01.py @@ -2,13 +2,14 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_corellia_house_small_deed.iff", "object/building/player/shared_player_house_corellia_small_style_01.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-7.39), float(2.36), float(2))) houseTemplate.addPlaceablePlanet("corellia") houseTemplate.addPlaceablePlanet("talus") houseTemplate.setDefaultItemLimit(200) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_corellia_small_style_01_floorplan_02.py b/scripts/houses/player_house_corellia_small_style_01_floorplan_02.py index 5781e8eb..bf670367 100644 --- a/scripts/houses/player_house_corellia_small_style_01_floorplan_02.py +++ b/scripts/houses/player_house_corellia_small_style_01_floorplan_02.py @@ -2,13 +2,14 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_corellia_house_small_floor_02_deed.iff", "object/building/player/shared_player_house_corellia_small_style_01_floorplan_02.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-7.39), float(2.36), float(2))) houseTemplate.addPlaceablePlanet("corellia") houseTemplate.addPlaceablePlanet("talus") houseTemplate.setDefaultItemLimit(200) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_corellia_small_style_02.py b/scripts/houses/player_house_corellia_small_style_02.py index 1e55a1ed..5baf48fd 100644 --- a/scripts/houses/player_house_corellia_small_style_02.py +++ b/scripts/houses/player_house_corellia_small_style_02.py @@ -2,13 +2,14 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_corellia_house_small_style_02_deed.iff", "object/building/player/shared_player_house_corellia_small_style_02.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-1.9), float(2.86), float(8.35))) houseTemplate.addPlaceablePlanet("corellia") houseTemplate.addPlaceablePlanet("talus") houseTemplate.setDefaultItemLimit(200) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_corellia_small_style_02_floorplan_02.py b/scripts/houses/player_house_corellia_small_style_02_floorplan_02.py index 6e7feff8..914fa313 100644 --- a/scripts/houses/player_house_corellia_small_style_02_floorplan_02.py +++ b/scripts/houses/player_house_corellia_small_style_02_floorplan_02.py @@ -2,13 +2,14 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_corellia_house_small_style_02_floor_02_deed.iff", "object/building/player/shared_player_house_corellia_small_style_02_floorplan_02.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-1.9), float(2.86), float(8.35))) houseTemplate.addPlaceablePlanet("corellia") houseTemplate.addPlaceablePlanet("talus") houseTemplate.setDefaultItemLimit(200) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_generic_large_style_01.py b/scripts/houses/player_house_generic_large_style_01.py index 645038ca..aa933d9d 100644 --- a/scripts/houses/player_house_generic_large_style_01.py +++ b/scripts/houses/player_house_generic_large_style_01.py @@ -2,8 +2,8 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): - houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_large_style_02_deed.iff", "object/building/player/shared_player_house_generic_large_style_02.iff", 2) +def setup(housingTemplates): + houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_large_style_02_deed.iff", "object/building/player/shared_player_house_generic_large_style_02.iff", 5) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(6), float(3), float(13.4))) houseTemplate.addPlaceablePlanet("tatooine") @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(500) + houseTemplate.setBaseMaintenanceRate(26) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_generic_large_style_02.py b/scripts/houses/player_house_generic_large_style_02.py index 6ee98363..a64b27dc 100644 --- a/scripts/houses/player_house_generic_large_style_02.py +++ b/scripts/houses/player_house_generic_large_style_02.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_large_deed.iff", "object/building/player/shared_player_house_generic_large_style_01.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-13.4), float(3), float(9.1))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(500) + houseTemplate.setBaseMaintenanceRate(26) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_generic_large_window_s01.py b/scripts/houses/player_house_generic_large_window_s01.py index 66c1b69a..031f8296 100644 --- a/scripts/houses/player_house_generic_large_window_s01.py +++ b/scripts/houses/player_house_generic_large_window_s01.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_large_window_s01_deed.iff", "object/building/player/shared_player_house_generic_large_window_s01.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-13.7), float(3), float(9.1))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(500) + houseTemplate.setBaseMaintenanceRate(26) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_generic_large_window_s02.py b/scripts/houses/player_house_generic_large_window_s02.py index fba62f6c..d5919f4d 100644 --- a/scripts/houses/player_house_generic_large_window_s02.py +++ b/scripts/houses/player_house_generic_large_window_s02.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_large_window_s02_deed.iff", "object/building/player/shared_player_house_generic_large_window_s02.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(10.4), float(3), float(-11))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(500) + houseTemplate.setBaseMaintenanceRate(26) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_generic_medium_style_01.py b/scripts/houses/player_house_generic_medium_style_01.py index e8473868..3d0beb4e 100644 --- a/scripts/houses/player_house_generic_medium_style_01.py +++ b/scripts/houses/player_house_generic_medium_style_01.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_medium_deed.iff", "object/building/player/shared_player_house_generic_medium_style_01.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(5.3),float(2.26),float(7.7))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(200) + houseTemplate.setBaseMaintenanceRate(18) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_generic_medium_style_02.py b/scripts/houses/player_house_generic_medium_style_02.py index 7bd2db7b..b8aa1bf6 100644 --- a/scripts/houses/player_house_generic_medium_style_02.py +++ b/scripts/houses/player_house_generic_medium_style_02.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_medium_style_02_deed.iff", "object/building/player/shared_player_house_generic_medium_style_02.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(5.3), float(2.26), float(7.7))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(200) + houseTemplate.setBaseMaintenanceRate(18) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_generic_medium_windowed.py b/scripts/houses/player_house_generic_medium_windowed.py index e10c4b17..9ddc528a 100644 --- a/scripts/houses/player_house_generic_medium_windowed.py +++ b/scripts/houses/player_house_generic_medium_windowed.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_medium_windowed_deed.iff", "object/building/player/shared_player_house_generic_medium_windowed.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(5.5), float(2.26), float(7.8))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(200) + houseTemplate.setBaseMaintenanceRate(18) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_generic_medium_windowed_s02.py b/scripts/houses/player_house_generic_medium_windowed_s02.py index 9c69e156..692f620b 100644 --- a/scripts/houses/player_house_generic_medium_windowed_s02.py +++ b/scripts/houses/player_house_generic_medium_windowed_s02.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_medium_windowed_s02_deed.iff", "object/building/player/shared_player_house_generic_medium_windowed_s02.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(5.5), float(2.26), float(7.8))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(200) + houseTemplate.setBaseMaintenanceRate(18) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_generic_small_style_01.py b/scripts/houses/player_house_generic_small_style_01.py index 778d50da..3c225c31 100644 --- a/scripts/houses/player_house_generic_small_style_01.py +++ b/scripts/houses/player_house_generic_small_style_01.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_small_deed.iff", "object/building/player/shared_player_house_generic_small_style_01.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-7.39), float(2.36), float(2))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(200) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_generic_small_style_01_floorplan_02.py b/scripts/houses/player_house_generic_small_style_01_floorplan_02.py index e20ec536..e06a6316 100644 --- a/scripts/houses/player_house_generic_small_style_01_floorplan_02.py +++ b/scripts/houses/player_house_generic_small_style_01_floorplan_02.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_small_floor_02_deed.iff", "object/building/player/shared_player_house_generic_small_style_01_floorplan_02.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-7.39), float(2.36), float(2))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(200) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_generic_small_style_02.py b/scripts/houses/player_house_generic_small_style_02.py index 87121425..c32a0b84 100644 --- a/scripts/houses/player_house_generic_small_style_02.py +++ b/scripts/houses/player_house_generic_small_style_02.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_small_style_02_deed.iff", "object/building/player/shared_player_house_generic_small_style_02.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-1.9), float(2.86), float(8.35))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(200) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_generic_small_style_02_floorplan_02.py b/scripts/houses/player_house_generic_small_style_02_floorplan_02.py index 72ef35ac..a2ffe757 100644 --- a/scripts/houses/player_house_generic_small_style_02_floorplan_02.py +++ b/scripts/houses/player_house_generic_small_style_02_floorplan_02.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_small_style_02_floor_02_deed.iff", "object/building/player/shared_player_house_generic_small_style_02_floorplan_02.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-1.9), float(2.86), float(8.35))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(200) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_generic_small_window_style_03.py b/scripts/houses/player_house_generic_small_window_style_03.py index 260c2476..9adf8ff0 100644 --- a/scripts/houses/player_house_generic_small_window_style_03.py +++ b/scripts/houses/player_house_generic_small_window_style_03.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_small_window_style_03_deed.iff", "object/building/player/shared_player_house_generic_small_window_style_03.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-6.6), float(2.36), float(6.3))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(200) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_generic_small_windowed.py b/scripts/houses/player_house_generic_small_windowed.py index 4f2293ab..71439b6a 100644 --- a/scripts/houses/player_house_generic_small_windowed.py +++ b/scripts/houses/player_house_generic_small_windowed.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_generic_house_small_window_deed.iff", "object/building/player/shared_player_house_generic_small_windowed.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-7.39), float(2.36), float(2))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(200) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_hangar.py b/scripts/houses/player_house_hangar.py index f3eab890..01373883 100644 --- a/scripts/houses/player_house_hangar.py +++ b/scripts/houses/player_house_hangar.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/tcg/series5/shared_structure_deed_player_house_hangar.iff", "object/building/player/shared_player_house_hangar.iff", 3) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(9.2), float(2.86), float(0.8))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(350) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_jabbas_sail_barge.py b/scripts/houses/player_house_jabbas_sail_barge.py index abc84451..c39e9c25 100644 --- a/scripts/houses/player_house_jabbas_sail_barge.py +++ b/scripts/houses/player_house_jabbas_sail_barge.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_jabbas_sail_barge_deed.iff", "object/building/player/shared_player_house_jabbas_sail_barge.iff", 3) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(0), float(2.86), float(-3.5))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(350) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_jedi_meditation_room.py b/scripts/houses/player_house_jedi_meditation_room.py index df257c29..6ed97065 100644 --- a/scripts/houses/player_house_jedi_meditation_room.py +++ b/scripts/houses/player_house_jedi_meditation_room.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/tcg/series3/shared_structure_deed_jedi_meditation_room_deed.iff", "object/building/player/shared_player_house_jedi_meditation_room.iff", 3) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(0), float(2.86), float(-3.5))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(350) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_mustafar_lg.py b/scripts/houses/player_house_mustafar_lg.py index 8d04566e..891c9e09 100644 --- a/scripts/houses/player_house_mustafar_lg.py +++ b/scripts/houses/player_house_mustafar_lg.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_mustafar_house_lg.iff", "object/building/player/shared_player_house_mustafar_lg.iff", 5) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(1.5), float(2.86), float(13.7))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(200) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_naboo_large_style_01.py b/scripts/houses/player_house_naboo_large_style_01.py index afaf05dd..a75ee9c9 100644 --- a/scripts/houses/player_house_naboo_large_style_01.py +++ b/scripts/houses/player_house_naboo_large_style_01.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_naboo_house_large_deed.iff", "object/building/player/shared_player_house_naboo_large_style_01.iff", 5) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-7), float(3), float(-15.5))) @@ -10,6 +10,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("rori") houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.setDefaultItemLimit(500) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_naboo_medium_style_01.py b/scripts/houses/player_house_naboo_medium_style_01.py index fd16fd70..c5cf6211 100644 --- a/scripts/houses/player_house_naboo_medium_style_01.py +++ b/scripts/houses/player_house_naboo_medium_style_01.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_naboo_house_medium_deed.iff", "object/building/player/shared_player_house_naboo_medium_style_01.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-2.2),float(3),float(-11.5))) @@ -10,5 +10,6 @@ def setup(core): houseTemplate.addPlaceablePlanet("rori") houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.setDefaultItemLimit(200) - core.housingService.addHousingTemplate(houseTemplate) + houseTemplate.setBaseMaintenanceRate(18) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_naboo_small_style_01.py b/scripts/houses/player_house_naboo_small_style_01.py index eb092bce..7fdd3716 100644 --- a/scripts/houses/player_house_naboo_small_style_01.py +++ b/scripts/houses/player_house_naboo_small_style_01.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_naboo_house_small_deed.iff", "object/building/player/shared_player_house_naboo_small_style_01.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-1.7),float(3),float(8.2))) @@ -10,5 +10,6 @@ def setup(core): houseTemplate.addPlaceablePlanet("rori") houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.setDefaultItemLimit(200) - core.housingService.addHousingTemplate(houseTemplate) + houseTemplate.setBaseMaintenanceRate(18) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_naboo_small_style_02.py b/scripts/houses/player_house_naboo_small_style_02.py index f5f35f0f..05f46d81 100644 --- a/scripts/houses/player_house_naboo_small_style_02.py +++ b/scripts/houses/player_house_naboo_small_style_02.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_naboo_house_small_style_02_deed.iff", "object/building/player/shared_player_house_naboo_small_style_02.iff", 1) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(8.4),float(3),float(7.2))) @@ -10,5 +10,6 @@ def setup(core): houseTemplate.addPlaceablePlanet("rori") houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.setDefaultItemLimit(100) - core.housingService.addHousingTemplate(houseTemplate) + houseTemplate.setBaseMaintenanceRate(18) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_naboo_small_window_style_01.py b/scripts/houses/player_house_naboo_small_window_style_01.py index 7ffa7dec..375af434 100644 --- a/scripts/houses/player_house_naboo_small_window_style_01.py +++ b/scripts/houses/player_house_naboo_small_window_style_01.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_naboo_house_small_window_deed.iff", "object/building/player/shared_player_house_naboo_small_window_style_01.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-1.7),float(3),float(8.2))) @@ -10,5 +10,6 @@ def setup(core): houseTemplate.addPlaceablePlanet("rori") houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.setDefaultItemLimit(200) - core.housingService.addHousingTemplate(houseTemplate) + houseTemplate.setBaseMaintenanceRate(18) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_sandcrawler.py b/scripts/houses/player_house_sandcrawler.py index c14d2b8c..3d33b10f 100644 --- a/scripts/houses/player_house_sandcrawler.py +++ b/scripts/houses/player_house_sandcrawler.py @@ -2,8 +2,8 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): - houseTemplate = HouseTemplate("object/tangible/saga_system/rewards/shared_structure_deed_player_house_sandcrawler.iff", "object/building/player/shared_player_house_sandcrawler.iff", 3) +def setup(housingTemplates): + houseTemplate = HouseTemplate("object/tangible/saga_system/rewards/shared_structure_deed_player_house_sandcrawler.iff", "object/building/player/shared_player_house_sandcrawler.iff", 5) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-8.75), float(3.86), float(1))) houseTemplate.addPlaceablePlanet("tatooine") @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(350) + houseTemplate.setBaseMaintenanceRate(26) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_sith_meditation_room.py b/scripts/houses/player_house_sith_meditation_room.py index 6e75e875..e1e6a892 100644 --- a/scripts/houses/player_house_sith_meditation_room.py +++ b/scripts/houses/player_house_sith_meditation_room.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/tcg/series3/shared_structure_deed_sith_meditation_room_deed.iff", "object/building/player/shared_player_house_sith_meditation_room.iff", 3) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(3), float(2.86), float(5.7))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(350) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_tatooine_large_style_01.py b/scripts/houses/player_house_tatooine_large_style_01.py index 3085eb20..37a9b894 100644 --- a/scripts/houses/player_house_tatooine_large_style_01.py +++ b/scripts/houses/player_house_tatooine_large_style_01.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_tatooine_house_large_deed.iff", "object/building/player/shared_player_house_tatooine_large_style_01.iff", 5) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-3), float(3), float(15.8))) @@ -10,6 +10,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("lok") houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.setDefaultItemLimit(500) + houseTemplate.setBaseMaintenanceRate(26) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_tatooine_medium_style_01.py b/scripts/houses/player_house_tatooine_medium_style_01.py index d173048d..959cbb7e 100644 --- a/scripts/houses/player_house_tatooine_medium_style_01.py +++ b/scripts/houses/player_house_tatooine_medium_style_01.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_tatooine_house_medium_deed.iff", "object/building/player/shared_player_house_tatooine_medium_style_01.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(4.3),float(2.26),float(12.5))) @@ -10,5 +10,6 @@ def setup(core): houseTemplate.addPlaceablePlanet("lok") houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.setDefaultItemLimit(200) - core.housingService.addHousingTemplate(houseTemplate) + houseTemplate.setBaseMaintenanceRate(18) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_tatooine_small_style_01.py b/scripts/houses/player_house_tatooine_small_style_01.py index eff8a21d..1e2579c2 100644 --- a/scripts/houses/player_house_tatooine_small_style_01.py +++ b/scripts/houses/player_house_tatooine_small_style_01.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_tatooine_house_small_deed.iff", "object/building/player/shared_player_house_tatooine_small_style_01.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-1.7),float(3),float(7.9))) @@ -10,5 +10,6 @@ def setup(core): houseTemplate.addPlaceablePlanet("lok") houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.setDefaultItemLimit(200) - core.housingService.addHousingTemplate(houseTemplate) + houseTemplate.setBaseMaintenanceRate(8) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_tatooine_small_style_02.py b/scripts/houses/player_house_tatooine_small_style_02.py index e5484c22..8c953386 100644 --- a/scripts/houses/player_house_tatooine_small_style_02.py +++ b/scripts/houses/player_house_tatooine_small_style_02.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_tatooine_house_small_style_02_deed.iff", "object/building/player/shared_player_house_tatooine_small_style_02.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-1.7),float(3),float(8.2))) @@ -10,5 +10,6 @@ def setup(core): houseTemplate.addPlaceablePlanet("lok") houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.setDefaultItemLimit(200) - core.housingService.addHousingTemplate(houseTemplate) + houseTemplate.setBaseMaintenanceRate(8) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_tatooine_small_window_style_01.py b/scripts/houses/player_house_tatooine_small_window_style_01.py index eff8a21d..1e2579c2 100644 --- a/scripts/houses/player_house_tatooine_small_window_style_01.py +++ b/scripts/houses/player_house_tatooine_small_window_style_01.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_tatooine_house_small_deed.iff", "object/building/player/shared_player_house_tatooine_small_style_01.iff", 2) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-1.7),float(3),float(7.9))) @@ -10,5 +10,6 @@ def setup(core): houseTemplate.addPlaceablePlanet("lok") houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.setDefaultItemLimit(200) - core.housingService.addHousingTemplate(houseTemplate) + houseTemplate.setBaseMaintenanceRate(8) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_house_tcg_8_bespin_house.py b/scripts/houses/player_house_tcg_8_bespin_house.py index c7ac7d0b..2f37c85a 100644 --- a/scripts/houses/player_house_tcg_8_bespin_house.py +++ b/scripts/houses/player_house_tcg_8_bespin_house.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_player_house_tcg_8_bespin_house_deed.iff", "object/building/player/shared_player_house_tcg_8_bespin_house.iff", 3) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(0), float(2.86), float(-3.5))) @@ -14,6 +14,7 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(350) + houseTemplate.setBaseMaintenanceRate(8) - core.housingService.addHousingTemplate(houseTemplate) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_merchant_tent_style_01.py b/scripts/houses/player_merchant_tent_style_01.py index 3eef6c91..684cbcb6 100644 --- a/scripts/houses/player_merchant_tent_style_01.py +++ b/scripts/houses/player_merchant_tent_style_01.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_merchant_tent_style_01_deed.iff", "object/building/player/shared_player_merchant_tent_style_01.iff", 1) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(3.5),float(-0.3),float(3.5))) @@ -14,5 +14,6 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(200) - core.housingService.addHousingTemplate(houseTemplate) + houseTemplate.setBaseMaintenanceRate(8) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_merchant_tent_style_02.py b/scripts/houses/player_merchant_tent_style_02.py index 811c5a5e..96668f8d 100644 --- a/scripts/houses/player_merchant_tent_style_02.py +++ b/scripts/houses/player_merchant_tent_style_02.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_merchant_tent_style_02_deed.iff", "object/building/player/shared_player_merchant_tent_style_02.iff", 1) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(3.5),float(-0.3),float(3.5))) @@ -14,5 +14,6 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(200) - core.housingService.addHousingTemplate(houseTemplate) + houseTemplate.setBaseMaintenanceRate(8) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_merchant_tent_style_03.py b/scripts/houses/player_merchant_tent_style_03.py index d908b947..abfa4196 100644 --- a/scripts/houses/player_merchant_tent_style_03.py +++ b/scripts/houses/player_merchant_tent_style_03.py @@ -2,7 +2,7 @@ import sys from services.housing import HouseTemplate from engine.resources.scene import Point3D -def setup(core): +def setup(housingTemplates): houseTemplate = HouseTemplate("object/tangible/deed/player_house_deed/shared_merchant_tent_style_03_deed.iff", "object/building/player/shared_player_merchant_tent_style_03.iff", 1) houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(3.5),float(-0.3),float(3.5))) @@ -14,5 +14,6 @@ def setup(core): houseTemplate.addPlaceablePlanet("dantooine") houseTemplate.addPlaceablePlanet("lok") houseTemplate.setDefaultItemLimit(200) - core.housingService.addHousingTemplate(houseTemplate) + houseTemplate.setBaseMaintenanceRate(8) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) return \ No newline at end of file diff --git a/scripts/houses/player_shuttleport_tatooine.py b/scripts/houses/player_shuttleport_tatooine.py new file mode 100644 index 00000000..4d7e480f --- /dev/null +++ b/scripts/houses/player_shuttleport_tatooine.py @@ -0,0 +1,12 @@ +import sys +from services.housing import HouseTemplate +from engine.resources.scene import Point3D + +def setup(housingTemplates): + houseTemplate = HouseTemplate("object/tangible/deed/city_deed/shared_shuttleport_tatooine_deed.iff", "object/building/tatooine/shared_shuttleport_tatooine.iff", 1) + + houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(3.5),float(-0.3),float(3.5))) + houseTemplate.addPlaceablePlanet("tatooine") + houseTemplate.setDefaultItemLimit(0) + housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/adolescent_krayt_dragon.py b/scripts/mobiles/tatooine/adolescent_krayt_dragon.py new file mode 100644 index 00000000..c1c3fb85 --- /dev/null +++ b/scripts/mobiles/tatooine/adolescent_krayt_dragon.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('krayt_dragon_adolescent') + mobileTemplate.setLevel(84) + mobileTemplate.setDifficulty(2) + mobileTemplate.setAttackRange(12) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_krayt_dragon.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('adolescent_krayt_dragon', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/armodragon.py b/scripts/mobiles/tatooine/armodragon.py new file mode 100644 index 00000000..494e4228 --- /dev/null +++ b/scripts/mobiles/tatooine/armodragon.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('dragonet_armodragon') + mobileTemplate.setLevel(25) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dragonet.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureRangedAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('armodragon', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/bantha.py b/scripts/mobiles/tatooine/bantha.py index 4d5ee1e7..19ee591f 100644 --- a/scripts/mobiles/tatooine/bantha.py +++ b/scripts/mobiles/tatooine/bantha.py @@ -1,15 +1,30 @@ import sys from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate from java.util import Vector def addTemplate(core): mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('bantha') + mobileTemplate.setLevel(14) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + templates = Vector() templates.add('object/mobile/shared_bantha_hue.iff') - mobileTemplate.setCreatureName('bantha') mobileTemplate.setTemplates(templates) - mobileTemplate.setLevel(14) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + attacks = Vector() mobileTemplate.setDefaultAttack('creatureMeleeAttack') mobileTemplate.setAttacks(attacks) - core.spawnService.addMobileTemplate('bantha', mobileTemplate) \ No newline at end of file + + core.spawnService.addMobileTemplate('bantha', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/bantha_low.py b/scripts/mobiles/tatooine/bantha_low.py new file mode 100644 index 00000000..0238608e --- /dev/null +++ b/scripts/mobiles/tatooine/bantha_low.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('bantha') + mobileTemplate.setLevel(8) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_bantha_hue.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('bantha_low', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/bantha_matriarch.py b/scripts/mobiles/tatooine/bantha_matriarch.py new file mode 100644 index 00000000..a0b5b7c5 --- /dev/null +++ b/scripts/mobiles/tatooine/bantha_matriarch.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('bantha matriarch') + mobileTemplate.setLevel(15) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_matriarch_bantha.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('bantha_matriarch', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/blight_boar.py b/scripts/mobiles/tatooine/blight_boar.py new file mode 100644 index 00000000..b25a7441 --- /dev/null +++ b/scripts/mobiles/tatooine/blight_boar.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('zucca_boar_blight') + mobileTemplate.setLevel(9) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_zucca_boar.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('blight_boar', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/bocatt.py b/scripts/mobiles/tatooine/bocatt.py new file mode 100644 index 00000000..3cbf9cc1 --- /dev/null +++ b/scripts/mobiles/tatooine/bocatt.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('bocatt') + mobileTemplate.setLevel(17) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_bocatt.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/creature/shared_creature_spit_small_toxicgreen.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureRangedAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('bocatt', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/bonecracker_bantha.py b/scripts/mobiles/tatooine/bonecracker_bantha.py new file mode 100644 index 00000000..42341f23 --- /dev/null +++ b/scripts/mobiles/tatooine/bonecracker_bantha.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('bantha_bonecracker') + mobileTemplate.setLevel(21) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_bantha_hue.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('bonecracker_bantha', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/bull_bantha.py b/scripts/mobiles/tatooine/bull_bantha.py new file mode 100644 index 00000000..c4626e21 --- /dev/null +++ b/scripts/mobiles/tatooine/bull_bantha.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('bull_bantha') + mobileTemplate.setLevel(15) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_bantha_hue.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('bull_bantha', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/bull_ronto.py b/scripts/mobiles/tatooine/bull_ronto.py new file mode 100644 index 00000000..d75ca648 --- /dev/null +++ b/scripts/mobiles/tatooine/bull_ronto.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('ronto_male') + mobileTemplate.setLevel(18) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_ronto.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('bullronto', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/cannibal_dewback.py b/scripts/mobiles/tatooine/cannibal_dewback.py new file mode 100644 index 00000000..941c0ebf --- /dev/null +++ b/scripts/mobiles/tatooine/cannibal_dewback.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('dewback_cannibal') + mobileTemplate.setLevel(13) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dewback.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('cannibal_dewback', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/canyon_krayt_dragon.py b/scripts/mobiles/tatooine/canyon_krayt_dragon.py new file mode 100644 index 00000000..7eb53cc6 --- /dev/null +++ b/scripts/mobiles/tatooine/canyon_krayt_dragon.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('canyon_krayt_dragon') + mobileTemplate.setLevel(85) + mobileTemplate.setDifficulty(2) + mobileTemplate.setAttackRange(12) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_canyon_krayt_dragon.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('canyon_krayt_dragon', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/carion_kreetle.py b/scripts/mobiles/tatooine/carion_kreetle.py new file mode 100644 index 00000000..f1a1bf01 --- /dev/null +++ b/scripts/mobiles/tatooine/carion_kreetle.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('fragile_kreetle') + mobileTemplate.setLevel(2) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_kreetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('carrion_kreetle', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/cave_beetle.py b/scripts/mobiles/tatooine/cave_beetle.py new file mode 100644 index 00000000..2a98b7bc --- /dev/null +++ b/scripts/mobiles/tatooine/cave_beetle.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('cave_beetle') + mobileTemplate.setLevel(5) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_rock_beetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/creature/shared_creature_spit_small_toxicgreen.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureRangedAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('cave_beetle', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/city_rockmite.py b/scripts/mobiles/tatooine/city_rockmite.py new file mode 100644 index 00000000..b31914f3 --- /dev/null +++ b/scripts/mobiles/tatooine/city_rockmite.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('city_rockmite') + mobileTemplate.setLevel(5) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_rock_mite.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('city_rockmite', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/city_sewer_swamprat.py b/scripts/mobiles/tatooine/city_sewer_swamprat.py new file mode 100644 index 00000000..ecb72a17 --- /dev/null +++ b/scripts/mobiles/tatooine/city_sewer_swamprat.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('city_sewer_swamprat') + mobileTemplate.setLevel(3) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_womp_rat.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('city_sewer_swamprat', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/cupa.py b/scripts/mobiles/tatooine/cupa.py new file mode 100644 index 00000000..b44cff3a --- /dev/null +++ b/scripts/mobiles/tatooine/cupa.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('cu_pa') + mobileTemplate.setLevel(3) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_cu_pa.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('cu_pa', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/death_kreetle.py b/scripts/mobiles/tatooine/death_kreetle.py new file mode 100644 index 00000000..5e39d8ae --- /dev/null +++ b/scripts/mobiles/tatooine/death_kreetle.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('kreetle_death') + mobileTemplate.setLevel(7) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_kreetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('death_kreetle', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/desert_eopie.py b/scripts/mobiles/tatooine/desert_eopie.py new file mode 100644 index 00000000..be18b6bb --- /dev/null +++ b/scripts/mobiles/tatooine/desert_eopie.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('desert_eopie') + mobileTemplate.setLevel(16) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_eopie.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('desert_eopie', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/desert_kreetle.py b/scripts/mobiles/tatooine/desert_kreetle.py new file mode 100644 index 00000000..bddbbf1a --- /dev/null +++ b/scripts/mobiles/tatooine/desert_kreetle.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('orphan_kreetle') + mobileTemplate.setLevel(3) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_kreetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('desert_kreetle', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/desert_razorback.py b/scripts/mobiles/tatooine/desert_razorback.py new file mode 100644 index 00000000..6e07cd81 --- /dev/null +++ b/scripts/mobiles/tatooine/desert_razorback.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('desert_razorback') + mobileTemplate.setLevel(23) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_zucca_boar.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('desert_razorback', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/desert_squill.py b/scripts/mobiles/tatooine/desert_squill.py new file mode 100644 index 00000000..2ab4b5ca --- /dev/null +++ b/scripts/mobiles/tatooine/desert_squill.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('desert_squill') + mobileTemplate.setLevel(14) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_squill.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('desert_squill', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/dewback.py b/scripts/mobiles/tatooine/dewback.py index f2c2bb79..086b3fee 100644 --- a/scripts/mobiles/tatooine/dewback.py +++ b/scripts/mobiles/tatooine/dewback.py @@ -1,16 +1,30 @@ import sys from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate from java.util import Vector def addTemplate(core): mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('dewback') + mobileTemplate.setLevel(17) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + templates = Vector() templates.add('object/mobile/shared_dewback.iff') - mobileTemplate.setCreatureName('dewback') mobileTemplate.setTemplates(templates) - mobileTemplate.setLevel(17) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + attacks = Vector() mobileTemplate.setDefaultAttack('creatureMeleeAttack') mobileTemplate.setAttacks(attacks) + core.spawnService.addMobileTemplate('dewback', mobileTemplate) - \ No newline at end of file + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/dimu_bantha.py b/scripts/mobiles/tatooine/dimu_bantha.py new file mode 100644 index 00000000..5280c721 --- /dev/null +++ b/scripts/mobiles/tatooine/dimu_bantha.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('dim_u_bantha') + mobileTemplate.setLevel(3) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_bantha_hue.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('dim-u_bantha', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/diseased_bocatt.py b/scripts/mobiles/tatooine/diseased_bocatt.py new file mode 100644 index 00000000..96bb977e --- /dev/null +++ b/scripts/mobiles/tatooine/diseased_bocatt.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('bocatt_diseased') + mobileTemplate.setLevel(5) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_bocatt.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('diseased_bocatt', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/domestic_eopie.py b/scripts/mobiles/tatooine/domestic_eopie.py new file mode 100644 index 00000000..33e8077b --- /dev/null +++ b/scripts/mobiles/tatooine/domestic_eopie.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('domestic_eopie') + mobileTemplate.setLevel(1) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_eopie.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('domestic_eopie', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/dragonet.py b/scripts/mobiles/tatooine/dragonet.py new file mode 100644 index 00000000..5d8cb006 --- /dev/null +++ b/scripts/mobiles/tatooine/dragonet.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('dragonet') + mobileTemplate.setLevel(24) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dune_lizard.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/creature/shared_creature_spit_small_toxicgreen.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureRangedAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('dragonet', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/drooling_nuna.py b/scripts/mobiles/tatooine/drooling_nuna.py new file mode 100644 index 00000000..b729515c --- /dev/null +++ b/scripts/mobiles/tatooine/drooling_nuna.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('dwarf_nuna_drooling') + mobileTemplate.setLevel(2) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_nuna.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('drooling_nuna', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/dune_bantha.py b/scripts/mobiles/tatooine/dune_bantha.py new file mode 100644 index 00000000..cb29c496 --- /dev/null +++ b/scripts/mobiles/tatooine/dune_bantha.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('dune_bantha') + mobileTemplate.setLevel(20) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_bantha_hue.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('dune_bantha', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/dune_beetle.py b/scripts/mobiles/tatooine/dune_beetle.py new file mode 100644 index 00000000..9cc34df7 --- /dev/null +++ b/scripts/mobiles/tatooine/dune_beetle.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('dune_beetle') + mobileTemplate.setLevel(5) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_giant_sand_beetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('dune_beetle', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/dune_lizard.py b/scripts/mobiles/tatooine/dune_lizard.py new file mode 100644 index 00000000..ec826be0 --- /dev/null +++ b/scripts/mobiles/tatooine/dune_lizard.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('dune_lizard') + mobileTemplate.setLevel(5) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dune_lizard.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/creature/shared_creature_spit_small_toxicgreen.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('dune_lizard', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/dwarf_bantha.py b/scripts/mobiles/tatooine/dwarf_bantha.py new file mode 100644 index 00000000..6c8449ca --- /dev/null +++ b/scripts/mobiles/tatooine/dwarf_bantha.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('dwarf_bantha') + mobileTemplate.setLevel(10) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dwarf_bantha.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('dwarf_bantha', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/dwarf_eopie.py b/scripts/mobiles/tatooine/dwarf_eopie.py new file mode 100644 index 00000000..cb9a80cc --- /dev/null +++ b/scripts/mobiles/tatooine/dwarf_eopie.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('dwarf_eopie') + mobileTemplate.setLevel(1) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dwarf_eopie.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('dwarf_eopie', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/dwarf_nuna.py b/scripts/mobiles/tatooine/dwarf_nuna.py new file mode 100644 index 00000000..423fb7d9 --- /dev/null +++ b/scripts/mobiles/tatooine/dwarf_nuna.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('dwarf_nuna') + mobileTemplate.setLevel(1) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dwarf_nuna.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('dwarf_nuna', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/elder_zucca_boar.py b/scripts/mobiles/tatooine/elder_zucca_boar.py new file mode 100644 index 00000000..11e040e2 --- /dev/null +++ b/scripts/mobiles/tatooine/elder_zucca_boar.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('zucca_boar_elder') + mobileTemplate.setLevel(8) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_zucca_boar.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('elder_zucca_boar', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/elite_dewback_cannibal.py b/scripts/mobiles/tatooine/elite_dewback_cannibal.py new file mode 100644 index 00000000..910ba869 --- /dev/null +++ b/scripts/mobiles/tatooine/elite_dewback_cannibal.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('elite_dewback_canibal') + mobileTemplate.setLevel(13) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dewback.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('elite_dewback_cannibal', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/elite_dragonet.py b/scripts/mobiles/tatooine/elite_dragonet.py new file mode 100644 index 00000000..481b2d64 --- /dev/null +++ b/scripts/mobiles/tatooine/elite_dragonet.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('elite_dragonet') + mobileTemplate.setLevel(24) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dragonet.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/creature/shared_creature_spit_large_toxicgreen.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureRangedAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('elite_dragonet', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/elite_dune_lizard.py b/scripts/mobiles/tatooine/elite_dune_lizard.py new file mode 100644 index 00000000..a0adf4e8 --- /dev/null +++ b/scripts/mobiles/tatooine/elite_dune_lizard.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('elite_dune_lizard') + mobileTemplate.setLevel(18) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dune_lizard.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/creature/shared_creature_spit_large_toxicgreen.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureRangedAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('elite_dune_lizard', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/elite_giant_sand_beetle.py b/scripts/mobiles/tatooine/elite_giant_sand_beetle.py new file mode 100644 index 00000000..c21a083c --- /dev/null +++ b/scripts/mobiles/tatooine/elite_giant_sand_beetle.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('elite_giant_sand_beetle') + mobileTemplate.setLevel(25) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_giant_sand_beetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('elite_giant_sand_beetle', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/elite_mutant_womprat.py b/scripts/mobiles/tatooine/elite_mutant_womprat.py new file mode 100644 index 00000000..de786778 --- /dev/null +++ b/scripts/mobiles/tatooine/elite_mutant_womprat.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('elite_mutant_womprat') + mobileTemplate.setLevel(5) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_womp_rat.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('womprat', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/elite_ronto.py b/scripts/mobiles/tatooine/elite_ronto.py new file mode 100644 index 00000000..a5d22cef --- /dev/null +++ b/scripts/mobiles/tatooine/elite_ronto.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('elite_ronto_ronto') + mobileTemplate.setLevel(17) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_ronto.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('elite_ronto', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/elite_scyk.py b/scripts/mobiles/tatooine/elite_scyk.py new file mode 100644 index 00000000..54ad052c --- /dev/null +++ b/scripts/mobiles/tatooine/elite_scyk.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('elite_scyk') + mobileTemplate.setLevel(11) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_scyk.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('elite_scyk', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/elite_sevorrt.py b/scripts/mobiles/tatooine/elite_sevorrt.py new file mode 100644 index 00000000..190a9e26 --- /dev/null +++ b/scripts/mobiles/tatooine/elite_sevorrt.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('elite_sevorrt') + mobileTemplate.setLevel(8) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_sevorrt.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('elite_sevorrt', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/enraged_mountain_dewback.py b/scripts/mobiles/tatooine/enraged_mountain_dewback.py new file mode 100644 index 00000000..dfebff92 --- /dev/null +++ b/scripts/mobiles/tatooine/enraged_mountain_dewback.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('elite_mountain_dewback') + mobileTemplate.setLevel(22) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dewback.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('enraged_mountain_dewback', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/enraged_squill.py b/scripts/mobiles/tatooine/enraged_squill.py new file mode 100644 index 00000000..3fd86349 --- /dev/null +++ b/scripts/mobiles/tatooine/enraged_squill.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('elite_squill') + mobileTemplate.setLevel(12) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_squill.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('enraged_squill', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/eoni.py b/scripts/mobiles/tatooine/eoni.py new file mode 100644 index 00000000..0dd12e09 --- /dev/null +++ b/scripts/mobiles/tatooine/eoni.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('elite_jundland_eopie') + mobileTemplate.setLevel(21) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_eopie.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('eoni', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/eopie.py b/scripts/mobiles/tatooine/eopie.py new file mode 100644 index 00000000..8e1f5ae7 --- /dev/null +++ b/scripts/mobiles/tatooine/eopie.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('eopie') + mobileTemplate.setLevel(4) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_eopie.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('eopie', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/eopie_herdmaster.py b/scripts/mobiles/tatooine/eopie_herdmaster.py new file mode 100644 index 00000000..f8abe532 --- /dev/null +++ b/scripts/mobiles/tatooine/eopie_herdmaster.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('eopie_herdmaster') + mobileTemplate.setLevel(5) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_eopie.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('eopie_herdmaster', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/female_mountain_squill.py b/scripts/mobiles/tatooine/female_mountain_squill.py new file mode 100644 index 00000000..e2da21e4 --- /dev/null +++ b/scripts/mobiles/tatooine/female_mountain_squill.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('female_mountain_squill') + mobileTemplate.setLevel(17) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_squill.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('female_mountain_squill', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/feral_bantha.py b/scripts/mobiles/tatooine/feral_bantha.py new file mode 100644 index 00000000..fcbbbebc --- /dev/null +++ b/scripts/mobiles/tatooine/feral_bantha.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('feral_bantha') + mobileTemplate.setLevel(5) + mobileTemplate.setDifficulty(15) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_bantha_hue.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('feral_bantha', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/furios_ronto.py b/scripts/mobiles/tatooine/furios_ronto.py new file mode 100644 index 00000000..c8c4fe74 --- /dev/null +++ b/scripts/mobiles/tatooine/furios_ronto.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('ronto_furious') + mobileTemplate.setLevel(18) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_ronto.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('furious_ronto', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/giant_canyon_krayt_dragon.py b/scripts/mobiles/tatooine/giant_canyon_krayt_dragon.py new file mode 100644 index 00000000..2d86f3cd --- /dev/null +++ b/scripts/mobiles/tatooine/giant_canyon_krayt_dragon.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('giant_canyon_krayt_dragon') + mobileTemplate.setLevel(87) + mobileTemplate.setDifficulty(2) + mobileTemplate.setAttackRange(12) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_krayt_dragon.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('giant_canyon_krayt_dragon', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/giant_sand_beetle.py b/scripts/mobiles/tatooine/giant_sand_beetle.py new file mode 100644 index 00000000..2f9138d5 --- /dev/null +++ b/scripts/mobiles/tatooine/giant_sand_beetle.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('giant_sand_beetle') + mobileTemplate.setLevel(25) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_giant_sand_beetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('giant_sand_beetle', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/giant_worrt.py b/scripts/mobiles/tatooine/giant_worrt.py new file mode 100644 index 00000000..27edbbed --- /dev/null +++ b/scripts/mobiles/tatooine/giant_worrt.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('giant_worrt') + mobileTemplate.setLevel(13) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_giant_worrt.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('giant_worrt', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/gorg.py b/scripts/mobiles/tatooine/gorg.py new file mode 100644 index 00000000..731c5d4a --- /dev/null +++ b/scripts/mobiles/tatooine/gorg.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('gorg') + mobileTemplate.setLevel(2) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_gorg.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('gorg', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/gorg_glutton.py b/scripts/mobiles/tatooine/gorg_glutton.py new file mode 100644 index 00000000..7eaddd81 --- /dev/null +++ b/scripts/mobiles/tatooine/gorg_glutton.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('gorg_glutton') + mobileTemplate.setLevel(2) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_gorg.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('gorg_glutton', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/grand_krayt_dragon.py b/scripts/mobiles/tatooine/grand_krayt_dragon.py new file mode 100644 index 00000000..d149306b --- /dev/null +++ b/scripts/mobiles/tatooine/grand_krayt_dragon.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('krayt_dragon_grand') + mobileTemplate.setLevel(88) + mobileTemplate.setDifficulty(2) + mobileTemplate.setAttackRange(12) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_krayt_dragon.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('grand_krayt_dragon', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/great_squill.py b/scripts/mobiles/tatooine/great_squill.py new file mode 100644 index 00000000..ec27d549 --- /dev/null +++ b/scripts/mobiles/tatooine/great_squill.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('squill_great') + mobileTemplate.setLevel(13) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_squill.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('great_squill', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/greater_desert_womprat.py b/scripts/mobiles/tatooine/greater_desert_womprat.py new file mode 100644 index 00000000..cbf1c39a --- /dev/null +++ b/scripts/mobiles/tatooine/greater_desert_womprat.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('greater_desert_womprat') + mobileTemplate.setLevel(12) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_greater_desert_womp_rat.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureRangedAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('greater_desert_womprat', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/grizzled_dewback.py b/scripts/mobiles/tatooine/grizzled_dewback.py new file mode 100644 index 00000000..416f9a58 --- /dev/null +++ b/scripts/mobiles/tatooine/grizzled_dewback.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('grizzled_dewback') + mobileTemplate.setLevel(18) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dewback.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('grizzled_dewback', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/harmony_worrt.py b/scripts/mobiles/tatooine/harmony_worrt.py new file mode 100644 index 00000000..07f24218 --- /dev/null +++ b/scripts/mobiles/tatooine/harmony_worrt.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('harmony_worrt') + mobileTemplate.setLevel(18) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_worrt.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('harmony_worrt', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/jundland_eopie.py b/scripts/mobiles/tatooine/jundland_eopie.py new file mode 100644 index 00000000..ee6cf43c --- /dev/null +++ b/scripts/mobiles/tatooine/jundland_eopie.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('jundland_eopie') + mobileTemplate.setLevel(21) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_eopie.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('jundland_eopie', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/juvenile_canyon_krayt_dragon.py b/scripts/mobiles/tatooine/juvenile_canyon_krayt_dragon.py new file mode 100644 index 00000000..d06ec11d --- /dev/null +++ b/scripts/mobiles/tatooine/juvenile_canyon_krayt_dragon.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('juvenile_canyon_krayt') + mobileTemplate.setLevel(82) + mobileTemplate.setDifficulty(2) + mobileTemplate.setAttackRange(12) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_juvenile_canyon_krayt.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('juvenile_canyon_krayt_dragon', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/krayt_dragon.py b/scripts/mobiles/tatooine/krayt_dragon.py index aded5429..6af77734 100644 --- a/scripts/mobiles/tatooine/krayt_dragon.py +++ b/scripts/mobiles/tatooine/krayt_dragon.py @@ -1,19 +1,30 @@ import sys from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate from java.util import Vector def addTemplate(core): mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('krayt_dragon') + mobileTemplate.setLevel(10) + mobileTemplate.setDifficulty(2) + mobileTemplate.setAttackRange(12) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + templates = Vector() templates.add('object/mobile/shared_krayt_dragon.iff') mobileTemplate.setTemplates(templates) - mobileTemplate.setLevel(10) - mobileTemplate.setDifficulty(2) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + attacks = Vector() mobileTemplate.setDefaultAttack('creatureMeleeAttack') mobileTemplate.setAttacks(attacks) - mobileTemplate.setCreatureName('krayt_dragon') - mobileTemplate.setScale(2) - mobileTemplate.setAttackRange(12) + core.spawnService.addMobileTemplate('krayt_dragon', mobileTemplate) - \ No newline at end of file + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/krayt_dragon_ancient.py b/scripts/mobiles/tatooine/krayt_dragon_ancient.py index a65f6786..b8450ec0 100644 --- a/scripts/mobiles/tatooine/krayt_dragon_ancient.py +++ b/scripts/mobiles/tatooine/krayt_dragon_ancient.py @@ -1,19 +1,30 @@ import sys from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate from java.util import Vector def addTemplate(core): mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('krayt_dragon_ancient') + mobileTemplate.setLevel(90) + mobileTemplate.setDifficulty(2) + mobileTemplate.setAttackRange(12) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + templates = Vector() templates.add('object/mobile/shared_krayt_dragon.iff') mobileTemplate.setTemplates(templates) - mobileTemplate.setLevel(90) - mobileTemplate.setDifficulty(2) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + attacks = Vector() mobileTemplate.setDefaultAttack('creatureMeleeAttack') mobileTemplate.setAttacks(attacks) - mobileTemplate.setCreatureName('krayt_dragon_ancient') - mobileTemplate.setScale(2) - mobileTemplate.setAttackRange(12) + core.spawnService.addMobileTemplate('krayt_dragon_ancient', mobileTemplate) - \ No newline at end of file + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/kreetle.py b/scripts/mobiles/tatooine/kreetle.py index 376add57..a118c107 100644 --- a/scripts/mobiles/tatooine/kreetle.py +++ b/scripts/mobiles/tatooine/kreetle.py @@ -1,18 +1,30 @@ import sys from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate from java.util import Vector def addTemplate(core): mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('kreetle') + mobileTemplate.setLevel(5) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + templates = Vector() templates.add('object/mobile/shared_kreetle.iff') - mobileTemplate.setCreatureName('kreetle') mobileTemplate.setTemplates(templates) - mobileTemplate.setAttackRange(5) - mobileTemplate.setAttackSpeed(5) - mobileTemplate.setLevel(5) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + attacks = Vector() mobileTemplate.setDefaultAttack('creatureMeleeAttack') mobileTemplate.setAttacks(attacks) + core.spawnService.addMobileTemplate('kreetle', mobileTemplate) - \ No newline at end of file + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/kreetle_swarmling.py b/scripts/mobiles/tatooine/kreetle_swarmling.py new file mode 100644 index 00000000..9f998e07 --- /dev/null +++ b/scripts/mobiles/tatooine/kreetle_swarmling.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('kreetle_swarming') + mobileTemplate.setLevel(1) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_kreetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('kreetle_swarmling', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/large_cave_beetle.py b/scripts/mobiles/tatooine/large_cave_beetle.py new file mode 100644 index 00000000..ccfc9a8d --- /dev/null +++ b/scripts/mobiles/tatooine/large_cave_beetle.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('large_cave_beetle') + mobileTemplate.setLevel(21) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_rock_beetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/creature/shared_creature_spit_small_toxicgreen.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureRangedAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('large_cave_beetle', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/large_rock_beetle1.py b/scripts/mobiles/tatooine/large_rock_beetle1.py new file mode 100644 index 00000000..39078fb6 --- /dev/null +++ b/scripts/mobiles/tatooine/large_rock_beetle1.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('large_rock_beetle') + mobileTemplate.setLevel(18) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_rock_beetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/creature/shared_creature_spit_small_toxicgreen.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureRangedAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('large_rock_beetle_1', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/large_rock_beetle2.py b/scripts/mobiles/tatooine/large_rock_beetle2.py new file mode 100644 index 00000000..dfadc654 --- /dev/null +++ b/scripts/mobiles/tatooine/large_rock_beetle2.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('large_rock_beetle') + mobileTemplate.setLevel(19) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_rock_beetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('large_rock_beetle_2', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/large_rock_beetle3.py b/scripts/mobiles/tatooine/large_rock_beetle3.py new file mode 100644 index 00000000..1cca8d4e --- /dev/null +++ b/scripts/mobiles/tatooine/large_rock_beetle3.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('large_rock_beetle') + mobileTemplate.setLevel(19) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_rock_beetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('large_rock_beetle_3', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/large_sand_beetle.py b/scripts/mobiles/tatooine/large_sand_beetle.py new file mode 100644 index 00000000..2bfc2cb9 --- /dev/null +++ b/scripts/mobiles/tatooine/large_sand_beetle.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('large_sand_beetle') + mobileTemplate.setLevel(24) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_giant_sand_beetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('large_sand_beetle', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/lesser_bocatt.py b/scripts/mobiles/tatooine/lesser_bocatt.py new file mode 100644 index 00000000..d768a79b --- /dev/null +++ b/scripts/mobiles/tatooine/lesser_bocatt.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('lesser_bocatt') + mobileTemplate.setLevel(14) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_bocatt.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('lesser_bocatt', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/lesser_desert_womprat.py b/scripts/mobiles/tatooine/lesser_desert_womprat.py new file mode 100644 index 00000000..66ff6a9f --- /dev/null +++ b/scripts/mobiles/tatooine/lesser_desert_womprat.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('lesser_desert_womprat') + mobileTemplate.setLevel(4) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_lesser_desert_womp_rat.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('lesser_deser_womprat', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/lesser_dewback.py b/scripts/mobiles/tatooine/lesser_dewback.py new file mode 100644 index 00000000..d6a49360 --- /dev/null +++ b/scripts/mobiles/tatooine/lesser_dewback.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('lesser_dewback') + mobileTemplate.setLevel(4) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dewback.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('lesser_dewback', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/malignant_squill.py b/scripts/mobiles/tatooine/malignant_squill.py new file mode 100644 index 00000000..2b96c627 --- /dev/null +++ b/scripts/mobiles/tatooine/malignant_squill.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('malignant_squill') + mobileTemplate.setLevel(50) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_squill.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('malignant_squill', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/minor_worrt.py b/scripts/mobiles/tatooine/minor_worrt.py new file mode 100644 index 00000000..5ffa7afe --- /dev/null +++ b/scripts/mobiles/tatooine/minor_worrt.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('minor_worrt') + mobileTemplate.setLevel(3) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_minor_worrt.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('minor_worrt', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/mound_mite.py b/scripts/mobiles/tatooine/mound_mite.py new file mode 100644 index 00000000..c62a5715 --- /dev/null +++ b/scripts/mobiles/tatooine/mound_mite.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('mound_mite') + mobileTemplate.setLevel(4) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_mound_mite.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('mound_mite', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/mountain_dewback.py b/scripts/mobiles/tatooine/mountain_dewback.py new file mode 100644 index 00000000..6b73306f --- /dev/null +++ b/scripts/mobiles/tatooine/mountain_dewback.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('mountain_dewback') + mobileTemplate.setLevel(22) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_mountain_dewback.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('mountain_dewback', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/mountain_squill.py b/scripts/mobiles/tatooine/mountain_squill.py new file mode 100644 index 00000000..052d4e62 --- /dev/null +++ b/scripts/mobiles/tatooine/mountain_squill.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('mountain_squill') + mobileTemplate.setLevel(18) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_mountain_squill.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('mountain_squill', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/mountain_squill_guardian.py b/scripts/mobiles/tatooine/mountain_squill_guardian.py new file mode 100644 index 00000000..5b402840 --- /dev/null +++ b/scripts/mobiles/tatooine/mountain_squill_guardian.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('mountain_squill_guardian') + mobileTemplate.setLevel(19) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_mountain_squill.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('mountain_squill_guardian', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/mountain_squill_hunter.py b/scripts/mobiles/tatooine/mountain_squill_hunter.py new file mode 100644 index 00000000..5393c868 --- /dev/null +++ b/scripts/mobiles/tatooine/mountain_squill_hunter.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('mountain_squill_hunter') + mobileTemplate.setLevel(19) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_mountain_squill.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('mountain_squill_hunter', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/mountain_worrt.py b/scripts/mobiles/tatooine/mountain_worrt.py new file mode 100644 index 00000000..1790dd65 --- /dev/null +++ b/scripts/mobiles/tatooine/mountain_worrt.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('mountain_worrt') + mobileTemplate.setLevel(19) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_worrt.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/creature/shared_creature_spit_small_toxicgreen.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureRangedAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('mountain_worrt', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/mutant_womprat.py b/scripts/mobiles/tatooine/mutant_womprat.py new file mode 100644 index 00000000..831182ac --- /dev/null +++ b/scripts/mobiles/tatooine/mutant_womprat.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('mutant_womprat') + mobileTemplate.setLevel(12) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_womp_rat.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('womprat', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/overkreetle.py b/scripts/mobiles/tatooine/overkreetle.py new file mode 100644 index 00000000..7f6bb056 --- /dev/null +++ b/scripts/mobiles/tatooine/overkreetle.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('kreetle_over') + mobileTemplate.setLevel(11) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_kreetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('overkreetle', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/parry_stormtrooper_dewback.py b/scripts/mobiles/tatooine/parry_stormtrooper_dewback.py new file mode 100644 index 00000000..9c961a1f --- /dev/null +++ b/scripts/mobiles/tatooine/parry_stormtrooper_dewback.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('parry_stormtrooper_dewback') + mobileTemplate.setLevel(17) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dewback_armored.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('parry_stormtrooper_dewback', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/plaque_rat.py b/scripts/mobiles/tatooine/plaque_rat.py new file mode 100644 index 00000000..53a5a8e1 --- /dev/null +++ b/scripts/mobiles/tatooine/plaque_rat.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('womprat_plague') + mobileTemplate.setLevel(1) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_womp_rat.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('plaque_womprat', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/razorback_felspur.py b/scripts/mobiles/tatooine/razorback_felspur.py new file mode 100644 index 00000000..ca591441 --- /dev/null +++ b/scripts/mobiles/tatooine/razorback_felspur.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('desert_razorback_felspur') + mobileTemplate.setLevel(24) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_zucca_boar.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('razorback_felspur', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/razorclaw.py b/scripts/mobiles/tatooine/razorclaw.py new file mode 100644 index 00000000..2434283f --- /dev/null +++ b/scripts/mobiles/tatooine/razorclaw.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('elite_desert_razorback') + mobileTemplate.setLevel(23) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_zucca_boar.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('razorclaw', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/rock_beetle.py b/scripts/mobiles/tatooine/rock_beetle.py new file mode 100644 index 00000000..e5241063 --- /dev/null +++ b/scripts/mobiles/tatooine/rock_beetle.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('rock_beetle') + mobileTemplate.setLevel(18) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_rock_beetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/creature/shared_creature_spit_small_toxicgreen.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureRangedAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('rock_beetle', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/rock_beetle1.py b/scripts/mobiles/tatooine/rock_beetle1.py new file mode 100644 index 00000000..6145a123 --- /dev/null +++ b/scripts/mobiles/tatooine/rock_beetle1.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('rock_beetle') + mobileTemplate.setLevel(19) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_rock_beetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/creature/shared_creature_spit_small_toxicgreen.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureRangedAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('rock_beetle_1', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/rock_beetle_cave.py b/scripts/mobiles/tatooine/rock_beetle_cave.py new file mode 100644 index 00000000..afa926ac --- /dev/null +++ b/scripts/mobiles/tatooine/rock_beetle_cave.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('rock_beetle_cave') + mobileTemplate.setLevel(19) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_rock_beetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/creature/shared_creature_spit_small_toxicgreen.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureRangedAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('rock_beetle_cave', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/rockmite.py b/scripts/mobiles/tatooine/rockmite.py new file mode 100644 index 00000000..bd6f39e5 --- /dev/null +++ b/scripts/mobiles/tatooine/rockmite.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('rockmite') + mobileTemplate.setLevel(8) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_rock_mite.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('rockmite', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/ronto.py b/scripts/mobiles/tatooine/ronto.py new file mode 100644 index 00000000..68e02924 --- /dev/null +++ b/scripts/mobiles/tatooine/ronto.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('ronto') + mobileTemplate.setLevel(17) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_ronto.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('ronto', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/runted_rill.py b/scripts/mobiles/tatooine/runted_rill.py new file mode 100644 index 00000000..dd84444f --- /dev/null +++ b/scripts/mobiles/tatooine/runted_rill.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('runted_rill') + mobileTemplate.setLevel(1) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_rill.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('runted_rill', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/sand_beetle.py b/scripts/mobiles/tatooine/sand_beetle.py new file mode 100644 index 00000000..072fa787 --- /dev/null +++ b/scripts/mobiles/tatooine/sand_beetle.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('sand_beetle') + mobileTemplate.setLevel(18) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_giant_sand_beetle.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('sand_beetle', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/sandreaver.py b/scripts/mobiles/tatooine/sandreaver.py new file mode 100644 index 00000000..86af2d0b --- /dev/null +++ b/scripts/mobiles/tatooine/sandreaver.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('dewback_sandreaver') + mobileTemplate.setLevel(18) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dewback.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('sandreaver', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/savage_zucca_boar.py b/scripts/mobiles/tatooine/savage_zucca_boar.py new file mode 100644 index 00000000..646cc819 --- /dev/null +++ b/scripts/mobiles/tatooine/savage_zucca_boar.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('elite_zucca_boar') + mobileTemplate.setLevel(8) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_zucca_boar.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('savage_zucca_boar', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/scyk.py b/scripts/mobiles/tatooine/scyk.py new file mode 100644 index 00000000..f3c09a86 --- /dev/null +++ b/scripts/mobiles/tatooine/scyk.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('scyk') + mobileTemplate.setLevel(11) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_scyk.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('scyk', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/sevorrt.py b/scripts/mobiles/tatooine/sevorrt.py new file mode 100644 index 00000000..3bcd9926 --- /dev/null +++ b/scripts/mobiles/tatooine/sevorrt.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('sevorrt') + mobileTemplate.setLevel(5) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_sevorrt.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('sevorrt', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/sewer_worrt.py b/scripts/mobiles/tatooine/sewer_worrt.py new file mode 100644 index 00000000..ac614b18 --- /dev/null +++ b/scripts/mobiles/tatooine/sewer_worrt.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('sewer_worrt') + mobileTemplate.setLevel(5) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_worrt.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('sewer_worrt', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/sickly_womprat.py b/scripts/mobiles/tatooine/sickly_womprat.py new file mode 100644 index 00000000..3961ece7 --- /dev/null +++ b/scripts/mobiles/tatooine/sickly_womprat.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('sickly_womprat') + mobileTemplate.setLevel(1) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_womp_rat.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('sickly_womprat', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/slum_rat.py b/scripts/mobiles/tatooine/slum_rat.py new file mode 100644 index 00000000..90eeb0cf --- /dev/null +++ b/scripts/mobiles/tatooine/slum_rat.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('womprat_city') + mobileTemplate.setLevel(5) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_womp_rat.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('slum_rat', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/snarlfang.py b/scripts/mobiles/tatooine/snarlfang.py new file mode 100644 index 00000000..95aa8910 --- /dev/null +++ b/scripts/mobiles/tatooine/snarlfang.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('elite_bocatt') + mobileTemplate.setLevel(17) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_bocatt.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/creature/shared_creature_spit_small_toxicgreen.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureRangedAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('snarlfang', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/squill.py b/scripts/mobiles/tatooine/squill.py new file mode 100644 index 00000000..61abb0a3 --- /dev/null +++ b/scripts/mobiles/tatooine/squill.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('squill') + mobileTemplate.setLevel(12) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_squill.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('squill', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/stormtrooper_dewback.py b/scripts/mobiles/tatooine/stormtrooper_dewback.py new file mode 100644 index 00000000..b6dcea7f --- /dev/null +++ b/scripts/mobiles/tatooine/stormtrooper_dewback.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('stormtrooper_dewback') + mobileTemplate.setLevel(14) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dewback_armored.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('stormtrooper_dewback', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/sunstained_dunelizard.py b/scripts/mobiles/tatooine/sunstained_dunelizard.py new file mode 100644 index 00000000..03737a37 --- /dev/null +++ b/scripts/mobiles/tatooine/sunstained_dunelizard.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('dune_lizard_sunstained') + mobileTemplate.setLevel(19) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dune_lizard.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('sunstained_dune_lizard', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/swarming_lesser_dewback.py b/scripts/mobiles/tatooine/swarming_lesser_dewback.py new file mode 100644 index 00000000..88fae935 --- /dev/null +++ b/scripts/mobiles/tatooine/swarming_lesser_dewback.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('swarming_lesser_dewback') + mobileTemplate.setLevel(13) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_swarming_lesser_dewback.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('swarming_lesser_dewback', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/tame_rill.py b/scripts/mobiles/tatooine/tame_rill.py new file mode 100644 index 00000000..4ec78cae --- /dev/null +++ b/scripts/mobiles/tatooine/tame_rill.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('tame_rill') + mobileTemplate.setLevel(1) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_rill.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('tame_rill', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/tame_womprat.py b/scripts/mobiles/tatooine/tame_womprat.py new file mode 100644 index 00000000..bbc970a1 --- /dev/null +++ b/scripts/mobiles/tatooine/tame_womprat.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('tame_womprat') + mobileTemplate.setLevel(2) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_womp_rat.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('tame_womprat', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/tame_worrt.py b/scripts/mobiles/tatooine/tame_worrt.py new file mode 100644 index 00000000..75bda089 --- /dev/null +++ b/scripts/mobiles/tatooine/tame_worrt.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('tame_worrt') + mobileTemplate.setLevel(5) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_worrt.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('tame_worrt', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/tatooine_mynock.py b/scripts/mobiles/tatooine/tatooine_mynock.py new file mode 100644 index 00000000..64b3e4f1 --- /dev/null +++ b/scripts/mobiles/tatooine/tatooine_mynock.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('tatooine_mynock') + mobileTemplate.setLevel(2) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_mynock.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('tatooine_mynock', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/tempest_rill.py b/scripts/mobiles/tatooine/tempest_rill.py new file mode 100644 index 00000000..d5df155c --- /dev/null +++ b/scripts/mobiles/tatooine/tempest_rill.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('rill_tempest') + mobileTemplate.setLevel(8) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_rill.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('tempest_rill', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/tormented_bocatt.py b/scripts/mobiles/tatooine/tormented_bocatt.py new file mode 100644 index 00000000..ed5c4ecd --- /dev/null +++ b/scripts/mobiles/tatooine/tormented_bocatt.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('bocatt_tormented') + mobileTemplate.setLevel(18) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_bocatt.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/creature/shared_creature_spit_small_toxicgreen.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureRangedAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('tormented_bocatt', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/tusken_bantha.py b/scripts/mobiles/tatooine/tusken_bantha.py new file mode 100644 index 00000000..13943979 --- /dev/null +++ b/scripts/mobiles/tatooine/tusken_bantha.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('feeder_tusken_bantha') + mobileTemplate.setLevel(30) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_bantha_hue.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('tusken_bantha', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/tusken_raider.py b/scripts/mobiles/tatooine/tusken_raider.py index f3a3e867..4c2a2277 100644 --- a/scripts/mobiles/tatooine/tusken_raider.py +++ b/scripts/mobiles/tatooine/tusken_raider.py @@ -26,4 +26,4 @@ def addTemplate(core): mobileTemplate.setAttacks(attacks) core.spawnService.addMobileTemplate('tusken_raider', mobileTemplate) - \ No newline at end of file + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/twisted_dewback.py b/scripts/mobiles/tatooine/twisted_dewback.py new file mode 100644 index 00000000..f88b8020 --- /dev/null +++ b/scripts/mobiles/tatooine/twisted_dewback.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('twisted_dewback') + mobileTemplate.setLevel(11) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_dewback.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('twisted_dewback', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/twisted_rill.py b/scripts/mobiles/tatooine/twisted_rill.py new file mode 100644 index 00000000..977dd020 --- /dev/null +++ b/scripts/mobiles/tatooine/twisted_rill.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('twisted_rill') + mobileTemplate.setLevel(11) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_rill.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('twisted_rill', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/twisted_womprat.py b/scripts/mobiles/tatooine/twisted_womprat.py new file mode 100644 index 00000000..851ffcda --- /dev/null +++ b/scripts/mobiles/tatooine/twisted_womprat.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('twisted_womprat') + mobileTemplate.setLevel(11) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_womp_rat.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('twisted_womprat', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/variegated_womprat.py b/scripts/mobiles/tatooine/variegated_womprat.py new file mode 100644 index 00000000..72cc6401 --- /dev/null +++ b/scripts/mobiles/tatooine/variegated_womprat.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('variegated_womprat') + mobileTemplate.setLevel(12) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_variegated_womp_rat.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('variegated_womprat', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/vicious_rill.py b/scripts/mobiles/tatooine/vicious_rill.py new file mode 100644 index 00000000..19262365 --- /dev/null +++ b/scripts/mobiles/tatooine/vicious_rill.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('vicious_rill') + mobileTemplate.setLevel(3) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_rill.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('vicious_rill', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/volatile_scyk.py b/scripts/mobiles/tatooine/volatile_scyk.py new file mode 100644 index 00000000..0262572f --- /dev/null +++ b/scripts/mobiles/tatooine/volatile_scyk.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('scyk_volatile') + mobileTemplate.setLevel(12) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_scyk.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('volatile_scyk', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/wasteland_cupa.py b/scripts/mobiles/tatooine/wasteland_cupa.py new file mode 100644 index 00000000..e7bcd8b2 --- /dev/null +++ b/scripts/mobiles/tatooine/wasteland_cupa.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('wasteland_cu_pa') + mobileTemplate.setLevel(20) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_cu_pa.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('wasteland_cu_pa', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/wild_bladeback_boar.py b/scripts/mobiles/tatooine/wild_bladeback_boar.py new file mode 100644 index 00000000..6568f78f --- /dev/null +++ b/scripts/mobiles/tatooine/wild_bladeback_boar.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('quest_hero_of_tatooine_ferocious_beast') + mobileTemplate.setLevel(40) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_zucca_boar.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('wild_bladeback_boar', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/wild_dune_boar.py b/scripts/mobiles/tatooine/wild_dune_boar.py new file mode 100644 index 00000000..61a673ae --- /dev/null +++ b/scripts/mobiles/tatooine/wild_dune_boar.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('wild_dune_boar') + mobileTemplate.setLevel(50) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_zucca_boar.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('wild_dune_boar', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/womprat.py b/scripts/mobiles/tatooine/womprat.py index f4277933..7852829b 100644 --- a/scripts/mobiles/tatooine/womprat.py +++ b/scripts/mobiles/tatooine/womprat.py @@ -1,22 +1,30 @@ import sys from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate from java.util import Vector def addTemplate(core): mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('womprat') + mobileTemplate.setLevel(5) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + templates = Vector() templates.add('object/mobile/shared_womp_rat.iff') - mobileTemplate.setCreatureName('womprat') mobileTemplate.setTemplates(templates) - mobileTemplate.setAttackRange(5) - mobileTemplate.setAttackSpeed(5) - mobileTemplate.setLevel(5) - mobileTemplate.setAttackRange(3) - mobileTemplate.setAttackSpeed(1.0) - mobileTemplate.setWeaponType(6) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) attacks = Vector() mobileTemplate.setDefaultAttack('creatureMeleeAttack') mobileTemplate.setAttacks(attacks) + core.spawnService.addMobileTemplate('womprat', mobileTemplate) - \ No newline at end of file + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/wonderous_cupa.py b/scripts/mobiles/tatooine/wonderous_cupa.py new file mode 100644 index 00000000..377aea78 --- /dev/null +++ b/scripts/mobiles/tatooine/wonderous_cupa.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('cu_pa_wonderous') + mobileTemplate.setLevel(12) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_cu_pa.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('wonderous_cu_pa', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/worrt.py b/scripts/mobiles/tatooine/worrt.py index 1ce16573..9adb3b10 100644 --- a/scripts/mobiles/tatooine/worrt.py +++ b/scripts/mobiles/tatooine/worrt.py @@ -14,7 +14,7 @@ def addTemplate(core): mobileTemplate.setAttackSpeed(1.0) templates = Vector() - templates.add('object/mobile/shared_minor_worrt.iff') + templates.add('object/mobile/shared_worrt.iff') mobileTemplate.setTemplates(templates) weaponTemplates = Vector() diff --git a/scripts/mobiles/tatooine/worrt_gutbuster.py b/scripts/mobiles/tatooine/worrt_gutbuster.py new file mode 100644 index 00000000..83f03334 --- /dev/null +++ b/scripts/mobiles/tatooine/worrt_gutbuster.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('worrt_gutbuster') + mobileTemplate.setLevel(13) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_worrt.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('worrt_gutbuster', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/young_mountain_squill.py b/scripts/mobiles/tatooine/young_mountain_squill.py new file mode 100644 index 00000000..934f5c31 --- /dev/null +++ b/scripts/mobiles/tatooine/young_mountain_squill.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('young_mountain_squill') + mobileTemplate.setLevel(16) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_squill.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('young_mountain_squill', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/tatooine/zucca_boar.py b/scripts/mobiles/tatooine/zucca_boar.py new file mode 100644 index 00000000..8b278a9c --- /dev/null +++ b/scripts/mobiles/tatooine/zucca_boar.py @@ -0,0 +1,30 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('zucca_boar') + mobileTemplate.setLevel(8) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(5) + mobileTemplate.setWeaponType(6) + mobileTemplate.setAttackSpeed(1.0) + + templates = Vector() + templates.add('object/mobile/shared_zucca_boar.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', 6, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('zucca_boar', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/object/building/player/city/garden_tatooine_sml_01.py b/scripts/object/building/player/city/garden_tatooine_sml_01.py index ccad8904..287ca8f0 100644 --- a/scripts/object/building/player/city/garden_tatooine_sml_01.py +++ b/scripts/object/building/player/city/garden_tatooine_sml_01.py @@ -1,4 +1,14 @@ import sys +from engine.resources.scene import Point3D +from engine.resources.scene import Quaternion def setup(core, object): + sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', -13.7, 3, 9.1, -1, 0, -1) + print(sign) + object.setAttachment("structureSign", sign) + + structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', -17.2, 1.5 , 8, 1, 0 ,4) + #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') + structureterminal.setAttachment('housing_parentstruct', object) + return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_fs_junk_dealer.py b/scripts/object/mobile/dressed_fs_junk_dealer.py index ccad8904..6fed84e5 100644 --- a/scripts/object/mobile/dressed_fs_junk_dealer.py +++ b/scripts/object/mobile/dressed_fs_junk_dealer.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('junk_dealer') return \ No newline at end of file diff --git a/scripts/object/mobile/dressed_imperial_officer_f.py b/scripts/object/mobile/dressed_imperial_officer_f.py index ccad8904..b9963b3e 100644 --- a/scripts/object/mobile/dressed_imperial_officer_f.py +++ b/scripts/object/mobile/dressed_imperial_officer_f.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): - return \ No newline at end of file + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','imp_recruiter') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('imperial_recruiter') + return diff --git a/scripts/object/mobile/dressed_imperial_officer_m_2.py b/scripts/object/mobile/dressed_imperial_officer_m_2.py index ccad8904..b9963b3e 100644 --- a/scripts/object/mobile/dressed_imperial_officer_m_2.py +++ b/scripts/object/mobile/dressed_imperial_officer_m_2.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): - return \ No newline at end of file + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','imp_recruiter') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('imperial_recruiter') + return diff --git a/scripts/object/mobile/dressed_imperial_officer_m_3.py b/scripts/object/mobile/dressed_imperial_officer_m_3.py index ccad8904..b9963b3e 100644 --- a/scripts/object/mobile/dressed_imperial_officer_m_3.py +++ b/scripts/object/mobile/dressed_imperial_officer_m_3.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): - return \ No newline at end of file + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','imp_recruiter') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('imperial_recruiter') + return diff --git a/scripts/object/mobile/dressed_imperial_officer_m_4.py b/scripts/object/mobile/dressed_imperial_officer_m_4.py index ccad8904..b9963b3e 100644 --- a/scripts/object/mobile/dressed_imperial_officer_m_4.py +++ b/scripts/object/mobile/dressed_imperial_officer_m_4.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): - return \ No newline at end of file + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','imp_recruiter') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('imperial_recruiter') + return diff --git a/scripts/object/mobile/dressed_imperial_officer_m_5.py b/scripts/object/mobile/dressed_imperial_officer_m_5.py index ccad8904..b9963b3e 100644 --- a/scripts/object/mobile/dressed_imperial_officer_m_5.py +++ b/scripts/object/mobile/dressed_imperial_officer_m_5.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): - return \ No newline at end of file + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','imp_recruiter') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('imperial_recruiter') + return diff --git a/scripts/object/mobile/dressed_imperial_officer_m_6.py b/scripts/object/mobile/dressed_imperial_officer_m_6.py index ccad8904..b9963b3e 100644 --- a/scripts/object/mobile/dressed_imperial_officer_m_6.py +++ b/scripts/object/mobile/dressed_imperial_officer_m_6.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): - return \ No newline at end of file + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','imp_recruiter') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('imperial_recruiter') + return diff --git a/scripts/object/mobile/dressed_rebel_recruiter_human_female_01.py b/scripts/object/mobile/dressed_rebel_recruiter_human_female_01.py index ccad8904..e0dd64a1 100644 --- a/scripts/object/mobile/dressed_rebel_recruiter_human_female_01.py +++ b/scripts/object/mobile/dressed_rebel_recruiter_human_female_01.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): - return \ No newline at end of file + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','reb_recruiter') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('rebel_recruiter') + return diff --git a/scripts/object/mobile/junk_dealer_f_01.py b/scripts/object/mobile/junk_dealer_f_01.py index ccad8904..6fed84e5 100644 --- a/scripts/object/mobile/junk_dealer_f_01.py +++ b/scripts/object/mobile/junk_dealer_f_01.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('junk_dealer') return \ No newline at end of file diff --git a/scripts/object/mobile/junk_dealer_f_02.py b/scripts/object/mobile/junk_dealer_f_02.py index ccad8904..6e9644e2 100644 --- a/scripts/object/mobile/junk_dealer_f_02.py +++ b/scripts/object/mobile/junk_dealer_f_02.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('junk_dealer_smuggler') return \ No newline at end of file diff --git a/scripts/object/mobile/junk_dealer_f_03.py b/scripts/object/mobile/junk_dealer_f_03.py index ccad8904..9ed1eded 100644 --- a/scripts/object/mobile/junk_dealer_f_03.py +++ b/scripts/object/mobile/junk_dealer_f_03.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('junk_dealer_special') return \ No newline at end of file diff --git a/scripts/object/mobile/junk_dealer_m_01.py b/scripts/object/mobile/junk_dealer_m_01.py index ccad8904..6fed84e5 100644 --- a/scripts/object/mobile/junk_dealer_m_01.py +++ b/scripts/object/mobile/junk_dealer_m_01.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('junk_dealer') return \ No newline at end of file diff --git a/scripts/object/mobile/junk_dealer_m_02.py b/scripts/object/mobile/junk_dealer_m_02.py index ccad8904..6e9644e2 100644 --- a/scripts/object/mobile/junk_dealer_m_02.py +++ b/scripts/object/mobile/junk_dealer_m_02.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('junk_dealer_smuggler') return \ No newline at end of file diff --git a/scripts/object/mobile/junk_dealer_m_03.py b/scripts/object/mobile/junk_dealer_m_03.py index ccad8904..9ed1eded 100644 --- a/scripts/object/mobile/junk_dealer_m_03.py +++ b/scripts/object/mobile/junk_dealer_m_03.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('junk_dealer_special') return \ No newline at end of file diff --git a/scripts/object/mobile/junk_dender.py b/scripts/object/mobile/junk_dender.py index ccad8904..9ed1eded 100644 --- a/scripts/object/mobile/junk_dender.py +++ b/scripts/object/mobile/junk_dender.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('junk_dealer_special') return \ No newline at end of file diff --git a/scripts/object/mobile/junk_lila.py b/scripts/object/mobile/junk_lila.py index ccad8904..9ed1eded 100644 --- a/scripts/object/mobile/junk_lila.py +++ b/scripts/object/mobile/junk_lila.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('junk_dealer_special') return \ No newline at end of file diff --git a/scripts/object/mobile/junk_malik.py b/scripts/object/mobile/junk_malik.py index ccad8904..9ed1eded 100644 --- a/scripts/object/mobile/junk_malik.py +++ b/scripts/object/mobile/junk_malik.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('junk_dealer_special') return \ No newline at end of file diff --git a/scripts/object/mobile/junk_nado.py b/scripts/object/mobile/junk_nado.py index ccad8904..9ed1eded 100644 --- a/scripts/object/mobile/junk_nado.py +++ b/scripts/object/mobile/junk_nado.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('junk_dealer_special') return \ No newline at end of file diff --git a/scripts/object/mobile/junk_nathan.py b/scripts/object/mobile/junk_nathan.py index ccad8904..9ed1eded 100644 --- a/scripts/object/mobile/junk_nathan.py +++ b/scripts/object/mobile/junk_nathan.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('junk_dealer_special') return \ No newline at end of file diff --git a/scripts/object/mobile/junk_ollobo.py b/scripts/object/mobile/junk_ollobo.py index ccad8904..9ed1eded 100644 --- a/scripts/object/mobile/junk_ollobo.py +++ b/scripts/object/mobile/junk_ollobo.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('junk_dealer_special') return \ No newline at end of file diff --git a/scripts/object/mobile/junk_quich.py b/scripts/object/mobile/junk_quich.py index ccad8904..9ed1eded 100644 --- a/scripts/object/mobile/junk_quich.py +++ b/scripts/object/mobile/junk_quich.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('junk_dealer_special') return \ No newline at end of file diff --git a/scripts/object/mobile/junk_reggi.py b/scripts/object/mobile/junk_reggi.py index ccad8904..9ed1eded 100644 --- a/scripts/object/mobile/junk_reggi.py +++ b/scripts/object/mobile/junk_reggi.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('junk_dealer_special') return \ No newline at end of file diff --git a/scripts/object/mobile/junk_sheani.py b/scripts/object/mobile/junk_sheani.py index ccad8904..9ed1eded 100644 --- a/scripts/object/mobile/junk_sheani.py +++ b/scripts/object/mobile/junk_sheani.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('junk_dealer_special') return \ No newline at end of file diff --git a/scripts/object/mobile/junk_sneg.py b/scripts/object/mobile/junk_sneg.py index ccad8904..9ed1eded 100644 --- a/scripts/object/mobile/junk_sneg.py +++ b/scripts/object/mobile/junk_sneg.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('junk_dealer_special') return \ No newline at end of file diff --git a/scripts/object/mobile/outbreak_junk_dealer_f_01.py b/scripts/object/mobile/outbreak_junk_dealer_f_01.py index ccad8904..8d5252a1 100644 --- a/scripts/object/mobile/outbreak_junk_dealer_f_01.py +++ b/scripts/object/mobile/outbreak_junk_dealer_f_01.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('outbreak_junk_dealer') return \ No newline at end of file diff --git a/scripts/object/mobile/outbreak_junk_dealer_f_02.py b/scripts/object/mobile/outbreak_junk_dealer_f_02.py index ccad8904..8d5252a1 100644 --- a/scripts/object/mobile/outbreak_junk_dealer_f_02.py +++ b/scripts/object/mobile/outbreak_junk_dealer_f_02.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('outbreak_junk_dealer') return \ No newline at end of file diff --git a/scripts/object/mobile/outbreak_junk_dealer_m_01.py b/scripts/object/mobile/outbreak_junk_dealer_m_01.py index ccad8904..8d5252a1 100644 --- a/scripts/object/mobile/outbreak_junk_dealer_m_01.py +++ b/scripts/object/mobile/outbreak_junk_dealer_m_01.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('outbreak_junk_dealer') return \ No newline at end of file diff --git a/scripts/object/mobile/outbreak_junk_dealer_m_02.py b/scripts/object/mobile/outbreak_junk_dealer_m_02.py index ccad8904..8d5252a1 100644 --- a/scripts/object/mobile/outbreak_junk_dealer_m_02.py +++ b/scripts/object/mobile/outbreak_junk_dealer_m_02.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('outbreak_junk_dealer') return \ No newline at end of file diff --git a/scripts/object/mobile/outbreak_junk_dealer_m_03.py b/scripts/object/mobile/outbreak_junk_dealer_m_03.py index ccad8904..8d5252a1 100644 --- a/scripts/object/mobile/outbreak_junk_dealer_m_03.py +++ b/scripts/object/mobile/outbreak_junk_dealer_m_03.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('outbreak_junk_dealer') return \ No newline at end of file diff --git a/scripts/object/mobile/respec_seller_f_1.py b/scripts/object/mobile/respec_seller_f_1.py index c7327815..1af596e0 100644 --- a/scripts/object/mobile/respec_seller_f_1.py +++ b/scripts/object/mobile/respec_seller_f_1.py @@ -4,4 +4,7 @@ from resources.datatables import Options def setup(core, object): object.setAttachment('radial_filename', 'object/conversation') object.setAttachment('conversationFile', 'respec') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + object.setStfName('respec_seller') return \ No newline at end of file diff --git a/scripts/object/mobile/som/must_junk.py b/scripts/object/mobile/som/must_junk.py index ccad8904..d33eab84 100644 --- a/scripts/object/mobile/som/must_junk.py +++ b/scripts/object/mobile/som/must_junk.py @@ -1,4 +1,10 @@ import sys +from resources.datatables import Options def setup(core, object): + object.setAttachment('radial_filename', 'object/conversation'); + object.setAttachment('conversationFile','junk_dealer') + object.setOptionsBitmask(Options.CONVERSABLE | Options.INVULNERABLE) + object.setStfFilename('mob/creature_names') + junkdealer.setStfName('som_mustafarian_junk') return \ No newline at end of file diff --git a/scripts/object/tangible/deed/city_deed/cityhall_corellia_deed.py b/scripts/object/tangible/deed/city_deed/cityhall_corellia_deed.py index d76c4b31..07ab9319 100644 --- a/scripts/object/tangible/deed/city_deed/cityhall_corellia_deed.py +++ b/scripts/object/tangible/deed/city_deed/cityhall_corellia_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/shared_construction_structure.iff') - object.setStructureTemplate('object/tangible/deed/city_deed/shared_cityhall_corellia_deed.iff') - #object.setLotRequirement(5) - object.setBMR(308) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/city_deed/cityhall_naboo_deed.py b/scripts/object/tangible/deed/city_deed/cityhall_naboo_deed.py index 51249c92..07ab9319 100644 --- a/scripts/object/tangible/deed/city_deed/cityhall_naboo_deed.py +++ b/scripts/object/tangible/deed/city_deed/cityhall_naboo_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/shared_construction_structure.iff') - object.setStructureTemplate('object/tangible/deed/city_deed/shared_cityhall_naboo_deed.iff') - #object.setLotRequirement(5) - object.setBMR(308) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/city_deed/cityhall_tatooine_deed.py b/scripts/object/tangible/deed/city_deed/cityhall_tatooine_deed.py index d0afdb68..07ab9319 100644 --- a/scripts/object/tangible/deed/city_deed/cityhall_tatooine_deed.py +++ b/scripts/object/tangible/deed/city_deed/cityhall_tatooine_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/shared_construction_structure.iff') - object.setStructureTemplate('object/tangible/deed/city_deed/shared_cityhall_tatooine_deed.iff') - #object.setLotRequirement(5) - object.setBMR(308) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/city_deed/garden_tatooine_sml_01_deed.py b/scripts/object/tangible/deed/city_deed/garden_tatooine_sml_01_deed.py index ccad8904..07ab9319 100644 --- a/scripts/object/tangible/deed/city_deed/garden_tatooine_sml_01_deed.py +++ b/scripts/object/tangible/deed/city_deed/garden_tatooine_sml_01_deed.py @@ -1,4 +1,8 @@ import sys def setup(core, object): + object.setAttachment('radial_filename', 'deeds/structureDeed') + return + +def use(core, actor, object): return \ No newline at end of file diff --git a/scripts/object/tangible/deed/city_deed/shuttleport_tatooine_deed.py b/scripts/object/tangible/deed/city_deed/shuttleport_tatooine_deed.py index ccad8904..07ab9319 100644 --- a/scripts/object/tangible/deed/city_deed/shuttleport_tatooine_deed.py +++ b/scripts/object/tangible/deed/city_deed/shuttleport_tatooine_deed.py @@ -1,4 +1,8 @@ import sys def setup(core, object): + object.setAttachment('radial_filename', 'deeds/structureDeed') + return + +def use(core, actor, object): return \ No newline at end of file diff --git a/scripts/object/tangible/deed/guild_deed/corellia_guild_deed.py b/scripts/object/tangible/deed/guild_deed/corellia_guild_deed.py index 4551ea56..07ab9319 100644 --- a/scripts/object/tangible/deed/guild_deed/corellia_guild_deed.py +++ b/scripts/object/tangible/deed/guild_deed/corellia_guild_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_guildhall_corellia_style_01.iff') - object.setStructureTemplate('object/tangible/deed/guild_deed/shared_corellia_guild_deed.iff') - object.setLotRequirement(5) - object.setBMR(100) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/guild_deed/generic_guild_deed.py b/scripts/object/tangible/deed/guild_deed/generic_guild_deed.py index e7bc0a46..07ab9319 100644 --- a/scripts/object/tangible/deed/guild_deed/generic_guild_deed.py +++ b/scripts/object/tangible/deed/guild_deed/generic_guild_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_guildhall_corellia_style_01.iff') - object.setStructureTemplate('object/tangible/deed/guild_deed/shared_generic_guild_deed.iff') - object.setLotRequirement(5) - object.setBMR(100) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/guild_deed/naboo_guild_deed.py b/scripts/object/tangible/deed/guild_deed/naboo_guild_deed.py index 773614bf..07ab9319 100644 --- a/scripts/object/tangible/deed/guild_deed/naboo_guild_deed.py +++ b/scripts/object/tangible/deed/guild_deed/naboo_guild_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_guildhall_naboo_style_01.iff') - object.setStructureTemplate('object/tangible/deed/guild_deed/shared_naboo_guild_deed.iff') - object.setLotRequirement(5) - object.setBMR(100) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/guild_deed/tatooine_guild_deed.py b/scripts/object/tangible/deed/guild_deed/tatooine_guild_deed.py index fe254f2c..07ab9319 100644 --- a/scripts/object/tangible/deed/guild_deed/tatooine_guild_deed.py +++ b/scripts/object/tangible/deed/guild_deed/tatooine_guild_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_guildhall_tatooine_style_01.iff') - object.setStructureTemplate('object/tangible/deed/guild_deed/shared_tatooine_guild_deed.iff') - object.setLotRequirement(5) - object.setBMR(100) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/guild_deed/tatooine_guild_style_02_deed.py b/scripts/object/tangible/deed/guild_deed/tatooine_guild_style_02_deed.py index 8560e4bb..07ab9319 100644 --- a/scripts/object/tangible/deed/guild_deed/tatooine_guild_style_02_deed.py +++ b/scripts/object/tangible/deed/guild_deed/tatooine_guild_style_02_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_guildhall_tatooine_style_02.iff') - object.setStructureTemplate('object/tangible/deed/guild_deed/shared_tatooine_guild_style_02_deed.iff') - object.setLotRequirement(5) - object.setBMR(100) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed.py b/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed.py index bc69c878..10d24ebd 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_1.iff') - object.setStructureTemplate('object/installation/mining_organic/shared_mining_organic_flora_farm.iff') - object.setLotRequirement(1) - object.setBMR(16) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_1.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_organic/shared_mining_organic_flora_farm.iff') + object.setAttachment('LotRequirement', 1) + object.setIntAttribute('examine_maintenance_rate', 16) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_elite.py b/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_elite.py index 3bda16b3..8a14fe9a 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_elite.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_elite.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') - object.setStructureTemplate('object/installation/mining_organic/shared_mining_organic_flora_farm_elite.iff') - object.setLotRequirement(3) - object.setBMR(120) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_organic/shared_mining_organic_flora_farm_elite.iff') + object.setAttachment('LotRequirement', 3) + object.setIntAttribute('examine_maintenance_rate', 120) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_heavy.py b/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_heavy.py index 419f60f5..1006c18b 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_heavy.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_heavy.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') - object.setStructureTemplate('object/installation/mining_organic/shared_mining_organic_flora_farm_heavy.iff') - object.setLotRequirement(1) - object.setBMR(90) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_organic/shared_mining_organic_flora_farm_heavy.iff') + object.setAttachment('LotRequirement', 1) + object.setIntAttribute('examine_maintenance_rate', 90) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_medium.py b/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_medium.py index 9eb27e8b..41c49098 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_medium.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_flora_deed_medium.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_2.iff') - object.setStructureTemplate('object/installation/mining_organic/shared_mining_organic_flora_farm_medium.iff') - object.setLotRequirement(1) - object.setBMR(60) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_2.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_organic/shared_mining_organic_flora_farm_medium.iff') + object.setAttachment('LotRequirement', 1) + object.setIntAttribute('examine_maintenance_rate', 60) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed.py b/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed.py index 5a4a2404..d11eb62d 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_1.iff') - object.setStructureTemplate('object/installation/mining_gas/shared_mining_gas_harvester_style_1.iff') - object.setLotRequirement(1) - object.setBMR(16) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_1.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_gas/shared_mining_gas_harvester_style_1.iff') + object.setAttachment('LotRequirement', 1) + object.setIntAttribute('examine_maintenance_rate', 16) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_elite.py b/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_elite.py index f560acdf..0ea574be 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_elite.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_elite.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') - object.setStructureTemplate('object/installation/mining_gas/shared_mining_gas_harvester_style_4.iff') - object.setLotRequirement(3) - object.setBMR(120) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_gas/shared_mining_gas_harvester_style_4.iff') + object.setAttachment('LotRequirement', 3) + object.setIntAttribute('examine_maintenance_rate', 120) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_heavy.py b/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_heavy.py index c9bbd64b..d77581cf 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_heavy.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_heavy.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') - object.setStructureTemplate('object/installation/mining_gas/shared_mining_gas_harvester_style_3.iff') - object.setLotRequirement(1) - object.setBMR(90) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_gas/shared_mining_gas_harvester_style_3.iff') + object.setAttachment('LotRequirement', 1) + object.setIntAttribute('examine_maintenance_rate', 90) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_medium.py b/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_medium.py index 10a7007a..4e999ccb 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_medium.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_gas_deed_medium.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_2.iff') - object.setStructureTemplate('object/installation/mining_gas/shared_mining_gas_harvester_style_2.iff') - object.setLotRequirement(1) - object.setBMR(60) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_2.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_gas/shared_mining_gas_harvester_style_2.iff') + object.setAttachment('LotRequirement', 1) + object.setIntAttribute('examine_maintenance_rate', 60) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed.py b/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed.py index b0455145..39590829 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_1.iff') - object.setStructureTemplate('object/installation/mining_liquid/shared_mining_liquid_harvester_style_1.iff') - object.setLotRequirement(1) - object.setBMR(16) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_1.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_liquid/shared_mining_liquid_harvester_style_1.iff') + object.setAttachment('LotRequirement', 1) + object.setIntAttribute('examine_maintenance_rate', 16) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_elite.py b/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_elite.py index 723f3eab..b3eaba78 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_elite.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_elite.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') - object.setStructureTemplate('object/installation/mining_liquid/shared_mining_liquid_harvester_style_4.iff') - object.setLotRequirement(3) - object.setBMR(120) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_liquid/shared_mining_liquid_harvester_style_4.iff') + object.setAttachment('LotRequirement', 3) + object.setIntAttribute('examine_maintenance_rate', 120) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_heavy.py b/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_heavy.py index 773e722d..48a97f35 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_heavy.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_heavy.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') - object.setStructureTemplate('object/installation/mining_liquid/shared_mining_liquid_harvester_style_3.iff') - object.setLotRequirement(1) - object.setBMR(90) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_liquid/shared_mining_liquid_harvester_style_3.iff') + object.setAttachment('LotRequirement', 1) + object.setIntAttribute('examine_maintenance_rate', 90) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_medium.py b/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_medium.py index 1f40b563..3ece7d28 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_medium.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_liquid_deed_medium.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_2.iff') - object.setStructureTemplate('object/installation/mining_liquid/shared_mining_liquid_harvester_style_2.iff') - object.setLotRequirement(1) - object.setBMR(60) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_2.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_liquid/shared_mining_liquid_harvester_style_2.iff') + object.setAttachment('LotRequirement', 1) + object.setIntAttribute('examine_maintenance_rate', 60) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed.py b/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed.py index 0241a524..213a8d53 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_1.iff') - object.setStructureTemplate('object/installation/mining_liquid/shared_mining_liquid_moisture_harvester.iff') - object.setLotRequirement(1) - object.setBMR(16) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_1.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_liquid/shared_mining_liquid_moisture_harvester.iff') + object.setAttachment('LotRequirement', 1) + object.setIntAttribute('examine_maintenance_rate', 16) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_elite.py b/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_elite.py index e008e004..ba7cf3f9 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_elite.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_elite.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') - object.setStructureTemplate('object/installation/mining_liquid/shared_mining_liquid_moisture_harvester_elite.iff') - object.setLotRequirement(3) - object.setBMR(120) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_liquid/shared_mining_liquid_moisture_harvester_elite.iff') + object.setAttachment('LotRequirement', 3) + object.setIntAttribute('examine_maintenance_rate', 120) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_heavy.py b/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_heavy.py index e9206a11..5ca18dc4 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_heavy.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_heavy.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') - object.setStructureTemplate('object/installation/mining_liquid/shared_mining_liquid_moisture_harvester_heavy.iff') - object.setLotRequirement(1) - object.setBMR(90) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_liquid/shared_mining_liquid_moisture_harvester_heavy.iff') + object.setAttachment('LotRequirement', 1) + object.setIntAttribute('examine_maintenance_rate', 90) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_medium.py b/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_medium.py index 2d1b24d2..e14043d2 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_medium.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_moisture_deed_medium.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_2.iff') - object.setStructureTemplate('object/installation/mining_liquid/shared_mining_liquid_moisture_harvester_medium.iff') - object.setLotRequirement(1) - object.setBMR(60) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_2.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_liquid/shared_mining_liquid_moisture_harvester_medium.iff') + object.setAttachment('LotRequirement', 1) + object.setIntAttribute('examine_maintenance_rate', 60) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_ore_deed_elite.py b/scripts/object/tangible/deed/harvester_deed/harvester_ore_deed_elite.py index b8f86d6e..6c3db03a 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_ore_deed_elite.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_ore_deed_elite.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') - object.setStructureTemplate('object/installation/mining_ore/shared_mining_ore_harvester_elite.iff') - object.setLotRequirement(3) - object.setBMR(120) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_ore/shared_mining_ore_harvester_elite.iff') + object.setAttachment('LotRequirement', 3) + object.setIntAttribute('examine_maintenance_rate', 120) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_ore_heavy_deed.py b/scripts/object/tangible/deed/harvester_deed/harvester_ore_heavy_deed.py index 28978e9c..e15fd8b4 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_ore_heavy_deed.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_ore_heavy_deed.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') - object.setStructureTemplate('object/installation/mining_ore/shared_mining_ore_harvester_heavy.iff') - object.setLotRequirement(1) - object.setBMR(90) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_heavy.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_ore/shared_mining_ore_harvester_heavy.iff') + object.setAttachment('LotRequirement', 1) + object.setIntAttribute('examine_maintenance_rate', 90) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_ore_s1_deed.py b/scripts/object/tangible/deed/harvester_deed/harvester_ore_s1_deed.py index ca897eb7..42fbafc3 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_ore_s1_deed.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_ore_s1_deed.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_1.iff') - object.setStructureTemplate('object/installation/mining_ore/shared_mining_ore_harvester_style_1.iff') - object.setLotRequirement(1) - object.setBMR(16) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_1.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_ore/shared_mining_ore_harvester_style_1.iff') + object.setAttachment('LotRequirement', 1) + object.setIntAttribute('examine_maintenance_rate', 16) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/harvester_deed/harvester_ore_s2_deed.py b/scripts/object/tangible/deed/harvester_deed/harvester_ore_s2_deed.py index 97ca86a7..e619c2ee 100644 --- a/scripts/object/tangible/deed/harvester_deed/harvester_ore_s2_deed.py +++ b/scripts/object/tangible/deed/harvester_deed/harvester_ore_s2_deed.py @@ -2,8 +2,8 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/harvesterDeed') - object.setConstructorTemplate('object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_2.iff') - object.setStructureTemplate('object/installation/mining_ore/shared_mining_ore_harvester_style_2.iff') - object.setLotRequirement(1) - object.setBMR(60) + object.setAttachment('ConstructorTemplate', 'object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_2.iff') + object.setAttachment('StructureTemplate', 'object/installation/mining_ore/shared_mining_ore_harvester_style_2.iff') + object.setAttachment('LotRequirement', 1) + object.setIntAttribute('examine_maintenance_rate', 60) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/player_house_deed/corellia_house_large_deed.py b/scripts/object/tangible/deed/player_house_deed/corellia_house_large_deed.py index 7110ddc2..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/corellia_house_large_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/corellia_house_large_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_corellia_large_style_01.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_corellia_house_large_deed.iff') - object.setLotRequirement(5) - object.setBMR(26) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/corellia_house_large_style_02_deed.py b/scripts/object/tangible/deed/player_house_deed/corellia_house_large_style_02_deed.py index fd316e06..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/corellia_house_large_style_02_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/corellia_house_large_style_02_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_corellia_large_style_02.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_corellia_house_large_style_02_deed.iff') - object.setLotRequirement(5) - object.setBMR(26) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/corellia_house_medium_deed.py b/scripts/object/tangible/deed/player_house_deed/corellia_house_medium_deed.py index 0794bf6a..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/corellia_house_medium_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/corellia_house_medium_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_player_house_corellia_medium_style_01.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_corellia_house_medium_deed.iff') - object.setLotRequirement(2) - object.setBMR(18) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/corellia_house_medium_style_02_deed.py b/scripts/object/tangible/deed/player_house_deed/corellia_house_medium_style_02_deed.py index ff561136..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/corellia_house_medium_style_02_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/corellia_house_medium_style_02_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_player_house_corellia_medium_style_02.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_corellia_house_medium_style_02_deed.iff') - object.setLotRequirement(2) - object.setBMR(18) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/corellia_house_small_deed.py b/scripts/object/tangible/deed/player_house_deed/corellia_house_small_deed.py index 412cb41f..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/corellia_house_small_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/corellia_house_small_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_corellia_small_style_01.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_corellia_house_small_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/corellia_house_small_floor_02_deed.py b/scripts/object/tangible/deed/player_house_deed/corellia_house_small_floor_02_deed.py index d7c943c8..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/corellia_house_small_floor_02_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/corellia_house_small_floor_02_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_corellia_small_style_01.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_corellia_house_small_floor_02_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/corellia_house_small_style_02_deed.py b/scripts/object/tangible/deed/player_house_deed/corellia_house_small_style_02_deed.py index 5d4d2b6a..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/corellia_house_small_style_02_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/corellia_house_small_style_02_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_corellia_small_style_02.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_corellia_house_small_style_02_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/corellia_house_small_style_02_floor_02_deed.py b/scripts/object/tangible/deed/player_house_deed/corellia_house_small_style_02_floor_02_deed.py index af5a8c82..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/corellia_house_small_style_02_floor_02_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/corellia_house_small_style_02_floor_02_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_corellia_small_style_02.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_corellia_house_small_style_02_floor_02_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/generic_house_large_deed.py b/scripts/object/tangible/deed/player_house_deed/generic_house_large_deed.py index 8762d716..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/generic_house_large_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/generic_house_large_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_generic_large_style_01.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_generic_house_large_deed.iff') - object.setLotRequirement(5) - object.setBMR(26) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/generic_house_large_style_02_deed.py b/scripts/object/tangible/deed/player_house_deed/generic_house_large_style_02_deed.py index 33ac2fb5..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/generic_house_large_style_02_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/generic_house_large_style_02_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_generic_large_style_02.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_generic_house_large_style_02_deed.iff') - object.setLotRequirement(2) - object.setBMR(26) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/generic_house_large_window_s01_deed.py b/scripts/object/tangible/deed/player_house_deed/generic_house_large_window_s01_deed.py index 5c5fe535..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/generic_house_large_window_s01_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/generic_house_large_window_s01_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_generic_large_style_01.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_generic_house_large_window_s01_deed.iff') - object.setLotRequirement(2) - object.setBMR(26) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/generic_house_large_window_s02_deed.py b/scripts/object/tangible/deed/player_house_deed/generic_house_large_window_s02_deed.py index 8ad15d4e..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/generic_house_large_window_s02_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/generic_house_large_window_s02_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_generic_large_style_02.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_generic_house_large_window_s02_deed.iff') - object.setLotRequirement(2) - object.setBMR(26) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/generic_house_medium_deed.py b/scripts/object/tangible/deed/player_house_deed/generic_house_medium_deed.py index 98fbe311..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/generic_house_medium_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/generic_house_medium_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_generic_medium_style_01.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_generic_house_medium_deed.iff') - object.setLotRequirement(2) - object.setBMR(18) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/generic_house_medium_style_02_deed.py b/scripts/object/tangible/deed/player_house_deed/generic_house_medium_style_02_deed.py index f8941dc1..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/generic_house_medium_style_02_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/generic_house_medium_style_02_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_generic_medium_style_02.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_generic_house_medium_style_02_deed.iff') - object.setLotRequirement(2) - object.setBMR(18) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/generic_house_medium_windowed_deed.py b/scripts/object/tangible/deed/player_house_deed/generic_house_medium_windowed_deed.py index 28949069..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/generic_house_medium_windowed_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/generic_house_medium_windowed_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_generic_medium_style_01.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_generic_house_medium_windowed_deed.iff') - object.setLotRequirement(2) - object.setBMR(18) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/generic_house_medium_windowed_s02_deed.py b/scripts/object/tangible/deed/player_house_deed/generic_house_medium_windowed_s02_deed.py index b784b441..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/generic_house_medium_windowed_s02_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/generic_house_medium_windowed_s02_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_generic_medium_style_02.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_generic_house_medium_windowed_s02_deed.iff') - object.setLotRequirement(2) - object.setBMR(18) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/generic_house_small_deed.py b/scripts/object/tangible/deed/player_house_deed/generic_house_small_deed.py index 15cdd156..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/generic_house_small_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/generic_house_small_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_generic_small_style_01.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_generic_house_small_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/generic_house_small_floor_02_deed.py b/scripts/object/tangible/deed/player_house_deed/generic_house_small_floor_02_deed.py index 830af4dc..5483eb6d 100644 --- a/scripts/object/tangible/deed/player_house_deed/generic_house_small_floor_02_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/generic_house_small_floor_02_deed.py @@ -2,8 +2,4 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_generic_small_style_02.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_generic_house_small_floor_02_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) return \ No newline at end of file diff --git a/scripts/object/tangible/deed/player_house_deed/generic_house_small_style_02_deed.py b/scripts/object/tangible/deed/player_house_deed/generic_house_small_style_02_deed.py index 54ae2ecb..29729ab1 100644 --- a/scripts/object/tangible/deed/player_house_deed/generic_house_small_style_02_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/generic_house_small_style_02_deed.py @@ -2,8 +2,4 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_generic_small_style_02.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_generic_house_small_style_02_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) return diff --git a/scripts/object/tangible/deed/player_house_deed/generic_house_small_style_02_floor_02_deed.py b/scripts/object/tangible/deed/player_house_deed/generic_house_small_style_02_floor_02_deed.py index 4ca8c73e..29729ab1 100644 --- a/scripts/object/tangible/deed/player_house_deed/generic_house_small_style_02_floor_02_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/generic_house_small_style_02_floor_02_deed.py @@ -2,8 +2,4 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_generic_small_style_02.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_generic_house_small_style_02_floor_02_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) return diff --git a/scripts/object/tangible/deed/player_house_deed/generic_house_small_window_deed.py b/scripts/object/tangible/deed/player_house_deed/generic_house_small_window_deed.py index 5bad5b8e..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/generic_house_small_window_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/generic_house_small_window_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_generic_small_style_01.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_generic_house_small_window_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/generic_house_small_window_style_03_deed.py b/scripts/object/tangible/deed/player_house_deed/generic_house_small_window_style_03_deed.py index 3666b630..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/generic_house_small_window_style_03_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/generic_house_small_window_style_03_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_generic_small_style_02.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_generic_house_small_window_style_03_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/jabbas_sail_barge_deed.py b/scripts/object/tangible/deed/player_house_deed/jabbas_sail_barge_deed.py index 515f876b..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/jabbas_sail_barge_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/jabbas_sail_barge_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_jabbas_sail_barge.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_jabbas_sail_barge_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/merchant_tent_style_01_deed.py b/scripts/object/tangible/deed/player_house_deed/merchant_tent_style_01_deed.py index 39fa9d08..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/merchant_tent_style_01_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/merchant_tent_style_01_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_structure.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_merchant_tent_style_01_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/merchant_tent_style_02_deed.py b/scripts/object/tangible/deed/player_house_deed/merchant_tent_style_02_deed.py index 387a8928..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/merchant_tent_style_02_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/merchant_tent_style_02_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_structure.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_merchant_tent_style_02_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/merchant_tent_style_03_deed.py b/scripts/object/tangible/deed/player_house_deed/merchant_tent_style_03_deed.py index 38c8003f..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/merchant_tent_style_03_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/merchant_tent_style_03_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_structure.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_merchant_tent_style_03_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/mustafar_house_lg.py b/scripts/object/tangible/deed/player_house_deed/mustafar_house_lg.py index 9232137e..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/mustafar_house_lg.py +++ b/scripts/object/tangible/deed/player_house_deed/mustafar_house_lg.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_structure.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_mustafar_house_lg.iff') - object.setLotRequirement(2) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/naboo_house_large_deed.py b/scripts/object/tangible/deed/player_house_deed/naboo_house_large_deed.py index 0f0a6353..5483eb6d 100644 --- a/scripts/object/tangible/deed/player_house_deed/naboo_house_large_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/naboo_house_large_deed.py @@ -2,12 +2,4 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_naboo_large_style_01.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_naboo_house_large_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) - return - - - - + return \ No newline at end of file diff --git a/scripts/object/tangible/deed/player_house_deed/naboo_house_medium_deed.py b/scripts/object/tangible/deed/player_house_deed/naboo_house_medium_deed.py index 22d9b33e..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/naboo_house_medium_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/naboo_house_medium_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_naboo_medium_style_01.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_naboo_house_medium_deed.iff') - object.setLotRequirement(2) - object.setBMR(18) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/naboo_house_small_deed.py b/scripts/object/tangible/deed/player_house_deed/naboo_house_small_deed.py index edff2158..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/naboo_house_small_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/naboo_house_small_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_naboo_small_style_01.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_naboo_house_small_deed.iff') - object.setLotRequirement(2) - object.setBMR(18) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/naboo_house_small_style_02_deed.py b/scripts/object/tangible/deed/player_house_deed/naboo_house_small_style_02_deed.py index adeca170..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/naboo_house_small_style_02_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/naboo_house_small_style_02_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_naboo_small_style_02.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_naboo_house_small_style_02_deed.iff') - object.setLotRequirement(2) - object.setBMR(18) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/naboo_house_small_window_deed.py b/scripts/object/tangible/deed/player_house_deed/naboo_house_small_window_deed.py index 8ebc7feb..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/naboo_house_small_window_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/naboo_house_small_window_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_player_house_naboo_small_window_style_01.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_naboo_house_small_window_deed.iff') - object.setLotRequirement(2) - object.setBMR(18) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/player_house_tcg_8_bespin_house_deed.py b/scripts/object/tangible/deed/player_house_deed/player_house_tcg_8_bespin_house_deed.py index 937edeb4..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/player_house_tcg_8_bespin_house_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/player_house_tcg_8_bespin_house_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_structure.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_player_house_tcg_8_bespin_house_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/tatooine_house_large_deed.py b/scripts/object/tangible/deed/player_house_deed/tatooine_house_large_deed.py index 7110ddc2..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/tatooine_house_large_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/tatooine_house_large_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_corellia_large_style_01.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_corellia_house_large_deed.iff') - object.setLotRequirement(5) - object.setBMR(26) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/tatooine_house_medium_deed.py b/scripts/object/tangible/deed/player_house_deed/tatooine_house_medium_deed.py index b9918233..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/tatooine_house_medium_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/tatooine_house_medium_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_tatooine_medium_style_01.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_tatooine_house_medium_deed.iff') - object.setLotRequirement(2) - object.setBMR(18) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/tatooine_house_small_deed.py b/scripts/object/tangible/deed/player_house_deed/tatooine_house_small_deed.py index dd23d101..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/tatooine_house_small_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/tatooine_house_small_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_house_tatooine_small_style_01.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_tatooine_house_small_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/player_house_deed/tatooine_house_small_style_02_deed.py b/scripts/object/tangible/deed/player_house_deed/tatooine_house_small_style_02_deed.py index 31de820d..07ab9319 100644 --- a/scripts/object/tangible/deed/player_house_deed/tatooine_house_small_style_02_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/tatooine_house_small_style_02_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_tatooine_house_small_style_02_deed.iff') - object.setStructureTemplate('object/tangible/deed/player_house_deed/shared_tatooine_house_small_deed.iff') - object.setLotRequirement(2) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/deed/vehicle_deed/landspeeder_tantive4_deed.py b/scripts/object/tangible/deed/vehicle_deed/landspeeder_tantive4_deed.py index 92a45a9d..f031d37f 100644 --- a/scripts/object/tangible/deed/vehicle_deed/landspeeder_tantive4_deed.py +++ b/scripts/object/tangible/deed/vehicle_deed/landspeeder_tantive4_deed.py @@ -1,7 +1,7 @@ import sys def setup(core, object): - object.setAttachment('radial_filename', 'vehicleDeed') + object.setAttachment('radial_filename', 'deeds/vehicleDeed') return def use(core, actor, object): @@ -21,4 +21,4 @@ def use(core, actor, object): core.simulationService.add(vehicle, vehicle.getPosition().x, vehicle.getPosition().z, True) actor.setAttachment('activeVehicleID', vehicle.getObjectID()) - return \ No newline at end of file + return diff --git a/scripts/object/tangible/saga_system/rewards/structure_deed_player_house_sandcrawler.py b/scripts/object/tangible/saga_system/rewards/structure_deed_player_house_sandcrawler.py index 5a653b5c..07ab9319 100644 --- a/scripts/object/tangible/saga_system/rewards/structure_deed_player_house_sandcrawler.py +++ b/scripts/object/tangible/saga_system/rewards/structure_deed_player_house_sandcrawler.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/shared_construction_structure.iff') - object.setStructureTemplate('object/tangible/saga_system/rewards/shared_structure_deed_player_house_sandcrawler.iff') - object.setLotRequirement(5) - object.setBMR(26) return def use(core, actor, object): diff --git a/scripts/object/tangible/tcg/series3/structure_deed_jedi_meditation_room_deed.py b/scripts/object/tangible/tcg/series3/structure_deed_jedi_meditation_room_deed.py index 3abde0fa..01e3b335 100644 --- a/scripts/object/tangible/tcg/series3/structure_deed_jedi_meditation_room_deed.py +++ b/scripts/object/tangible/tcg/series3/structure_deed_jedi_meditation_room_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_jedi_meditation_room.iff') - object.setStructureTemplate('object/tangible/tcg/series3/shared_structure_deed_jedi_meditation_room_deed.iff') - object.setLotRequirement(3) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/tcg/series3/structure_deed_sith_meditation_room_deed.py b/scripts/object/tangible/tcg/series3/structure_deed_sith_meditation_room_deed.py index d069e412..01e3b335 100644 --- a/scripts/object/tangible/tcg/series3/structure_deed_sith_meditation_room_deed.py +++ b/scripts/object/tangible/tcg/series3/structure_deed_sith_meditation_room_deed.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_sith_meditation_room.iff') - object.setStructureTemplate('object/tangible/tcg/series3/shared_structure_deed_sith_meditation_room_deed.iff') - object.setLotRequirement(3) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/tcg/series5/structure_deed_player_house_hangar.py b/scripts/object/tangible/tcg/series5/structure_deed_player_house_hangar.py index 3abde0fa..01e3b335 100644 --- a/scripts/object/tangible/tcg/series5/structure_deed_player_house_hangar.py +++ b/scripts/object/tangible/tcg/series5/structure_deed_player_house_hangar.py @@ -2,10 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'deeds/structureDeed') - object.setConstructorTemplate('object/building/player/construction/shared_construction_player_jedi_meditation_room.iff') - object.setStructureTemplate('object/tangible/tcg/series3/shared_structure_deed_jedi_meditation_room_deed.iff') - object.setLotRequirement(3) - object.setBMR(8) return def use(core, actor, object): diff --git a/scripts/object/tangible/terminal/terminal_bank.py b/scripts/object/tangible/terminal/terminal_bank.py index 64205c68..0a27868e 100644 --- a/scripts/object/tangible/terminal/terminal_bank.py +++ b/scripts/object/tangible/terminal/terminal_bank.py @@ -2,6 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'terminal/bank') - core.mapService.addLocation(object.getPlanet(), 'Bank Terminal', object.getPosition().x, object.getPosition().z, 41, 42, 0) + core.mapService.addLocation(object.getPlanet(), '@map_loc_cat_n:terminal_bank', object.getPosition().x, object.getPosition().z, 2, 42, 0) return \ No newline at end of file diff --git a/scripts/object/tangible/terminal/terminal_bazaar.py b/scripts/object/tangible/terminal/terminal_bazaar.py index e94866f0..967ff912 100644 --- a/scripts/object/tangible/terminal/terminal_bazaar.py +++ b/scripts/object/tangible/terminal/terminal_bazaar.py @@ -1,7 +1,6 @@ import sys def setup(core, object): - - core.mapService.addLocation(object.getPlanet(), 'Bazaar Terminal', object.getPosition().x, object.getPosition().z, 41, 43, 0) + core.mapService.addLocation(object.getPlanet(), '@map_loc_cat_n:terminal_bazaar', object.getPosition().x, object.getPosition().z, 41, 43, 0) return \ No newline at end of file diff --git a/scripts/object/tangible/terminal/terminal_city_junk_dealer.py b/scripts/object/tangible/terminal/terminal_city_junk_dealer.py index ccad8904..f09f88cc 100644 --- a/scripts/object/tangible/terminal/terminal_city_junk_dealer.py +++ b/scripts/object/tangible/terminal/terminal_city_junk_dealer.py @@ -1,4 +1,5 @@ import sys def setup(core, object): + core.mapService.addLocation(object.getPlanet(), '@map_loc_cat_n:junk_dealer', object.getPosition().x, object.getPosition().z, 26, 81, 0) return \ No newline at end of file diff --git a/scripts/object/tangible/terminal/terminal_cloning.py b/scripts/object/tangible/terminal/terminal_cloning.py index dc256f9a..46138012 100644 --- a/scripts/object/tangible/terminal/terminal_cloning.py +++ b/scripts/object/tangible/terminal/terminal_cloning.py @@ -2,5 +2,6 @@ import sys def setup(core, object): object.setAttachment('radial_filename', 'terminal/cloning_terminal') + return \ No newline at end of file diff --git a/scripts/object/tangible/terminal/terminal_mission.py b/scripts/object/tangible/terminal/terminal_mission.py index ccf684c0..10fe46c8 100644 --- a/scripts/object/tangible/terminal/terminal_mission.py +++ b/scripts/object/tangible/terminal/terminal_mission.py @@ -1,9 +1,7 @@ -from resources.common import TerminalType import sys def setup(core, object): - - core.mapService.addLocation(object.getPlanet(), 'Mission Terminal', object.getPosition().x, object.getPosition().z, 41, 44, 0) - object.setAttachment("terminalType", TerminalType.MISSION_GENERIC) + core.mapService.addLocation(object.getPlanet(), '@map_loc_cat_n:terminal_mission', object.getPosition().x, object.getPosition().z, 41, 44, 0) + object.setAttachment("terminalType", 1) return \ No newline at end of file diff --git a/scripts/object/tangible/terminal/terminal_mission_artisan.py b/scripts/object/tangible/terminal/terminal_mission_artisan.py index 911010d8..6bface4e 100644 --- a/scripts/object/tangible/terminal/terminal_mission_artisan.py +++ b/scripts/object/tangible/terminal/terminal_mission_artisan.py @@ -2,6 +2,6 @@ import sys def setup(core, object): - core.mapService.addLocation(object.getPlanet(), 'Artisan Mission Terminal', object.getPosition().x, object.getPosition().z, 41, 21, 0) + core.mapService.addLocation(object.getPlanet(), '@map_loc_cat_n:terminal_mission_artisan', object.getPosition().x, object.getPosition().z, 41, 76, 0) return \ No newline at end of file diff --git a/scripts/object/tangible/terminal/terminal_mission_bounty.py b/scripts/object/tangible/terminal/terminal_mission_bounty.py index ccad8904..f97abb2a 100644 --- a/scripts/object/tangible/terminal/terminal_mission_bounty.py +++ b/scripts/object/tangible/terminal/terminal_mission_bounty.py @@ -1,4 +1,6 @@ import sys def setup(core, object): + object.setAttachment("terminalType", 2) + core.mapService.addLocation(object.getPlanet(), '@map_loc_cat_n:terminal_mission_bounty', object.getPosition().x, object.getPosition().z, 41, 78, 0) return \ No newline at end of file diff --git a/scripts/object/tangible/terminal/terminal_mission_entertainer.py b/scripts/object/tangible/terminal/terminal_mission_entertainer.py index 433b5f91..31bc4a90 100644 --- a/scripts/object/tangible/terminal/terminal_mission_entertainer.py +++ b/scripts/object/tangible/terminal/terminal_mission_entertainer.py @@ -1,7 +1,6 @@ import sys def setup(core, object): - - core.mapService.addLocation(object.getPlanet(), 'Entertainer Mission Terminal', object.getPosition().x, object.getPosition().z, 41, 24, 0) - return - \ No newline at end of file + object.setAttachment("terminalType", 2) + core.mapService.addLocation(object.getPlanet(), '@map_loc_cat_n:terminal_mission_entertainer', object.getPosition().x, object.getPosition().z, 41, 75, 0) + return \ No newline at end of file diff --git a/scripts/object/tangible/terminal/terminal_mission_imperial.py b/scripts/object/tangible/terminal/terminal_mission_imperial.py index 8e4773b5..216f3bfc 100644 --- a/scripts/object/tangible/terminal/terminal_mission_imperial.py +++ b/scripts/object/tangible/terminal/terminal_mission_imperial.py @@ -1,7 +1,6 @@ import sys def setup(core, object): - - core.mapService.addLocation(object.getPlanet(), 'Imperial Mission Terminal', object.getPosition().x, object.getPosition().z, 41, 46, 0) + core.mapService.addLocation(object.getPlanet(), '@map_loc_cat_n:terminal_mission_imperial', object.getPosition().x, object.getPosition().z, 41, 80, 0) return \ No newline at end of file diff --git a/scripts/object/tangible/terminal/terminal_mission_rebel.py b/scripts/object/tangible/terminal/terminal_mission_rebel.py index 0bb50bbe..f435f149 100644 --- a/scripts/object/tangible/terminal/terminal_mission_rebel.py +++ b/scripts/object/tangible/terminal/terminal_mission_rebel.py @@ -1,7 +1,6 @@ import sys def setup(core, object): - - core.mapService.addLocation(object.getPlanet(), 'Rebel Mission Terminal', object.getPosition().x, object.getPosition().z, 41, 45, 0) + core.mapService.addLocation(object.getPlanet(), '@map_loc_cat_n:terminal_mission_rebel', object.getPosition().x, object.getPosition().z, 41, 79, 0) return \ No newline at end of file diff --git a/scripts/object/tangible/terminal/terminal_mission_scout.py b/scripts/object/tangible/terminal/terminal_mission_scout.py index ccad8904..eb7c1e2a 100644 --- a/scripts/object/tangible/terminal/terminal_mission_scout.py +++ b/scripts/object/tangible/terminal/terminal_mission_scout.py @@ -1,4 +1,5 @@ import sys def setup(core, object): + core.mapService.addLocation(object.getPlanet(), '@map_loc_cat_n:terminal_mission_scout', object.getPosition().x, object.getPosition().z, 41, 77, 0) return \ No newline at end of file diff --git a/scripts/radial/deeds/harvesterDeed.py b/scripts/radial/deeds/harvesterDeed.py index cc8fdc7a..9d85158b 100644 --- a/scripts/radial/deeds/harvesterDeed.py +++ b/scripts/radial/deeds/harvesterDeed.py @@ -3,20 +3,18 @@ import sys def createRadial(core, owner, target, radials): radials.clear() - radials.add(RadialOptions(0, 21, 1, 'Use Deed')) + radials.add(RadialOptions(0, 21, 3, 'Use Deed')) #radials.add(RadialOptions(0, 7, 1, '111111')) #radials.add(RadialOptions(0, 15, 1, '')) #radials.add(RadialOptions(0, 61, 1, '')) return def handleSelection(core, owner, target, option): - if option == 21 and target: - owner.setAttachment('UsingHarvesterDeed', '1'); - core.harvesterService.enterStructurePlacementMode(target,owner) - if option == 61 and target: - object5 = core.harvesterService.constructionSite(owner,target) core.objectService.useObject(owner, target) + core.harvesterService.enterStructurePlacementMode(owner, target) + if option == 61 and target: + object5 = core.harvesterService.constructionSite(owner, target) if option == 15 and target: core.objectService.destroyObject(target) return diff --git a/scripts/radial/terminal/city_maintenance_terminal.py b/scripts/radial/terminal/city_maintenance_terminal.py index ef951426..e5bab716 100644 --- a/scripts/radial/terminal/city_maintenance_terminal.py +++ b/scripts/radial/terminal/city_maintenance_terminal.py @@ -24,6 +24,10 @@ def createRadial(core, owner, target, radials): radials.add(RadialOptions(3, 121, 0, '@city/city:non_citizen_city_status')) radials.add(RadialOptions(3, 122, 0, '@city/city:rank_info_t')) radials.add(RadialOptions(3, 123, 0, '@city/city:citizen_list_t')) + radials.add(RadialOptions(3, 230, 0, '@city/city:revoke_citizenship')) + + radials.add(RadialOptions(3, 231, 0, 'Add 10 citizens')) + radials.add(RadialOptions(3, 232, 0, 'Deduct 10 citizens')) return @@ -80,14 +84,26 @@ def handleSelection(core, owner, target, option): if owner is not None: handleCitizenList(core, owner, target, option) return - -def handleSetCityName(core, owner, target, option): - window = core.suiService.createInputBox(2,'@city/city:city_name_new_t','@city/city:city_name_new_d', owner, target, 0) - returnList = Vector() - returnList.add('txtInput:LocalText') - window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, setnameCallBack) - window.addHandler(1, '', Trigger.TRIGGER_CANCEL, returnList, setnameCallBack) - core.suiService.openSUIWindow(window); + + if option == 231: + if owner is not None: + handle10Add(core, owner, target, option) + return + + if option == 232: + if owner is not None: + handle10Deduct(core, owner, target, option) + return + +def handle10Add(core, owner, target, option): + playerCity = main.NGECore.getInstance().playerCityService.getPlayerCity(owner) + playerCity.Add10MoreCitizens() + return + + +def handle10Deduct(core, owner, target, option): + playerCity = main.NGECore.getInstance().playerCityService.getPlayerCity(owner) + playerCity.Deduct10Citizens() return def setnameCallBack(owner, window, eventType, returnList): diff --git a/scripts/static_spawns/corellia/placeholder.txt b/scripts/static_spawns/corellia/placeholder.txt new file mode 100644 index 00000000..e69de29b diff --git a/scripts/static_spawns/dantooine/placeholder.txt b/scripts/static_spawns/dantooine/placeholder.txt new file mode 100644 index 00000000..e69de29b diff --git a/scripts/static_spawns/dathomir/placeholder.txt b/scripts/static_spawns/dathomir/placeholder.txt new file mode 100644 index 00000000..e69de29b diff --git a/scripts/static_spawns/endor/placeholder.txt b/scripts/static_spawns/endor/placeholder.txt new file mode 100644 index 00000000..e69de29b diff --git a/scripts/static_spawns/kaas.py b/scripts/static_spawns/kaas.py index 7bcd17d9..f21c8441 100644 --- a/scripts/static_spawns/kaas.py +++ b/scripts/static_spawns/kaas.py @@ -14,14 +14,14 @@ def addPlanetSpawns(core, planet): objSvc = core.objectService #Dark Temple Area #Structures - stcSvc.spawnObject('object/building/military/shared_military_base_police_station_imperial_lok_otto.iff', 'kaas', long(0), float(-5117.8), float(80.0), float(-2314.1), float(0), float(0)) - stcSvc.spawnObject('object/building/player/shared_player_house_corellia_medium_style_01.iff', 'kaas', long(0), float(-5078.6), float(80.0), float(-2302.5), float(0), float(0)) - stcSvc.spawnObject('object/building/general/shared_bunker_imperial_weapons_research_facility_01.iff', 'kaas', long(0), float(-5159.5), float(80.0), float(-2298.7), float(0), float(0)) - stcSvc.spawnObject('object/building/content/aurilia/shared_aurilia_pyramid_hut.iff', 'kaas', long(0), float(-5163.9), float(79.0), float(-2369.6), float(0.71), float(0.71)) - stcSvc.spawnObject('object/building/content/aurilia/shared_aurilia_pyramid_hut.iff', 'kaas', long(0), float(-5163.9), float(79.0), float(-2351.6), float(0.71), float(0.71)) - stcSvc.spawnObject('object/building/content/aurilia/shared_aurilia_pyramid_hut.iff', 'kaas', long(0), float(-5072.1), float(79.0), float(-2369.6), float(-0.71), float(0.71)) - stcSvc.spawnObject('object/building/content/aurilia/shared_aurilia_pyramid_hut.iff', 'kaas', long(0), float(-5072.1), float(79.0), float(-2351.6), float(-0.71), float(0.71)) - stcSvc.spawnObject('object/building/military/shared_outpost_cloning_facility_s02.iff', long(0), 'kaas', long(0), float(-5072.1), float(80.0), float(-2279.5), float(0.71), float(0), float(-0.71), float(0)) + #stcSvc.spawnObject('object/building/military/shared_military_base_police_station_imperial_lok_otto.iff', 'kaas', long(0), float(-5117.8), float(80.0), float(-2314.1), float(0), float(0)) + #stcSvc.spawnObject('object/building/player/shared_player_house_corellia_medium_style_01.iff', 'kaas', long(0), float(-5078.6), float(80.0), float(-2302.5), float(0), float(0)) + #stcSvc.spawnObject('object/building/general/shared_bunker_imperial_weapons_research_facility_01.iff', 'kaas', long(0), float(-5159.5), float(80.0), float(-2298.7), float(0), float(0)) + #stcSvc.spawnObject('object/building/content/aurilia/shared_aurilia_pyramid_hut.iff', 'kaas', long(0), float(-5163.9), float(79.0), float(-2369.6), float(0.71), float(0.71)) + #stcSvc.spawnObject('object/building/content/aurilia/shared_aurilia_pyramid_hut.iff', 'kaas', long(0), float(-5163.9), float(79.0), float(-2351.6), float(0.71), float(0.71)) + #stcSvc.spawnObject('object/building/content/aurilia/shared_aurilia_pyramid_hut.iff', 'kaas', long(0), float(-5072.1), float(79.0), float(-2369.6), float(-0.71), float(0.71)) + #stcSvc.spawnObject('object/building/content/aurilia/shared_aurilia_pyramid_hut.iff', 'kaas', long(0), float(-5072.1), float(79.0), float(-2351.6), float(-0.71), float(0.71)) + #stcSvc.spawnObject('object/building/military/shared_outpost_cloning_facility_s02.iff', 'kaas', long(0), float(-5072.1), float(80.0), float(-2279.5), float(0.71), float(0), float(-0.71), float(0)) #Terminals stcSvc.spawnObject('object/tangible/terminal/shared_terminal_bank.iff', 'kaas', long(0), float(-5080.8), float(80.0), float(-2275.7), float(-0.71), float(0.71)) @@ -58,20 +58,20 @@ def addPlanetSpawns(core, planet): #Village of the Descendants Area - stcSvc.spawnObject('object/building/general/shared_cave_01.iff', 'kaas', long(0), float(3348.1), float(110), float(2562.1), float(0), float(0)) + #stcSvc.spawnObject('object/building/general/shared_cave_01.iff', 'kaas', long(0), float(3348.1), float(110), float(2562.1), float(0), float(0)) #Kaas City Ruins #Tomb of Vitiate #Northwest Cave - stcSvc.spawnObject('object/building/general/shared_cave_01.iff', 'kaas', long(0), float(-6135.3), float(185), float(6575.0), float(0), float(0)) + #stcSvc.spawnObject('object/building/general/shared_cave_01.iff', 'kaas', long(0), float(-6135.3), float(185), float(6575.0), float(0), float(0)) #Abandoned Separatist Base - stcSvc.spawnObject('object/building/military/shared_military_base_police_station_rebel_style_01.iff', 'kaas', long(0), float(-3509), float(77), float(6800), float(0), float(0)) + #stcSvc.spawnObject('object/building/military/shared_military_base_police_station_rebel_style_01.iff', 'kaas', long(0), float(-3538), float(80), float(6758), float(0), float(0)) #Sith Meditation Chamber - stcSvc.spawnObject('object/building/player/shared_player_house_sith_meditation_room.iff', 'kaas', long(0), float(4766), float(126), float(-7307), float(0), float(0)) + #stcSvc.spawnObject('object/building/player/shared_player_house_sith_meditation_room.iff', 'kaas', long(0), float(4766), float(126), float(-7307), float(0), float(0)) #Large Ruin stcSvc.spawnObject('object/static/structure/dantooine/shared_dant_jedi_main_structure.iff', 'kaas', long(0), float(-434), float(77), float(-2252), float(0), float(0)) @@ -82,6 +82,7 @@ def addPlanetSpawns(core, planet): stcSvc.spawnObject('object/static/structure/dantooine/shared_dant_jedi_wall_1.iff', 'kaas', long(0), float(-58), float(77), float(6321), float(-0.71), float(0.71)) stcSvc.spawnObject('object/static/structure/dantooine/shared_dant_jedi_wall_2.iff', 'kaas', long(0), float(-71), float(77), float(6312), float(0), float(0)) stcSvc.spawnObject('object/static/structure/dantooine/shared_dant_jedi_temple_pillar.iff', 'kaas', long(0), float(-71.0), float(78), float(6320.8), float(0), float(0)) + stcSvc.spawnObject('object/static/structure/dantooine/shared_dant_jedi_main_structure.iff', 'kaas', long(0), float(-97), float(78), float(6376), float(0), float(0)) return diff --git a/scripts/static_spawns/kaas/placeholder.txt b/scripts/static_spawns/kaas/placeholder.txt new file mode 100644 index 00000000..e69de29b diff --git a/scripts/static_spawns/kashyyyk_main/placeholder.txt b/scripts/static_spawns/kashyyyk_main/placeholder.txt new file mode 100644 index 00000000..e69de29b diff --git a/scripts/static_spawns/lok/placeholder.txt b/scripts/static_spawns/lok/placeholder.txt new file mode 100644 index 00000000..e69de29b diff --git a/scripts/static_spawns/mustafar/placeholder.txt b/scripts/static_spawns/mustafar/placeholder.txt new file mode 100644 index 00000000..e69de29b diff --git a/scripts/static_spawns/naboo/placeholder.txt b/scripts/static_spawns/naboo/placeholder.txt new file mode 100644 index 00000000..e69de29b diff --git a/scripts/static_spawns/rori/placeholder.txt b/scripts/static_spawns/rori/placeholder.txt new file mode 100644 index 00000000..e69de29b diff --git a/scripts/static_spawns/talus/placeholder.txt b/scripts/static_spawns/talus/placeholder.txt new file mode 100644 index 00000000..e69de29b diff --git a/scripts/static_spawns/tatooine.py b/scripts/static_spawns/tatooine.py index b376cf1f..1ce34894 100644 --- a/scripts/static_spawns/tatooine.py +++ b/scripts/static_spawns/tatooine.py @@ -3,20 +3,33 @@ from resources.datatables import Options from resources.datatables import StateStatus def addPlanetSpawns(core, planet): - + stcSvc = core.staticService - #this script is no longer for NPC spawning usage. - Levarris - #stcSvc.spawnObject('object/mobile/shared_3po_protocol_droid_red.iff', 'tatooine', long(26582), float(-14.3), float(2.0), float(47.4), float(0.70), float(0.71)) + # Objects + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'tatooine', long(0), float(3525), float(4), float(-4801), float(0.70), float(0.71)) - #object = stcSvc.spawnObject('object/mobile/shared_respec_seller_f_1.iff', 'tatooine', long(0), float(3533.14), float(5), float(-4788.86), float(-0.3327), float(0.9288)) - #object.setOptionsBitmask(264) - junkdealer = stcSvc.spawnObject('object/mobile/shared_junk_dealer_m_01.iff', 'tatooine', long(0), float(3525), float(4), float(-4804), float(0.70), float(0.71)) - junkdealer.setOptionsBitmask(264) - junkdealer.setCustomName('a Junk Dealer') - junkdealer.setAttachment('radial_filename', 'object/conversation'); - junkdealer.setAttachment('conversationFile','junk_dealer') + # Buildings + + # Example + #building = stcSvc.spawnObject('object/building/myThatchedHut.iff', 'tatooine', long(0), float(3525), float(4), float(-4804), float(0.70), float(0.71)) + #stcSvc.spawnObject('object/mobile/shared_my_npc.iff', 'tatooine', building.getCellByCellNumber(7), float(3525), float(4), float(-4804), float(0.70), float(0.71)) + + # NPCs + + stcSvc.spawnObject('object/mobile/shared_respec_seller_f_1.iff', 'tatooine', long(0), float(3533.14), float(5), float(-4788.86), float(-0.3327), float(0.9288)) + + stcSvc.spawnObject('object/mobile/shared_junk_dealer_m_01.iff', 'tatooine', long(0), float(3525), float(4), float(-4804), float(0.70), float(0.71)) + + #stcSvc.spawnObject('object/mobile/shared_3po_protocol_droid_red.iff', 'tatooine', long(26582), float(-14.3), float(2.0), float(47.4), float(0.70), float(0.71)) + + impRecruiter = stcSvc.spawnObject('object/mobile/shared_dressed_imperial_officer_f.iff', 'tatooine', long(1280132), float(-6), float(1), float(9.2), float(0.70), float(0.71)) + impRecruiter.setOptionsBitmask(264) + + rebRecruiter = stcSvc.spawnObject('object/mobile/shared_dressed_rebel_recruiter_human_female_01.iff', 'tatooine', long(1082887), float(-30.5), float(-0.5), float(6.2), float(0.70), float(0.71)) + rebRecruiter.setOptionsBitmask(264) + return diff --git a/scripts/static_spawns/tatooine/placeholder.txt b/scripts/static_spawns/tatooine/placeholder.txt new file mode 100644 index 00000000..e69de29b diff --git a/scripts/static_spawns/yavin4/placeholder.txt b/scripts/static_spawns/yavin4/placeholder.txt new file mode 100644 index 00000000..e69de29b diff --git a/src/main/NGECore.java b/src/main/NGECore.java index bf8b9767..1fb03377 100644 --- a/src/main/NGECore.java +++ b/src/main/NGECore.java @@ -45,6 +45,7 @@ import com.sleepycat.persist.EntityCursor; import protocol.swg.chat.ChatSystemMessage; import net.engio.mbassy.bus.config.BusConfiguration; +import resources.common.BountyListItem; import resources.common.RadialOptions; import resources.common.ThreadMonitor; import resources.objects.creature.CreatureObject; @@ -221,6 +222,7 @@ public class NGECore { private ObjectDatabase resourceRootsODB; private ObjectDatabase resourceHistoryODB; private ObjectDatabase swgObjectODB; + private ObjectDatabase bountiesODB; public static boolean PACKET_DEBUG = false; @@ -272,16 +274,16 @@ public class NGECore { setGalaxyStatus(1); swgObjectODB = new ObjectDatabase("swgobjects", true, true, true, SWGObject.class); - mailODB = new ObjectDatabase("mails", true, true, true, Mail.class); guildODB = new ObjectDatabase("guild", true, true, true, GuildObject.class); - objectIdODB = new ObjectDatabase("oids", true, true, false, ObjectId.class); + objectIdODB = new ObjectDatabase("oids", true, true, true, ObjectId.class); duplicateIdODB = new ObjectDatabase("doids", true, true, true, DuplicateId.class); chatRoomODB = new ObjectDatabase("chatRooms", true, true, true, ChatRoom.class); resourcesODB = new ObjectDatabase("resources", true, true, true, GalacticResource.class); resourceRootsODB = new ObjectDatabase("resourceroots", true, true, true, ResourceRoot.class); resourceHistoryODB = new ObjectDatabase("resourcehistory", true, true, true, GalacticResource.class); auctionODB = new ObjectDatabase("auction", true, true, true, AuctionItem.class); + bountiesODB = new ObjectDatabase("bounties", true, true, true, BountyListItem.class); // Services loginService = new LoginService(this); @@ -371,6 +373,7 @@ public class NGECore { zoneDispatch.addService(bazaarService); zoneDispatch.addService(lootService); zoneDispatch.addService(mountService); + zoneDispatch.addService(housingService); zoneDispatch.addService(playerCityService); if (optionsConfigLoaded && options.getInt("LOAD.RESOURCE.SYSTEM") == 1) { @@ -491,7 +494,6 @@ public class NGECore { spawnService.loadDynamicGroups();; spawnService.loadSpawnAreas(); - housingService.loadHousingTemplates(); equipmentService.loadBonusSets(); retroService.run(); @@ -628,6 +630,10 @@ public class NGECore { return chatRoomODB; } + public ObjectDatabase getBountiesODB() { + return bountiesODB; + } + public ObjectDatabase getResourcesODB() { return resourcesODB; } diff --git a/src/protocol/swg/EnterStructurePlacementModeMessage.java b/src/protocol/swg/EnterStructurePlacementModeMessage.java index 3f12cf0a..b46ed3db 100644 --- a/src/protocol/swg/EnterStructurePlacementModeMessage.java +++ b/src/protocol/swg/EnterStructurePlacementModeMessage.java @@ -39,6 +39,7 @@ public class EnterStructurePlacementModeMessage extends SWGMessage { public EnterStructurePlacementModeMessage(SWGObject deed, String structureTemplate) { this.deed = deed; this.structureTemplate = structureTemplate; + deed.setAttachment("structureTemplate", structureTemplate); } @Override @@ -49,15 +50,10 @@ public class EnterStructurePlacementModeMessage extends SWGMessage { @Override public IoBuffer serialize() { IoBuffer result = IoBuffer.allocate(16 + structureTemplate.length()).order(ByteOrder.LITTLE_ENDIAN); - result.putShort((short) 3); result.putInt(0xE8A54DC1); - result.putLong(deed.getObjectID()); - - deed.setAttachment("structureTemplate", structureTemplate); result.put(getAsciiString(structureTemplate)); - return result.flip(); } diff --git a/src/protocol/swg/objectControllerObjects/BuffBuilderChangeMessage.java b/src/protocol/swg/objectControllerObjects/BuffBuilderChangeMessage.java index b522ee35..0c5740fd 100644 --- a/src/protocol/swg/objectControllerObjects/BuffBuilderChangeMessage.java +++ b/src/protocol/swg/objectControllerObjects/BuffBuilderChangeMessage.java @@ -6,7 +6,7 @@ import java.util.Vector; import org.apache.mina.core.buffer.IoBuffer; import protocol.swg.ObjControllerMessage; -import resources.objects.BuffItem; +import resources.buffs.BuffItem; public class BuffBuilderChangeMessage extends ObjControllerObject { diff --git a/src/protocol/swg/objectControllerObjects/BuffBuilderEndMessage.java b/src/protocol/swg/objectControllerObjects/BuffBuilderEndMessage.java index 96a959db..b4aa5cd1 100644 --- a/src/protocol/swg/objectControllerObjects/BuffBuilderEndMessage.java +++ b/src/protocol/swg/objectControllerObjects/BuffBuilderEndMessage.java @@ -27,7 +27,7 @@ import java.util.Vector; import org.apache.mina.core.buffer.IoBuffer; import protocol.swg.ObjControllerMessage; -import resources.objects.BuffItem; +import resources.buffs.BuffItem; public class BuffBuilderEndMessage extends ObjControllerObject { diff --git a/src/resources/objects/Buff.java b/src/resources/buffs/Buff.java similarity index 99% rename from src/resources/objects/Buff.java rename to src/resources/buffs/Buff.java index ebcbb17b..24d4937f 100644 --- a/src/resources/objects/Buff.java +++ b/src/resources/buffs/Buff.java @@ -19,7 +19,7 @@ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. ******************************************************************************/ -package resources.objects; +package resources.buffs; import java.io.Serializable; import java.nio.ByteOrder; @@ -32,6 +32,7 @@ import main.NGECore; import org.apache.mina.core.buffer.IoBuffer; import org.apache.mina.core.buffer.SimpleBufferAllocator; +import resources.objects.IDelta; import resources.objects.creature.CreatureObject; import com.sleepycat.persist.model.NotPersistent; diff --git a/src/resources/objects/BuffItem.java b/src/resources/buffs/BuffItem.java similarity index 98% rename from src/resources/objects/BuffItem.java rename to src/resources/buffs/BuffItem.java index 167aff9a..208df3f6 100644 --- a/src/resources/objects/BuffItem.java +++ b/src/resources/buffs/BuffItem.java @@ -19,7 +19,7 @@ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. ******************************************************************************/ -package resources.objects; +package resources.buffs; import java.io.Serializable; diff --git a/src/resources/objects/DamageOverTime.java b/src/resources/buffs/DamageOverTime.java similarity index 99% rename from src/resources/objects/DamageOverTime.java rename to src/resources/buffs/DamageOverTime.java index b7c69810..d1aa8bc9 100644 --- a/src/resources/objects/DamageOverTime.java +++ b/src/resources/buffs/DamageOverTime.java @@ -19,7 +19,7 @@ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. ******************************************************************************/ -package resources.objects; +package resources.buffs; import java.io.Serializable; import java.util.concurrent.ScheduledFuture; diff --git a/src/resources/common/BountyListItem.java b/src/resources/common/BountyListItem.java new file mode 100644 index 00000000..bd10227f --- /dev/null +++ b/src/resources/common/BountyListItem.java @@ -0,0 +1,116 @@ +/******************************************************************************* + * Copyright (c) 2013 + * + * This File is part of NGECore2. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + * + * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. + * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. + ******************************************************************************/ +package resources.common; + +import java.util.ArrayList; +import java.util.List; + +import com.sleepycat.persist.model.Entity; +import com.sleepycat.persist.model.PrimaryKey; + +@Entity(version=1) +public class BountyListItem { + + @PrimaryKey + private long objectId; + private int creditReward; + private String profession; + private String faction; + private String name; + private List assignedHunters; + private List bountyPlacers; + + public BountyListItem() { } + + public BountyListItem(long objectId, int creditReward, String profession, String faction, String name) { + this.objectId = objectId; + this.creditReward = creditReward; + this.profession = profession; + this.faction = faction; + this.setName(name); + this.setAssignedHunters(new ArrayList(3)); + this.setBountyPlacers(new ArrayList()); + } + + public long getObjectId() { + return objectId; + } + public void setObjectId(long objectId) { + this.objectId = objectId; + } + public int getCreditReward() { + return creditReward; + } + public void setCreditReward(int creditReward) { + this.creditReward = creditReward; + } + public String getProfession() { + return profession; + } + public void setProfession(String profession) { + this.profession = profession; + } + + public String getFaction() { + return faction; + } + + public void setFaction(String faction) { + this.faction = faction; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public void addBounty(int amountToAdd) { + this.creditReward += amountToAdd; + } + + public List getAssignedHunters() { + return assignedHunters; + } + + public void setAssignedHunters(List assignedHunters) { + this.assignedHunters = assignedHunters; + } + + public void addBountyHunter(long objectId) { + assignedHunters.add(objectId); + } + + public void removeBountyHunter(long objectId) { + assignedHunters.remove(objectId); + } + + public List getBountyPlacers() { + return bountyPlacers; + } + + public void setBountyPlacers(List bountyPlacers) { + this.bountyPlacers = bountyPlacers; + } +} \ No newline at end of file diff --git a/src/resources/common/Forager.java b/src/resources/common/Forager.java index e0445f29..6e27a207 100644 --- a/src/resources/common/Forager.java +++ b/src/resources/common/Forager.java @@ -32,10 +32,10 @@ import engine.resources.scene.Point3D; import engine.resources.scene.Quaternion; import main.NGECore; import resources.datatables.Options; +import resources.loot.LootGroup; import resources.objects.cell.CellObject; import resources.objects.creature.CreatureObject; import resources.objects.group.GroupObject; -import resources.objects.loot.LootGroup; import resources.objects.tangible.TangibleObject; import services.ai.AIActor; diff --git a/src/resources/objects/loot/LootDrop.java b/src/resources/loot/LootDrop.java similarity index 98% rename from src/resources/objects/loot/LootDrop.java rename to src/resources/loot/LootDrop.java index 371c1727..efd455ba 100644 --- a/src/resources/objects/loot/LootDrop.java +++ b/src/resources/loot/LootDrop.java @@ -19,7 +19,7 @@ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. ******************************************************************************/ -package resources.objects.loot; +package resources.loot; import java.util.ArrayList; import java.util.List; diff --git a/src/resources/objects/loot/LootGroup.java b/src/resources/loot/LootGroup.java similarity index 98% rename from src/resources/objects/loot/LootGroup.java rename to src/resources/loot/LootGroup.java index 3e7ab123..a43e435d 100644 --- a/src/resources/objects/loot/LootGroup.java +++ b/src/resources/loot/LootGroup.java @@ -19,7 +19,7 @@ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. ******************************************************************************/ -package resources.objects.loot; +package resources.loot; import java.io.Serializable; diff --git a/src/resources/objects/loot/LootPool.java b/src/resources/loot/LootPool.java similarity index 97% rename from src/resources/objects/loot/LootPool.java rename to src/resources/loot/LootPool.java index 2e74cf8b..83576a16 100644 --- a/src/resources/objects/loot/LootPool.java +++ b/src/resources/loot/LootPool.java @@ -19,7 +19,7 @@ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. ******************************************************************************/ -package resources.objects.loot; +package resources.loot; /** * @author Charon diff --git a/src/resources/objects/loot/LootRollSession.java b/src/resources/loot/LootRollSession.java similarity index 99% rename from src/resources/objects/loot/LootRollSession.java rename to src/resources/loot/LootRollSession.java index 884346ba..e79951fe 100644 --- a/src/resources/objects/loot/LootRollSession.java +++ b/src/resources/loot/LootRollSession.java @@ -19,7 +19,7 @@ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. ******************************************************************************/ -package resources.objects.loot; +package resources.loot; import java.util.ArrayList; import java.util.List; diff --git a/src/resources/objectives/BountyMissionObjective.java b/src/resources/objectives/BountyMissionObjective.java new file mode 100644 index 00000000..e17de5cd --- /dev/null +++ b/src/resources/objectives/BountyMissionObjective.java @@ -0,0 +1,80 @@ +/******************************************************************************* + * Copyright (c) 2013 + * + * This File is part of NGECore2. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + * + * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. + * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. + ******************************************************************************/ +package resources.objectives; + +import java.util.Random; + +import engine.resources.scene.Point3D; +import main.NGECore; +import resources.common.BountyListItem; +import resources.objects.creature.CreatureObject; +import resources.objects.mission.MissionObject; +import services.mission.MissionObjective; + +public class BountyMissionObjective extends MissionObjective { + + private Point3D lastKnownLocation; + private long markObjId; + + public BountyMissionObjective(MissionObject parent) { + super(parent); + } + + @Override + public void activate(NGECore core, CreatureObject player) { + if (isActivated()) + return; + + BountyListItem bountyTarget = core.missionService.getBountyListItem(getMissionObject().getBountyObjId()); + + setMarkObjId(bountyTarget.getObjectId()); + + // TODO: Change this to a comm message. + player.sendSystemMessage("@mission/mission_bounty_informant:target_hard_" + Integer.toString(new Random().nextInt(5)), (byte) 0); + + + } + + @Override + public void complete(NGECore core, CreatureObject player) { + + } + + @Override + public void abort(NGECore core, CreatureObject player) { + + } + + @Override + public void update(NGECore core, CreatureObject player) { + + } + + public Point3D getLastKnownLocation() { return lastKnownLocation; } + + public void setLastKnownLocation(Point3D lastKnownLocation) { this.lastKnownLocation = lastKnownLocation; } + + public long getMarkObjId() { return markObjId; } + + public void setMarkObjId(long markObjId) { this.markObjId = markObjId; } + +} diff --git a/src/resources/objectives/DeliveryMissionObjective.java b/src/resources/objectives/DeliveryMissionObjective.java index b5802390..6a116a8e 100644 --- a/src/resources/objectives/DeliveryMissionObjective.java +++ b/src/resources/objectives/DeliveryMissionObjective.java @@ -21,7 +21,6 @@ ******************************************************************************/ package resources.objectives; -import engine.resources.objects.SWGObject; import engine.resources.scene.Point3D; import main.NGECore; import resources.common.OutOfBand; @@ -37,14 +36,13 @@ public class DeliveryMissionObjective extends MissionObjective { private TangibleObject deliveryObject; private CreatureObject missionGiver; private CreatureObject dropOffNpc; - private NGECore core = NGECore.getInstance(); public DeliveryMissionObjective(MissionObject parent) { super(parent); } @Override - public void activate() { + public void activate(NGECore core, CreatureObject player) { if (isActivated()) return; @@ -97,25 +95,21 @@ public class DeliveryMissionObjective extends MissionObjective { } @Override - public void complete() { - CreatureObject completer = (CreatureObject) getMissionObject().getGrandparent(); - - if (completer == null) - return; - + public void complete(NGECore core, CreatureObject player) { + int reward = getMissionObject().getCreditReward(); - completer.addBankCredits(reward); + player.addBankCredits(reward); - completer.sendSystemMessage(new OutOfBand(new ProsePackage("@mission/mission_generic:success_w_amount", reward)), (byte) 0); + player.sendSystemMessage(new OutOfBand(new ProsePackage("@mission/mission_generic:success_w_amount", reward)), (byte) 0); - abort(); + abort(core, player); core.objectService.destroyObject(getMissionObject()); } @Override - public void abort() { + public void abort(NGECore core, CreatureObject player) { if (deliveryObject != null) core.objectService.destroyObject(deliveryObject.getObjectId()); @@ -127,7 +121,7 @@ public class DeliveryMissionObjective extends MissionObjective { } @Override - public void update() { + public void update(NGECore core, CreatureObject player) { setObjectivePhase(getObjectivePhase() + 1); @@ -154,10 +148,8 @@ public class DeliveryMissionObjective extends MissionObjective { } } - public boolean createDeliveryItem() { + public boolean createDeliveryItem(NGECore core, CreatureObject player) { - SWGObject player = getMissionObject().getGrandparent(); - if (player == null) return false; diff --git a/src/resources/objectives/DestroyMissionObjective.java b/src/resources/objectives/DestroyMissionObjective.java index e4832756..7437d46f 100644 --- a/src/resources/objectives/DestroyMissionObjective.java +++ b/src/resources/objectives/DestroyMissionObjective.java @@ -21,6 +21,8 @@ ******************************************************************************/ package resources.objectives; +import main.NGECore; +import resources.objects.creature.CreatureObject; import resources.objects.mission.MissionObject; import services.mission.MissionObjective; @@ -31,27 +33,28 @@ public class DestroyMissionObjective extends MissionObjective { } @Override - public void activate() { + public void activate(NGECore core, CreatureObject player) { // TODO Auto-generated method stub - + } @Override - public void complete() { + public void complete(NGECore core, CreatureObject player) { // TODO Auto-generated method stub - + } @Override - public void abort() { + public void abort(NGECore core, CreatureObject player) { // TODO Auto-generated method stub - + } @Override - public void update() { + public void update(NGECore core, CreatureObject player) { // TODO Auto-generated method stub - + } + } diff --git a/src/resources/objects/building/BuildingObject.java b/src/resources/objects/building/BuildingObject.java index b0eb2d30..0b7b72e8 100644 --- a/src/resources/objects/building/BuildingObject.java +++ b/src/resources/objects/building/BuildingObject.java @@ -63,15 +63,15 @@ public class BuildingObject extends TangibleObject implements IPersistent, Seria private short maximumStorageCapacity=0; private Vector entryList = new Vector(); // Preferably the OIDs should be stored, because of name changes private Vector banList = new Vector(); - - public BuildingObject() { - super(); + + public BuildingObject(long objectID, Planet planet, Point3D position, Quaternion orientation, String Template) { + super(objectID, planet, Template, position, orientation); messageBuilder = new BuildingMessageBuilder(this); this.setConditionDamage(100); } - - public BuildingObject(long objectID, Planet planet, Point3D position, Quaternion orientation, String Template) { - super(objectID, planet, Template, position, orientation); + + public BuildingObject() { + super(); messageBuilder = new BuildingMessageBuilder(this); this.setConditionDamage(100); } @@ -91,6 +91,18 @@ public class BuildingObject extends TangibleObject implements IPersistent, Seria } + public int getCellNumberByObjectId(long objectId) { + Vector cells = getCells(); + + for (CellObject cell : cells) { + if (cell.getObjectID() == objectId) { + return cell.getCellNumber(); + } + } + + return 0; + } + public float getMaintenanceAmount() { return maintenanceAmount; } diff --git a/src/resources/objects/creature/CreatureMessageBuilder.java b/src/resources/objects/creature/CreatureMessageBuilder.java index 1255acb9..b7e4553f 100644 --- a/src/resources/objects/creature/CreatureMessageBuilder.java +++ b/src/resources/objects/creature/CreatureMessageBuilder.java @@ -22,7 +22,6 @@ package resources.objects.creature; import java.nio.ByteOrder; - import java.util.Map.Entry; import org.apache.mina.core.buffer.IoBuffer; @@ -30,13 +29,13 @@ import org.apache.mina.core.buffer.IoBuffer; import com.sleepycat.persist.model.Persistent; import engine.resources.common.CRC; -import resources.objects.Buff; +import resources.buffs.Buff; import resources.objects.ObjectMessageBuilder; -import resources.objects.SkillMod; import engine.resources.objects.SWGObject; import resources.objects.player.PlayerObject; import resources.objects.tangible.TangibleObject; import resources.objects.weapon.WeaponObject; +import resources.skills.SkillMod; @Persistent public class CreatureMessageBuilder extends ObjectMessageBuilder { diff --git a/src/resources/objects/creature/CreatureObject.java b/src/resources/objects/creature/CreatureObject.java index cdb3b3e7..0d971a05 100644 --- a/src/resources/objects/creature/CreatureObject.java +++ b/src/resources/objects/creature/CreatureObject.java @@ -50,13 +50,12 @@ import com.sleepycat.persist.model.NotPersistent; import main.NGECore; import engine.clients.Client; +import resources.buffs.Buff; +import resources.buffs.DamageOverTime; import resources.common.Cooldown; import resources.common.OutOfBand; -import resources.objects.Buff; -import resources.objects.DamageOverTime; import resources.objects.SWGList; import resources.objects.SWGMap; -import resources.objects.SkillMod; import engine.resources.common.CRC; import engine.resources.objects.IPersistent; import engine.resources.objects.MissionCriticalObject; @@ -66,6 +65,7 @@ import engine.resources.scene.Point3D; import engine.resources.scene.Quaternion; import resources.objects.player.PlayerObject; import resources.objects.tangible.TangibleObject; +import resources.skills.SkillMod; import services.command.BaseSWGCommand; @Entity(version=9) @@ -189,6 +189,8 @@ public class CreatureObject extends TangibleObject implements Serializable { private transient ConcurrentHashMap cooldowns = new ConcurrentHashMap(); @NotPersistent private transient long tefTime = System.currentTimeMillis(); + @NotPersistent + private transient SWGObject useTarget; public CreatureObject(long objectID, Planet planet, Point3D position, Quaternion orientation, String Template) { super(objectID, planet, Template, position, orientation); @@ -983,6 +985,18 @@ public class CreatureObject extends TangibleObject implements Serializable { notifyObservers(messageBuilder.buildIntendedTargetDelta(intendedTarget), true); } + public SWGObject getUseTarget() { + synchronized(objectMutex) { + return useTarget; + } + } + + public void setUseTarget(SWGObject useTarget) { + synchronized(objectMutex) { + this.useTarget = useTarget; + } + } + public long getTargetId() { return getIntendedTarget(); } diff --git a/src/resources/objects/mission/MissionMessageBuilder.java b/src/resources/objects/mission/MissionMessageBuilder.java index 24c9aa07..071a4f58 100644 --- a/src/resources/objects/mission/MissionMessageBuilder.java +++ b/src/resources/objects/mission/MissionMessageBuilder.java @@ -304,13 +304,13 @@ public class MissionMessageBuilder extends ObjectMessageBuilder { return buffer; } - public IoBuffer buildMissionDescriptionDelta(String desc, int id) { + public IoBuffer buildMissionDescriptionDelta(String desc, int id, String additionalParam) { - IoBuffer buffer = IoBuffer.allocate(12 + desc.length(), false).order(ByteOrder.LITTLE_ENDIAN); + IoBuffer buffer = IoBuffer.allocate(13 + desc.length() + additionalParam.length(), false).order(ByteOrder.LITTLE_ENDIAN); buffer.put(getAsciiString(desc)); buffer.putInt(0); - buffer.put(getAsciiString("m" + id + "d")); + buffer.put(getAsciiString("m" + id + "d" + additionalParam)); int size = buffer.position(); buffer.flip(); @@ -318,14 +318,14 @@ public class MissionMessageBuilder extends ObjectMessageBuilder { return buffer; } - - public IoBuffer buildMissionTitleDelta(String title, int id) { - IoBuffer buffer = IoBuffer.allocate(12 + title.length(), false).order(ByteOrder.LITTLE_ENDIAN); + public IoBuffer buildMissionTitleDelta(String title, int id, String additionalParam) { + + IoBuffer buffer = IoBuffer.allocate(12 + title.length() + additionalParam.length(), false).order(ByteOrder.LITTLE_ENDIAN); buffer.put(getAsciiString(title)); buffer.putInt(0); - buffer.put(getAsciiString("m" + id + "t")); + buffer.put(getAsciiString("m" + id + "t" + additionalParam)); int size = buffer.position(); buffer.flip(); diff --git a/src/resources/objects/mission/MissionObject.java b/src/resources/objects/mission/MissionObject.java index 4d9e200e..afd917bd 100644 --- a/src/resources/objects/mission/MissionObject.java +++ b/src/resources/objects/mission/MissionObject.java @@ -28,6 +28,7 @@ import com.sleepycat.je.Transaction; import com.sleepycat.persist.model.NotPersistent; import com.sleepycat.persist.model.Persistent; +import resources.common.BountyListItem; import resources.objects.intangible.IntangibleObject; import resources.objects.waypoint.WaypointObject; import services.mission.MissionObjective; @@ -56,8 +57,11 @@ public class MissionObject extends IntangibleObject implements Serializable { private String type = ""; private int missionTemplateObject = 0; private WaypointObject attachedWaypoint; + + // Server variables private MissionObjective objective; - + private long bountyObjId; + @NotPersistent private transient MissionMessageBuilder messageBuilder = new MissionMessageBuilder(this); @@ -148,11 +152,15 @@ public class MissionObject extends IntangibleObject implements Serializable { } public void setMissionDescription(String missionDescription) { + setMissionDescription(missionDescription, ""); + } + + public void setMissionDescription(String missionDescription, String additionalParam) { synchronized(objectMutex) { this.description = missionDescription; } if (getGrandparent() != null && getGrandparent().getClient() != null && getGrandparent().getClient().getSession() != null) { - getGrandparent().getClient().getSession().write(messageBuilder.buildMissionDescriptionDelta(missionDescription, missionId)); + getGrandparent().getClient().getSession().write(messageBuilder.buildMissionDescriptionDelta(missionDescription, missionId, additionalParam)); } } @@ -163,11 +171,15 @@ public class MissionObject extends IntangibleObject implements Serializable { } public void setMissionTitle(String missionTitle) { + setMissionTitle(missionTitle, ""); + } + + public void setMissionTitle(String missionTitle, String additionalParam) { synchronized(objectMutex) { this.title = missionTitle; } if (getGrandparent() != null && getGrandparent().getClient() != null && getGrandparent().getClient().getSession() != null) { - getGrandparent().getClient().getSession().write(messageBuilder.buildMissionTitleDelta(missionTitle, missionId)); + getGrandparent().getClient().getSession().write(messageBuilder.buildMissionTitleDelta(missionTitle, missionId, additionalParam)); } } @@ -286,6 +298,14 @@ public class MissionObject extends IntangibleObject implements Serializable { this.missionId = missionId; } + public long getBountyObjId() { + return bountyObjId; + } + + public void setBountyObjId(long bountyObjId) { + this.bountyObjId = bountyObjId; + } + @Override public void sendBaselines(Client destination) { diff --git a/src/resources/objects/tangible/Deed.java b/src/resources/objects/tangible/Deed.java deleted file mode 100644 index 8b3b9292..00000000 --- a/src/resources/objects/tangible/Deed.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013 - * - * This File is part of NGECore2. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - * - * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. - * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. - ******************************************************************************/ -package resources.objects.tangible; - -import com.sleepycat.persist.model.Persistent; - -import engine.resources.scene.Planet; -import engine.resources.scene.Point3D; -import engine.resources.scene.Quaternion; - -/** - * @author Charon - */ -@Persistent(version=0) -public class Deed extends TangibleObject { - - public Deed(long objectID, Planet planet, String template, Point3D position, Quaternion orientation){ - super(objectID, planet, template, position, orientation); - } -} diff --git a/src/resources/objects/tangible/Harvester_Deed.java b/src/resources/objects/tangible/Harvester_Deed.java deleted file mode 100644 index 33976efd..00000000 --- a/src/resources/objects/tangible/Harvester_Deed.java +++ /dev/null @@ -1,121 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013 - * - * This File is part of NGECore2. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - * - * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. - * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. - ******************************************************************************/ -package resources.objects.tangible; -import com.sleepycat.persist.model.Persistent; - -import engine.resources.scene.Planet; -import engine.resources.scene.Point3D; -import engine.resources.scene.Quaternion; - -/** - * @author Charon - */ -@Persistent(version=0) -public class Harvester_Deed extends Deed { - - private String name; - private String structureTemplate; - private String constructorTemplate; - private int outputHopperCapacity=0; - private int BER=0; - private int BMR=0; - private int surplusMaintenance=0; - private int surplusPower=0; - private int lotRequirement; - - - public Harvester_Deed(long objectID, Planet planet, String template, Point3D position, Quaternion orientation){ - super(objectID, planet, template, position, orientation); - } - - public int getOutputHopperCapacity() { - return outputHopperCapacity; - } - public void setOutputHopperCapacity(int outputHopperCapacity) { - this.outputHopperCapacity = outputHopperCapacity; - } - public int getBER() { - return BER; - } - public void setBER(int bER) { - this.BER = bER; - } - public String getName() { - return name; - } - public void setName(String name) { - this.name = name; - } - public String getStructureTemplate() { - return structureTemplate; - } - public void setStructureTemplate(String structureTemplate) { - this.structureTemplate = structureTemplate; - } - public int getLotRequirement() { - return lotRequirement; - } - public void setLotRequirement(int lotRequirement) { - this.lotRequirement = lotRequirement; - } - public String getConstructorTemplate() { - return constructorTemplate; - } - public void setConstructorTemplate(String constructorTemplate) { - this.constructorTemplate = constructorTemplate; - } - public int getBMR() { - return BMR; - } - public void setBMR(int BMR) { - this.BMR = BMR; - } - public int getSurplusMaintenance() { - return surplusMaintenance; - } - public void setSurplusMaintenance(int surplusMaintenance) { - this.surplusMaintenance = surplusMaintenance; - } - - public int getSurplusPower() { - return surplusPower; - } - - public void setSurplusPower(int surplusPower) { - this.surplusPower = surplusPower; - } - - - public void setAttributes() { - this.getAttributes().put("@obj_attr_n:volume", "1"); - this.getAttributes().put("@obj_attr_n:examine_maintenance_rate", ""+this.getBMR() + "/hour"); - if (this.getSurplusMaintenance()>0) - this.getAttributes().put("@obj_attr_n:examine_maintenance", ""+this.getSurplusMaintenance()); - - //this.getAttributes().put("@obj_attr_n:energy_maintenance", "0"); - if (this.getSurplusPower()>0) - this.getAttributes().put("@obj_attr_n:examine_power", ""+this.getSurplusPower()); - - this.getAttributes().put("@obj_attr_n:examine_hoppersize", ""+this.getOutputHopperCapacity()); - this.getAttributes().put("@obj_attr_n:examine_extractionrate", ""+this.getBER()); - } -} diff --git a/src/resources/objects/tangible/Player_House_Deed.java b/src/resources/objects/tangible/Player_House_Deed.java deleted file mode 100644 index a03467f7..00000000 --- a/src/resources/objects/tangible/Player_House_Deed.java +++ /dev/null @@ -1,93 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013 - * - * This File is part of NGECore2. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - * - * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. - * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. - ******************************************************************************/ -package resources.objects.tangible; -import com.sleepycat.persist.model.Persistent; - -import engine.resources.scene.Planet; -import engine.resources.scene.Point3D; -import engine.resources.scene.Quaternion; - -/** - * @author Seefo - * @author Charon - */ - -@Persistent(version=0) -public class Player_House_Deed extends Deed { - - private String name; - private String structureTemplate; - private String constructorTemplate; - private int BMR=0; - private int surplusMaintenance=0; - private int lotRequirement; - - public Player_House_Deed(long objectID, Planet planet, String template, Point3D position, Quaternion orientation){ - super(objectID, planet, template, position, orientation); - } - - public String getName() { - return name; - } - public void setName(String name) { - this.name = name; - } - public String getStructureTemplate() { - return structureTemplate; - } - public void setStructureTemplate(String structureTemplate) { - this.structureTemplate = structureTemplate; - } - public int getLotRequirement() { - return lotRequirement; - } - public void setLotRequirement(int lotRequirement) { - this.lotRequirement = lotRequirement; - } - public String getConstructorTemplate() { - return constructorTemplate; - } - public void setConstructorTemplate(String constructorTemplate) { - this.constructorTemplate = constructorTemplate; - } - public int getBMR() { - return BMR; - } - public void setBMR(int BMR) { - this.BMR = BMR; - } - public int getSurplusMaintenance() { - return surplusMaintenance; - } - public void setSurplusMaintenance(int surplusMaintenance) { - this.surplusMaintenance = surplusMaintenance; - } - - public void setAttributes() { - this.getAttributes().put("@obj_attr_n:volume", "1"); - this.getAttributes().put("@obj_attr_n:examine_maintenance_rate", ""+this.getBMR() + "/hour"); - if (this.getSurplusMaintenance()>0) - this.getAttributes().put("@obj_attr_n:examine_maintenance", ""+this.getSurplusMaintenance()); - - - } -} diff --git a/src/resources/objects/tangible/TangibleObject.java b/src/resources/objects/tangible/TangibleObject.java index b9adf140..7c879703 100644 --- a/src/resources/objects/tangible/TangibleObject.java +++ b/src/resources/objects/tangible/TangibleObject.java @@ -41,8 +41,8 @@ import protocol.swg.objectControllerObjects.ShowFlyText; import resources.common.OutOfBand; import resources.common.RGB; import resources.datatables.Options; +import resources.loot.LootGroup; import resources.objects.creature.CreatureObject; -import resources.objects.loot.LootGroup; import resources.visitors.IDManagerVisitor; import com.sleepycat.persist.model.NotPersistent; diff --git a/src/resources/objects/SkillMod.java b/src/resources/skills/SkillMod.java similarity index 97% rename from src/resources/objects/SkillMod.java rename to src/resources/skills/SkillMod.java index d2d71dcc..c3cbbbfe 100644 --- a/src/resources/objects/SkillMod.java +++ b/src/resources/skills/SkillMod.java @@ -19,12 +19,14 @@ * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. ******************************************************************************/ -package resources.objects; +package resources.skills; import java.io.Serializable; import org.apache.mina.core.buffer.IoBuffer; +import resources.objects.Delta; + import com.sleepycat.persist.model.Persistent; @Persistent(version=0) diff --git a/src/services/BuffService.java b/src/services/BuffService.java index 71f44a0d..839c2b01 100644 --- a/src/services/BuffService.java +++ b/src/services/BuffService.java @@ -31,9 +31,9 @@ import java.util.concurrent.TimeUnit; import org.python.core.Py; import org.python.core.PyObject; +import resources.buffs.Buff; +import resources.buffs.DamageOverTime; import resources.common.FileUtilities; -import resources.objects.Buff; -import resources.objects.DamageOverTime; import resources.objects.creature.CreatureObject; import resources.objects.group.GroupObject; import resources.objects.player.PlayerObject; diff --git a/src/services/CharacterService.java b/src/services/CharacterService.java index 82b4749c..ea054582 100644 --- a/src/services/CharacterService.java +++ b/src/services/CharacterService.java @@ -320,6 +320,8 @@ public class CharacterService implements INetworkDispatch { object.addAbility("startDance"); object.addAbility("startDance+Basic"); + object.setFaction("neutral"); + object.addObjectToEquipList(datapad); object.addObjectToEquipList(inventory); object.addObjectToEquipList(bank); diff --git a/src/services/ConnectionService.java b/src/services/ConnectionService.java index 0645ee7a..f27e82a6 100644 --- a/src/services/ConnectionService.java +++ b/src/services/ConnectionService.java @@ -270,6 +270,8 @@ public class ConnectionService implements INetworkDispatch { } }*/ + core.missionService.getBountyList().remove(core.getBountiesODB().get(object.getObjectId(), Long.class, BountyListItem.class)); + ghost.toggleFlag(PlayerFlags.LD); object.setPerformanceListenee(null); diff --git a/src/services/DevService.java b/src/services/DevService.java index f8f1f54e..270587d7 100644 --- a/src/services/DevService.java +++ b/src/services/DevService.java @@ -40,8 +40,6 @@ import resources.datatables.WeaponType; import resources.objects.building.BuildingObject; import resources.objects.creature.CreatureObject; import resources.objects.player.PlayerObject; -import resources.objects.tangible.Harvester_Deed; -import resources.objects.tangible.Player_House_Deed; import resources.objects.tangible.TangibleObject; import resources.objects.tool.SurveyTool; import resources.objects.weapon.WeaponObject; @@ -93,6 +91,7 @@ public class DevService implements INetworkDispatch { if(creature.getClient().isGM()) suiOptions.put((long) 120, "House Deeds"); if(creature.getClient().isGM()) suiOptions.put((long) 125, "Crafting Tools"); if(creature.getClient().isGM()) suiOptions.put((long) 130, "Vehicle Deeds"); + if(creature.getClient().isGM()) suiOptions.put((long) 121, "Sandbox City"); break; case 3: // [Items] Weapons @@ -1027,190 +1026,140 @@ public class DevService implements INetworkDispatch { inventory.add(solarSurveyTool); return; case 111: + SWGObject deed1; + // Minerals - String templateString="object/tangible/deed/harvester_deed/shared_harvester_ore_s1_deed.iff"; - Harvester_Deed deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(27344); - deed1.setBER(5); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_ore_s1_deed.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 27344); + deed1.setIntAttribute("examine_maintenance_rate", 5); inventory.add(deed1); - templateString="object/tangible/deed/harvester_deed/shared_harvester_ore_s2_deed.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(27344); - deed1.setBER(11); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_ore_s2_deed.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 27344); + deed1.setIntAttribute("examine_maintenance_rate", 11); inventory.add(deed1); - templateString="object/tangible/deed/harvester_deed/shared_harvester_ore_heavy_deed.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(135400); - deed1.setBER(14); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_ore_heavy_deed.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 135400); + deed1.setIntAttribute("examine_maintenance_rate", 14); inventory.add(deed1); - templateString="object/tangible/deed/harvester_deed/shared_harvester_ore_deed_elite.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(250000); - deed1.setBER(44); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_ore_deed_elite.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 250000); + deed1.setIntAttribute("examine_maintenance_rate", 44); inventory.add(deed1); - // Chemicals - templateString="object/tangible/deed/harvester_deed/shared_harvester_liquid_deed.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(27344); - deed1.setBER(5); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_liquid_deed.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 27344); + deed1.setIntAttribute("examine_maintenance_rate", 5); inventory.add(deed1); - templateString="object/tangible/deed/harvester_deed/shared_harvester_liquid_deed_medium.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(27344); - deed1.setBER(11); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_liquid_deed_medium.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 27344); + deed1.setIntAttribute("examine_maintenance_rate", 11); inventory.add(deed1); - templateString="object/tangible/deed/harvester_deed/shared_harvester_liquid_deed_heavy.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(135400); - deed1.setBER(14); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_liquid_deed_heavy.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 135400); + deed1.setIntAttribute("examine_maintenance_rate", 14); inventory.add(deed1); - templateString="object/tangible/deed/harvester_deed/shared_harvester_liquid_deed_elite.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(250000); - deed1.setBER(44); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_liquid_deed_elite.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 250000); + deed1.setIntAttribute("examine_maintenance_rate", 44); inventory.add(deed1); - // Flora - templateString="object/tangible/deed/harvester_deed/shared_harvester_flora_deed.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(27344); - deed1.setBER(5); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_flora_deed.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 27344); + deed1.setIntAttribute("examine_maintenance_rate", 5); inventory.add(deed1); - templateString="object/tangible/deed/harvester_deed/shared_harvester_flora_deed_medium.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(27344); - deed1.setBER(11); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_flora_deed_medium.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 27344); + deed1.setIntAttribute("examine_maintenance_rate", 11); inventory.add(deed1); - templateString="object/tangible/deed/harvester_deed/shared_harvester_flora_deed_heavy.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(135400); - deed1.setBER(14); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_flora_deed_heavy.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 135400); + deed1.setIntAttribute("examine_maintenance_rate", 14); inventory.add(deed1); - templateString="object/tangible/deed/harvester_deed/shared_harvester_flora_deed_elite.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(250000); - deed1.setBER(44); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_flora_deed_elite.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 250000); + deed1.setIntAttribute("examine_maintenance_rate", 44); inventory.add(deed1); // Gas - templateString="object/tangible/deed/harvester_deed/shared_harvester_gas_deed.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(27344); - deed1.setBER(5); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_gas_deed.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 27344); + deed1.setIntAttribute("examine_maintenance_rate", 5); inventory.add(deed1); - templateString="object/tangible/deed/harvester_deed/shared_harvester_gas_deed_medium.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(27344); - deed1.setBER(11); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_gas_deed_medium.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 27344); + deed1.setIntAttribute("examine_maintenance_rate", 11); inventory.add(deed1); - templateString="object/tangible/deed/harvester_deed/shared_harvester_gas_deed_heavy.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(135400); - deed1.setBER(14); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_gas_deed_heavy.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 135400); + deed1.setIntAttribute("examine_maintenance_rate", 14); inventory.add(deed1); - templateString="object/tangible/deed/harvester_deed/shared_harvester_gas_deed_elite.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(250000); - deed1.setBER(44); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_gas_deed_elite.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 250000); + deed1.setIntAttribute("examine_maintenance_rate", 44); inventory.add(deed1); - // Water - templateString="object/tangible/deed/harvester_deed/shared_harvester_moisture_deed.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(27344); - deed1.setBER(5); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_moisture_deed.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 27344); + deed1.setIntAttribute("examine_maintenance_rate", 5); inventory.add(deed1); - templateString="object/tangible/deed/harvester_deed/shared_harvester_moisture_deed_medium.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(27344); - deed1.setBER(11); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_moisture_deed_medium.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 27344); + deed1.setIntAttribute("examine_maintenance_rate", 11); inventory.add(deed1); - templateString="object/tangible/deed/harvester_deed/shared_harvester_moisture_deed_heavy.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(135400); - deed1.setBER(14); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_moisture_deed_heavy.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 135400); + deed1.setIntAttribute("examine_maintenance_rate", 14); inventory.add(deed1); - templateString="object/tangible/deed/harvester_deed/shared_harvester_moisture_deed_elite.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(250000); - deed1.setBER(44); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/harvester_deed/shared_harvester_moisture_deed_elite.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 250000); + deed1.setIntAttribute("examine_maintenance_rate", 44); inventory.add(deed1); - // Generators - templateString="object/tangible/deed/generator_deed/shared_generator_fusion_deed.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(250000); - deed1.setBER(19); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/generator_deed/shared_generator_fusion_deed.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 250000); + deed1.setIntAttribute("examine_maintenance_rate", 19); inventory.add(deed1); - templateString="object/tangible/deed/generator_deed/shared_generator_wind_deed.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(250000); - deed1.setBER(10); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/generator_deed/shared_generator_wind_deed.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 250000); + deed1.setIntAttribute("examine_maintenance_rate", 10); inventory.add(deed1); - templateString="object/tangible/deed/generator_deed/shared_generator_solar_deed.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(250000); - deed1.setBER(15); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/generator_deed/shared_generator_solar_deed.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 250000); + deed1.setIntAttribute("examine_maintenance_rate", 15); inventory.add(deed1); -// templateString="object/tangible/deed/generator_deed/shared_generator_photo_bio_deed.iff"; -// deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); -// deed1.setOutputHopperCapacity(250000); -// deed1.setBER(19); +// deed1 = core.objectService.createObject("object/tangible/deed/generator_deed/shared_generator_photo_bio_deed.iff", planet); +// deed1.setIntAttribute("examine_hoppersize", 250000); +// deed1.setIntAttribute("examine_maintenance_rate", 19); // inventory.add(deed1); - templateString="object/tangible/deed/generator_deed/shared_generator_geothermal_deed.iff"; - deed1 = (Harvester_Deed)core.objectService.createObject(templateString, planet); - deed1.setOutputHopperCapacity(250000); - deed1.setBER(15); - deed1.setAttributes(); + deed1 = core.objectService.createObject("object/tangible/deed/generator_deed/shared_generator_geothermal_deed.iff", planet); + deed1.setIntAttribute("examine_hoppersize", 250000); + deed1.setIntAttribute("examine_maintenance_rate", 15); inventory.add(deed1); + return; case 112: core.resourceService.spawnSpecificResourceContainer("Radioactive", player, 100000); @@ -1218,21 +1167,20 @@ public class DevService implements INetworkDispatch { case 120: // SWGObject houseDeed = core.objectService.createObject("object/tangible/deed/player_house_deed/shared_generic_house_small_deed.iff", planet); // inventory.add(houseDeed); - - templateString="object/tangible/deed/player_house_deed/shared_generic_house_small_deed.iff"; - Player_House_Deed deed = (Player_House_Deed)core.objectService.createObject(templateString, planet); - deed.setBMR(15); - deed.setAttributes(); - inventory.add(deed); - - templateString="object/tangible/deed/city_deed/shared_cityhall_tatooine_deed.iff"; - deed = (Player_House_Deed)core.objectService.createObject(templateString, planet); - deed.setBMR(15); - deed.setAttributes(); - inventory.add(deed); + + TangibleObject deed = (TangibleObject) core.objectService.createObject("object/tangible/deed/player_house_deed/shared_generic_house_small_deed.iff", planet); + deed.setIntAttribute("examine_maintenance_rate", 15); + inventory.add(deed); + + deed = (TangibleObject) core.objectService.createObject("object/tangible/deed/city_deed/shared_cityhall_tatooine_deed.iff", planet); + deed.setIntAttribute("examine_maintenance_rate", 15); + inventory.add(deed); + + return; + + case 121: + NGECore.getInstance().playerCityService.buildSandboxTestCity(player); - return; - case 125: TangibleObject genericCraftingTool = (TangibleObject) core.objectService.createObject("object/tangible/crafting/station/shared_generic_tool.iff", planet); genericCraftingTool.setCustomName("Generic Crafting Tool"); diff --git a/src/services/EntertainmentService.java b/src/services/EntertainmentService.java index f210cdc7..0643348e 100644 --- a/src/services/EntertainmentService.java +++ b/src/services/EntertainmentService.java @@ -20,6 +20,7 @@ import protocol.swg.ObjControllerMessage; import protocol.swg.objectControllerObjects.BuffBuilderChangeMessage; import protocol.swg.objectControllerObjects.BuffBuilderEndMessage; import protocol.swg.objectControllerObjects.ImageDesignMessage; +import resources.buffs.BuffItem; import resources.common.BuffBuilder; import resources.common.IDAttribute; import resources.common.MathUtilities; @@ -29,11 +30,10 @@ import resources.common.Performance; import resources.common.PerformanceEffect; import resources.common.RGB; import resources.datatables.Posture; -import resources.objects.BuffItem; -import resources.objects.SkillMod; import resources.objects.creature.CreatureObject; import resources.objects.player.PlayerObject; import resources.objects.tangible.TangibleObject; +import resources.skills.SkillMod; import resources.visitors.IDManagerVisitor; import services.sui.SUIService.InputBoxType; import services.sui.SUIWindow; diff --git a/src/services/GroupService.java b/src/services/GroupService.java index fa4d9d5b..032ecd15 100644 --- a/src/services/GroupService.java +++ b/src/services/GroupService.java @@ -25,7 +25,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -import resources.objects.Buff; +import resources.buffs.Buff; import resources.objects.creature.CreatureObject; import resources.objects.group.GroupObject; import services.chat.ChatRoom; @@ -146,6 +146,12 @@ public class GroupService implements INetworkDispatch { group.setGroupLeader(leader); group.getMemberList().add(leader); group.getMemberList().add(invited); + + if (invited.getLevel() > leader.getLevel()) + group.setGroupLevel(invited.getLevel()); + else + group.setGroupLevel(leader.getLevel()); + leader.makeAware(group); leader.setGroupId(group.getObjectID()); invited.makeAware(group); @@ -170,6 +176,10 @@ public class GroupService implements INetworkDispatch { invited.makeAware(group); invited.setGroupId(group.getObjectID()); invited.sendSystemMessage("@group:joined_self", (byte) 0); + + if (group.getGroupLevel() < invited.getLevel()) + group.setGroupLevel(invited.getLevel()); + addGroupBuffsToMember(group, invited); core.chatService.joinChatRoom(invited.getCustomName(), group.getChatRoomId(), true); diff --git a/src/services/LootService.java b/src/services/LootService.java index 1105e13c..97d45a46 100644 --- a/src/services/LootService.java +++ b/src/services/LootService.java @@ -35,11 +35,12 @@ import java.util.List; import java.util.Map; import java.util.Random; import java.util.Vector; + import protocol.swg.PlayClientEffectObjectTransformMessage; +import resources.loot.LootGroup; +import resources.loot.LootRollSession; import resources.objects.creature.CreatureObject; import resources.objects.group.GroupObject; -import resources.objects.loot.LootGroup; -import resources.objects.loot.LootRollSession; import resources.objects.tangible.TangibleObject; import resources.objects.weapon.WeaponObject; import main.NGECore; diff --git a/src/services/PlayerService.java b/src/services/PlayerService.java index ea075dc5..b37c49a0 100644 --- a/src/services/PlayerService.java +++ b/src/services/PlayerService.java @@ -58,6 +58,8 @@ import protocol.swg.ShowHelmet; import protocol.swg.objectControllerObjects.ChangeRoleIconChoice; import protocol.swg.objectControllerObjects.ShowFlyText; import protocol.swg.objectControllerObjects.ShowLootBox; +import resources.buffs.Buff; +import resources.common.BountyListItem; import resources.common.FileUtilities; import resources.common.ObjControllerOpcodes; import resources.common.Opcodes; @@ -70,7 +72,6 @@ import resources.datatables.DisplayType; import resources.datatables.PlayerFlags; import resources.datatables.Professions; import resources.guild.Guild; -import resources.objects.Buff; import resources.objects.building.BuildingObject; import resources.objects.cell.CellObject; import resources.objects.creature.CreatureObject; @@ -78,6 +79,7 @@ import resources.objects.player.PlayerMessageBuilder; import resources.objects.player.PlayerObject; import resources.objects.tangible.TangibleObject; import resources.objects.waypoint.WaypointObject; +import services.sui.SUIService.InputBoxType; import services.sui.SUIService.ListBoxType; import services.sui.SUIWindow; import services.sui.SUIWindow.Trigger; @@ -1252,6 +1254,55 @@ public class PlayerService implements INetworkDispatch { core.suiService.openSUIWindow(ringWindow); } + public void sendSetBountyWindow(final CreatureObject victim, final CreatureObject attacker) { + SUIWindow bountyWindow = core.suiService.createInputBox(InputBoxType.INPUT_BOX_OK_CANCEL, "@bounty_hunter:setbounty_title", "@bounty_hunter:setbounty_prompt1 " + attacker.getCustomName() + "?" + "\n@bounty_hunter:setbounty_prompt2 " + + String.valueOf(victim.getBankCredits() + victim.getCashCredits()), victim, null, (float) 10, new SUICallback() { + + @Override + public void process(SWGObject owner, int eventType, Vector returnList) { + if (eventType == 0 && returnList.get(0) != null) { + int bounty = Integer.parseInt(returnList.get(0)); + int totalFunds = victim.getBankCredits() + victim.getCashCredits(); + + if (bounty > totalFunds) { + victim.sendSystemMessage("@bounty_hunter:setbounty_too_much", DisplayType.Broadcast); + sendSetBountyWindow(victim, attacker); + return; + } + + if (bounty < 20000) { + victim.sendSystemMessage("@bounty_hunter:setbounty_too_little", DisplayType.Broadcast); + sendSetBountyWindow(victim, attacker); + return; + } else if (bounty > 1000000) { + victim.sendSystemMessage("@bounty_hunter:setbounty_cap", DisplayType.Broadcast); + bounty = 1000000; + } + + // Try removing bounty amount from the bank first then cash. Remove amount accordingly if bank/cash is less than placed bounty. + if (bounty > victim.getBankCredits()) { + int difference = bounty - victim.getBankCredits(); + + victim.setCashCredits(victim.getCashCredits() - difference); + victim.setBankCredits(0); + } else if (bounty > victim.getCashCredits()) { + int difference = bounty - victim.getCashCredits(); + + victim.setBankCredits(victim.getBankCredits() - difference); + victim.setCashCredits(0); + } else { victim.setBankCredits(victim.getBankCredits() - bounty); } + + if (!core.missionService.addToExistingBounty(attacker, victim.getObjectId(), bounty)) + core.missionService.createNewBounty(attacker, victim.getObjectId(), bounty); + } + } + + }); + bountyWindow.setProperty("txtInput:NumericInteger", "true"); + bountyWindow.setProperty("txtInput:MaxLength", "7"); + core.suiService.openSUIWindow(bountyWindow); + } + public String getFormalProfessionName(String template) { String formalName = ""; diff --git a/src/services/SkillModService.java b/src/services/SkillModService.java index c0a4de48..042e7bc9 100644 --- a/src/services/SkillModService.java +++ b/src/services/SkillModService.java @@ -25,8 +25,8 @@ import java.util.HashMap; import java.util.Map; import resources.common.FileUtilities; -import resources.objects.SkillMod; import resources.objects.creature.CreatureObject; +import resources.skills.SkillMod; import main.NGECore; import engine.clientdata.ClientFileManager; import engine.clientdata.visitors.DatatableVisitor; diff --git a/src/services/StaticService.java b/src/services/StaticService.java index 7dbe7d97..41401fea 100644 --- a/src/services/StaticService.java +++ b/src/services/StaticService.java @@ -26,11 +26,12 @@ import java.util.List; import java.util.Map; import resources.objects.building.BuildingObject; +import resources.objects.cell.CellObject; import resources.objects.creature.CreatureObject; import resources.objects.tangible.TangibleObject; - import main.NGECore; - +import engine.clientdata.ClientFileManager; +import engine.clientdata.visitors.PortalVisitor; import engine.resources.objects.SWGObject; import engine.resources.scene.Planet; import engine.resources.scene.Point3D; @@ -71,48 +72,79 @@ public class StaticService implements INetworkDispatch { return spawnObject(template, planetName, cellId, x, y, z, qW, 0, qY, 0); } - public SWGObject spawnObject(String template, String planetName, long cellId, float x, float y, float z, float qW, float qX, float qY, float qZ) { - return spawnObject(template, 0, planetName, cellId, x, y, z, qW, qX, qY, qZ); + public SWGObject spawnObject(String template, String planetName, SWGObject cell, float x, float y, float z, float qW, float qX, float qY, float qZ) { + return spawnObject(template, planetName, ((cell == null) ? 0L : cell.getObjectID()), x, y, z, qW, qX, qY, qZ); } - public SWGObject spawnObject(String template, long objectId, String planetName, long cellId, float x, float y, float z, float qW, float qX, float qY, float qZ) { + public SWGObject spawnObject(String template, String planetName, long cellId, float x, float y, float z, float qW, float qX, float qY, float qZ) { Planet planet = core.terrainService.getPlanetByName(planetName); if (planet == null) { - System.out.println("StaticService: Can't spawn static object because planet is null."); + System.err.println("StaticService: Can't spawn static object because planet is null."); return null; } - SWGObject object = core.objectService.createObject(template, objectId, planet, new Point3D(x, y, z), new Quaternion(qW, qX, qY, qZ)); + long buildingId = 0; + int cellNumber = 0; + + SWGObject cell = core.objectService.getObject(cellId); + + if (cell != null && cell.getContainer() != null && cell.getContainer() instanceof BuildingObject) { + buildingId = cell.getContainer().getObjectId(); + cellNumber = ((BuildingObject) cell.getContainer()).getCellNumberByObjectId(cellId); + } + + long objectId = core.objectService.getDOId(planetName, template, 0, buildingId, cellNumber, x, y, z); + + SWGObject object = core.objectService.createObject(template, objectId, planet, new Point3D(x, y, z), new Quaternion(qW, qX, qY, qZ), null, true, true); if (object == null) { - System.out.println("Static object is null with id " + objectId + " and template " + template + "."); + System.err.println("Static object is null with id " + objectId + " and template " + template + "."); return null; } if (objectId != 0 && object.getObjectID() != objectId) { - System.out.println("StaticService: ObjectId " + objectId + " was taken for object with template " + object.getTemplate() + ". Replacement: " + object.getObjectID()); + System.err.println("StaticService: ObjectId " + objectId + " was taken for object with template " + object.getTemplate() + ". Replacement: " + object.getObjectID()); } if (object instanceof CreatureObject) { ((CreatureObject) object).setStaticNPC(true); } - if (cellId == 0) { - boolean add = core.simulationService.add(object, (float) x, (float) z, true); + if (object instanceof BuildingObject) { + BuildingObject building = (BuildingObject) object; - if (!add) { - System.out.println("StaticService: Quadtree insert failed for: " + template); + Map attributes = building.getTemplateData().getAttributes(); + + if (building.getCells().size() == 0 && attributes.containsKey("portalLayoutFilename") && ((String) attributes.get("portalLayoutFilename")).length() > 0) { + String portalLayoutFilename = (String) attributes.get("portalLayoutFilename"); + + try { + PortalVisitor portal = ClientFileManager.loadFile(portalLayoutFilename, PortalVisitor.class); + + for (int i = 1; i <= portal.cellCount; i++) { + long cellObjectId = core.objectService.getDOId(planetName, "object/cell/shared_cell.iff", 0, object.getObjectID(), i, x, y, z); + CellObject childCell = (CellObject) core.objectService.createObject("object/cell/shared_cell.iff", cellObjectId, core.terrainService.getPlanetByName(planetName), new Point3D(0, 0, 0), new Quaternion(1, 0, 0, 0), null, true, true); + childCell.setCellNumber(i); + building.add(childCell); + } + } catch (InstantiationException | IllegalAccessException e) { + e.printStackTrace(); + } + } + } + + if (cellId == 0) { + if (!core.simulationService.add(object, (float) x, (float) z, true)) { + System.err.println("StaticService: Quadtree insert failed for: " + template); } } else { - SWGObject parent = core.objectService.getObject(cellId); - - if (parent == null) { - System.out.println("StaticService: Cell not found"); + if (cell == null) { + System.err.println("StaticService: Cell not found"); return object; } - parent.add(object); + cell.add(object); } return object; @@ -128,8 +160,8 @@ public class StaticService implements INetworkDispatch { cloners.add(obj); } } - return cloners; + return cloners; } @Override diff --git a/src/services/chat/Mail.java b/src/services/chat/Mail.java index 42143371..48166af5 100644 --- a/src/services/chat/Mail.java +++ b/src/services/chat/Mail.java @@ -22,6 +22,7 @@ package services.chat; import java.io.Serializable; +import java.util.ArrayList; import java.util.List; import com.sleepycat.persist.model.Entity; @@ -40,7 +41,7 @@ public class Mail implements Serializable { private String message; private byte status; private int timeStamp; - private List attachments; + private List attachments = new ArrayList(); public static final byte NEW = 0x4E; public static final byte READ = 0x52; diff --git a/src/services/collections/CollectionService.java b/src/services/collections/CollectionService.java index 4342ff12..d0b43268 100644 --- a/src/services/collections/CollectionService.java +++ b/src/services/collections/CollectionService.java @@ -142,7 +142,7 @@ public class CollectionService implements INetworkDispatch { int bits = 0; boolean noScriptOnModify = false; boolean clearOnComplete = false; - boolean noMessage = true; + boolean noMessage = false; boolean grantIfPreReqMet = true; boolean buddyCollection = false; int numAltTitles = 0; @@ -308,13 +308,21 @@ public class CollectionService implements INetworkDispatch { collections.set(beginSlotId); } - player.setCollections(collections.toByteArray()); - - if (!hidden && !noMessage) { - creature.sendSystemMessage(OutOfBand.ProsePackage("@collection_n:" + collection), DisplayType.Broadcast); + if (hidden && !(getCollection(creature, collectionName) > 0)) { + creature.sendSystemMessage(OutOfBand.ProsePackage("@collection:player_hidden_slot_added", "TO", collectionName), DisplayType.Broadcast); } - if (!music.equals("")) { + player.setCollections(collections.toByteArray()); + + if (!noMessage) { + if (!bookName.equals("crafting_book")) { + creature.sendSystemMessage(OutOfBand.ProsePackage("@collection:player_slot_added", "TU", slotName, "TO", collectionName), DisplayType.Broadcast); + } else { + creature.sendSystemMessage(OutOfBand.ProsePackage("@collection:player_slot_increment", "TU", slotName, "TO", collectionName), DisplayType.Broadcast); + } + } + + if (!music.equals("") && !music.equalsIgnoreCase("none")) { creature.playMusic(music); } @@ -346,7 +354,9 @@ public class CollectionService implements INetworkDispatch { } } - if (!isComplete(creature, collectionName)) { + if (isComplete(creature, collectionName)) { + creature.sendSystemMessage(OutOfBand.ProsePackage("@collection:player_collection_complete", "TO", collectionName), DisplayType.Broadcast); + if (!noReward) { if (FileUtilities.doesFileExist("scripts/collections/" + collectionName + ".py")) { PyObject method = core.scriptService.getMethod("scripts/collections/", collectionName, "complete"); @@ -364,6 +374,7 @@ public class CollectionService implements INetworkDispatch { if (trackServerFirst) { if (core.guildService.getGuildObject().addServerFirst(collectionName, new ServerFirst(creature.getCustomName(), creature.getObjectId(), collectionName, System.currentTimeMillis()))) { addCollection(creature, "bdg_server_first_01"); + creature.sendSystemMessage(OutOfBand.ProsePackage("@collection:player_server_first", "TT", core.getGalaxyName(), "TO", collectionName), DisplayType.Broadcast); } } @@ -735,6 +746,10 @@ public class CollectionService implements INetworkDispatch { player.getTitleList().remove(slotName); } + if (collection.equals(collectionName)) { + creature.sendSystemMessage(OutOfBand.ProsePackage("@collection:player_collection_reset", "TO", collectionName), DisplayType.Broadcast); + } + continue; } } diff --git a/src/services/combat/CombatService.java b/src/services/combat/CombatService.java index 1a265c8c..301bf037 100644 --- a/src/services/combat/CombatService.java +++ b/src/services/combat/CombatService.java @@ -40,13 +40,13 @@ import protocol.swg.objectControllerObjects.CombatAction; import protocol.swg.objectControllerObjects.CombatSpam; import protocol.swg.objectControllerObjects.CommandEnqueueRemove; import protocol.swg.objectControllerObjects.StartTask; +import resources.buffs.Buff; +import resources.buffs.DamageOverTime; import resources.common.FileUtilities; import resources.datatables.Options; import resources.datatables.Elemental; import resources.datatables.Posture; import resources.datatables.WeaponType; -import resources.objects.Buff; -import resources.objects.DamageOverTime; import resources.objects.creature.CreatureObject; import resources.objects.player.PlayerObject; import resources.objects.tangible.TangibleObject; @@ -988,7 +988,10 @@ public class CombatService implements INetworkDispatch { target.setSpeedMultiplierBase(0); target.setTurnRadius(0); - if(target.getDuelList().contains(attacker)) handleEndDuel(target, attacker, false); + if(!target.getDuelList().contains(attacker) && attacker.getSlottedObject("ghost") != null) + core.playerService.sendSetBountyWindow(target, attacker); + else + handleEndDuel(target, attacker, false); core.playerService.sendCloningWindow(target, attacker.getSlottedObject("ghost") != null); } diff --git a/src/services/housing/HouseTemplate.java b/src/services/housing/HouseTemplate.java index 3918cf55..78f7715f 100644 --- a/src/services/housing/HouseTemplate.java +++ b/src/services/housing/HouseTemplate.java @@ -6,65 +6,76 @@ import java.util.Vector; import engine.resources.scene.Point3D; -public class HouseTemplate -{ +public class HouseTemplate { + private String deedTemplate; private String buildingTemplate; private int lotCost; private int defaultItemLimit; + private int baseMaintenanceRate; private Vector placeablePlanets; private Map buildingSigns; - public HouseTemplate(String deedTemplate, String buildingTemplate, int lotCost) - { + public HouseTemplate(String deedTemplate, String buildingTemplate, int lotCost) { this.deedTemplate = deedTemplate; this.buildingTemplate = buildingTemplate; this.lotCost = lotCost; this.defaultItemLimit = 50; + this.baseMaintenanceRate = 8; this.placeablePlanets = new Vector(); this.buildingSigns = new HashMap(); } - public void addBuildingSign(String signTemplate, Point3D signPosition) - { + public void addBuildingSign(String signTemplate, Point3D signPosition) { buildingSigns.put(signTemplate, signPosition); } - public void addPlaceablePlanet(String planetName) - { + + public void addPlaceablePlanet(String planetName) { this.placeablePlanets.add(planetName); } - public void setDefaultItemLimit(int itemLimit) - { + + public void setDefaultItemLimit(int itemLimit) { this.defaultItemLimit = itemLimit; } - public String getDeedTemplate() - { - return this.deedTemplate; + public String getDeedTemplate() { + return deedTemplate; } - public String getBuildingTemplate() - { - return this.buildingTemplate; + + public String getBuildingTemplate() { + return buildingTemplate; } - public Map getBuildingSigns() - { - return this.buildingSigns; + + public Map getBuildingSigns() { + return buildingSigns; } - public Vector getPlaceablePlanets() - { - return this.placeablePlanets; + + public Vector getPlaceablePlanets() { + return placeablePlanets; } - public boolean canBePlacedOn(String planetName) - { - if(placeablePlanets.contains(planetName)) return true; + + public boolean canBePlacedOn(String planetName) { + if (placeablePlanets.contains(planetName)) { + return true; + } + return false; } - public int getLotCost() - { - return this.lotCost; + + public int getLotCost() { + return lotCost; } - public int getDefaultItemLimit() - { - return this.defaultItemLimit; + + public int getDefaultItemLimit() { + return defaultItemLimit; } + + public int getBaseMaintenanceRate() { + return baseMaintenanceRate; + } + + public void setBaseMaintenanceRate(int baseMaintenanceRate) { + this.baseMaintenanceRate = baseMaintenanceRate; + } + } diff --git a/src/services/housing/HousingService.java b/src/services/housing/HousingService.java index 1fa90d82..34bdb205 100644 --- a/src/services/housing/HousingService.java +++ b/src/services/housing/HousingService.java @@ -40,7 +40,6 @@ import protocol.swg.EnterStructurePlacementModeMessage; import resources.objects.building.BuildingObject; import resources.objects.creature.CreatureObject; import resources.objects.player.PlayerObject; -import resources.objects.tangible.Player_House_Deed; import resources.objects.tangible.TangibleObject; import services.playercities.PlayerCity; import services.sui.SUIWindow; @@ -56,52 +55,60 @@ public class HousingService implements INetworkDispatch { private NGECore core; private Map housingTemplates = new ConcurrentHashMap(); - + private Map houseToDeed = new ConcurrentHashMap(); + public HousingService(NGECore core) { this.core = core; - core.commandService.registerCommand("placestructure"); - core.commandService.registerCommand("movefurniture"); - core.commandService.registerCommand("rotatefurniture"); + + Path p = Paths.get("scripts/houses/"); + + FileVisitor fv = new SimpleFileVisitor() { + @Override + public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { + core.scriptService.callScript("scripts/houses/", file.getFileName().toString().replace(".py", ""), "setup", housingTemplates); + return FileVisitResult.CONTINUE; + } + }; + + try { + Files.walkFileTree(p, fv); + } catch (IOException e) { + e.printStackTrace(); + } + + housingTemplates.values().forEach((houseTemplate) -> houseToDeed.put(houseTemplate.getBuildingTemplate(), houseTemplate.getDeedTemplate())); } - public void enterStructureMode(CreatureObject actor, TangibleObject deed) - { - if(!actor.getClient().isGM() && !core.terrainService.canBuildAtPosition(actor, actor.getWorldPosition().x, actor.getWorldPosition().z)) - { + public void enterStructureMode(CreatureObject actor, TangibleObject deed) { + if (!actor.getClient().isGM() && !core.terrainService.canBuildAtPosition(actor, actor.getWorldPosition().x, actor.getWorldPosition().z)) { actor.sendSystemMessage("You may not place a structure here.", (byte) 0); // should probably load this from an stf return; } - if(housingTemplates.containsKey(deed.getTemplate())) - { + if (housingTemplates.containsKey(deed.getTemplate())) { HouseTemplate houseTemplate = housingTemplates.get(deed.getTemplate()); EnterStructurePlacementModeMessage packet = new EnterStructurePlacementModeMessage(deed, houseTemplate.getBuildingTemplate()); actor.getClient().getSession().write(packet.serialize()); } } - public void placeStructure(final CreatureObject actor, TangibleObject deed, float positionX, float positionZ, float rotation) - { + public void placeStructure(final CreatureObject actor, TangibleObject deed, float positionX, float positionZ, float rotation) { HouseTemplate houseTemplate = housingTemplates.get(deed.getTemplate()); - Player_House_Deed playerHourseDeed = (Player_House_Deed)core.objectService.getObject(deed.getObjectID()); int structureLotCost = houseTemplate.getLotCost(); String structureTemplate = houseTemplate.getBuildingTemplate(); - if(!houseTemplate.canBePlacedOn(actor.getPlanet().getName())) - { + if (!houseTemplate.canBePlacedOn(actor.getPlanet().getName())) { actor.sendSystemMessage("You may not place this structure on this planet.", (byte) 0); // should probably load this from an stf return; } - if(!actor.getClient().isGM() && !core.terrainService.canBuildAtPosition(actor, positionX, positionZ)) - { + if(!actor.getClient().isGM() && !core.terrainService.canBuildAtPosition(actor, positionX, positionZ)) { actor.sendSystemMessage("You may not place a structure here.", (byte) 0); // should probably load this from an stf return; } // Lot stuff - if(!actor.getPlayerObject().deductLots(structureLotCost)) - { + if (!actor.getPlayerObject().deductLots(structureLotCost)) { actor.sendSystemMessage("You do not have enough available lots to place this structure.", (byte) 0); // should probably load this from an stf return; } @@ -120,10 +127,12 @@ public class HousingService implements INetworkDispatch { TangibleObject sign = (TangibleObject) building.getAttachment("structureSign"); String playerFirstName = actor.getCustomName().split(" ")[0]; - if (sign !=null) + if (sign != null) { sign.setCustomName2(playerFirstName + "'s House"); + } + //building.add(sign); - + core.objectService.destroyObject(deed); // Structure management @@ -133,8 +142,8 @@ public class HousingService implements INetworkDispatch { building.setAttachment("structureOwner", actor.getObjectID()); building.setAttachment("structureAdmins", admins); building.setDeedTemplate(deed.getTemplate()); - building.setBMR(playerHourseDeed.getBMR()); - building.setConditionDamage(100); + building.setMaintenanceAmount(houseTemplate.getBaseMaintenanceRate()); + building.setConditionDamage(100); // Ouch if (structureTemplate.contains("cityhall")){ PlayerCity newCity = core.playerCityService.addNewPlayerCity(actor); @@ -164,39 +173,18 @@ public class HousingService implements INetworkDispatch { } @SuppressWarnings("unchecked") - public boolean getPermissions(SWGObject player, SWGObject container) - { - if(((Vector) container.getContainer().getAttachment("structureAdmins")).contains(player.getObjectID())) return true; - return false; - } + public boolean getPermissions(SWGObject player, SWGObject container) { + if (((Vector) container.getContainer().getAttachment("structureAdmins")).contains(player.getObjectID())) { + return true; + } - public void addHousingTemplate(HouseTemplate houseTemplate) - { - housingTemplates.put(houseTemplate.getDeedTemplate(), houseTemplate); - } - - public void loadHousingTemplates() { - Path p = Paths.get("scripts/houses/"); - FileVisitor fv = new SimpleFileVisitor() - { - @Override - public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException - { - System.out.println("Loading housing template " + file.getFileName()); - core.scriptService.callScript("scripts/houses/", file.getFileName().toString().replace(".py", ""), "setup", core); - return FileVisitResult.CONTINUE; - } - }; - try - { - Files.walkFileTree(p, fv); - } - catch (IOException e) { e.printStackTrace(); } + return false; } public void createDestroySUIPage(final SWGObject owner, final TangibleObject target) { - final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); + final BuildingObject building = (BuildingObject) target.getGrandparent(); + //final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); //final BuildingObject building = (BuildingObject) core.objectService.getObject(target.getParentId()); // harvester.getStfFilename(); installation_n .getTemplate(); @@ -253,7 +241,8 @@ public class HousingService implements INetworkDispatch { public void createCodeWindow(SWGObject owner, TangibleObject target) { - final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); + final BuildingObject building = (BuildingObject) target.getGrandparent(); + //final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); //final BuildingObject building = (BuildingObject)target; Random rnd = new Random(); final int confirmCode = 100000 + rnd.nextInt(900000); @@ -279,26 +268,27 @@ public class HousingService implements INetworkDispatch { if (returnList.get(0).equals(""+confirmCode)){ // handle creation of correct deed in player inventory PlayerObject player = (PlayerObject) crafter.getSlottedObject("ghost"); - String deedTemplate = building.getDeedTemplate(); - - Player_House_Deed deed = (Player_House_Deed)core.objectService.createObject(deedTemplate, owner.getPlanet()); - if(player.getLotsRemaining()+deed.getLotRequirement()>10){ + HouseTemplate houseTemplate = housingTemplates.get(houseToDeed.get(building.getTemplate())); + + TangibleObject deed = (TangibleObject) core.objectService.createObject(houseTemplate.getDeedTemplate(), owner.getPlanet()); + + if (player.getLotsRemaining() + houseTemplate.getLotCost() > 10){ // Something went wrong or hacking attempt crafter.sendSystemMessage("Structure can't be redeeded. Maximum lot count exceeded.",(byte)1); return; } - - deed.setStructureTemplate(building.getTemplate()); - deed.setSurplusMaintenance((int)building.getMaintenanceAmount()); - deed.setAttributes(); + + deed.setIntAttribute("@obj_attr_n:examine_maintenance_rate", houseTemplate.getBaseMaintenanceRate()); + deed.setIntAttribute("@obj_attr_n:examine_maintenance", (int) building.getMaintenanceAmount()); core.objectService.destroyObject(building.getObjectID()); SWGObject ownerInventory = owner.getSlottedObject("inventory"); ownerInventory.add(deed); - if(player.getLotsRemaining()+deed.getLotRequirement()<=10) - player.setLotsRemaining(player.getLotsRemaining()+deed.getLotRequirement()); + if (player.getLotsRemaining() + houseTemplate.getLotCost() <= 10) { + player.setLotsRemaining(player.getLotsRemaining() + houseTemplate.getLotCost()); + } crafter.sendSystemMessage("@player_structure:processing_destruction",(byte)1); crafter.sendSystemMessage("@player_structure:deed_reclaimed",(byte)1); @@ -320,7 +310,8 @@ public class HousingService implements INetworkDispatch { public void createPayMaintenanceSUIPage(SWGObject owner, TangibleObject target) { CreatureObject creature = (CreatureObject) owner; - final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); + final BuildingObject building = (BuildingObject) target.getGrandparent(); + //final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); final SUIWindow window = core.suiService.createSUIWindow("Script.transfer", owner, target, 10); window.setProperty("bg.caption.lblTitle:Text", "@player_structure:select_amount"); window.setProperty("Prompt.lblPrompt:Text", "@player_structure:select_maint_amount" + @@ -398,7 +389,8 @@ public class HousingService implements INetworkDispatch { } public void createStatusSUIPage(SWGObject owner, TangibleObject target) { - final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); + final BuildingObject building = (BuildingObject) target.getGrandparent(); + //final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); String displayname = "@installation_n:"+building.getStfName(); if (building.getCustomName()!=null) displayname = building.getCustomName(); @@ -450,7 +442,8 @@ public class HousingService implements INetworkDispatch { } public void declareResidency(SWGObject owner, TangibleObject target) { - final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); + final BuildingObject building = (BuildingObject) target.getGrandparent(); + //final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); building.setResidency((CreatureObject)owner); PlayerCity cityActorIsIn = core.playerCityService.getCityObjectIsIn(owner); owner.setAttachment("residentCity", cityActorIsIn.getCityID()); @@ -458,7 +451,8 @@ public class HousingService implements INetworkDispatch { } public void handleListAllItems(SWGObject owner, TangibleObject target) { - final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); + final BuildingObject building = (BuildingObject) target.getGrandparent(); + //final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); String displayname = "@installation_n:"+building.getStfName(); if (building.getCustomName()!=null) displayname = building.getCustomName(); @@ -491,15 +485,17 @@ public class HousingService implements INetworkDispatch { } public void handleDeleteAllItems(SWGObject owner, TangibleObject target) { - final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); + final BuildingObject building = (BuildingObject) target.getGrandparent(); + //final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); //building.getItemsList().clear(); // confirmation needed confirmDeleteAllItems(owner, target); } public void confirmDeleteAllItems(SWGObject owner, TangibleObject target) { - - final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); + + final BuildingObject building = (BuildingObject) target.getGrandparent(); + //final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); Random rnd = new Random(); final int confirmCode = 100000 + rnd.nextInt(900000); @@ -570,7 +566,8 @@ public class HousingService implements INetworkDispatch { } public void handleFindLostItems(SWGObject owner, TangibleObject target) { - final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); + final BuildingObject building = (BuildingObject) target.getGrandparent(); + //final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); String displayname = "@installation_n:"+building.getStfName(); if (building.getCustomName()!=null) displayname = building.getCustomName(); @@ -620,7 +617,8 @@ public class HousingService implements INetworkDispatch { core.staticService.spawnObject("object/tangible/terminal/shared_terminal_player_structure.iff", "tatooine", 0L, 3525.0F, 4.0F, -4800.0F, 0.70F, 0.71F); // I assume that childobject does not get a radial somehow - final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); + final BuildingObject building = (BuildingObject) target.getGrandparent(); + //final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); final SUIWindow window = core.suiService.createInputBox(2,"@player_structure:structure_status","@player_structure:structure_name_prompt", owner, target, 0); window.setProperty("bg.caption.lblTitle:Text", "@player_structure:find_items_search_keyword_title"); window.setProperty("Prompt.lblPrompt:Text", "@player_structure:find_items_search_keyword_prompt"); @@ -666,7 +664,8 @@ public class HousingService implements INetworkDispatch { } public void displayFoundItems(SWGObject owner, TangibleObject target, Vector foundItems) { - final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); + final BuildingObject building = (BuildingObject) target.getGrandparent(); + //final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); final SUIWindow window = core.suiService.createSUIWindow("Script.listBox", owner, target, 0); window.setProperty("bg.caption.lblTitle:Text", "@player_structure:find_items_search_keyword_title"); window.setProperty("Prompt.lblPrompt:Text", "@player_structure:find_items_search_list_prompt"); @@ -707,13 +706,15 @@ public class HousingService implements INetworkDispatch { } public void handlePermissionEntry(CreatureObject owner, TangibleObject target) { - final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); + final BuildingObject building = (BuildingObject) target.getGrandparent(); + //final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); String listName = "ENTRY"; building.setPermissionEntry(listName,owner); } public void handlePermissionBan(CreatureObject owner, TangibleObject target) { - final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); + final BuildingObject building = (BuildingObject) target.getGrandparent(); + //final BuildingObject building = (BuildingObject) target.getAttachment("housing_parentstruct"); String listName = "BAN"; building.setPermissionBan(listName,owner); } @@ -754,8 +755,9 @@ public class HousingService implements INetworkDispatch { } public String fetchPrivacyString(TangibleObject object){ - final BuildingObject building = (BuildingObject) object.getAttachment("housing_parentstruct"); - return building.getPrivacyString(); + //final BuildingObject building = (BuildingObject) object.getAttachment("housing_parentstruct"); + //return building.getPrivacyString(); + return ((BuildingObject) object.getGrandparent()).getPrivacyString(); } diff --git a/src/services/mission/MissionObjective.java b/src/services/mission/MissionObjective.java index cb8716fc..df07879a 100644 --- a/src/services/mission/MissionObjective.java +++ b/src/services/mission/MissionObjective.java @@ -22,9 +22,11 @@ package services.mission; import java.io.Serializable; +import main.NGECore; import com.sleepycat.persist.model.Persistent; +import resources.objects.creature.CreatureObject; import resources.objects.mission.MissionObject; @Persistent(version=0) @@ -46,10 +48,10 @@ public abstract class MissionObjective implements Serializable { this.objectivePhase = 0; } - public abstract void activate(); - public abstract void complete(); - public abstract void abort(); - public abstract void update(); + public abstract void activate(NGECore core, CreatureObject player); + public abstract void complete(NGECore core, CreatureObject player); + public abstract void abort(NGECore core, CreatureObject player); + public abstract void update(NGECore core, CreatureObject player); public long getStartTime() { return startTime; } diff --git a/src/services/mission/MissionService.java b/src/services/mission/MissionService.java index 40b5abf0..ce658a23 100644 --- a/src/services/mission/MissionService.java +++ b/src/services/mission/MissionService.java @@ -26,6 +26,7 @@ import java.io.IOException; import java.nio.ByteOrder; import java.util.Map; import java.util.Random; +import java.util.Vector; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; @@ -35,24 +36,30 @@ import main.NGECore; import org.apache.mina.core.buffer.IoBuffer; import org.apache.mina.core.session.IoSession; +import com.sleepycat.je.Transaction; +import com.sleepycat.persist.EntityCursor; + import protocol.swg.ObjControllerMessage; import protocol.swg.objectControllerObjects.MissionAbort; import protocol.swg.objectControllerObjects.MissionAcceptRequest; import protocol.swg.objectControllerObjects.MissionAcceptResponse; import protocol.swg.objectControllerObjects.MissionListRequest; +import resources.common.BountyListItem; import resources.common.SpawnPoint; import resources.common.ObjControllerOpcodes; +import resources.objectives.BountyMissionObjective; import resources.objectives.DeliveryMissionObjective; import resources.objectives.DestroyMissionObjective; import resources.objects.creature.CreatureObject; import resources.objects.mission.MissionObject; +import resources.objects.player.PlayerObject; import resources.objects.tangible.TangibleObject; -import resources.objects.waypoint.WaypointObject; import engine.clientdata.StfTable; import engine.clients.Client; import engine.resources.common.CRC; import engine.resources.common.NameGen; import engine.resources.container.Traverser; +import engine.resources.database.ObjectDatabase; import engine.resources.objects.SWGObject; import engine.resources.scene.Point3D; import engine.resources.service.INetworkDispatch; @@ -63,7 +70,9 @@ public class MissionService implements INetworkDispatch { private NGECore core; private NameGen nameGenerator; // Use a HashMap for obtaining number of entries so we aren't using a visitor all the time. - private ConcurrentHashMap entryCounts = new ConcurrentHashMap(); + private Map entryCounts = new ConcurrentHashMap(); + private Vector bountyList = new Vector(); + private ObjectDatabase bountiesODB; private Random ran = new Random(); public MissionService(NGECore core) { @@ -73,6 +82,10 @@ public class MissionService implements INetworkDispatch { catch (IOException e) { e.printStackTrace(); } loadMissionEntryCounts(); + + bountiesODB = core.getBountiesODB(); + + cleanupBounties(); // delete any characters from the bounties odb if they no longer exist. } @Override @@ -118,7 +131,7 @@ public class MissionService implements INetworkDispatch { if(client == null || client.getSession() == null) return; - SWGObject object = client.getParent(); + CreatureObject object = (CreatureObject) client.getParent(); if(object == null) return; @@ -137,8 +150,12 @@ public class MissionService implements INetworkDispatch { if (terminalType == TerminalType.GENERIC) { handleMissionListRequest(core.objectService.getObject(request.getObjectId()), request.getTickCount(), TerminalType.GENERIC); - } else if (terminalType == TerminalType.BOUNTYHUNTER) { - + } else if (terminalType == TerminalType.BOUNTY) { + if (!object.hasSkill("class_bountyhunter_phase1_novice")) { + object.sendSystemMessage("@mission/mission_generic:not_bounty_hunter_terminal", (byte) 0); + } else { + handleMissionListRequest(core.objectService.getObject(request.getObjectId()), request.getTickCount(), TerminalType.BOUNTY); + } } else if (terminalType == TerminalType.ENTERTAINER) { } else if (terminalType == TerminalType.ARTISAN) { @@ -191,7 +208,7 @@ public class MissionService implements INetworkDispatch { MissionObjective objective = mission.getObjective(); if (objective != null) - objective.abort(); + objective.abort(core, creature); core.objectService.destroyObject(mission.getObjectId()); } @@ -225,7 +242,7 @@ public class MissionService implements INetworkDispatch { missionStrings++; } } - System.out.println("Loaded " + missionStrings + " mission entry counts."); + //System.out.println("Loaded " + missionStrings + " mission entry counts."); } @@ -267,8 +284,9 @@ public class MissionService implements INetworkDispatch { if (type == TerminalType.GENERIC) randomDeliveryMission(player, mission); - else if (type == TerminalType.BOUNTYHUNTER) - randomBountyMission(player, mission); + else if (type == TerminalType.BOUNTY) + //randomBountyMission(player, mission); + return; else if (type == TerminalType.ARTISAN) return; @@ -282,9 +300,9 @@ public class MissionService implements INetworkDispatch { } else if (typeTwoCount.get() < 4) { if (type == TerminalType.GENERIC) - randomDestroyMission(player, mission); + return; - else if (type == TerminalType.BOUNTYHUNTER) + else if (type == TerminalType.BOUNTY) return; else if (type == TerminalType.ARTISAN) @@ -293,8 +311,8 @@ public class MissionService implements INetworkDispatch { else return; - mission.setRepeatCount(requestCounter); - typeTwoCount.incrementAndGet(); + //mission.setRepeatCount(requestCounter); + //typeTwoCount.incrementAndGet(); } } }); @@ -338,7 +356,11 @@ public class MissionService implements INetworkDispatch { return true; } - private void createMissionObjective(CreatureObject creature, MissionObject mission) { + private MissionObjective createMissionObjective(CreatureObject creature, MissionObject mission) { + return createMissionObjective(creature, mission, false); + } + + private MissionObjective createMissionObjective(CreatureObject creature, MissionObject mission, boolean silent) { switch(mission.getMissionType()) { case "deliver": @@ -346,18 +368,32 @@ public class MissionService implements INetworkDispatch { mission.setObjective(deliveryObjective); - deliveryObjective.activate(); - break; + if (!silent) + deliveryObjective.activate(core, creature); + + return deliveryObjective; case "destroy": DestroyMissionObjective destroyObjective = new DestroyMissionObjective(mission); mission.setObjective(destroyObjective); - destroyObjective.activate(); - break; + if (!silent) + destroyObjective.activate(core, creature); + + return destroyObjective; + + case "bounty": + BountyMissionObjective bountyObjective = new BountyMissionObjective(mission); + + mission.setObjective(bountyObjective); + + if (!silent) + bountyObjective.activate(core, creature); + + return bountyObjective; default: - break; + return null; } } @@ -387,33 +423,172 @@ public class MissionService implements INetworkDispatch { mission.setMissionTemplateObject(CRC.StringtoCRC("object/tangible/mission/shared_mission_datadisk.iff")); mission.setMissionTargetName("Datadisk"); - - WaypointObject waypoint = (WaypointObject) core.objectService.createObject("object/waypoint/shared_waypoint.iff", player.getPlanet()); - if (waypoint == null) - return; - - waypoint.setColor(WaypointObject.ORANGE); - - } - - private void randomDestroyMission(SWGObject player, MissionObject mission) { - } private void randomBountyMission(SWGObject player, MissionObject mission) { + BountyListItem bountyTarget = null; + if (bountyList.size() > 0) { + boolean gotBounty = false; + while (!gotBounty) { + bountyTarget = getRandomBounty(); + + if (bountyTarget == null || bountyTarget.getAssignedHunters().size() >= 3 || bountyTarget.getCreditReward() < 20000) + continue; + else + gotBounty = true; + } + } + + if (bountyTarget == null) + return; + + mission.setMissionType("bounty"); + + String missionStf = "mission/mission_bounty_jedi"; + + if (!bountyTarget.getProfession().equals("")) { // TODO: Smuggler mission checks. + if (bountyTarget.getFaction().equals("neutral")) { + mission.setMissionTargetName("@mission/mission_bounty_jedi:neutral_jedi"); + mission.setMissionId(3); + } + else if (bountyTarget.getFaction().equals("rebel")) { + mission.setMissionTargetName("@mission/mission_bounty_jedi:rebel_jedi"); + mission.setMissionId(2); + } + else if (bountyTarget.getFaction().equals("imperial")) { + mission.setMissionTargetName("@mission/mission_bounty_jedi:imperial_jedi"); + mission.setMissionId(1); + } + mission.setMissionTitle(missionStf); + mission.setMissionDescription(missionStf); + } else { + // TODO: Dead code, but place-holder for implementation of smuggler missions. + if (bountyTarget.getFaction().equals("neutral")) { + mission.setMissionId(3); + } + else if (bountyTarget.getFaction().equals("rebel")) { + mission.setMissionId(2); + } + else if (bountyTarget.getFaction().equals("imperial")) { + mission.setMissionId(1); + } + mission.setMissionTitle(missionStf, "s"); + mission.setMissionDescription(missionStf, "s"); + } + + mission.setMissionLevel(90); + + mission.setCreditReward(bountyTarget.getCreditReward()); + + mission.setMissionTemplateObject(CRC.StringtoCRC("object/tangible/mission/shared_mission_bounty_jedi_target.iff")); + + mission.setBountyObjId(bountyTarget.getObjectId()); } public enum TerminalType {; public static final int GENERIC = 1; - public static final int BOUNTYHUNTER = 2; + public static final int BOUNTY = 2; public static final int ENTERTAINER = 3; public static final int ARTISAN = 4; public static final int EXPLORER = 5; } + public Vector getBountyList() { + return this.bountyList; + } + + public BountyListItem getRandomBounty() { + int bountyListId = ran.nextInt(bountyList.size()); + + return bountyList.get(bountyListId); + } + + public BountyListItem getBountyListItem(long objectId) { + Vector bounties = bountyList; + for (BountyListItem bounty : bounties) { + if (bounty.getObjectId() == objectId) + return bounty; + } + return null; + } + + public BountyListItem createNewBounty(CreatureObject bountyTarget, long placer, int reward) { + PlayerObject player = (PlayerObject) bountyTarget.getSlottedObject("ghost"); + if (player == null) + return null; + + if (getBountyListItem(bountyTarget.getObjectId()) != null) + return null; + + BountyListItem bounty = new BountyListItem(bountyTarget.getObjectId(), reward, core.playerService.getFormalProfessionName(player.getProfession()), bountyTarget.getFaction(), bountyTarget.getCustomName()); + + if (placer != 0) + bounty.getBountyPlacers().add(placer); + + Transaction txn = bountiesODB.getEnvironment().beginTransaction(null, null); + bountiesODB.put(bounty, Long.class, BountyListItem.class, txn); + txn.commitSync(); + + bountyList.add(bounty); + + //System.out.println("Created bounty of " + reward + " to " + bounty.getName()); + return bounty; + } + + public boolean addToExistingBounty(CreatureObject bountyTarget, long placer, int amountToAdd) { + + BountyListItem bounty = getBountyListItem(bountyTarget.getObjectId()); + + if (bounty == null) + return false; + + bounty.addBounty(amountToAdd); + + if (placer != 0) + bounty.getBountyPlacers().add(placer); + + Transaction txn = bountiesODB.getEnvironment().beginTransaction(null, null); + bountiesODB.put(bounty, Long.class, BountyListItem.class, txn); + txn.commitSync(); + + //System.out.println("Added bounty of " + amountToAdd + " to " + bounty.getName()); + return true; + } + + public boolean removeBounty(CreatureObject bountyTarget, boolean listRemove) { + Transaction txn = bountiesODB.getEnvironment().beginTransaction(null, null); + + if (listRemove) + bountyList.remove(bountiesODB.get(bountyTarget.getObjectId(), Long.class, BountyListItem.class)); + + bountiesODB.delete(bountyTarget.getObjectId(), Long.class, BountyListItem.class, txn); + txn.commitSync(); + return true; + } + + public boolean removeBounty(CreatureObject bountyTarget) { + return removeBounty(bountyTarget, true); + } + + private void cleanupBounties() { + AtomicInteger bountyCount = new AtomicInteger(); + Transaction txn = bountiesODB.getEnvironment().beginTransaction(null, null); + EntityCursor bountyCursor = bountiesODB.getEntityStore().getPrimaryIndex(Long.class, BountyListItem.class).entities(txn, null); + bountyCursor.forEach(bounty -> { + if (!core.characterService.playerExists(bounty.getObjectId())) { + bountyCursor.delete(); + bountyCount.getAndIncrement(); + } + }); + bountyCursor.close(); + txn.commitSync(); + + if (bountyCount.get() != 0) + System.out.println("Removed " + bountyCount.get() + " bounties."); + } + @Override public void shutdown() { - } } diff --git a/src/services/object/ObjectService.java b/src/services/object/ObjectService.java index fab11e04..12b3bac4 100644 --- a/src/services/object/ObjectService.java +++ b/src/services/object/ObjectService.java @@ -116,8 +116,6 @@ import resources.objects.resource.GalacticResource; import resources.objects.resource.ResourceContainerObject; import resources.objects.resource.ResourceRoot; import resources.objects.staticobject.StaticObject; -import resources.objects.tangible.Harvester_Deed; -import resources.objects.tangible.Player_House_Deed; import resources.objects.tangible.TangibleObject; import resources.objects.tool.SurveyTool; import resources.objects.waypoint.WaypointObject; @@ -220,7 +218,9 @@ public class ObjectService implements INetworkDispatch { } catch (InstantiationException | IllegalAccessException e) { e.printStackTrace(); } + boolean isSnapshot = false; + if(objectID == 0) objectID = generateObjectID(); else @@ -238,15 +238,7 @@ public class ObjectService implements INetworkDispatch { object = new SurveyTool(objectID, planet, Template, position, orientation); - } else if(Template.startsWith("object/tangible/deed/harvester_deed") || Template.startsWith("object/tangible/deed/generator_deed")) { - - object = new Harvester_Deed(objectID, planet, Template, position, orientation); - - } else if(Template.startsWith("object/tangible/deed/player_house_deed") || Template.startsWith("object/tangible/deed/guild_deed") || Template.startsWith("object/tangible/deed/city_deed") || Template.startsWith("object/tangible/tcg/series3/shared_structure_deed_sith_meditation_room_deed.iff") || Template.startsWith("object/tangible/tcg/series5/shared_structure_deed_player_house_atat.iff") || Template.startsWith("object/tangible/tcg/series5/shared_structure_deed_player_house_hangar.iff") || Template.startsWith("object/tangible/tcg/series3/shared_structure_deed_jedi_meditation_room_deed.iff") || Template.startsWith("object/tangible/saga_system/rewards/shared_structure_deed_player_house_sandcrawler.iff")) { - - object = new Player_House_Deed(objectID, planet, Template, position, orientation); - - } + } // else if(Template.startsWith("object/tangible/container/drum/shared_treasure_drum.iff")) { // // object = new CreatureObject(objectID, planet, position, orientation, Template); @@ -343,17 +335,8 @@ public class ObjectService implements INetworkDispatch { object.setAttachment("customServerTemplate", customServerTemplate); object.setisInSnapshot(isSnapshot); - if(!core.getObjectIdODB().contains(objectID)) { + if(!core.getObjectIdODB().contains(objectID)) core.getObjectIdODB().put(objectID, new ObjectId(objectID)); - } - if(loadServerTemplate) - loadServerTemplate(object); - else { - final SWGObject pointer = object; - loadServerTemplateTasks.add(() -> loadServerTemplate(pointer)); - } - - objectList.put(objectID, object); // Set Options - easier to set them across the board here // because we'll be spawning them despite most of them being unscripted. @@ -389,6 +372,15 @@ public class ObjectService implements INetworkDispatch { } } + if(loadServerTemplate) + loadServerTemplate(object); + else { + final SWGObject pointer = object; + loadServerTemplateTasks.add(() -> loadServerTemplate(pointer)); + } + + objectList.put(objectID, object); + return object; } @@ -630,11 +622,31 @@ public class ObjectService implements INetworkDispatch { } + public long getDOId(String planet, String template, int type, long containerId, int cellNumber, float x1, float y, float z1) { + SWGObject container = getObject(containerId); + float x = ((container == null) ? x1 : container.getPosition().x + x1); + float z = ((container == null) ? z1 : container.getPosition().z + z1); + String key = "" + CRC.StringtoCRC(planet) + CRC.StringtoCRC(template) + type + containerId + cellNumber + x + y + z; + + long objectId = 0; + + if (core.getDuplicateIdODB().contains(key)) { + objectId = ((DuplicateId) core.getDuplicateIdODB().get(key)).getObjectId(); + } else { + objectId = generateObjectID(); + core.getDuplicateIdODB().put(key, new DuplicateId(key, objectId)); + } + + return objectId; + } + public void useObject(CreatureObject creature, SWGObject object) { if (creature == null || object == null) { return; } + creature.setUseTarget(object); + int reuse_time; try { @@ -884,6 +896,10 @@ public class ObjectService implements INetworkDispatch { if(!core.getConfig().getString("MOTD").equals("")) creature.sendSystemMessage(core.getConfig().getString("MOTD"), (byte) 2); + BountyListItem bounty = (BountyListItem) core.getBountiesODB().get(creature.getObjectId()); + if (bounty != null) + core.missionService.getBountyList().add(bounty); + core.playerService.postZoneIn(creature); } @@ -1068,11 +1084,14 @@ public class ObjectService implements INetworkDispatch { if (duplicate.containsKey(containerId)) { containerId = duplicate.get(containerId); } + String planetName = planet.getName(); + + // TODO needs to a way to work for mustafar and kashyyyk which both have instances if (objectId != 0 && getObject(objectId) != null && (planetName.contains("dungeon") || planetName.contains("adventure"))) { SWGObject container = getObject(containerId); - int x = ((int) (px + ((container == null) ? x1 : container.getPosition().x))); - int z = ((int) (pz + ((container == null) ? z1 : container.getPosition().z))); + float x = (px + ((container == null) ? x1 : container.getPosition().x)); + float z = (pz + ((container == null) ? z1 : container.getPosition().z)); String key = "" + CRC.StringtoCRC(planet.getName()) + CRC.StringtoCRC(template) + type + containerId + cellIndex + x + py + z; long newObjectId = 0; diff --git a/src/services/playercities/PlayerCity.java b/src/services/playercities/PlayerCity.java index 1f8e9c70..066c015e 100644 --- a/src/services/playercities/PlayerCity.java +++ b/src/services/playercities/PlayerCity.java @@ -44,8 +44,9 @@ import engine.resources.scene.Point3D; public class PlayerCity implements Serializable { private static final long serialVersionUID = 1L; - + public static final int DESERTED = 0; + public static final int NEWCITY = 0; public static final int OUTPOST = 1; public static final int VILLAGE = 2; public static final int TOWNSHIP = 3; @@ -109,8 +110,11 @@ public class PlayerCity implements Serializable { private boolean registered = false; private boolean zoningEnabled = false; - private final long cityUpdateSpan = 7*86400*1000; - private final long legislationPeriod = 21*86400*1000; + //private final long cityUpdateSpan = 7*86400*1000; + private final long cityUpdateSpan = 100*1000; + + //private final long legislationPeriod = 21*86400*1000; + private final long legislationPeriod = 100*1000; private Vector placedStructures = new Vector(); private Vector citizens = new Vector(); @@ -132,6 +136,7 @@ public class PlayerCity implements Serializable { setNextElectionDate(foundationTime+legislationPeriod); citizens.add(founder.getObjectID()); this.cityID = cityID; + setMayorID(founder.getObjectID()); } public void handleGrantZoning() { @@ -159,36 +164,67 @@ public class PlayerCity implements Serializable { public void processCityUpdate() { // has something changed? System.out.println("processCityUpdate"); - int censusResult = citizens.size(); - // ToDo: Consider 1 rank per update changes - if (censusResult<5){ - setRank(DESERTED); // City is technically not a city anymore - setCityRadius(0); - } + int censusResult = citizens.size(); + int currentRank = getRank(); - if (censusResult>=5 && censusResult<10){ - setRank(OUTPOST); - setCityRadius(150); - } + switch (currentRank) { + case NEWCITY : if (censusResult>=5){ + setRank(++currentRank); // Expand to Outpost + sendCityExpandMailAll(); + } + + if (censusResult<5){ + // kill city + } + break; + + case OUTPOST : if (censusResult>=10){ + setRank(++currentRank); // Expand to Village + sendCityExpandMailAll(); + } + if (censusResult<5){ + setRank(--currentRank); // Contract to Deserted + sendCityContractMailAll(); + } + break; + + case VILLAGE : if (censusResult>=15){ + setRank(++currentRank); // Expand to Township + sendCityExpandMailAll(); + } + if (censusResult<10){ + setRank(--currentRank); // Contract to Outpost + sendCityContractMailAll(); + } + break; + + case TOWNSHIP : if (censusResult>=30){ + setRank(++currentRank); // Expand to City + sendCityExpandMailAll(); + } + if (censusResult<15){ + setRank(--currentRank); // Contract to Village + sendCityContractMailAll(); + } + break; + + case CITY : if (censusResult>=40){ + setRank(++currentRank); // Expand to Metropolis + sendCityExpandMailAll(); + } + if (censusResult<15){ + setRank(--currentRank); // Contract to Township + sendCityContractMailAll(); + } + break; + + case METROPOLIS : if (censusResult<40){ + setRank(--currentRank); // Contract to City + sendCityContractMailAll(); + } + break; + - if (censusResult>=10 && censusResult<15){ - setRank(VILLAGE); - setCityRadius(200); - } - - if (censusResult>=15 && censusResult<30){ - setRank(TOWNSHIP); - setCityRadius(300); - } - - if (censusResult>=30 && censusResult<40){ - setRank(CITY); - setCityRadius(400); - } - - if (censusResult>=40){ - setRank(METROPOLIS); - setCityRadius(450); } // collect taxes @@ -215,6 +251,10 @@ public class PlayerCity implements Serializable { setNextCityUpdate(System.currentTimeMillis()+cityUpdateSpan); } + public void cityFixUp(){ + + } + public void demolishHighRankStructures() { // Check if there are any structures in the city // that require a higher rank than the current one @@ -266,8 +306,10 @@ public class PlayerCity implements Serializable { if (citizenList.contains(founderId) && (long)citizenObject.getAttachment("residentCity")==this.getCityID()) founderCitizenCount++; } - if (founderCitizenCount==founders.size()) - return true; // All founders are citizens now + if (founderCitizenCount==founders.size()){ + return true; // All founders are citizens now + + } return false; } @@ -478,6 +520,7 @@ public class PlayerCity implements Serializable { public void setCityName(String cityName) { this.cityName = cityName; sendNameChangeMail(cityName); + return; } public int getCityID() { @@ -551,6 +594,20 @@ public class PlayerCity implements Serializable { public void setZoningEnabled(boolean zoningEnabled) { this.zoningEnabled = zoningEnabled; } + + public boolean isMilitiaMember(long actor){ + if (getMilitiaList().contains(actor)) + return true; + + return false; + } + + public boolean hasCitizen(long actor){ + if (getCitizens().contains(actor)) + return true; + + return false; + } public static String[] getSpecialisationSTFNames() { return specialisationSTFNames; @@ -698,5 +755,95 @@ public class PlayerCity implements Serializable { } } + + public void sendCityExpandMailAll() { + Vector citizenList = getCitizens(); + for (long citizen : citizenList){ + CreatureObject citizenObject = (CreatureObject) NGECore.getInstance().objectService.getObject(citizen); + Mail actorMail = new Mail(); + actorMail.setMailId(NGECore.getInstance().chatService.generateMailId()); + actorMail.setRecieverId(citizen); + actorMail.setStatus(Mail.NEW); + actorMail.setTimeStamp((int) (new Date().getTime() / 1000)); + actorMail.setMessage("@city/city:city_expand_body"); + actorMail.setSubject("@city/city:city_expand_subject"); + actorMail.setSenderName("City " + this.cityName); + + List attachments = new ArrayList(); + WaypointObject constructionWaypoint = (WaypointObject)NGECore.getInstance().objectService.createObject("object/waypoint/shared_world_waypoint_blue.iff", citizenObject.getPlanet(), citizenObject.getPosition().x, 0 ,citizenObject.getPosition().z); + WaypointAttachment attachment = new WaypointAttachment(); + attachment.active = false; + attachment.cellID = constructionWaypoint.getCellId(); + attachment.color = (byte)1; + attachment.name = "City"; + attachment.planetCRC = engine.resources.common.CRC.StringtoCRC(citizenObject.getPlanet().getName()); + attachment.positionX = citizenObject.getPosition().x; + attachment.positionY = 0; + attachment.positionZ = citizenObject.getPosition().z; + attachments.add(attachment); + actorMail.setAttachments(attachments); + + NGECore.getInstance().chatService.storePersistentMessage(actorMail); + + } + } + + public void sendCityContractMailAll() { + + Vector citizenList = getCitizens(); + for (long citizen : citizenList){ + CreatureObject citizenObject = (CreatureObject) NGECore.getInstance().objectService.getObject(citizen); + Mail actorMail = new Mail(); + actorMail.setMailId(NGECore.getInstance().chatService.generateMailId()); + actorMail.setRecieverId(citizen); + actorMail.setStatus(Mail.NEW); + actorMail.setTimeStamp((int) (new Date().getTime() / 1000)); + actorMail.setMessage("@city/city:city_contract_body"); + actorMail.setSubject("@city/city:city_contract_subject"); + actorMail.setSenderName("City " + this.cityName); + + List attachments = new ArrayList(); + WaypointObject constructionWaypoint = (WaypointObject)NGECore.getInstance().objectService.createObject("object/waypoint/shared_world_waypoint_blue.iff", citizenObject.getPlanet(), citizenObject.getPosition().x, 0 ,citizenObject.getPosition().z); + WaypointAttachment attachment = new WaypointAttachment(); + attachment.active = false; + attachment.cellID = constructionWaypoint.getCellId(); + attachment.color = (byte)1; + attachment.name = "City"; + attachment.planetCRC = engine.resources.common.CRC.StringtoCRC(citizenObject.getPlanet().getName()); + attachment.positionX = citizenObject.getPosition().x; + attachment.positionY = 0; + attachment.positionZ = citizenObject.getPosition().z; + attachments.add(attachment); + actorMail.setAttachments(attachments); + + NGECore.getInstance().chatService.storePersistentMessage(actorMail); + } + } + + + + + // Test method to be deleted later + public void Add10MoreCitizens() { + synchronized(citizens){ + for (int i=0;i<10;i++){ + this.citizens.add(this.getMayorID()); + } + + } + } + + + // Test method to be deleted later + public void Deduct10Citizens() { + int citizenCount = this.getCitizens().size(); + synchronized(citizens){ + this.citizens.clear(); + + for (int i=0;i playerCities = new Vector(); private int cityID = 0; // This must be persisted or handled via objectservice somehow + // static helper variable to be deleted later + public static boolean sandboxCityBuilt = false; + public PlayerCityService(NGECore core) { this.core = core; @@ -95,7 +103,8 @@ public class PlayerCityService implements INetworkDispatch { synchronized(playerCities){ for (PlayerCity city : playerCities){ int radius = city.getCityRadius(); - if (object.getPosition().getDistance2D(city.getCityCenterPosition()) returnList = new Vector(); + returnList.add("txtInput:LocalText"); + window.addHandler(0, "", Trigger.TRIGGER_OK, returnList, new SUICallback() { + @Override + public void process(SWGObject owner, int eventType, Vector returnList) { + if (returnList.size()==0) + return; + PlayerCity playerCity = main.NGECore.getInstance().playerCityService.getPlayerCity((CreatureObject) owner); + playerCity.setCityName(returnList.get(0)); + //owner.sendSystemMessage("@city/city:name_changed", 0); + core.suiService.closeSUIWindow(owner, 0); + newCitySUI2((CreatureObject) owner, playerCity); + } + }); + core.suiService.openSUIWindow(window); + } + + public void newCitySUI2(CreatureObject citizen, final PlayerCity newCity) { final SUIWindow window = core.suiService.createSUIWindow("Script.messageBox", citizen, citizen, 0); window.setProperty("bg.caption.lblTitle:Text", "@city/city:rank0"); window.setProperty("Prompt.lblPrompt:Text", "@city/city:new_city_body"); @@ -135,6 +164,99 @@ public class PlayerCityService implements INetworkDispatch { }); core.suiService.openSUIWindow(window); } + + + // Test method to be deleted later + public void buildSandboxTestCity(CreatureObject founder) { + + if (sandboxCityBuilt) + return; + + float positionX = 2170.0F; + float positionY = 1.0F; + float positionZ = -4659.0F; + + String structureTemplate = "object/building/player/city/shared_cityhall_tatooine.iff"; + + BuildingObject cityHall = (BuildingObject) core.objectService.createObject(structureTemplate, 0, founder.getPlanet(), new Point3D(positionX, positionY, positionZ), founder.getOrientation()); + core.simulationService.add(cityHall, cityHall.getPosition().x, cityHall.getPosition().z, true); + + SWGObject sign = core.objectService.createChildObject((SWGObject)cityHall, "object/tangible/sign/player/shared_house_address.iff", -7.39F, 2.36F, 2, -1, 0, -1); + cityHall.setAttachment("structureSign", sign); + + PlayerCity sandboxCity = null; + synchronized(playerCities){ + sandboxCity = new PlayerCity(founder,cityID++); + sandboxCity.setCityName("Sandbox City"); + playerCities.add(sandboxCity); + } + + cityHall.setAttachment("structureCity", sandboxCity.getCityID()); + founder.setAttachment("residentCity", sandboxCity.getCityID()); + // Name the sign +// TangibleObject sign = (TangibleObject) cityHall.getAttachment("structureSign"); +// String playerFirstName = founder.getCustomName().split(" ")[0]; +// +// if (sign !=null) +// sign.setCustomName2(playerFirstName + "'s House"); + + + + // Structure management + Vector admins = new Vector<>(); + admins.add(founder.getObjectID()); + + cityHall.setAttachment("structureOwner", founder.getObjectID()); + cityHall.setAttachment("structureAdmins", admins); + cityHall.setDeedTemplate("object/tangible/deed/city_deed/shared_cityhall_tatooine_deed.iff"); + cityHall.setBMR(325); + cityHall.setConditionDamage(100); + + + positionY = core.terrainService.getHeight(founder.getPlanetId(), positionX, positionZ); + founder.setPosition(new Point3D(positionX,positionY,positionZ+50)); + core.simulationService.teleport(founder, new Point3D(positionX,positionY,positionZ+50), founder.getOrientation(), 0); + + TangibleObject swoopDeed = (TangibleObject) core.objectService.createObject("object/tangible/deed/vehicle_deed/shared_speederbike_swoop_deed.iff", founder.getPlanet()); + SWGObject inventory = founder.getSlottedObject("inventory"); + inventory.add(swoopDeed); + + TangibleObject shuttleportDeed = (TangibleObject) core.objectService.createObject("object/tangible/deed/city_deed/shared_shuttleport_tatooine_deed.iff", founder.getPlanet()); + inventory.add(shuttleportDeed); + + TangibleObject garden1 = (TangibleObject) core.objectService.createObject("object/tangible/deed/city_deed/shared_garden_tatooine_sml_01_deed.iff", founder.getPlanet()); + inventory.add(garden1); + + + //structureTemplate = "object/building/player/city/shared_shuttleport_tatooine.iff"; + structureTemplate = "object/building/tatooine/shared_shuttleport_tatooine.iff"; + positionX = 2170.0F; + positionY = 1.0F; + positionZ = -4559.0F; + positionY = core.terrainService.getHeight(founder.getPlanetId(), positionX, positionZ); + + //StructureObject shuttlePort = (StructureObject) core.objectService.createObject(structureTemplate, 0, founder.getPlanet(), new Point3D(positionX, positionY, positionZ), founder.getOrientation()); + //BuildingObject shuttlePort = (BuildingObject) core.objectService.createObject(structureTemplate, 0, founder.getPlanet(), new Point3D(positionX, positionY, positionZ), founder.getOrientation()); + //shuttlePort.setAttachment("cellsSorted", new Boolean(true)); + //"bigSpawnRange" + + //core.simulationService.add(shuttlePort, shuttlePort.getPosition().x, shuttlePort.getPosition().z, true); +// sign = core.objectService.createChildObject((SWGObject)shuttlePort, "object/tangible/sign/player/shared_house_address.iff", -7.39F, 2.36F, 2, -1, 0, -1); +// shuttlePort.setAttachment("structureSign", sign); + + // Structure management + admins = new Vector<>(); + admins.add(founder.getObjectID()); + +// shuttlePort.setAttachment("structureOwner", founder.getObjectID()); +// shuttlePort.setAttachment("structureAdmins", admins); +// shuttlePort.setDeedTemplate("object/tangible/deed/city_deed/shared_cityhall_tatooine_deed.iff"); +// shuttlePort.setBMR(12); +// shuttlePort.setConditionDamage(100); + + sandboxCityBuilt = true; + } + @Override public void insertOpcodes(Map arg0, diff --git a/src/services/resources/HarvesterService.java b/src/services/resources/HarvesterService.java index 21d9b5c5..151a6d67 100644 --- a/src/services/resources/HarvesterService.java +++ b/src/services/resources/HarvesterService.java @@ -61,7 +61,6 @@ import resources.objects.player.PlayerObject; import resources.objects.resource.GalacticResource; import resources.objects.resource.ResourceContainerObject; import resources.objects.resource.ResourceRoot; -import resources.objects.tangible.Harvester_Deed; import resources.objects.tangible.TangibleObject; import resources.objects.waypoint.WaypointObject; import services.chat.Mail; @@ -83,7 +82,7 @@ public class HarvesterService implements INetworkDispatch { private Vector allConstructors = new Vector(); public HarvesterService(NGECore core) { - this.core = core; + this.core = core; //core.commandService.registerCommand("permissionlistmodify"); //core.commandService.registerCommand("harvesterselectresource"); //core.commandService.registerCommand("harvesteractivate"); @@ -439,19 +438,26 @@ public class HarvesterService implements INetworkDispatch { // handle creation of correct deed in player inventory PlayerObject player = (PlayerObject) crafter.getSlottedObject("ghost"); String deedTemplate = harvester.getDeedTemplate(); - Harvester_Deed deed = (Harvester_Deed)core.objectService.createObject(deedTemplate, owner.getPlanet()); - if(player.getLotsRemaining()+deed.getLotRequirement()>10){ + TangibleObject deed = (TangibleObject) core.objectService.createObject(deedTemplate, owner.getPlanet()); + + if (player.getLotsRemaining() + (Integer) deed.getAttachment("LotRequirement") > 10) { // Something went wrong or hacking attempt crafter.sendSystemMessage("Structure can't be redeeded. Maximum lot count exceeded.",(byte)1); return; } - deed.setStructureTemplate(harvester.getTemplate()); - deed.setOutputHopperCapacity(harvester.getOutputHopperCapacity()); - deed.setBER(harvester.getBER()); - deed.setSurplusMaintenance((int)harvester.getMaintenanceAmount()); - deed.setSurplusPower((int)harvester.getPowerLevel()); - deed.setAttributes(); + deed.setAttachment("StructureTemplate", harvester.getTemplate()); + + if (harvester.getMaintenanceAmount() > 0) { + deed.setIntAttribute("examine_maintenance", (int) harvester.getMaintenanceAmount()); + } + + if (harvester.getPowerLevel() > 0) { + deed.setIntAttribute("examine_power", (int) harvester.getPowerLevel()); + } + + deed.setIntAttribute("examine_hoppersize", harvester.getOutputHopperCapacity()); + deed.setIntAttribute("examine_extractionrate", harvester.getBER()); removeHarvester(harvester); core.objectService.destroyObject(harvester.getObjectID()); @@ -459,8 +465,9 @@ public class HarvesterService implements INetworkDispatch { SWGObject crafterInventory = owner.getSlottedObject("inventory"); crafterInventory.add(deed); - if(player.getLotsRemaining()+deed.getLotRequirement()<=10) - player.setLotsRemaining(player.getLotsRemaining()+deed.getLotRequirement()); + if (player.getLotsRemaining() + (Integer) deed.getAttachment("LotRequirement") <= 10) { + player.setLotsRemaining(player.getLotsRemaining() + (Integer) deed.getAttachment("LotRequirement")); + } crafter.sendSystemMessage("@player_structure:processing_destruction",(byte)1); crafter.sendSystemMessage("@player_structure:deed_reclaimed",(byte)1); @@ -651,7 +658,7 @@ public class HarvesterService implements INetworkDispatch { } return 0; } - } + } public void handlePermissionAdmin(CreatureObject owner, TangibleObject target) { @@ -927,11 +934,9 @@ public class HarvesterService implements INetworkDispatch { return container; } - - public void constructionSite(CreatureObject actor,SWGObject target, long objectId, float posX, float posZ, float dir){ - - SWGObject usedDeed = (SWGObject)actor.getAttachment("LastUsedDeed"); - String constructorTemplate = ((Harvester_Deed)usedDeed).getConstructorTemplate(); + public void constructionSite(CreatureObject actor, SWGObject target, long objectId, float posX, float posZ, float dir){ + SWGObject usedDeed = actor.getUseTarget(); //(SWGObject)actor.getAttachment("LastUsedDeed"); + String constructorTemplate = (String) usedDeed.getAttachment("ConstructorTemplate"); //String structureTemplate = "object/installation/mining_ore/construction/shared_construction_mining_ore_harvester_style_1.iff"; float positionY = core.terrainService.getHeight(actor.getPlanetId(), posX, posZ) + 2f; @@ -939,33 +944,47 @@ public class HarvesterService implements INetworkDispatch { quaternion = resources.common.MathUtilities.rotateQuaternion(quaternion, (float)((Math.PI/2) * dir), new Point3D(0, 1, 0)); InstallationObject installation = (InstallationObject) core.objectService.createObject(constructorTemplate, 0, actor.getPlanet(), new Point3D(posX, positionY, posZ), quaternion); + if (!usedDeed.getAttributes().containsKey("examine_extractionrate")) { + usedDeed.setIntAttribute("examine_extractionrate", 0); + } + + if (!usedDeed.getAttributes().containsKey("examine_hoppersize")) { + usedDeed.setIntAttribute("examine_hoppersize", 0); + } + + if (!usedDeed.getAttributes().containsKey("examine_maintenance")) { + usedDeed.setIntAttribute("examine_maintenance", 0); + } + + if (!usedDeed.getAttributes().containsKey("examine_power")) { + usedDeed.setIntAttribute("examine_power", 0); + } installation.setAttachment("ConstructionStart", System.currentTimeMillis()); - installation.setAttachment("Owner", actor); - installation.setAttachment("Deed_StructureTemplate", ((Harvester_Deed)usedDeed).getStructureTemplate()); - installation.setAttachment("Deed_DeedTemplate", ((Harvester_Deed)usedDeed).getTemplate()); - installation.setAttachment("Deed_BER", ((Harvester_Deed)usedDeed).getBER()); - installation.setAttachment("Deed_Capacity", ((Harvester_Deed)usedDeed).getOutputHopperCapacity()); - installation.setAttachment("Deed_DeedLots", ((Harvester_Deed)usedDeed).getLotRequirement()); - installation.setAttachment("Deed_SurplusMaintenance", ((Harvester_Deed)usedDeed).getSurplusMaintenance()); - installation.setAttachment("Deed_SurplusPower", ((Harvester_Deed)usedDeed).getSurplusPower()); + installation.setAttachment("ownerId", actor.getObjectID()); + installation.setAttachment("StructureTemplate", usedDeed.getAttachment("StructureTemplate")); + installation.setAttachment("Deed_DeedTemplate", usedDeed.getTemplate()); + installation.setAttachment("Deed_BER", usedDeed.getIntAttribute("examine_extractionrate")); + installation.setAttachment("Deed_Capacity", usedDeed.getIntAttribute("examine_hoppersize")); + installation.setAttachment("Deed_DeedLots", usedDeed.getAttachment("LotRequirement")); + installation.setAttachment("Deed_SurplusMaintenance", usedDeed.getIntAttribute("examine_maintenance")); + installation.setAttachment("Deed_SurplusPower", usedDeed.getIntAttribute("examine_power")); // destroy deed - TangibleObject playerInventory = (TangibleObject) actor.getSlottedObject("inventory"); - playerInventory.remove(usedDeed); + core.objectService.destroyObject(usedDeed); core.simulationService.add(installation, posX, posZ, true); PlayerObject player = (PlayerObject) actor.getSlottedObject("ghost"); - player.setLotsRemaining(player.getLotsRemaining()-(int)((Harvester_Deed)usedDeed).getLotRequirement()); + player.setLotsRemaining(player.getLotsRemaining() - (int) usedDeed.getAttachment("LotRequirement")); synchronized(allConstructors){ allConstructors.add(installation); } } public void placeHarvester(SWGObject object) { - CreatureObject actor = (CreatureObject) object.getAttachment("Owner"); - String structureTemplate = (String)object.getAttachment("Deed_StructureTemplate"); + CreatureObject actor = (CreatureObject) NGECore.getInstance().objectService.getObject((Long) object.getAttachment("ownerId")); + String structureTemplate = (String) object.getAttachment("StructureTemplate"); HarvesterObject harvester = (HarvesterObject) NGECore.getInstance().objectService.createObject(structureTemplate, actor.getPlanet()); long objectId = harvester.getObjectID(); Vector adminList = harvester.getAdminList(); @@ -1039,7 +1058,7 @@ public class HarvesterService implements INetworkDispatch { } - public void enterStructurePlacementMode(SWGObject object, CreatureObject actor){ + public void enterStructurePlacementMode(CreatureObject actor, SWGObject object){ if (!actor.getClient().isGM() && !core.terrainService.canBuildAtPosition(actor,actor.getPosition().x,actor.getPosition().z)){ actor.sendSystemMessage("@player_structure:not_permitted", (byte) 0); @@ -1047,13 +1066,12 @@ public class HarvesterService implements INetworkDispatch { } PlayerObject player = (PlayerObject) actor.getSlottedObject("ghost"); - if (((Harvester_Deed)object).getLotRequirement()>player.getLotsRemaining()){ + if (((Integer) object.getAttachment("LotRequirement")) > player.getLotsRemaining()){ actor.sendSystemMessage("@player_structure:not_enough_lots", (byte) 0); return; } - actor.setAttachment("LastUsedDeed", object); - String structureTemplate = ((Harvester_Deed)object).getStructureTemplate(); + String structureTemplate = (String) object.getAttachment("StructureTemplate"); //String temp = "object/installation/mining_ore/shared_mining_ore_harvester_style_1.iff"; EnterStructurePlacementModeMessage placementMsg = new EnterStructurePlacementModeMessage(actor,structureTemplate); actor.getClient().getSession().write(placementMsg.serialize()); @@ -1085,11 +1103,11 @@ public class HarvesterService implements INetworkDispatch { public void createExampleDeed(CreatureObject actor){ String templateString="object/tangible/deed/harvester_deed/shared_harvester_ore_s1_deed.iff"; - Harvester_Deed deed = (Harvester_Deed)core.objectService.createObject(templateString, actor.getPlanet()); - deed.setName("Example Harvester Deed"); - deed.setStructureTemplate("object/installation/mining_ore/shared_mining_ore_harvester_style_1.iff"); - deed.setOutputHopperCapacity(27344); - deed.setBER(15); + TangibleObject deed = (TangibleObject) core.objectService.createObject(templateString, actor.getPlanet()); + deed.setCustomName("Example Harvester Deed"); + deed.setAttachment("StructureTemplate", "object/installation/mining_ore/shared_mining_ore_harvester_style_1.iff"); + deed.setIntAttribute("examine_hoppersize", 27344); + deed.setIntAttribute("examine_extractionrate", 15); TangibleObject playerInventory = (TangibleObject) actor.getSlottedObject("inventory"); playerInventory.add(deed); diff --git a/src/services/sui/SUIService.java b/src/services/sui/SUIService.java index 546fc3d2..309577cc 100644 --- a/src/services/sui/SUIService.java +++ b/src/services/sui/SUIService.java @@ -46,9 +46,9 @@ import resources.common.FileUtilities; import resources.common.ObjControllerOpcodes; import resources.common.Opcodes; import resources.common.RadialOptions; +import resources.loot.LootRollSession; import resources.objects.creature.CreatureObject; import resources.objects.harvester.HarvesterObject; -import resources.objects.loot.LootRollSession; import services.sui.SUIWindow.SUICallback; import services.sui.SUIWindow.Trigger; import engine.clients.Client;