diff --git a/.gitignore b/.gitignore index 63147709..ab30f143 100644 --- a/.gitignore +++ b/.gitignore @@ -60,7 +60,8 @@ odb/chatRooms/je.info.* odb/resourcehistory/je.info.* odb/resourceroots/je.info.* odb/resources/je.info.* -odb/auction/je.info.* +odb/auction/je.info.* +odb/bounties/je.info.* # 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/setgodmode.py b/scripts/commands/setgodmode.py index e66d7982..65b10b3f 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' and arg1: + core.missionService.createNewBounty(actor, int(arg1)) + return + return diff --git a/scripts/conversation/imp_recruiter.py b/scripts/conversation/imp_recruiter.py new file mode 100644 index 00000000..399294b1 --- /dev/null +++ b/scripts/conversation/imp_recruiter.py @@ -0,0 +1,585 @@ +from resources.common import ConversationOption +from resources.common import OutOfBand +from resources.common import ProsePackage +from resources.common import RadialOptions +from resources.datatables import PvpStatus +from resources.datatables import FactionStatus + +from services.sui import SUIWindow +from services.sui.SUIWindow import Trigger + +from java.util import Vector +import sys + + +impRecruiterRef = 0 + + +def startConversation(core, actor, npc): + global coreRef + global impRecruiterRef + coreRef = core + impRecruiterRef = npc + convSvc = core.conversationService + faction = actor.getFaction() + factionStatus = actor.getFactionStatus() + + if actor.getPvpStatus(PvpStatus.GoingOvert) or actor.getPvpStatus(PvpStatus.GoingCovert): + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_imperial', 's_444') + return + elif actor.getFaction() != 'rebel' and actor.getFaction() != 'imperial': + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_414') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_428') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_imperial', 's_85') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + options = Vector() + options.add(option1) + options.add(option2) + + convSvc.sendConversationOptions(actor, npc, options, handleFirstScreen) + return + elif actor.getFaction() == 'imperial' and actor.getFactionStatus() == FactionStatus.OnLeave: + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_80') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_49') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_imperial', 's_410') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + prose4 = ProsePackage('conversation/faction_recruiter_imperial', 's_324') + outOfBand4 = OutOfBand() + outOfBand4.addProsePackage(prose4) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + option3 = ConversationOption(outOfBand4, 1) + + + options = Vector() + options.add(option1) + options.add(option2) + options.add(option3) + + convSvc.sendConversationOptions(actor, npc, options, handleFirstScreen) + return + elif actor.getFaction() == 'imperial' and actor.getFactionStatus() == FactionStatus.Combatant: + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_310') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_49') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose4 = ProsePackage('conversation/faction_recruiter_imperial', 's_410') + outOfBand4 = OutOfBand() + outOfBand4.addProsePackage(prose4) + prose5 = ProsePackage('conversation/faction_recruiter_imperial', 's_324') + outOfBand5 = OutOfBand() + outOfBand5.addProsePackage(prose5) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand4, 1) + option4 = ConversationOption(outOfBand5, 1) + + options = Vector() + options.add(option1) + options.add(option2) + options.add(option4) + convSvc.sendConversationOptions(actor, npc, options, handleFirstScreen) + + return + elif actor.getFactionStatus() == FactionStatus.SpecialForces: + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_310') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_49') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose4 = ProsePackage('conversation/faction_recruiter_imperial', 's_410') + outOfBand4 = OutOfBand() + outOfBand4.addProsePackage(prose4) + prose5 = ProsePackage('conversation/faction_recruiter_imperial', 's_324') + outOfBand5 = OutOfBand() + outOfBand5.addProsePackage(prose5) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand4, 1) + option4 = ConversationOption(outOfBand5, 1) + + options = Vector() + options.add(option1) + options.add(option2) + options.add(option4) + convSvc.sendConversationOptions(actor, npc, options, handleFirstScreen) + + return + elif actor.getFaction() == 'rebel': + npc.setCurrentAnimation('all_b_emt_backhand') + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_imperial', 's_308') + return + return + +def handleFirstScreen(core, actor, npc, selection): + + convSvc = core.conversationService + if actor.getFaction() != 'rebel' and actor.getFaction() != 'imperial': + if selection == 0: + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_432') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_434') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_imperial', 's_440') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + options = Vector() + options.add(option1) + options.add(option2) + + convSvc.sendConversationOptions(actor, npc, options, handleSecondScreen) + return + + + if selection == 1: + return + + if selection == 2: + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_imperial', 's_442') + return + return + elif actor.getFaction() == 'imperial' and actor.getFactionStatus() == FactionStatus.OnLeave: + if selection == 0: + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_50') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_97') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_imperial', 's_93') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + prose4 = ProsePackage('conversation/faction_recruiter_imperial', 's_88') + outOfBand4 = OutOfBand() + outOfBand4.addProsePackage(prose4) + prose5 = ProsePackage('conversation/faction_recruiter_imperial', 's_55') + outOfBand5 = OutOfBand() + outOfBand5.addProsePackage(prose5) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + option3 = ConversationOption(outOfBand4, 1) + option4 = ConversationOption(outOfBand5, 1) + + + options = Vector() + options.add(option1) + options.add(option2) + options.add(option3) + options.add(option4) + + convSvc.sendConversationOptions(actor, npc, options, handleSecondScreen) + return + + if selection == 1: + percent = core.guildService.getGuildObject().getCurrentServerGCWTotalPercentMap().get(actor.getPlanet().getName()).getPercent().intValue() + convSvc.sendConversationMessage(actor, npc, OutOfBand.ProsePackage("@conversation/faction_recruiter_imperial:s_412", percent, "TO", str(100 - percent))) + return + + if selection == 2: + return + return + elif actor.getFaction() == 'imperial' and actor.getFactionStatus() == FactionStatus.Combatant: + if selection == 0: + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_50') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_74') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_imperial', 's_93') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + prose4 = ProsePackage('conversation/faction_recruiter_imperial', 's_88') + outOfBand4 = OutOfBand() + outOfBand4.addProsePackage(prose4) + prose5 = ProsePackage('conversation/faction_recruiter_imperial', 's_55') + outOfBand5 = OutOfBand() + outOfBand5.addProsePackage(prose5) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + option3 = ConversationOption(outOfBand4, 1) + option4 = ConversationOption(outOfBand5, 1) + + + options = Vector() + options.add(option1) + options.add(option2) + options.add(option3) + options.add(option4) + + convSvc.sendConversationOptions(actor, npc, options, handleSecondScreen) + return + + if selection == 1: + percent = core.guildService.getGuildObject().getCurrentServerGCWTotalPercentMap().get(actor.getPlanet().getName()).getPercent().intValue() + convSvc.sendConversationMessage(actor, npc, OutOfBand.ProsePackage("@conversation/faction_recruiter_imperial:s_412", percent, "TO", str(100 - percent))) + return + + if selection == 2: + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_90') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_92') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_imperial', 's_96') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + options = Vector() + options.add(option1) + options.add(option2) + + convSvc.sendConversationOptions(actor, npc, options, handleSecondScreen) + return + return + elif actor.getFaction() == 'imperial' and actor.getFactionStatus() == FactionStatus.SpecialForces: + if selection == 0: + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_50') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_74') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_imperial', 's_97') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + prose4 = ProsePackage('conversation/faction_recruiter_imperial', 's_88') + outOfBand4 = OutOfBand() + outOfBand4.addProsePackage(prose4) + prose5 = ProsePackage('conversation/faction_recruiter_imperial', 's_55') + outOfBand5 = OutOfBand() + outOfBand5.addProsePackage(prose5) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + option3 = ConversationOption(outOfBand4, 1) + option4 = ConversationOption(outOfBand5, 1) + + + options = Vector() + options.add(option1) + options.add(option2) + options.add(option3) + options.add(option4) + + convSvc.sendConversationOptions(actor, npc, options, handleSecondScreen) + return + + if selection == 1: + percent = core.guildService.getGuildObject().getCurrentServerGCWTotalPercentMap().get(actor.getPlanet().getName()).getPercent().intValue() + convSvc.sendConversationMessage(actor, npc, OutOfBand.ProsePackage("@conversation/faction_recruiter_imperial:s_412", percent, "TO", str(100 - percent))) + return + + if selection == 2: + + return + return + + +def handleSecondScreen(core, actor, npc, selection): + convSvc = core.conversationService + + + if actor.getFaction() != 'rebel' and actor.getFaction() != 'imperial': + if selection == 0: + actor.setFaction('imperial') + actor.setFactionStatus(FactionStatus.OnLeave) + + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_116') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_438') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + option1 = ConversationOption(outOfBand2, 0) + + + options = Vector() + options.add(option1) + + + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_imperial', 's_100') + return + if selection ==1: + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_imperial', 's_442') + return + return + elif actor.getFaction() == 'imperial' and actor.getFactionStatus() == FactionStatus.OnLeave: + if selection == 0: + actor.setFactionStatus(FactionStatus.Combatant) + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_imperial', 's_300') + return + + if selection == 1: + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_64') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_66') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_imperial', 's_302') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + + options = Vector() + options.add(option1) + options.add(option2) + + + convSvc.sendConversationOptions(actor, npc, options, handleFourthScreen) + return + if selection == 2: + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_90') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_92') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_imperial', 's_96') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + + options = Vector() + options.add(option1) + options.add(option2) + + + convSvc.sendConversationOptions(actor, npc, options, handleThirdScreen) + return + if selection == 3: + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_imperial', 's_95') + return + return + elif actor.getFaction() == 'imperial' and actor.getFactionStatus() == FactionStatus.Combatant: + if selection == 0: + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_76') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_79') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_imperial', 's_70') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + + options = Vector() + options.add(option1) + options.add(option2) + + + convSvc.sendConversationOptions(actor, npc, options, handleFithScreen) + return + + if selection == 1: + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_64') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_66') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_imperial', 's_302') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + + options = Vector() + options.add(option1) + options.add(option2) + + + convSvc.sendConversationOptions(actor, npc, options, handleFourthScreen) + return + if selection == 2: + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_90') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_92') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_imperial', 's_96') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + + options = Vector() + options.add(option1) + options.add(option2) + + + convSvc.sendConversationOptions(actor, npc, options, handleThirdScreen) + return + if selection == 3: + return + return + elif actor.getFaction() == 'imperial' and actor.getFactionStatus() == FactionStatus.SpecialForces: + if selection == 0: + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_76') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_79') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_imperial', 's_70') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + + options = Vector() + options.add(option1) + options.add(option2) + + + convSvc.sendConversationOptions(actor, npc, options, handleFithScreen) + return + + if selection == 1: + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_54') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_56') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_imperial', 's_84') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + + options = Vector() + options.add(option1) + options.add(option2) + + + convSvc.sendConversationOptions(actor, npc, options, handleSixthScreen) + return + if selection == 2: + prose = ProsePackage('conversation/faction_recruiter_imperial', 's_90') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_imperial', 's_92') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_imperial', 's_96') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + + options = Vector() + options.add(option1) + options.add(option2) + + + convSvc.sendConversationOptions(actor, npc, options, handleThirdScreen) + return + if selection == 3: + return + return + +def handleThirdScreen(core, actor, npc, selection): + if selection == 0: + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_imperial', 's_94') + actor.setFaction('neutral') + return + + if selection == 1: + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_imperial', 's_98') + return + return + +def handleFourthScreen(core, actor, npc, selection): + if selection == 0: + actor.setFactionStatus(FactionStatus.SpecialForces) + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_imperial', 's_68') + return + if selection == 1: + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_imperial', 's_72') + return + return + +def handleFithScreen(core, actor, npc, selection): + if selection == 0: + actor.setFactionStatus(FactionStatus.OnLeave); + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_imperial', 's_82') + return + +def handleSixthScreen(core, actor, npc, selection): + if selection == 0: + actor.setFactionStatus(FactionStatus.Combatant) + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_imperial', 's_58') + return + if selection == 1: + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_imperial', 's_57') + return + return + +def endConversation(core, actor, npc): + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_imperial', 's_304') + return \ No newline at end of file diff --git a/scripts/conversation/medical_cloning_droid.py b/scripts/conversation/medical_cloning_droid.py new file mode 100644 index 00000000..78bac164 --- /dev/null +++ b/scripts/conversation/medical_cloning_droid.py @@ -0,0 +1,91 @@ +from resources.common import ConversationOption +from resources.common import OutOfBand +from resources.common import ProsePackage +from resources.common import RadialOptions + + +from services.sui import SUIWindow +from services.sui.SUIWindow import Trigger + +from java.util import Vector +import sys + + + + +def startConversation(core, actor, npc): + global coreRef + coreRef = core + convSvc = core.conversationService + + + if actor.getBuffByName('cloning_sickness'): + prose = ProsePackage('conversation/clone_droid', 's_6') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/clone_droid', 's_8') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/clone_droid', 's_12') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + options = Vector() + options.add(option1) + options.add(option2) + + convSvc.sendConversationOptions(actor, npc, options, handleFirstScreen) + return + else: + core.conversationService.sendStopConversation(actor, npc, 'conversation/clone_droid', 's_4') + return + return + +def handleFirstScreen(core, actor, npc, selection): + + convSvc = core.conversationService + if selection == 0: + prose = ProsePackage('conversation/clone_droid', 's_10') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/clone_droid', 's_12') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + option1 = ConversationOption(outOfBand2, 0) + + + options = Vector() + options.add(option1) + + convSvc.sendConversationOptions(actor, npc, options, handleSecondScreen) + + return + + + if selection == 1: + core.buffService.removeBuffFromCreature(actor, actor.getBuffByName("cloning_sickness")); + core.conversationService.sendStopConversation(actor, npc, 'conversation/clone_droid', 's_14') + return + return + + +def handleSecondScreen(core, actor, npc, selection): + convSvc = core.conversationService + + + + if selection == 0: + core.buffService.removeBuffFromCreature(actor, actor.getBuffByName("cloning_sickness")); + core.conversationService.sendStopConversation(actor, npc, 'conversation/clone_droid', 's_14') + return + return + +def endConversation(core, actor, npc): + core.conversationService.sendStopConversation(actor, npc, 'conversation/clone_droid', 's_4') + 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/conversation/reb_recruiter.py b/scripts/conversation/reb_recruiter.py new file mode 100644 index 00000000..9c8b803d --- /dev/null +++ b/scripts/conversation/reb_recruiter.py @@ -0,0 +1,585 @@ +from resources.common import ConversationOption +from resources.common import OutOfBand +from resources.common import ProsePackage +from resources.common import RadialOptions +from resources.datatables import PvpStatus +from resources.datatables import FactionStatus + +from services.sui import SUIWindow +from services.sui.SUIWindow import Trigger + +from java.util import Vector +import sys + + +impRecruiterRef = 0 + + +def startConversation(core, actor, npc): + global coreRef + global impRecruiterRef + coreRef = core + impRecruiterRef = npc + convSvc = core.conversationService + faction = actor.getFaction() + factionStatus = actor.getFactionStatus() + + if actor.getPvpStatus(PvpStatus.GoingOvert) or actor.getPvpStatus(PvpStatus.GoingCovert): + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_rebel', 's_364') + return + elif actor.getFaction() != 'rebel' and actor.getFaction() != 'imperial': + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_334') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_348') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_rebel', 's_83') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + options = Vector() + options.add(option1) + options.add(option2) + + convSvc.sendConversationOptions(actor, npc, options, handleFirstScreen) + return + elif actor.getFaction() == 'rebel' and actor.getFactionStatus() == FactionStatus.OnLeave: + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_216') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_49') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_rebel', 's_330') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + prose4 = ProsePackage('conversation/faction_recruiter_rebel', 's_248') + outOfBand4 = OutOfBand() + outOfBand4.addProsePackage(prose4) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + option3 = ConversationOption(outOfBand4, 1) + + + options = Vector() + options.add(option1) + options.add(option2) + options.add(option3) + + convSvc.sendConversationOptions(actor, npc, options, handleFirstScreen) + return + elif actor.getFaction() == 'rebel' and actor.getFactionStatus() == FactionStatus.Combatant: + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_216') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_49') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose4 = ProsePackage('conversation/faction_recruiter_rebel', 's_330') + outOfBand4 = OutOfBand() + outOfBand4.addProsePackage(prose4) + prose5 = ProsePackage('conversation/faction_recruiter_rebel', 's_248') + outOfBand5 = OutOfBand() + outOfBand5.addProsePackage(prose5) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand4, 1) + option4 = ConversationOption(outOfBand5, 1) + + options = Vector() + options.add(option1) + options.add(option2) + options.add(option4) + convSvc.sendConversationOptions(actor, npc, options, handleFirstScreen) + + return + elif actor.getFactionStatus() == FactionStatus.SpecialForces: + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_216') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_49') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose4 = ProsePackage('conversation/faction_recruiter_rebel', 's_330') + outOfBand4 = OutOfBand() + outOfBand4.addProsePackage(prose4) + prose5 = ProsePackage('conversation/faction_recruiter_rebel', 's_248') + outOfBand5 = OutOfBand() + outOfBand5.addProsePackage(prose5) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand4, 1) + option4 = ConversationOption(outOfBand5, 1) + + options = Vector() + options.add(option1) + options.add(option2) + options.add(option4) + convSvc.sendConversationOptions(actor, npc, options, handleFirstScreen) + + return + elif actor.getFaction() == 'imperial': + npc.setCurrentAnimation('all_b_emt_backhand') + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_rebel', 's_230') + return + return + +def handleFirstScreen(core, actor, npc, selection): + + convSvc = core.conversationService + if actor.getFaction() != 'rebel' and actor.getFaction() != 'imperial': + if selection == 0: + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_352') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_354') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_rebel', 's_360') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + options = Vector() + options.add(option1) + options.add(option2) + + convSvc.sendConversationOptions(actor, npc, options, handleSecondScreen) + return + + + if selection == 1: + return + + if selection == 2: + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_rebel', 's_362') + return + return + elif actor.getFaction() == 'rebel' and actor.getFactionStatus() == FactionStatus.OnLeave: + if selection == 0: + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_50') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_95') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_rebel', 's_93') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + prose4 = ProsePackage('conversation/faction_recruiter_rebel', 's_74') + outOfBand4 = OutOfBand() + outOfBand4.addProsePackage(prose4) + prose5 = ProsePackage('conversation/faction_recruiter_rebel', 's_360') + outOfBand5 = OutOfBand() + outOfBand5.addProsePackage(prose5) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + option3 = ConversationOption(outOfBand4, 1) + option4 = ConversationOption(outOfBand5, 1) + + + options = Vector() + options.add(option1) + options.add(option2) + options.add(option3) + options.add(option4) + + convSvc.sendConversationOptions(actor, npc, options, handleSecondScreen) + return + + if selection == 1: + percent = core.guildService.getGuildObject().getCurrentServerGCWTotalPercentMap().get(actor.getPlanet().getName()).getPercent().intValue() + convSvc.sendConversationMessage(actor, npc, OutOfBand.ProsePackage("@conversation/faction_recruiter_imperial:s_332", percent, "TO", str(100 - percent))) + return + + if selection == 2: + return + return + elif actor.getFaction() == 'rebel' and actor.getFactionStatus() == FactionStatus.Combatant: + if selection == 0: + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_50') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_86') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_rebel', 's_93') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + prose4 = ProsePackage('conversation/faction_recruiter_rebel', 's_74') + outOfBand4 = OutOfBand() + outOfBand4.addProsePackage(prose4) + prose5 = ProsePackage('conversation/faction_recruiter_rebel', 's_360') + outOfBand5 = OutOfBand() + outOfBand5.addProsePackage(prose5) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + option3 = ConversationOption(outOfBand4, 1) + option4 = ConversationOption(outOfBand5, 1) + + + options = Vector() + options.add(option1) + options.add(option2) + options.add(option3) + options.add(option4) + + convSvc.sendConversationOptions(actor, npc, options, handleSecondScreen) + return + + if selection == 1: + percent = core.guildService.getGuildObject().getCurrentServerGCWTotalPercentMap().get(actor.getPlanet().getName()).getPercent().intValue() + convSvc.sendConversationMessage(actor, npc, OutOfBand.ProsePackage("@conversation/faction_recruiter_rebel:s_332", percent, "TO", str(100 - percent))) + return + + if selection == 2: + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_76') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_78') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_rebel', 's_360') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + options = Vector() + options.add(option1) + options.add(option2) + + convSvc.sendConversationOptions(actor, npc, options, handleSecondScreen) + return + return + elif actor.getFaction() == 'rebel' and actor.getFactionStatus() == FactionStatus.SpecialForces: + if selection == 0: + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_50') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_90') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_rebel', 's_95') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + prose4 = ProsePackage('conversation/faction_recruiter_rebel', 's_78') + outOfBand4 = OutOfBand() + outOfBand4.addProsePackage(prose4) + prose5 = ProsePackage('conversation/faction_recruiter_rebel', 's_360') + outOfBand5 = OutOfBand() + outOfBand5.addProsePackage(prose5) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + option3 = ConversationOption(outOfBand4, 1) + option4 = ConversationOption(outOfBand5, 1) + + + options = Vector() + options.add(option1) + options.add(option2) + options.add(option3) + options.add(option4) + + convSvc.sendConversationOptions(actor, npc, options, handleSecondScreen) + return + + if selection == 1: + percent = core.guildService.getGuildObject().getCurrentServerGCWTotalPercentMap().get(actor.getPlanet().getName()).getPercent().intValue() + convSvc.sendConversationMessage(actor, npc, OutOfBand.ProsePackage("@conversation/faction_recruiter_rebel:s_332", percent, "TO", str(100 - percent))) + return + + if selection == 2: + + return + return + + +def handleSecondScreen(core, actor, npc, selection): + convSvc = core.conversationService + + + if actor.getFaction() != 'rebel' and actor.getFaction() != 'imperial': + if selection == 0: + actor.setFaction('imperial') + actor.setFactionStatus(FactionStatus.OnLeave) + + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_99') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_358') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + option1 = ConversationOption(outOfBand2, 0) + + + options = Vector() + options.add(option1) + + + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_rebel', 's_356') + return + if selection ==1: + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_rebel', 's_362') + return + return + elif actor.getFaction() == 'rebel' and actor.getFactionStatus() == FactionStatus.OnLeave: + if selection == 0: + actor.setFactionStatus(FactionStatus.Combatant) + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_rebel', 's_224') + return + + if selection == 1: + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_64') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_66') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_rebel', 's_226') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + + options = Vector() + options.add(option1) + options.add(option2) + + + convSvc.sendConversationOptions(actor, npc, options, handleFourthScreen) + return + if selection == 2: + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_76') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_78') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_rebel', 's_360') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + + options = Vector() + options.add(option1) + options.add(option2) + + + convSvc.sendConversationOptions(actor, npc, options, handleThirdScreen) + return + if selection == 3: + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_rebel', 's_97') + return + return + elif actor.getFaction() == 'rebel' and actor.getFactionStatus() == FactionStatus.Combatant: + if selection == 0: + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_88') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_90') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_rebel', 's_94') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + + options = Vector() + options.add(option1) + options.add(option2) + + + convSvc.sendConversationOptions(actor, npc, options, handleFithScreen) + return + + if selection == 1: + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_64') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_66') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_rebel', 's_226') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + + options = Vector() + options.add(option1) + options.add(option2) + + + convSvc.sendConversationOptions(actor, npc, options, handleFourthScreen) + return + if selection == 2: + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_76') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_78') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_rebel', 's_360') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + + options = Vector() + options.add(option1) + options.add(option2) + + + convSvc.sendConversationOptions(actor, npc, options, handleThirdScreen) + return + if selection == 3: + return + return + elif actor.getFaction() == 'rebel' and actor.getFactionStatus() == FactionStatus.SpecialForces: + if selection == 0: + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_88') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_90') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_rebel', 's_94') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + + options = Vector() + options.add(option1) + options.add(option2) + + + convSvc.sendConversationOptions(actor, npc, options, handleFithScreen) + return + + if selection == 1: + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_54') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_56') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_rebel', 's_360') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + + options = Vector() + options.add(option1) + options.add(option2) + + + convSvc.sendConversationOptions(actor, npc, options, handleSixthScreen) + return + if selection == 2: + prose = ProsePackage('conversation/faction_recruiter_rebel', 's_76') + outOfBand = OutOfBand() + outOfBand.addProsePackage(prose) + convSvc.sendConversationMessage(actor, npc, outOfBand) + prose2 = ProsePackage('conversation/faction_recruiter_rebel', 's_74') + outOfBand2 = OutOfBand() + outOfBand2.addProsePackage(prose2) + prose3 = ProsePackage('conversation/faction_recruiter_rebel', 's_360') + outOfBand3 = OutOfBand() + outOfBand3.addProsePackage(prose3) + option1 = ConversationOption(outOfBand2, 0) + option2 = ConversationOption(outOfBand3, 1) + + + + options = Vector() + options.add(option1) + options.add(option2) + + + convSvc.sendConversationOptions(actor, npc, options, handleThirdScreen) + return + if selection == 3: + return + return + +def handleThirdScreen(core, actor, npc, selection): + if selection == 0: + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_rebel', 's_58') + actor.setFaction('neutral') + return + + if selection == 1: + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_rebel', 's_80') + return + return + +def handleFourthScreen(core, actor, npc, selection): + if selection == 0: + actor.setFactionStatus(FactionStatus.SpecialForces) + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_rebel', 's_224') + return + if selection == 1: + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_rebel', 's_72') + return + return + +def handleFithScreen(core, actor, npc, selection): + if selection == 0: + actor.setFactionStatus(FactionStatus.OnLeave); + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_rebel', 's_58') + return + +def handleSixthScreen(core, actor, npc, selection): + if selection == 0: + actor.setFactionStatus(FactionStatus.Combatant) + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_rebel', 's_92') + return + if selection == 1: + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_rebel', 's_57') + return + return + +def endConversation(core, actor, npc): + core.conversationService.sendStopConversation(actor, npc, 'conversation/faction_recruiter_imperial', 's_304') + return \ No newline at end of file diff --git a/scripts/expertise/expertise_bh_dread_strike_1.py b/scripts/expertise/expertise_bh_dread_strike_1.py index ae817cd0..8b2f96c9 100644 --- a/scripts/expertise/expertise_bh_dread_strike_1.py +++ b/scripts/expertise/expertise_bh_dread_strike_1.py @@ -1,22 +1,9 @@ import sys def addAbilities(core, actor, player): - if actor.getLevel() >= 26: - actor.addAbility("bh_dread_strike_1") - if actor.getLevel() >= 34: - actor.addAbility("bh_dread_strike_2") - if actor.getLevel() >= 48: - actor.addAbility("bh_dread_strike_3") - if actor.getLevel() >= 62: - actor.addAbility("bh_dread_strike_4") - if actor.getLevel() >= 76: - actor.addAbility("bh_dread_strike_5") + actor.addAbility("bh_dread_strike_1") return def removeAbilities(core, actor, player): actor.removeAbility("bh_dread_strike_1") - actor.removeAbility("bh_dread_strike_2") - actor.removeAbility("bh_dread_strike_3") - actor.removeAbility("bh_dread_strike_4") - actor.removeAbility("bh_dread_strike_5") return diff --git a/scripts/expertise/expertise_bh_fumble_1.py b/scripts/expertise/expertise_bh_fumble_1.py index c9f10511..f39cdd09 100644 --- a/scripts/expertise/expertise_bh_fumble_1.py +++ b/scripts/expertise/expertise_bh_fumble_1.py @@ -1,25 +1,9 @@ import sys def addAbilities(core, actor, player): - if actor.getLevel() >= 26: - actor.addAbility("bh_fumble_1") - if actor.getLevel() >= 34: - actor.addAbility("bh_fumble_2") - if actor.getLevel() >= 48: - actor.addAbility("bh_fumble_3") - if actor.getLevel() >= 62: - actor.addAbility("bh_fumble_4") - if actor.getLevel() >= 76: - actor.addAbility("bh_fumble_5") - if actor.getLevel() >= 90: - actor.addAbility("bh_fumble_6") + actor.addAbility("bh_fumble_1") return def removeAbilities(core, actor, player): actor.removeAbility("bh_fumble_1") - actor.removeAbility("bh_fumble_2") - actor.removeAbility("bh_fumble_3") - actor.removeAbility("bh_fumble_4") - actor.removeAbility("bh_fumble_5") - actor.removeAbility("bh_fumble_6") return diff --git a/scripts/houses/player_house_corellia_large_style_01.py b/scripts/houses/player_house_corellia_large_style_01.py index 2ecf7235..9c1382ce 100644 --- a/scripts/houses/player_house_corellia_large_style_01.py +++ b/scripts/houses/player_house_corellia_large_style_01.py @@ -3,7 +3,7 @@ from services.housing import HouseTemplate from engine.resources.scene import Point3D 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", 2) + 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") diff --git a/scripts/houses/player_house_corellia_medium_style_01.py b/scripts/houses/player_house_corellia_medium_style_01.py index d02dd3a6..48167fda 100644 --- a/scripts/houses/player_house_corellia_medium_style_01.py +++ b/scripts/houses/player_house_corellia_medium_style_01.py @@ -6,6 +6,7 @@ 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) houseTemplate.setBaseMaintenanceRate(18) diff --git a/scripts/houses/player_house_naboo_large_style_01.py b/scripts/houses/player_house_naboo_large_style_01.py new file mode 100644 index 00000000..afaf05dd --- /dev/null +++ b/scripts/houses/player_house_naboo_large_style_01.py @@ -0,0 +1,15 @@ +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_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))) + houseTemplate.addPlaceablePlanet("naboo") + houseTemplate.addPlaceablePlanet("rori") + houseTemplate.addPlaceablePlanet("dantooine") + houseTemplate.setDefaultItemLimit(500) + + core.housingService.addHousingTemplate(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 new file mode 100644 index 00000000..fd16fd70 --- /dev/null +++ b/scripts/houses/player_house_naboo_medium_style_01.py @@ -0,0 +1,14 @@ +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_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))) + houseTemplate.addPlaceablePlanet("naboo") + houseTemplate.addPlaceablePlanet("rori") + houseTemplate.addPlaceablePlanet("dantooine") + houseTemplate.setDefaultItemLimit(200) + core.housingService.addHousingTemplate(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 new file mode 100644 index 00000000..eb092bce --- /dev/null +++ b/scripts/houses/player_house_naboo_small_style_01.py @@ -0,0 +1,14 @@ +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_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))) + houseTemplate.addPlaceablePlanet("naboo") + houseTemplate.addPlaceablePlanet("rori") + houseTemplate.addPlaceablePlanet("dantooine") + houseTemplate.setDefaultItemLimit(200) + core.housingService.addHousingTemplate(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 new file mode 100644 index 00000000..f5f35f0f --- /dev/null +++ b/scripts/houses/player_house_naboo_small_style_02.py @@ -0,0 +1,14 @@ +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_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))) + houseTemplate.addPlaceablePlanet("naboo") + houseTemplate.addPlaceablePlanet("rori") + houseTemplate.addPlaceablePlanet("dantooine") + houseTemplate.setDefaultItemLimit(100) + core.housingService.addHousingTemplate(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 new file mode 100644 index 00000000..7ffa7dec --- /dev/null +++ b/scripts/houses/player_house_naboo_small_window_style_01.py @@ -0,0 +1,14 @@ +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_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))) + houseTemplate.addPlaceablePlanet("naboo") + houseTemplate.addPlaceablePlanet("rori") + houseTemplate.addPlaceablePlanet("dantooine") + houseTemplate.setDefaultItemLimit(200) + core.housingService.addHousingTemplate(houseTemplate) + return \ No newline at end of file diff --git a/scripts/houses/player_house_sandcrawler.py b/scripts/houses/player_house_sandcrawler.py new file mode 100644 index 00000000..c14d2b8c --- /dev/null +++ b/scripts/houses/player_house_sandcrawler.py @@ -0,0 +1,19 @@ +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) + + houseTemplate.addBuildingSign("object/tangible/sign/player/shared_house_address.iff", Point3D(float(-8.75), float(3.86), float(1))) + houseTemplate.addPlaceablePlanet("tatooine") + houseTemplate.addPlaceablePlanet("corellia") + houseTemplate.addPlaceablePlanet("naboo") + houseTemplate.addPlaceablePlanet("talus") + houseTemplate.addPlaceablePlanet("rori") + houseTemplate.addPlaceablePlanet("dantooine") + houseTemplate.addPlaceablePlanet("lok") + houseTemplate.setDefaultItemLimit(350) + + core.housingService.addHousingTemplate(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 new file mode 100644 index 00000000..3085eb20 --- /dev/null +++ b/scripts/houses/player_house_tatooine_large_style_01.py @@ -0,0 +1,15 @@ +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_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))) + houseTemplate.addPlaceablePlanet("tatooine") + houseTemplate.addPlaceablePlanet("lok") + houseTemplate.addPlaceablePlanet("dantooine") + houseTemplate.setDefaultItemLimit(500) + + core.housingService.addHousingTemplate(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 new file mode 100644 index 00000000..d173048d --- /dev/null +++ b/scripts/houses/player_house_tatooine_medium_style_01.py @@ -0,0 +1,14 @@ +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_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))) + houseTemplate.addPlaceablePlanet("tatooine") + houseTemplate.addPlaceablePlanet("lok") + houseTemplate.addPlaceablePlanet("dantooine") + houseTemplate.setDefaultItemLimit(200) + core.housingService.addHousingTemplate(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 new file mode 100644 index 00000000..eff8a21d --- /dev/null +++ b/scripts/houses/player_house_tatooine_small_style_01.py @@ -0,0 +1,14 @@ +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_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))) + houseTemplate.addPlaceablePlanet("tatooine") + houseTemplate.addPlaceablePlanet("lok") + houseTemplate.addPlaceablePlanet("dantooine") + houseTemplate.setDefaultItemLimit(200) + core.housingService.addHousingTemplate(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 new file mode 100644 index 00000000..e5484c22 --- /dev/null +++ b/scripts/houses/player_house_tatooine_small_style_02.py @@ -0,0 +1,14 @@ +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_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))) + houseTemplate.addPlaceablePlanet("tatooine") + houseTemplate.addPlaceablePlanet("lok") + houseTemplate.addPlaceablePlanet("dantooine") + houseTemplate.setDefaultItemLimit(200) + core.housingService.addHousingTemplate(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 new file mode 100644 index 00000000..eff8a21d --- /dev/null +++ b/scripts/houses/player_house_tatooine_small_window_style_01.py @@ -0,0 +1,14 @@ +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_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))) + houseTemplate.addPlaceablePlanet("tatooine") + houseTemplate.addPlaceablePlanet("lok") + houseTemplate.addPlaceablePlanet("dantooine") + houseTemplate.setDefaultItemLimit(200) + core.housingService.addHousingTemplate(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 new file mode 100644 index 00000000..c7ac7d0b --- /dev/null +++ b/scripts/houses/player_house_tcg_8_bespin_house.py @@ -0,0 +1,19 @@ +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_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))) + houseTemplate.addPlaceablePlanet("tatooine") + houseTemplate.addPlaceablePlanet("corellia") + houseTemplate.addPlaceablePlanet("naboo") + houseTemplate.addPlaceablePlanet("talus") + houseTemplate.addPlaceablePlanet("rori") + houseTemplate.addPlaceablePlanet("dantooine") + houseTemplate.addPlaceablePlanet("lok") + houseTemplate.setDefaultItemLimit(350) + + core.housingService.addHousingTemplate(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 new file mode 100644 index 00000000..3eef6c91 --- /dev/null +++ b/scripts/houses/player_merchant_tent_style_01.py @@ -0,0 +1,18 @@ +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_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))) + houseTemplate.addPlaceablePlanet("tatooine") + houseTemplate.addPlaceablePlanet("corellia") + houseTemplate.addPlaceablePlanet("naboo") + houseTemplate.addPlaceablePlanet("talus") + houseTemplate.addPlaceablePlanet("rori") + houseTemplate.addPlaceablePlanet("dantooine") + houseTemplate.addPlaceablePlanet("lok") + houseTemplate.setDefaultItemLimit(200) + core.housingService.addHousingTemplate(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 new file mode 100644 index 00000000..811c5a5e --- /dev/null +++ b/scripts/houses/player_merchant_tent_style_02.py @@ -0,0 +1,18 @@ +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_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))) + houseTemplate.addPlaceablePlanet("tatooine") + houseTemplate.addPlaceablePlanet("corellia") + houseTemplate.addPlaceablePlanet("naboo") + houseTemplate.addPlaceablePlanet("talus") + houseTemplate.addPlaceablePlanet("rori") + houseTemplate.addPlaceablePlanet("dantooine") + houseTemplate.addPlaceablePlanet("lok") + houseTemplate.setDefaultItemLimit(200) + core.housingService.addHousingTemplate(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 new file mode 100644 index 00000000..d908b947 --- /dev/null +++ b/scripts/houses/player_merchant_tent_style_03.py @@ -0,0 +1,18 @@ +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_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))) + houseTemplate.addPlaceablePlanet("tatooine") + houseTemplate.addPlaceablePlanet("corellia") + houseTemplate.addPlaceablePlanet("naboo") + houseTemplate.addPlaceablePlanet("talus") + houseTemplate.addPlaceablePlanet("rori") + houseTemplate.addPlaceablePlanet("dantooine") + houseTemplate.addPlaceablePlanet("lok") + houseTemplate.setDefaultItemLimit(200) + core.housingService.addHousingTemplate(houseTemplate) + return \ No newline at end of file diff --git a/scripts/loot/lootItems/clothing/robes/apprentice_robe.py b/scripts/loot/lootItems/clothing/robes/apprentice_robe.py index 25d13f68..a717ac1b 100644 --- a/scripts/loot/lootItems/clothing/robes/apprentice_robe.py +++ b/scripts/loot/lootItems/clothing/robes/apprentice_robe.py @@ -1,7 +1,6 @@ - def itemTemplate(): - return ['object/tangible/loot/creature_loot/collections/shared_jedi_holocron_01.iff'] + return ['object/tangible/wearables/robe/shared_robe_jedi_light_s02.iff'] def customItemName(): diff --git a/scripts/mobiles/canon/scout_trooper.py b/scripts/mobiles/canon/scout_trooper.py new file mode 100644 index 00000000..2b446944 --- /dev/null +++ b/scripts/mobiles/canon/scout_trooper.py @@ -0,0 +1,31 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('scout_trooper') + mobileTemplate.setLevel(90) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(24) + mobileTemplate.setAttackSpeed(0.4) + mobileTemplate.setWeaponType(1) + + templates = Vector() + templates.add('object/mobile/shared_dressed_scout_trooper_m.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/pistol/shared_pistol_scout_blaster.iff', 0, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedShot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('scout_trooper', mobileTemplate) + diff --git a/scripts/mobiles/canon/stormtrooper_squad_leader.py b/scripts/mobiles/canon/stormtrooper_squad_leader.py new file mode 100644 index 00000000..8fbea697 --- /dev/null +++ b/scripts/mobiles/canon/stormtrooper_squad_leader.py @@ -0,0 +1,31 @@ +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_squad_leader') + mobileTemplate.setLevel(28) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(24) + mobileTemplate.setAttackSpeed(0.4) + mobileTemplate.setWeaponType(1) + + templates = Vector() + templates.add('object/mobile/shared_dressed_stormtrooper_squad_leader_white_white.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/pistol/shared_pistol_scout_blaster.iff', 0, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedShot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('stormtrooper_squad_leader', mobileTemplate) + diff --git a/scripts/mobiles/canon/swamp_trooper.py b/scripts/mobiles/canon/swamp_trooper.py new file mode 100644 index 00000000..4ade7e9a --- /dev/null +++ b/scripts/mobiles/canon/swamp_trooper.py @@ -0,0 +1,31 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('swamp_trooper') + mobileTemplate.setLevel(33) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(24) + mobileTemplate.setAttackSpeed(0.4) + mobileTemplate.setWeaponType(0) + + templates = Vector() + templates.add('object/mobile/shared_dressed_swamp_trooper_m.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/pistol/shared_pistol_scout_blaster.iff', 0, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedShot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('swamp_trooper', mobileTemplate) + diff --git a/scripts/mobiles/lairgroups/tatooine_starter.py b/scripts/mobiles/lairgroups/tatooine_starter.py index 55242c03..55016760 100644 --- a/scripts/mobiles/lairgroups/tatooine_starter.py +++ b/scripts/mobiles/lairgroups/tatooine_starter.py @@ -5,9 +5,13 @@ from java.util import Vector def addLairGroup(core): spawnTemplate1 = LairSpawnTemplate(-1, 'tatooine_kreetle_lair_neutral_small', 5, 20) spawnTemplate2 = LairSpawnTemplate(-1, 'tatooine_womprat_lair_neutral_small', 5, 15) - + spawnTemplate3 = LairSpawnTemplate(-1, 'tatooine_rill_lair_neutral_small', 5, 15) + spawnTemplate4 = LairSpawnTemplate(-1, 'tatooine_worrt_lair_neutral_small', 5, 15) spawnTemplates = Vector() - #spawnTemplates.add(spawnTemplate1) + spawnTemplates.add(spawnTemplate1) spawnTemplates.add(spawnTemplate2) + spawnTemplates.add(spawnTemplate3) + spawnTemplates.add(spawnTemplate4) - core.spawnService.addLairGroup('tatooine_starter', spawnTemplates) \ No newline at end of file + core.spawnService.addLairGroup('tatooine_starter', spawnTemplates) + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/tatooine_rill_lair_neutral_small.py b/scripts/mobiles/lairs/tatooine_rill_lair_neutral_small.py new file mode 100644 index 00000000..5eed8400 --- /dev/null +++ b/scripts/mobiles/lairs/tatooine_rill_lair_neutral_small.py @@ -0,0 +1,5 @@ +import sys + +def addTemplate(core): + core.spawnService.addLairTemplate('tatooine_rill_lair_neutral_small', 'rill', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/tatooine_worrt_lair_neutral_small.py b/scripts/mobiles/lairs/tatooine_worrt_lair_neutral_small.py new file mode 100644 index 00000000..87905581 --- /dev/null +++ b/scripts/mobiles/lairs/tatooine_worrt_lair_neutral_small.py @@ -0,0 +1,5 @@ +import sys + +def addTemplate(core): + core.spawnService.addLairTemplate('tatooine_worrt_lair_neutral_small', 'worrt', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/spawnareas/mos_eisley_lair.py b/scripts/mobiles/spawnareas/mos_eisley_lair.py index fe0b5291..6b2de98f 100644 --- a/scripts/mobiles/spawnareas/mos_eisley_lair.py +++ b/scripts/mobiles/spawnareas/mos_eisley_lair.py @@ -1,6 +1,5 @@ import sys def addSpawnArea(core): - core.spawnService.addLairSpawnArea('tatooine_starter', 3400, -4775, 2048, 'tatooine') - - + core.spawnService.addLairSpawnArea('tatooine_starter', 3730, -4655, 1024, 'tatooine') + 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/rill.py b/scripts/mobiles/tatooine/rill.py new file mode 100644 index 00000000..9e82c0c2 --- /dev/null +++ b/scripts/mobiles/tatooine/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') + mobileTemplate.setLevel(5) + 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('rill', 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 new file mode 100644 index 00000000..9adb3b10 --- /dev/null +++ b/scripts/mobiles/tatooine/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('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('worrt', mobileTemplate) + return \ No newline at end of file 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/cityhall_corellia.py b/scripts/object/building/player/city/cityhall_corellia.py index 161f75e3..6b2cbced 100644 --- a/scripts/object/building/player/city/cityhall_corellia.py +++ b/scripts/object/building/player/city/cityhall_corellia.py @@ -7,7 +7,7 @@ def setup(core, object): print(sign) object.setAttachment("structureSign", sign) - structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', Point3D(float(-12.2), float(1.5), float(-4.2)), Quaternion(float(0), float(0), float(0), float(0)),4) + 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) diff --git a/scripts/object/building/player/city/cityhall_naboo.py b/scripts/object/building/player/city/cityhall_naboo.py index 161f75e3..4e456185 100644 --- a/scripts/object/building/player/city/cityhall_naboo.py +++ b/scripts/object/building/player/city/cityhall_naboo.py @@ -7,10 +7,9 @@ def setup(core, object): print(sign) object.setAttachment("structureSign", sign) - structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', Point3D(float(-12.2), float(1.5), float(-4.2)), Quaternion(float(0), float(0), float(0), float(0)),4) + 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) - cityterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_city.iff', Point3D(float(16), float(2), float(-9)), Quaternion(float(1), float(1), float(1), float(0)),5) #cityterminal.setAttachment('housing_parentstruct', object) diff --git a/scripts/object/building/player/city/cityhall_tatooine.py b/scripts/object/building/player/city/cityhall_tatooine.py index 161f75e3..6b2cbced 100644 --- a/scripts/object/building/player/city/cityhall_tatooine.py +++ b/scripts/object/building/player/city/cityhall_tatooine.py @@ -7,7 +7,7 @@ def setup(core, object): print(sign) object.setAttachment("structureSign", sign) - structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', Point3D(float(-12.2), float(1.5), float(-4.2)), Quaternion(float(0), float(0), float(0), float(0)),4) + 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) diff --git a/scripts/object/building/player/player_house_naboo_large_style_01.py b/scripts/object/building/player/player_house_naboo_large_style_01.py index ccad8904..7a05615e 100644 --- a/scripts/object/building/player/player_house_naboo_large_style_01.py +++ b/scripts/object/building/player/player_house_naboo_large_style_01.py @@ -1,4 +1,11 @@ import sys def setup(core, object): + sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', -7, 3, -15.5, 0, 1, -1) + print(sign) + object.setAttachment("structureSign", sign) + + structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', 14.8, 4.5, -1.8, 0.707108, -0.707108, 2) + #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') + structureterminal.setAttachment('housing_parentstruct', object) return \ No newline at end of file diff --git a/scripts/object/building/player/player_house_naboo_medium_style_01.py b/scripts/object/building/player/player_house_naboo_medium_style_01.py index ccad8904..fd60d18b 100644 --- a/scripts/object/building/player/player_house_naboo_medium_style_01.py +++ b/scripts/object/building/player/player_house_naboo_medium_style_01.py @@ -1,4 +1,11 @@ import sys def setup(core, object): + sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', -2.2, 3, -11.5, 1, 1, -1) + print(sign) + object.setAttachment("structureSign", sign) + + structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', 9.8, 0.7, -10.4, 0, 1, 1) + #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') + structureterminal.setAttachment('housing_parentstruct', object) return \ No newline at end of file diff --git a/scripts/object/building/player/player_house_naboo_small_style_01.py b/scripts/object/building/player/player_house_naboo_small_style_01.py index ccad8904..cacc9a2a 100644 --- a/scripts/object/building/player/player_house_naboo_small_style_01.py +++ b/scripts/object/building/player/player_house_naboo_small_style_01.py @@ -1,4 +1,11 @@ import sys def setup(core, object): + sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', -1.7, 3, -8.2, 0, 1, -1) + print(sign) + object.setAttachment("structureSign", sign) + + structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', 0, 0.7, 6.2, 1, 0, 1) + #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') + structureterminal.setAttachment('housing_parentstruct', object) return \ No newline at end of file diff --git a/scripts/object/building/player/player_house_naboo_small_style_02.py b/scripts/object/building/player/player_house_naboo_small_style_02.py index ccad8904..90382dc1 100644 --- a/scripts/object/building/player/player_house_naboo_small_style_02.py +++ b/scripts/object/building/player/player_house_naboo_small_style_02.py @@ -1,4 +1,11 @@ import sys def setup(core, object): + sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', 8.4, 3, 7.2, 0.2, 0, -1) + print(sign) + object.setAttachment("structureSign", sign) + + structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', 0.4, 0.5, 6.2, 1, 0, 2) + #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') + structureterminal.setAttachment('housing_parentstruct', object) return \ No newline at end of file diff --git a/scripts/object/building/player/player_house_naboo_small_window_style_01.py b/scripts/object/building/player/player_house_naboo_small_window_style_01.py index ccad8904..cacc9a2a 100644 --- a/scripts/object/building/player/player_house_naboo_small_window_style_01.py +++ b/scripts/object/building/player/player_house_naboo_small_window_style_01.py @@ -1,4 +1,11 @@ import sys def setup(core, object): + sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', -1.7, 3, -8.2, 0, 1, -1) + print(sign) + object.setAttachment("structureSign", sign) + + structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', 0, 0.7, 6.2, 1, 0, 1) + #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') + structureterminal.setAttachment('housing_parentstruct', object) return \ No newline at end of file diff --git a/scripts/object/building/player/player_house_sandcrawler.py b/scripts/object/building/player/player_house_sandcrawler.py index ccad8904..3d2f2529 100644 --- a/scripts/object/building/player/player_house_sandcrawler.py +++ b/scripts/object/building/player/player_house_sandcrawler.py @@ -1,4 +1,12 @@ import sys +from engine.resources.scene import Quaternion def setup(core, object): + sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', -8.75, 3.86, 1, 0.5, 0.5, -1) + print(sign) + object.setAttachment("structureSign", sign) + + structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', 6, 3.5, 0.7, 0.707108, -0.707108, 1) + #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') + structureterminal.setAttachment('housing_parentstruct', object) return \ No newline at end of file diff --git a/scripts/object/building/player/player_house_tatooine_large_style_01.py b/scripts/object/building/player/player_house_tatooine_large_style_01.py index ccad8904..89f9d082 100644 --- a/scripts/object/building/player/player_house_tatooine_large_style_01.py +++ b/scripts/object/building/player/player_house_tatooine_large_style_01.py @@ -1,4 +1,11 @@ import sys def setup(core, object): + sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', -3, 3, 15.8, -1, 0, -1) + print(sign) + object.setAttachment("structureSign", sign) + + structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', 9, 0.5, 12, 1, 0, 2) + #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') + structureterminal.setAttachment('housing_parentstruct', object) return \ No newline at end of file diff --git a/scripts/object/building/player/player_house_tatooine_medium_style_01.py b/scripts/object/building/player/player_house_tatooine_medium_style_01.py index ccad8904..3b5cb8e9 100644 --- a/scripts/object/building/player/player_house_tatooine_medium_style_01.py +++ b/scripts/object/building/player/player_house_tatooine_medium_style_01.py @@ -1,4 +1,11 @@ import sys def setup(core, object): + sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', 4.3, 2.26, 12.5, -1, 0, -1) + print(sign) + object.setAttachment("structureSign", sign) + + structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', 4, 0.5, 6.5, 1, 0, 2) + #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') + structureterminal.setAttachment('housing_parentstruct', object) return \ No newline at end of file diff --git a/scripts/object/building/player/player_house_tatooine_small_style_01.py b/scripts/object/building/player/player_house_tatooine_small_style_01.py index ccad8904..2c07f46e 100644 --- a/scripts/object/building/player/player_house_tatooine_small_style_01.py +++ b/scripts/object/building/player/player_house_tatooine_small_style_01.py @@ -1,4 +1,11 @@ import sys def setup(core, object): + sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', -1.7, 3, 7.9, 1, 0, -1) + print(sign) + object.setAttachment("structureSign", sign) + + structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', -6, 0.7, 6.2, 1, 0, 2) + #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') + structureterminal.setAttachment('housing_parentstruct', object) return \ No newline at end of file diff --git a/scripts/object/building/player/player_house_tatooine_small_style_02.py b/scripts/object/building/player/player_house_tatooine_small_style_02.py index ccad8904..f4846b69 100644 --- a/scripts/object/building/player/player_house_tatooine_small_style_02.py +++ b/scripts/object/building/player/player_house_tatooine_small_style_02.py @@ -1,4 +1,11 @@ import sys def setup(core, object): + sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', 4, 3, 7.6, 1, 0, -1) + print(sign) + object.setAttachment("structureSign", sign) + + structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', -6, 0.7, 6.2, 1, 0, 2) + #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') + structureterminal.setAttachment('housing_parentstruct', object) return \ No newline at end of file diff --git a/scripts/object/building/player/player_house_tatooine_small_window_style_01.py b/scripts/object/building/player/player_house_tatooine_small_window_style_01.py index ccad8904..2c07f46e 100644 --- a/scripts/object/building/player/player_house_tatooine_small_window_style_01.py +++ b/scripts/object/building/player/player_house_tatooine_small_window_style_01.py @@ -1,4 +1,11 @@ import sys def setup(core, object): + sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', -1.7, 3, 7.9, 1, 0, -1) + print(sign) + object.setAttachment("structureSign", sign) + + structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', -6, 0.7, 6.2, 1, 0, 2) + #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') + structureterminal.setAttachment('housing_parentstruct', object) return \ No newline at end of file diff --git a/scripts/object/building/player/player_house_tcg_8_bespin_house.py b/scripts/object/building/player/player_house_tcg_8_bespin_house.py index ccad8904..2c07f46e 100644 --- a/scripts/object/building/player/player_house_tcg_8_bespin_house.py +++ b/scripts/object/building/player/player_house_tcg_8_bespin_house.py @@ -1,4 +1,11 @@ import sys def setup(core, object): + sign = core.objectService.createChildObject(object, 'object/tangible/sign/player/shared_house_address.iff', -1.7, 3, 7.9, 1, 0, -1) + print(sign) + object.setAttachment("structureSign", sign) + + structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', -6, 0.7, 6.2, 1, 0, 2) + #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') + structureterminal.setAttachment('housing_parentstruct', object) return \ No newline at end of file diff --git a/scripts/object/building/player/player_merchant_tent_style_01.py b/scripts/object/building/player/player_merchant_tent_style_01.py index ccad8904..4f29b4f2 100644 --- a/scripts/object/building/player/player_merchant_tent_style_01.py +++ b/scripts/object/building/player/player_merchant_tent_style_01.py @@ -1,4 +1,11 @@ import sys def setup(core, object): + sign = core.objectService.createChildObject(object, 'object/tangible/sign/shared_streetsign_upright_style_01.iff', 3.5, -0.3, 3.5, -1, 0, -1) + print(sign) + object.setAttachment("structureSign", sign) + + structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', -3.4, 0.5, 0, 0.7, 0.7, 1) + #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') + structureterminal.setAttachment('housing_parentstruct', object) return \ No newline at end of file diff --git a/scripts/object/building/player/player_merchant_tent_style_02.py b/scripts/object/building/player/player_merchant_tent_style_02.py index ccad8904..4f29b4f2 100644 --- a/scripts/object/building/player/player_merchant_tent_style_02.py +++ b/scripts/object/building/player/player_merchant_tent_style_02.py @@ -1,4 +1,11 @@ import sys def setup(core, object): + sign = core.objectService.createChildObject(object, 'object/tangible/sign/shared_streetsign_upright_style_01.iff', 3.5, -0.3, 3.5, -1, 0, -1) + print(sign) + object.setAttachment("structureSign", sign) + + structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', -3.4, 0.5, 0, 0.7, 0.7, 1) + #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') + structureterminal.setAttachment('housing_parentstruct', object) return \ No newline at end of file diff --git a/scripts/object/building/player/player_merchant_tent_style_03.py b/scripts/object/building/player/player_merchant_tent_style_03.py index ccad8904..4f29b4f2 100644 --- a/scripts/object/building/player/player_merchant_tent_style_03.py +++ b/scripts/object/building/player/player_merchant_tent_style_03.py @@ -1,4 +1,11 @@ import sys def setup(core, object): + sign = core.objectService.createChildObject(object, 'object/tangible/sign/shared_streetsign_upright_style_01.iff', 3.5, -0.3, 3.5, -1, 0, -1) + print(sign) + object.setAttachment("structureSign", sign) + + structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', -3.4, 0.5, 0, 0.7, 0.7, 1) + #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') + structureterminal.setAttachment('housing_parentstruct', object) return \ No newline at end of file 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 ccad8904..39fa9d08 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 @@ -1,4 +1,12 @@ 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): return \ No newline at end of file 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 ccad8904..387a8928 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 @@ -1,4 +1,12 @@ 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): return \ No newline at end of file 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 ccad8904..38c8003f 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 @@ -1,4 +1,12 @@ 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): return \ No newline at end of file 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 ccad8904..0f0a6353 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 @@ -1,4 +1,13 @@ import sys def setup(core, object): - return \ No newline at end of file + 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 + + + + 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 ccad8904..22d9b33e 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 @@ -1,4 +1,12 @@ 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): return \ No newline at end of file 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 ccad8904..edff2158 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 @@ -1,4 +1,12 @@ 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): return \ No newline at end of file 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 ccad8904..adeca170 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 @@ -1,4 +1,12 @@ 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): return \ No newline at end of file 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 ccad8904..8ebc7feb 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 @@ -1,4 +1,12 @@ 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): return \ No newline at end of file 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 ccad8904..937edeb4 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 @@ -1,4 +1,12 @@ 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): return \ No newline at end of file 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 ccad8904..7110ddc2 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 @@ -1,4 +1,12 @@ 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): return \ No newline at end of file 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 ccad8904..b9918233 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 @@ -1,4 +1,12 @@ 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): return \ No newline at end of file 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 ccad8904..dd23d101 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 @@ -1,4 +1,12 @@ 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): return \ No newline at end of file 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 ccad8904..31de820d 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 @@ -1,4 +1,12 @@ 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): return \ No newline at end of file diff --git a/scripts/object/tangible/deed/player_house_deed/tatooine_house_window_small_deed.py b/scripts/object/tangible/deed/player_house_deed/tatooine_house_window_small_deed.py index ccad8904..8f52a919 100644 --- a/scripts/object/tangible/deed/player_house_deed/tatooine_house_window_small_deed.py +++ b/scripts/object/tangible/deed/player_house_deed/tatooine_house_window_small_deed.py @@ -1,4 +1,12 @@ 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_window_small_deed.iff') + object.setLotRequirement(2) + object.setBMR(8) + return + +def use(core, actor, object): return \ No newline at end of file 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 ccad8904..5a653b5c 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 @@ -1,4 +1,12 @@ 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): 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..dd9fc3e1 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) + object.setAttachment("terminalType", 1) 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..4103f954 100644 --- a/scripts/object/tangible/terminal/terminal_mission_bounty.py +++ b/scripts/object/tangible/terminal/terminal_mission_bounty.py @@ -1,4 +1,5 @@ import sys def setup(core, object): + object.setAttachment("terminalType", 2) return \ No newline at end of file diff --git a/scripts/skillMods/agility.py b/scripts/skillMods/agility.py index 3ea2c7a9..7978281a 100644 --- a/scripts/skillMods/agility.py +++ b/scripts/skillMods/agility.py @@ -1,14 +1,14 @@ import sys -def add(core, actor, skillMod, value): - core.skillModService.addSkillMod('display_only_dodge', skillMod.getBase()) - core.skillModService.addSkillMod('display_only_parry', skillMod.getBase() / 2) - core.skillModService.addSkillMod('display_only_evasion', skillMod.getBase()) +def add(core, actor, skillMod, divisor): + core.skillModService.addSkillMod(actor, 'display_only_dodge', skillMod.getBase()) + core.skillModService.addSkillMod(actor, 'display_only_parry', skillMod.getBase() / 2) + core.skillModService.addSkillMod(actor, 'display_only_evasion', skillMod.getBase()) return -def deduct(core, actor, skillMod, value): - core.skillModService.deductSkillMod('display_only_dodge', skillMod.getBase()) - core.skillModService.deductSkillMod('display_only_parry', skillMod.getBase() / 2) - core.skillModService.deductSkillMod('display_only_evasion', skillMod.getBase()) +def deduct(core, actor, skillMod, divisor): + core.skillModService.deductSkillMod(actor, 'display_only_dodge', skillMod.getBase()) + core.skillModService.deductSkillMod(actor, 'display_only_parry', skillMod.getBase() / 2) + core.skillModService.deductSkillMod(actor, 'display_only_evasion', skillMod.getBase()) return - \ No newline at end of file + diff --git a/scripts/skillMods/agility_modified.py b/scripts/skillMods/agility_modified.py index 9f9e8568..7978281a 100644 --- a/scripts/skillMods/agility_modified.py +++ b/scripts/skillMods/agility_modified.py @@ -1,14 +1,14 @@ import sys -def add(core, actor, skillMod, value): - core.skillModService.addSkillMod('display_only_dodge', base) - core.skillModService.addSkillMod('display_only_parry', base / 2) - core.skillModService.addSkillMod('display_only_evasion', base) +def add(core, actor, skillMod, divisor): + core.skillModService.addSkillMod(actor, 'display_only_dodge', skillMod.getBase()) + core.skillModService.addSkillMod(actor, 'display_only_parry', skillMod.getBase() / 2) + core.skillModService.addSkillMod(actor, 'display_only_evasion', skillMod.getBase()) return -def deduct(core, actor, skillMod, value): - core.skillModService.deductSkillMod('display_only_dodge', base) - core.skillModService.deductSkillMod('display_only_parry', base / 2) - core.skillModService.deductSkillMod('display_only_evasion', base) +def deduct(core, actor, skillMod, divisor): + core.skillModService.deductSkillMod(actor, 'display_only_dodge', skillMod.getBase()) + core.skillModService.deductSkillMod(actor, 'display_only_parry', skillMod.getBase() / 2) + core.skillModService.deductSkillMod(actor, 'display_only_evasion', skillMod.getBase()) return - \ No newline at end of file + diff --git a/scripts/skillMods/constitution.py b/scripts/skillMods/constitution.py index 73c88999..299bf30d 100644 --- a/scripts/skillMods/constitution.py +++ b/scripts/skillMods/constitution.py @@ -1,12 +1,12 @@ import sys def add(core, actor, skillMod, value): - actor.setMaxHealth(actor.getMaxHealth() + base * 8) - actor.setMaxAction(actor.getMaxAction() + base * 2) + actor.setMaxHealth(actor.getMaxHealth() + skillMod.getBase() * 8) + actor.setMaxAction(actor.getMaxAction() + skillMod.getBase() * 2) return def deduct(core, actor, skillMod, value): - actor.setMaxHealth(actor.getMaxHealth() - base * 8) - actor.setMaxAction(actor.getMaxAction() - base * 2) + actor.setMaxHealth(actor.getMaxHealth() - skillMod.getBase() * 8) + actor.setMaxAction(actor.getMaxAction() - skillMod.getBase() * 2) return \ No newline at end of file diff --git a/scripts/skillMods/constitution_modified.py b/scripts/skillMods/constitution_modified.py index 73c88999..299bf30d 100644 --- a/scripts/skillMods/constitution_modified.py +++ b/scripts/skillMods/constitution_modified.py @@ -1,12 +1,12 @@ import sys def add(core, actor, skillMod, value): - actor.setMaxHealth(actor.getMaxHealth() + base * 8) - actor.setMaxAction(actor.getMaxAction() + base * 2) + actor.setMaxHealth(actor.getMaxHealth() + skillMod.getBase() * 8) + actor.setMaxAction(actor.getMaxAction() + skillMod.getBase() * 2) return def deduct(core, actor, skillMod, value): - actor.setMaxHealth(actor.getMaxHealth() - base * 8) - actor.setMaxAction(actor.getMaxAction() - base * 2) + actor.setMaxHealth(actor.getMaxHealth() - skillMod.getBase() * 8) + actor.setMaxAction(actor.getMaxAction() - skillMod.getBase() * 2) return \ No newline at end of file diff --git a/scripts/skillMods/expertise_critical_niche_all.py b/scripts/skillMods/expertise_critical_niche_all.py index b6492df5..f2d7d723 100644 --- a/scripts/skillMods/expertise_critical_niche_all.py +++ b/scripts/skillMods/expertise_critical_niche_all.py @@ -1,10 +1,10 @@ import sys def add(core, actor, skillMod, value): - core.skillModService.addSkillMod(actor, 'display_only_critical', 100 * base) + core.skillModService.addSkillMod(actor, 'display_only_critical', 100 * skillMod.getBase()) return def deduct(core, actor, skillMod, value): - core.skillModService.deductSkillMod(actor, 'display_only_critical', 100 * base) + core.skillModService.deductSkillMod(actor, 'display_only_critical', 100 * skillMod.getBase()) return \ No newline at end of file diff --git a/scripts/skillMods/healing_action.py b/scripts/skillMods/healing_action.py index 6cd11173..026370f5 100644 --- a/scripts/skillMods/healing_action.py +++ b/scripts/skillMods/healing_action.py @@ -1,6 +1,7 @@ import sys def add(core, actor, skillMod, divisor): + actor.setAction(actor.getAction() + skillMod.getBase()) return def deduct(core, actor, skillMod, divisor): diff --git a/src/main/NGECore.java b/src/main/NGECore.java index 7cbf266b..18f15e3d 100644 --- a/src/main/NGECore.java +++ b/src/main/NGECore.java @@ -213,6 +213,7 @@ public class NGECore { private ObjectDatabase resourcesODB; private ObjectDatabase resourceRootsODB; private ObjectDatabase resourceHistoryODB; + private ObjectDatabase bountiesODB; public static boolean PACKET_DEBUG = false; @@ -274,6 +275,7 @@ public class NGECore { resourceRootsODB = new ObjectDatabase("resourceroots", true, false, true); resourceHistoryODB = new ObjectDatabase("resourcehistory", true, false, true); auctionODB = new ObjectDatabase("auction", true, false, true); + bountiesODB = new ObjectDatabase("bounties", true, false, true); // Services loginService = new LoginService(this); @@ -626,6 +628,10 @@ public class NGECore { return chatRoomODB; } + public ObjectDatabase getBountiesODB() { + return bountiesODB; + } + public ObjectDatabase getResourcesODB() { return resourcesODB; } diff --git a/src/protocol/swg/auctionManagerClientListener/AuctionQueryHeadersMessage.java b/src/protocol/swg/auctionManagerClientListener/AuctionQueryHeadersMessage.java index e0ce1fd6..b92f96c3 100644 --- a/src/protocol/swg/auctionManagerClientListener/AuctionQueryHeadersMessage.java +++ b/src/protocol/swg/auctionManagerClientListener/AuctionQueryHeadersMessage.java @@ -52,6 +52,7 @@ public class AuctionQueryHeadersMessage extends SWGMessage { setScreen(data.getInt()); setCategory(data.getInt()); setItemTypeCRC(data.getInt()); + data.get(); // unk int size = data.getInt(); try { setSearchString(new String(ByteBuffer.allocate(size * 2).put(data.array(), data.position(), size * 2).array(), "UTF-16LE")); @@ -59,11 +60,12 @@ public class AuctionQueryHeadersMessage extends SWGMessage { e.printStackTrace(); } data.position(data.position() + size * 2); + setUnkInt(data.getInt()); setMinPrice(data.getInt()); setMaxPrice(data.getInt()); setIncludeEntranceFee(data.get()); - data.skip(6); // unk + data.skip(5); // unk setVendorId(data.getLong()); setVendorFlag(data.get()); setOffset(data.getShort()); diff --git a/src/protocol/swg/auctionManagerClientListener/AuctionQueryHeadersResponseMessage.java b/src/protocol/swg/auctionManagerClientListener/AuctionQueryHeadersResponseMessage.java index a36bb523..e67de9b2 100644 --- a/src/protocol/swg/auctionManagerClientListener/AuctionQueryHeadersResponseMessage.java +++ b/src/protocol/swg/auctionManagerClientListener/AuctionQueryHeadersResponseMessage.java @@ -103,7 +103,27 @@ public class AuctionQueryHeadersResponseMessage extends SWGMessage { result.putInt((int) ((item.getExpireTime() - System.currentTimeMillis()) / 1000)); result.putInt(item.getPrice()); result.putShort((short) 0); + result.putLong(item.getOwnerId()); + result.put((byte) (item.isAuction() ? 0 : 1)); + result.putLong(0); result.put((byte) 0); + result.putInt(2); // unk + result.putInt(0); + result.putShort((short) 0); + result.putInt(item.getItemType()); + + //result.putInt(0x400C); // category bitmask? + result.putInt(0); + int options = 0; + + if(item.getOwnerId() == playerId && (item.getStatus() == AuctionItem.OFFERED || item.getStatus() == AuctionItem.FORSALE)) + options |= 0x800; + + result.putInt(item.getAuctionOptions() | options); + result.putInt(0); + + + /*result.put((byte) 0); result.putInt(CRC.StringtoCRC(item.getItem().getTemplate())); result.putShort((short) 0); result.put((byte) 0); @@ -117,7 +137,7 @@ public class AuctionQueryHeadersResponseMessage extends SWGMessage { result.putInt(item.getItemType()); result.putInt(0); result.putInt(0); - result.putInt(0); + result.putInt(0);*/ /* result.put((byte) (item.isAuction() ? 0 : 1)); diff --git a/src/protocol/swg/auctionManagerClientListener/CreateImmediateAuctionMessage.java b/src/protocol/swg/auctionManagerClientListener/CreateImmediateAuctionMessage.java index 33307c41..6db48c5b 100644 --- a/src/protocol/swg/auctionManagerClientListener/CreateImmediateAuctionMessage.java +++ b/src/protocol/swg/auctionManagerClientListener/CreateImmediateAuctionMessage.java @@ -26,6 +26,7 @@ import java.nio.ByteBuffer; import org.apache.mina.core.buffer.IoBuffer; +import engine.resources.common.Utilities; import protocol.swg.SWGMessage; public class CreateImmediateAuctionMessage extends SWGMessage { @@ -100,8 +101,10 @@ public class CreateImmediateAuctionMessage extends SWGMessage { this.description = description; } - public byte getPremium() { - return premium; + public boolean getPremium() { + if(premium == 1) + return true; + return false; } public void setPremium(byte premium) { diff --git a/src/resources/common/BountyListItem.java b/src/resources/common/BountyListItem.java new file mode 100644 index 00000000..5581483c --- /dev/null +++ b/src/resources/common/BountyListItem.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * 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 +public class BountyListItem { + @PrimaryKey + private long objectId; + private int creditReward; + private String profession; + private String faction; + private String name; + private List assignedHunters; + + 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)); + } + + 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 boolean addBountyHunter(long objectId) { + return assignedHunters.add(objectId); + } + + public boolean removeBountyHunter(long objectId) { + return assignedHunters.remove(objectId); + } +} diff --git a/src/resources/objectives/BountyMissionObjective.java b/src/resources/objectives/BountyMissionObjective.java new file mode 100644 index 00000000..96b90c88 --- /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/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 12ed3fa8..48f573f2 100644 --- a/src/resources/objects/mission/MissionObject.java +++ b/src/resources/objects/mission/MissionObject.java @@ -26,6 +26,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; @@ -53,8 +54,11 @@ public class MissionObject extends IntangibleObject implements IPersistent { private String type = ""; private int missionTemplateObject = 0; private WaypointObject attachedWaypoint; + + // Server variables private MissionObjective objective; - + private long bountyObjId; + @NotPersistent MissionMessageBuilder messageBuilder = new MissionMessageBuilder(this); @@ -148,11 +152,15 @@ public class MissionObject extends IntangibleObject implements IPersistent { } 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 IPersistent { } 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 IPersistent { this.missionId = missionId; } + public long getBountyObjId() { + return bountyObjId; + } + + public void setBountyObjId(long bountyObjId) { + this.bountyObjId = bountyObjId; + } + public Transaction getTransaction() { return txn; } diff --git a/src/services/CharacterService.java b/src/services/CharacterService.java index b11bd350..7807b9ec 100644 --- a/src/services/CharacterService.java +++ b/src/services/CharacterService.java @@ -323,6 +323,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/DevService.java b/src/services/DevService.java index e2bd4390..a7cbf6c7 100644 --- a/src/services/DevService.java +++ b/src/services/DevService.java @@ -40,6 +40,8 @@ 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; diff --git a/src/services/GroupService.java b/src/services/GroupService.java index b7ffa309..032ecd15 100644 --- a/src/services/GroupService.java +++ b/src/services/GroupService.java @@ -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/PlayerService.java b/src/services/PlayerService.java index 82f5150d..4011ef36 100644 --- a/src/services/PlayerService.java +++ b/src/services/PlayerService.java @@ -59,6 +59,7 @@ 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; @@ -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,26 @@ public class PlayerService implements INetworkDispatch { core.suiService.openSUIWindow(ringWindow); } + public void sendSetBountyWindow(final CreatureObject victim, final CreatureObject attacker) { + final 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 " + 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) { + if (core.missionService.getBountyListItem(attacker.getObjectId()) != null) { + BountyListItem currentBounty = core.missionService.getBountyListItem(attacker.getObjectId()); + currentBounty.addBounty(Integer.parseInt(returnList.get(0))); + } else { + core.missionService.createNewBounty(attacker, Integer.parseInt(returnList.get(0))); + } + } + } + + }); + core.suiService.openSUIWindow(bountyWindow); + } + public String getFormalProfessionName(String template) { String formalName = ""; diff --git a/src/services/SkillModService.java b/src/services/SkillModService.java index e463c473..042e7bc9 100644 --- a/src/services/SkillModService.java +++ b/src/services/SkillModService.java @@ -127,7 +127,7 @@ public class SkillModService implements INetworkDispatch { synchronized(creature.getMutex()) { SkillMod skillMod = creature.getSkillMods().get(name); - if (skillMod == null || base <= 0 || modifier <= 0) { + if (skillMod == null || (base <= 0 && modifier <= 0)) { return; } else { skillMod.deductBase(base); diff --git a/src/services/bazaar/BazaarService.java b/src/services/bazaar/BazaarService.java index 52f77554..4d074039 100644 --- a/src/services/bazaar/BazaarService.java +++ b/src/services/bazaar/BazaarService.java @@ -471,6 +471,7 @@ public class BazaarService implements INetworkDispatch { else if(item.getItem() instanceof IntangibleObject) player.getSlottedObject("datapad").add(item.getItem()); + core.objectService.getObjectList().put(item.getObjectId(), item.getItem()); removeAuctionItem(item); player.getClient().getSession().write(response.serialize()); diff --git a/src/services/combat/CombatService.java b/src/services/combat/CombatService.java index 9440d2b9..1fa2fe93 100644 --- a/src/services/combat/CombatService.java +++ b/src/services/combat/CombatService.java @@ -991,6 +991,8 @@ public class CombatService implements INetworkDispatch { if(target.getDuelList().contains(attacker)) handleEndDuel(target, attacker, false); core.playerService.sendCloningWindow(target, attacker.getSlottedObject("ghost") != null); + //if (attacker.getSlottedObject("ghost") != null) + //core.playerService.sendSetBountyWindow(target, attacker); } public boolean areInDuel(CreatureObject creature1, CreatureObject creature2) { diff --git a/src/services/housing/HousingService.java b/src/services/housing/HousingService.java index cb923335..e35cd1a1 100644 --- a/src/services/housing/HousingService.java +++ b/src/services/housing/HousingService.java @@ -40,6 +40,7 @@ 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; @@ -167,9 +168,9 @@ public class HousingService implements INetworkDispatch { } // Save structure to DB - //building.createTransaction(core.getBuildingODB().getEnvironment()); - //core.getBuildingODB().put(building, Long.class, BuildingObject.class, building.getTransaction()); - //building.getTransaction().commitSync(); + /*building.createTransaction(core.getBuildingODB().getEnvironment()); + core.getBuildingODB().put(building, Long.class, BuildingObject.class, building.getTransaction()); + building.getTransaction().commitSync();*/ } @SuppressWarnings("unchecked") diff --git a/src/services/mission/MissionObjective.java b/src/services/mission/MissionObjective.java index c81fcc0a..8f43fe9f 100644 --- a/src/services/mission/MissionObjective.java +++ b/src/services/mission/MissionObjective.java @@ -21,8 +21,11 @@ ******************************************************************************/ package services.mission; +import main.NGECore; + import com.sleepycat.persist.model.Persistent; +import resources.objects.creature.CreatureObject; import resources.objects.mission.MissionObject; @Persistent(version=0) @@ -42,10 +45,10 @@ public abstract class MissionObjective { 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..d463893a 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,29 @@ import main.NGECore; import org.apache.mina.core.buffer.IoBuffer; import org.apache.mina.core.session.IoSession; +import com.sleepycat.je.Transaction; + 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 +69,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 +81,8 @@ public class MissionService implements INetworkDispatch { catch (IOException e) { e.printStackTrace(); } loadMissionEntryCounts(); + + bountiesODB = core.getBountiesODB(); } @Override @@ -118,7 +128,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 +147,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 +205,7 @@ public class MissionService implements INetworkDispatch { MissionObjective objective = mission.getObjective(); if (objective != null) - objective.abort(); + objective.abort(core, creature); core.objectService.destroyObject(mission.getObjectId()); } @@ -267,7 +281,7 @@ public class MissionService implements INetworkDispatch { if (type == TerminalType.GENERIC) randomDeliveryMission(player, mission); - else if (type == TerminalType.BOUNTYHUNTER) + else if (type == TerminalType.BOUNTY) randomBountyMission(player, mission); else if (type == TerminalType.ARTISAN) @@ -282,9 +296,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 +307,8 @@ public class MissionService implements INetworkDispatch { else return; - mission.setRepeatCount(requestCounter); - typeTwoCount.incrementAndGet(); + //mission.setRepeatCount(requestCounter); + //typeTwoCount.incrementAndGet(); } } }); @@ -338,7 +352,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 +364,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 +419,135 @@ 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, 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()); + + bountyList.add(bounty); + + //Transaction txn = bountiesODB.getEnvironment().beginTransaction(null, null); + //bountiesODB.put(bounty, Long.class, BountyListItem.class, txn); + //txn.commitSync(); + + //System.out.println("Put in bounty for " + bounty.getName() + " with amount " + reward); + + return bounty; + } + + public boolean addToExistingBounty(CreatureObject bountyTarget, int amountToAdd) { + PlayerObject player = (PlayerObject) bountyTarget.getSlottedObject("ghost"); + if (player == null) + return false; + + BountyListItem bounty = getBountyListItem(bountyTarget.getObjectId()); + + if (bounty == null) + return false; + + //Transaction txn = bountiesODB.getEnvironment().beginTransaction(null, null); + //bountiesODB.get(bounty, Long.class, BountyListItem.class); + //txn.commitSync(); + + return true; + } + @Override public void shutdown() { - } } diff --git a/src/services/object/ObjectService.java b/src/services/object/ObjectService.java index 8cfc50f4..c48881ef 100644 --- a/src/services/object/ObjectService.java +++ b/src/services/object/ObjectService.java @@ -115,6 +115,8 @@ 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; diff --git a/src/services/resources/HarvesterService.java b/src/services/resources/HarvesterService.java index 151a6d67..57b7cf82 100644 --- a/src/services/resources/HarvesterService.java +++ b/src/services/resources/HarvesterService.java @@ -61,6 +61,7 @@ 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;