From 4d99a8493593a5ea219541b55a8e99dbe185f76f Mon Sep 17 00:00:00 2001 From: voronius Date: Tue, 5 Aug 2014 04:14:13 +0300 Subject: [PATCH 01/18] Fix for inspiration buff Buff is now properly applied, stat mods are properly computed and changes to stats are clearly visible . Sample test at https://www.youtube.com/watch?v=KOV2C4z5VAw --- scripts/buffs/buildabuff_inspiration.py | 4 -- scripts/skillMods/elemental_resistance.py | 16 +++++ .../expertise_innate_protection_acid.py | 10 +++ .../expertise_innate_protection_cold.py | 10 +++ ...expertise_innate_protection_electricity.py | 10 +++ .../expertise_innate_protection_heat.py | 10 +++ src/resources/common/BuffBuilder.java | 30 ++++++++- src/services/BuffService.java | 25 +++++++- src/services/EntertainmentService.java | 63 ++++++++++++++++--- 9 files changed, 162 insertions(+), 16 deletions(-) create mode 100644 scripts/skillMods/elemental_resistance.py create mode 100644 scripts/skillMods/expertise_innate_protection_acid.py create mode 100644 scripts/skillMods/expertise_innate_protection_cold.py create mode 100644 scripts/skillMods/expertise_innate_protection_electricity.py create mode 100644 scripts/skillMods/expertise_innate_protection_heat.py diff --git a/scripts/buffs/buildabuff_inspiration.py b/scripts/buffs/buildabuff_inspiration.py index 35a49556..0474b1d9 100644 --- a/scripts/buffs/buildabuff_inspiration.py +++ b/scripts/buffs/buildabuff_inspiration.py @@ -5,19 +5,15 @@ def setup(core, actor, buff): return def add(core, actor, buff): - buffWorkshop = actor.getAttachment('buffWorkshop') - if buffWorkshop is None: return - attached = actor.getAttachment('inspireDuration') buff.setDuration(float(actor.getAttachment('inspireDuration') * 60)) for BuffItem in buffWorkshop: core.skillModService.addSkillMod(actor, BuffItem.getSkillName(), BuffItem.getAffectAmount()) - return def remove(core, actor, buff): diff --git a/scripts/skillMods/elemental_resistance.py b/scripts/skillMods/elemental_resistance.py new file mode 100644 index 00000000..5a327427 --- /dev/null +++ b/scripts/skillMods/elemental_resistance.py @@ -0,0 +1,16 @@ +import sys + +def add(core, actor, skillMod, divisor): + core.skillModService.addSkillMod(actor, 'acid', skillMod) + core.skillModService.addSkillMod(actor, 'heat', skillMod) + core.skillModService.addSkillMod(actor, 'cold', skillMod) + core.skillModService.addSkillMod(actor, 'electricity', skillMod) + return + +def deduct(core, actor, skillMod, divisor): + core.skillModService.deductSkillMod(actor, 'acid', skillMod) + core.skillModService.deductSkillMod(actor, 'heat', skillMod) + core.skillModService.deductSkillMod(actor, 'cold', skillMod) + core.skillModService.deductSkillMod(actor, 'electricity', skillMod) + return + \ No newline at end of file diff --git a/scripts/skillMods/expertise_innate_protection_acid.py b/scripts/skillMods/expertise_innate_protection_acid.py new file mode 100644 index 00000000..f3597431 --- /dev/null +++ b/scripts/skillMods/expertise_innate_protection_acid.py @@ -0,0 +1,10 @@ +import sys + +def add(core, actor, skillMod, divisor): + core.skillModService.addSkillMod(actor, 'acid', skillMod) + return + +def deduct(core, actor, skillMod, divisor): + core.skillModService.deductSkillMod(actor, 'acid', skillMod) + return + \ No newline at end of file diff --git a/scripts/skillMods/expertise_innate_protection_cold.py b/scripts/skillMods/expertise_innate_protection_cold.py new file mode 100644 index 00000000..8581c26d --- /dev/null +++ b/scripts/skillMods/expertise_innate_protection_cold.py @@ -0,0 +1,10 @@ +import sys + +def add(core, actor, skillMod, divisor): + core.skillModService.addSkillMod(actor, 'cold', skillMod) + return + +def deduct(core, actor, skillMod, divisor): + core.skillModService.deductSkillMod(actor, 'cold', skillMod) + return + \ No newline at end of file diff --git a/scripts/skillMods/expertise_innate_protection_electricity.py b/scripts/skillMods/expertise_innate_protection_electricity.py new file mode 100644 index 00000000..6174b979 --- /dev/null +++ b/scripts/skillMods/expertise_innate_protection_electricity.py @@ -0,0 +1,10 @@ +import sys + +def add(core, actor, skillMod, divisor): + core.skillModService.addSkillMod(actor, 'electricity', skillMod) + return + +def deduct(core, actor, skillMod, divisor): + core.skillModService.deductSkillMod(actor, 'electricity', skillMod) + return + \ No newline at end of file diff --git a/scripts/skillMods/expertise_innate_protection_heat.py b/scripts/skillMods/expertise_innate_protection_heat.py new file mode 100644 index 00000000..19188fc7 --- /dev/null +++ b/scripts/skillMods/expertise_innate_protection_heat.py @@ -0,0 +1,10 @@ +import sys + +def add(core, actor, skillMod, divisor): + core.skillModService.addSkillMod(actor, 'heat', skillMod) + return + +def deduct(core, actor, skillMod, divisor): + core.skillModService.deductSkillMod(actor, 'heat', skillMod) + return + \ No newline at end of file diff --git a/src/resources/common/BuffBuilder.java b/src/resources/common/BuffBuilder.java index 83b2d9fb..cd3c48a4 100644 --- a/src/resources/common/BuffBuilder.java +++ b/src/resources/common/BuffBuilder.java @@ -30,6 +30,11 @@ public class BuffBuilder { private String statAffects; private String statName; + + public enum BuffCategory {ATTRIBUTES,RESISTANCES,TRADE,COMBAT,MISC}; + private BuffCategory catId; + + public BuffBuilder() { } @@ -42,6 +47,10 @@ public class BuffBuilder { return category; } + public BuffCategory getCategoryId() { + return catId; + } + public int getCost() { return this.cost; } @@ -66,7 +75,26 @@ public class BuffBuilder { this.affectAmount = affectAmount; } - public void setCategory(String category) { + public void setCategory(String category) + { + this.catId=BuffCategory.MISC; + if(category.equals("attributes")) + { + this.catId=BuffCategory.ATTRIBUTES; + } + else if(category.equals("trade")) + { + this.catId=BuffCategory.TRADE; + } + else if(category.equals("resistances")) + { + this.catId=BuffCategory.RESISTANCES; + } + else if(category.equals("combat")) + { + this.catId=BuffCategory.COMBAT; + } + this.category = category; } diff --git a/src/services/BuffService.java b/src/services/BuffService.java index 993c25bb..4b7c533c 100644 --- a/src/services/BuffService.java +++ b/src/services/BuffService.java @@ -89,7 +89,10 @@ public class BuffService implements INetworkDispatch { Buff buff = buffMap.get(buffName); - if(buff == null) return false; + if(buff == null) + { + return false; + } // Here the necessary checks must be placed to prevent buffs from the same buff group (e.g. Buff D) being stacked! @@ -105,6 +108,10 @@ public class BuffService implements INetworkDispatch { public Buff doAddBuff(final CreatureObject target, String buffName, final CreatureObject buffer) { + //BUG HERE !! watch it + //TODO fix this -- !! this is wrong - I can buff from 5,5 in cantina someone sitting at 20,20 in the universe/planet !!! - accross the galaxy/planet + //cause get position is relative to creature system of coordinates - when one's outside and other inside + //if you must use getPosition() check for isInCell first for both or something like that if (target.getPosition().getDistance(buffer.getPosition()) > 20) { return null; } @@ -119,7 +126,21 @@ public class BuffService implements INetworkDispatch { else buff.setTotalPlayTime(0); - if(FileUtilities.doesFileExist("scripts/buffs/" + buffName + ".py")) core.scriptService.callScript("scripts/buffs/", buffName, "setup", core, buffer, buff); + + if(FileUtilities.doesFileExist("scripts/buffs/" + buffName + ".py")) + { + if(!buffName.equals("buildabuff_inspiration")) + { + core.scriptService.callScript("scripts/buffs/", buffName, "setup", core, buffer, buff); + } + else + { + //!!! for special case inspiration , workshop is attached to target + core.scriptService.callScript("scripts/buffs/", buffName, "add", core, target, buff); + } + } + + for (final Buff otherBuff : target.getBuffList()) { if (buff.getGroup1().equals(otherBuff.getGroup1())) diff --git a/src/services/EntertainmentService.java b/src/services/EntertainmentService.java index 78c04f0d..ab1b03e3 100644 --- a/src/services/EntertainmentService.java +++ b/src/services/EntertainmentService.java @@ -62,6 +62,8 @@ public class EntertainmentService implements INetworkDispatch { private Map performanceEffects = new ConcurrentHashMap(); + + public EntertainmentService(NGECore core) { this.core = core; populateSkillCaps(); @@ -282,7 +284,8 @@ public class EntertainmentService implements INetworkDispatch { buffRecipient.getClient().getSession().write(closeMessage.serialize()); } - if (sender.getObjectId() == buffRecipient.getObjectId()) { + if (sender.getObjectId() == buffRecipient.getObjectId()) + { // send close packet to buffer BuffBuilderEndMessage end = new BuffBuilderEndMessage(sentPacket); end.setObjectId(buffer.getObjectId()); @@ -294,6 +297,8 @@ public class EntertainmentService implements INetworkDispatch { buffer.getClient().getSession().write(closeMessage.serialize()); CreatureObject cre = (CreatureObject) buffer; cre.sendSystemMessage("The buff recipient cancelled the buff builder session.", (byte) 0); + + } } } @@ -537,21 +542,61 @@ public class EntertainmentService implements INetworkDispatch { Vector availableStats = buffBuilderSkills; Vector stats = new Vector(); - for (BuffItem item : buffVector) { - for(BuffBuilder builder : availableStats) { - if(builder.getStatName().equalsIgnoreCase(item.getSkillName())) { + for (BuffItem item : buffVector) + { + for(BuffBuilder builder : availableStats) + { + + if(builder.getStatName().equalsIgnoreCase(item.getSkillName())) + { + + if(builder.getMaxTimesApplied() < item.getInvested()) return; + + int affectTotal=0; + + - // Ent. Expertise Percent + (invested points * affect amount) = stat - int bonusPoints = (int) (builder.getAffectAmount() *((float) item.getEntertainerBonus()/100f)); - int affectTotal = bonusPoints + (item.getInvested() * builder.getAffectAmount()); - BuffItem stat = new BuffItem(builder.getStatAffects(), item.getInvested(), item.getEntertainerBonus()); - stat.setAffectAmount(affectTotal); + + switch(builder.getCategoryId()) + { + + case TRADE: + case RESISTANCES: + case ATTRIBUTES: + { + affectTotal=(int)( ( (1+(float) item.getEntertainerBonus()/100f)*builder.getAffectAmount()) * item.getInvested()); + break; + + } + case COMBAT: + { + affectTotal=(int) (( builder.getAffectAmount()+item.getEntertainerBonus()) * item.getInvested()); + break; + + } + case MISC: + { + affectTotal=(int) (( builder.getAffectAmount()) * item.getInvested()); + break; + + } + default: + { + System.out.println("unhandled builder catId of "+builder.getCategoryId()); + } + + } + + stat.setAffectAmount(affectTotal); stats.add(stat); + + break; } + } } From 2e99c287e95eeed30ba7397f89648606cae8e21d Mon Sep 17 00:00:00 2001 From: tacef Date: Tue, 5 Aug 2014 07:58:58 +0200 Subject: [PATCH 02/18] Fixed Setgodmode str error(temp) Added TicketPurchaseModeMessageItv for Itv's Changed Travel_terminal_itv to use the new Purchasemode --- scripts/commands/setgodmode.py | 2 + .../radial/terminal/travel_terminal_itv.py | 4 +- .../EnterTicketPurchaseModeMessageItv.java | 70 +++++++++++++++++++ 3 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 src/protocol/swg/EnterTicketPurchaseModeMessageItv.java diff --git a/scripts/commands/setgodmode.py b/scripts/commands/setgodmode.py index 753cd3f2..e00e103d 100644 --- a/scripts/commands/setgodmode.py +++ b/scripts/commands/setgodmode.py @@ -17,6 +17,8 @@ def run(core, actor, target, commandString): playerObject = actor.getSlottedObject('ghost') + global str + if not playerObject: return diff --git a/scripts/radial/terminal/travel_terminal_itv.py b/scripts/radial/terminal/travel_terminal_itv.py index 510d23f9..269fef09 100644 --- a/scripts/radial/terminal/travel_terminal_itv.py +++ b/scripts/radial/terminal/travel_terminal_itv.py @@ -1,5 +1,5 @@ from resources.common import RadialOptions -from protocol.swg import EnterTicketPurchaseModeMessage +from protocol.swg import EnterTicketPurchaseModeMessageItv import sys def createRadial(core, owner, target, radials): @@ -14,7 +14,7 @@ def handleSelection(core, owner, target, option): if owner.getCombatFlag() == 1: owner.sendSystemMessage('You can\'t use that while in combat.', 0) return - tpm = EnterTicketPurchaseModeMessage(owner.getPlanet().getName(), core.mapService.getClosestCityName(owner), owner) + tpm = EnterTicketPurchaseModeMessageItv(owner.getPlanet().getName(), core.mapService.getClosestCityName(owner), owner) owner.getClient().getSession().write(tpm.serialize()) return return diff --git a/src/protocol/swg/EnterTicketPurchaseModeMessageItv.java b/src/protocol/swg/EnterTicketPurchaseModeMessageItv.java new file mode 100644 index 00000000..89677e95 --- /dev/null +++ b/src/protocol/swg/EnterTicketPurchaseModeMessageItv.java @@ -0,0 +1,70 @@ +/******************************************************************************* + * Copyright (c) 2013 + * + * This File is part of NGECore2. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + * + * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. + * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. + ******************************************************************************/ +package protocol.swg; + +import java.nio.ByteOrder; + +import main.NGECore; + +import org.apache.mina.core.buffer.IoBuffer; + +import services.travel.TravelPoint; +import engine.resources.objects.SWGObject; + +@SuppressWarnings("unused") +public class EnterTicketPurchaseModeMessageItv extends SWGMessage { + + private String planetName; + private String cityName; + private SWGObject player; + + public EnterTicketPurchaseModeMessageItv(String planetName, String cityName, SWGObject player) { + this.planetName = planetName; + this.cityName = cityName; + this.player = player; + } + + @Override + public void deserialize(IoBuffer data) { + + } + + @Override + public IoBuffer serialize() { + final NGECore core = NGECore.getInstance(); + TravelPoint nearestPoint = core.travelService.getNearestTravelPoint(player, 5120); + IoBuffer result = IoBuffer.allocate(11 + planetName.length() + nearestPoint.getName().length()).order(ByteOrder.LITTLE_ENDIAN); + + + result.putShort((short) 3); + result.putInt(0x904DAE1A); + + result.put(getAsciiString(planetName)); + result.put(getAsciiString(nearestPoint.getName())); + + + result.put((byte) 0); + + return result.flip(); + } + +} From 493c8faf83828f34d2a15dfc2ee3bb96020f560a Mon Sep 17 00:00:00 2001 From: Waverunner Date: Tue, 5 Aug 2014 14:13:19 -0400 Subject: [PATCH 03/18] Updated documentation location --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index abccf1b8..1523c7a5 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,6 @@ Now your changes will be reviewed by other developers and once the changes are a For more information please visit the wiki: https://github.com/ProjectSWGCore/NGECore2/wiki -Documentation can be found here: http://projectswgcore.github.io/NGECore2/doc/ +Documentation can be found here: http://projectswg.com/doc/ Please prefix all commits with Added, Changed, Removed or Fixed. If you don't have enough room for multiple changes, use the extended description. Try not to bundle multiple changes into one vague line (ie. "Changed various combat things"). Try to make all commit messages understandable by non-programmers. From fe6fc77179fc7dc14a30c9b0b0c123aeee1b94f4 Mon Sep 17 00:00:00 2001 From: tacef Date: Tue, 5 Aug 2014 20:58:16 +0200 Subject: [PATCH 04/18] Added Elevatorterminals to Mustafarian bunker For testing Purposes only --- scripts/object/building/player/player_house_mustafar_lg.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/object/building/player/player_house_mustafar_lg.py b/scripts/object/building/player/player_house_mustafar_lg.py index c768c102..f9f7f4f9 100644 --- a/scripts/object/building/player/player_house_mustafar_lg.py +++ b/scripts/object/building/player/player_house_mustafar_lg.py @@ -8,4 +8,10 @@ def setup(core, object): structureterminal = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_player_structure.iff', -4.1, 0.55, 6.6, 0.714 ,0.714, 1) #structureterminal.setAttachment('radial_filename', 'structure_management_terminal') structureterminal.setAttachment('housing_parentstruct', object) + + elevatorterminal1 = core.objectService.createChildObject(object, 'object/tangible/terminal/shared_terminal_elevator_down.iff', 0, 0.8, -0.655, -0.103, 0.998, 10) + + elevatorterminal2 = core.objectService.createChildobject(object, 'object/tangible/terminal/shared_terminal_elevator.iff', 0, -3, -0.655, 0.994, -0.103, 10) + + elevatorterminal3 = core.objectService.createChildobject(object, 'object/tangible/terminal/shared_terminal_elevator.iff', 0, -6, -0.655, 0.994, -0.103, 10) return \ No newline at end of file From 5942c71a51bbbe4cdcc21be6478096f95bfcd4da Mon Sep 17 00:00:00 2001 From: tacef Date: Tue, 5 Aug 2014 21:03:42 +0200 Subject: [PATCH 05/18] Fixed Typo in Mustafarian Bunker --- scripts/object/building/player/player_house_mustafar_lg.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/object/building/player/player_house_mustafar_lg.py b/scripts/object/building/player/player_house_mustafar_lg.py index f9f7f4f9..4fc36272 100644 --- a/scripts/object/building/player/player_house_mustafar_lg.py +++ b/scripts/object/building/player/player_house_mustafar_lg.py @@ -13,5 +13,5 @@ def setup(core, object): elevatorterminal2 = core.objectService.createChildobject(object, 'object/tangible/terminal/shared_terminal_elevator.iff', 0, -3, -0.655, 0.994, -0.103, 10) - elevatorterminal3 = core.objectService.createChildobject(object, 'object/tangible/terminal/shared_terminal_elevator.iff', 0, -6, -0.655, 0.994, -0.103, 10) + elevatorterminal3 = core.objectService.createChildobject(object, 'object/tangible/terminal/shared_terminal_elevator_up.iff', 0, -6, -0.655, 0.994, -0.103, 10) return \ No newline at end of file From 8b4aa5086f3d77814f56a9a1ff9f6eb71e4a9ca6 Mon Sep 17 00:00:00 2001 From: Waverunner Date: Tue, 5 Aug 2014 16:26:35 -0400 Subject: [PATCH 06/18] Added constructor for EnterTicketPurchaseModeMessage, Removed duplicate travel packet --- .../radial/terminal/travel_terminal_itv.py | 2 +- .../swg/EnterTicketPurchaseModeMessage.java | 15 +++- .../EnterTicketPurchaseModeMessageItv.java | 70 ------------------- 3 files changed, 14 insertions(+), 73 deletions(-) delete mode 100644 src/protocol/swg/EnterTicketPurchaseModeMessageItv.java diff --git a/scripts/radial/terminal/travel_terminal_itv.py b/scripts/radial/terminal/travel_terminal_itv.py index 269fef09..b9356f38 100644 --- a/scripts/radial/terminal/travel_terminal_itv.py +++ b/scripts/radial/terminal/travel_terminal_itv.py @@ -14,7 +14,7 @@ def handleSelection(core, owner, target, option): if owner.getCombatFlag() == 1: owner.sendSystemMessage('You can\'t use that while in combat.', 0) return - tpm = EnterTicketPurchaseModeMessageItv(owner.getPlanet().getName(), core.mapService.getClosestCityName(owner), owner) + tpm = EnterTicketPurchaseModeMessage(owner.getPlanet().getName(), core.mapService.getClosestCityName(owner), owner, True) owner.getClient().getSession().write(tpm.serialize()) return return diff --git a/src/protocol/swg/EnterTicketPurchaseModeMessage.java b/src/protocol/swg/EnterTicketPurchaseModeMessage.java index 8ba42533..0287c55c 100644 --- a/src/protocol/swg/EnterTicketPurchaseModeMessage.java +++ b/src/protocol/swg/EnterTicketPurchaseModeMessage.java @@ -36,6 +36,14 @@ public class EnterTicketPurchaseModeMessage extends SWGMessage { private String planetName; private String cityName; private SWGObject player; + private boolean isItv = false; + + public EnterTicketPurchaseModeMessage(String planetName, String cityName, SWGObject player, boolean isItv) { + this.planetName = planetName; + this.cityName = cityName; + this.player = player; + this.isItv = true; + } public EnterTicketPurchaseModeMessage(String planetName, String cityName, SWGObject player) { this.planetName = planetName; @@ -51,9 +59,12 @@ public class EnterTicketPurchaseModeMessage extends SWGMessage { @Override public IoBuffer serialize() { final NGECore core = NGECore.getInstance(); - TravelPoint nearestPoint = core.travelService.getNearestTravelPoint(player); - IoBuffer result = IoBuffer.allocate(11 + planetName.length() + nearestPoint.getName().length()).order(ByteOrder.LITTLE_ENDIAN); + TravelPoint nearestPoint = null; + if (!isItv) nearestPoint = core.travelService.getNearestTravelPoint(player); + else nearestPoint = core.travelService.getNearestTravelPoint(player, 5120); + + IoBuffer result = IoBuffer.allocate(11 + planetName.length() + nearestPoint.getName().length()).order(ByteOrder.LITTLE_ENDIAN); result.putShort((short) 3); result.putInt(0x904DAE1A); diff --git a/src/protocol/swg/EnterTicketPurchaseModeMessageItv.java b/src/protocol/swg/EnterTicketPurchaseModeMessageItv.java deleted file mode 100644 index 89677e95..00000000 --- a/src/protocol/swg/EnterTicketPurchaseModeMessageItv.java +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013 - * - * This File is part of NGECore2. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - * - * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. - * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. - ******************************************************************************/ -package protocol.swg; - -import java.nio.ByteOrder; - -import main.NGECore; - -import org.apache.mina.core.buffer.IoBuffer; - -import services.travel.TravelPoint; -import engine.resources.objects.SWGObject; - -@SuppressWarnings("unused") -public class EnterTicketPurchaseModeMessageItv extends SWGMessage { - - private String planetName; - private String cityName; - private SWGObject player; - - public EnterTicketPurchaseModeMessageItv(String planetName, String cityName, SWGObject player) { - this.planetName = planetName; - this.cityName = cityName; - this.player = player; - } - - @Override - public void deserialize(IoBuffer data) { - - } - - @Override - public IoBuffer serialize() { - final NGECore core = NGECore.getInstance(); - TravelPoint nearestPoint = core.travelService.getNearestTravelPoint(player, 5120); - IoBuffer result = IoBuffer.allocate(11 + planetName.length() + nearestPoint.getName().length()).order(ByteOrder.LITTLE_ENDIAN); - - - result.putShort((short) 3); - result.putInt(0x904DAE1A); - - result.put(getAsciiString(planetName)); - result.put(getAsciiString(nearestPoint.getName())); - - - result.put((byte) 0); - - return result.flip(); - } - -} From 3027a60809d943c11963f128887bd10ee0fb6859 Mon Sep 17 00:00:00 2001 From: tacef Date: Wed, 6 Aug 2014 13:55:18 +0200 Subject: [PATCH 07/18] Added Corellian Lairs Fixed Typo in existing lairs Fixed Typo in grassland slice hound npc script --- scripts/mobiles/corellia/grassland_slice_hound.py | 2 +- scripts/mobiles/lairs/corellia_bageraset_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_bageraset_lair_2.py | 10 ++++++++++ scripts/mobiles/lairs/corellia_canoid_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_canoid_lair_2.py | 11 +++++++++++ scripts/mobiles/lairs/corellia_carrion_spat_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_carrion_spat_lair_2.py | 10 ++++++++++ .../lairs/corellia_corellian_butterfly_lair_1.py | 11 +++++++++++ .../lairs/corellia_corellian_butterfly_lair_2.py | 11 +++++++++++ .../lairs/corellia_corellian_butterfly_lair_3.py | 10 ++++++++++ .../lairs/corellia_corellian_butterfly_lair_4.py | 11 +++++++++++ scripts/mobiles/lairs/corellia_crazed_durni_lair_1.py | 9 +++++++++ .../lairs/corellia_crimson_sand_panther_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_dalyrake_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_dalyrake_lair_2.py | 10 ++++++++++ .../mobiles/lairs/corellia_deranged_wrix_lair_1.py | 9 +++++++++ .../mobiles/lairs/corellia_devil_gulginaw_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_dire_cat_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_dire_cat_lair_2.py | 10 ++++++++++ .../mobiles/lairs/corellia_diseased_vrelt_lair_1.py | 10 ++++++++++ .../mobiles/lairs/corellia_diseased_vrelt_lair_2.py | 9 +++++++++ .../mobiles/lairs/corellia_diseased_vrelt_lair_3.py | 10 ++++++++++ .../mobiles/lairs/corellia_diseased_vrelt_lair_4.py | 9 +++++++++ .../mobiles/lairs/corellia_diseased_vrelt_lair_5.py | 10 ++++++++++ .../mobiles/lairs/corellia_diseased_vrelt_lair_6.py | 10 ++++++++++ .../mobiles/lairs/corellia_diseased_vrelt_lair_7.py | 10 ++++++++++ .../mobiles/lairs/corellia_diseased_vrelt_lair_8.py | 9 +++++++++ scripts/mobiles/lairs/corellia_durni_warren_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_durni_warren_lair_2.py | 10 ++++++++++ scripts/mobiles/lairs/corellia_forest_murra_lair_1.py | 9 +++++++++ .../lairs/corellia_forest_slice_hound_lair_1.py | 9 +++++++++ .../lairs/corellia_giant_carrion_spat_lair_1.py | 9 +++++++++ .../mobiles/lairs/corellia_giant_dalyrake_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_giant_gubbur_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_grand_wrix_lair_1.py | 9 +++++++++ .../lairs/corellia_grassland_slice_hound_lair_1.py | 10 ++++++++++ .../lairs/corellia_greater_gulginaw_nest_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_gronda_lair_1.py | 10 ++++++++++ scripts/mobiles/lairs/corellia_gubbur_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_gulginaw_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_gurrcat_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_humbaba_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_krahbu_lair_1.py | 9 +++++++++ .../mobiles/lairs/corellia_mountain_murra_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_murra_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_paralope_lair_1.py | 9 +++++++++ .../lairs/corellia_plumed_rasp_eyrie_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_plumed_rasp_lair_1.py | 9 +++++++++ .../mobiles/lairs/corellia_razor_cat_pride_lair_1.py | 10 ++++++++++ .../mobiles/lairs/corellia_razor_cat_pride_lair_2.py | 11 +++++++++++ .../mobiles/lairs/corellia_savage_humbaba_lair_1.py | 9 +++++++++ .../mobiles/lairs/corellia_scavenger_rat_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_sharnaff_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_sharnaff_lair_2.py | 11 +++++++++++ scripts/mobiles/lairs/corellia_slice_hound_lair_1.py | 10 ++++++++++ .../mobiles/lairs/corellia_swamp_gurrcat_lair_1.py | 9 +++++++++ .../mobiles/lairs/corellia_swamp_humbaba_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_tabage_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_tabage_lair_2.py | 9 +++++++++ .../mobiles/lairs/corellia_violent_krahbu_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_vrelt_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_vynock_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_war_gronda_lair_1.py | 9 +++++++++ .../mobiles/lairs/corellia_wooded_paralope_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/corellia_wrix_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/dantooine_bol_lair_1.py | 4 +++- scripts/mobiles/lairs/dantooine_graul_lair_1.py | 4 +++- .../mobiles/lairs/dantooine_graul_mauler_lair_1.py | 3 ++- scripts/mobiles/lairs/dantooine_huurton_lair_1.py | 4 +++- scripts/mobiles/lairs/dantooine_huurton_lair_2.py | 4 +++- scripts/mobiles/lairs/dantooine_piket_lair_1.py | 3 ++- .../mobiles/lairs/dantooine_piket_longhorn_lair_1.py | 4 +++- .../lairs/dantooine_piket_plains_walker_lair_1.py | 4 +++- scripts/mobiles/lairs/dantooine_quenker_lair_1.py | 4 +++- scripts/mobiles/lairs/dantooine_thune_lair_1.py | 4 +++- scripts/mobiles/lairs/dantooine_voritor_lair_1.py | 3 ++- scripts/mobiles/lairs/dantooine_voritor_lair_2.py | 4 +++- .../mobiles/lairs/naboo_chuba_lair_neutral_small.py | 3 ++- .../lairs/tatooine_kreetle_lair_neutral_small.py | 3 ++- .../lairs/tatooine_womprat_lair_neutral_small.py | 3 ++- 80 files changed, 643 insertions(+), 16 deletions(-) create mode 100644 scripts/mobiles/lairs/corellia_bageraset_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_bageraset_lair_2.py create mode 100644 scripts/mobiles/lairs/corellia_canoid_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_canoid_lair_2.py create mode 100644 scripts/mobiles/lairs/corellia_carrion_spat_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_carrion_spat_lair_2.py create mode 100644 scripts/mobiles/lairs/corellia_corellian_butterfly_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_corellian_butterfly_lair_2.py create mode 100644 scripts/mobiles/lairs/corellia_corellian_butterfly_lair_3.py create mode 100644 scripts/mobiles/lairs/corellia_corellian_butterfly_lair_4.py create mode 100644 scripts/mobiles/lairs/corellia_crazed_durni_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_crimson_sand_panther_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_dalyrake_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_dalyrake_lair_2.py create mode 100644 scripts/mobiles/lairs/corellia_deranged_wrix_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_devil_gulginaw_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_dire_cat_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_dire_cat_lair_2.py create mode 100644 scripts/mobiles/lairs/corellia_diseased_vrelt_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_diseased_vrelt_lair_2.py create mode 100644 scripts/mobiles/lairs/corellia_diseased_vrelt_lair_3.py create mode 100644 scripts/mobiles/lairs/corellia_diseased_vrelt_lair_4.py create mode 100644 scripts/mobiles/lairs/corellia_diseased_vrelt_lair_5.py create mode 100644 scripts/mobiles/lairs/corellia_diseased_vrelt_lair_6.py create mode 100644 scripts/mobiles/lairs/corellia_diseased_vrelt_lair_7.py create mode 100644 scripts/mobiles/lairs/corellia_diseased_vrelt_lair_8.py create mode 100644 scripts/mobiles/lairs/corellia_durni_warren_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_durni_warren_lair_2.py create mode 100644 scripts/mobiles/lairs/corellia_forest_murra_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_forest_slice_hound_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_giant_carrion_spat_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_giant_dalyrake_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_giant_gubbur_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_grand_wrix_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_grassland_slice_hound_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_greater_gulginaw_nest_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_gronda_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_gubbur_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_gulginaw_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_gurrcat_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_humbaba_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_krahbu_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_mountain_murra_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_murra_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_paralope_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_plumed_rasp_eyrie_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_plumed_rasp_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_razor_cat_pride_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_razor_cat_pride_lair_2.py create mode 100644 scripts/mobiles/lairs/corellia_savage_humbaba_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_scavenger_rat_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_sharnaff_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_sharnaff_lair_2.py create mode 100644 scripts/mobiles/lairs/corellia_slice_hound_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_swamp_gurrcat_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_swamp_humbaba_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_tabage_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_tabage_lair_2.py create mode 100644 scripts/mobiles/lairs/corellia_violent_krahbu_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_vrelt_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_vynock_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_war_gronda_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_wooded_paralope_lair_1.py create mode 100644 scripts/mobiles/lairs/corellia_wrix_lair_1.py diff --git a/scripts/mobiles/corellia/grassland_slice_hound.py b/scripts/mobiles/corellia/grassland_slice_hound.py index 62709da1..e697cbd6 100644 --- a/scripts/mobiles/corellia/grassland_slice_hound.py +++ b/scripts/mobiles/corellia/grassland_slice_hound.py @@ -44,5 +44,5 @@ def addTemplate(core): mobileTemplate.setDefaultAttack('creatureMeleeAttack') mobileTemplate.setAttacks(attacks) - core.spawnService.addMobileTemplate('gassland_slice_hound', mobileTemplate) + core.spawnService.addMobileTemplate('grassland_slice_hound', mobileTemplate) return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_bageraset_lair_1.py b/scripts/mobiles/lairs/corellia_bageraset_lair_1.py new file mode 100644 index 00000000..190463f2 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_bageraset_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('bageraset') + + core.spawnService.addLairTemplate('corellia_bageraset_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_leaf_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_bageraset_lair_2.py b/scripts/mobiles/lairs/corellia_bageraset_lair_2.py new file mode 100644 index 00000000..7416ec37 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_bageraset_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('bageraset') + mobileTemplates.add('bageraset_bruiser') + + core.spawnService.addLairTemplate('corellia_bageraset_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_leaf_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_canoid_lair_1.py b/scripts/mobiles/lairs/corellia_canoid_lair_1.py new file mode 100644 index 00000000..214118ba --- /dev/null +++ b/scripts/mobiles/lairs/corellia_canoid_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('canoid') + + core.spawnService.addLairTemplate('corellia_canoid_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_canoid_lair_2.py b/scripts/mobiles/lairs/corellia_canoid_lair_2.py new file mode 100644 index 00000000..3e1ec9d7 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_canoid_lair_2.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('canoid') + mobileTemplates.add('canoid_hunter') + mobileTemplates.add('canoid_pack_leader') + + core.spawnService.addLairTemplate('corellia_canoid_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_carrion_spat_lair_1.py b/scripts/mobiles/lairs/corellia_carrion_spat_lair_1.py new file mode 100644 index 00000000..63bf9eb6 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_carrion_spat_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('carrion_spat') + + core.spawnService.addLairTemplate('corellia_carrion_spat_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_nest_large_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_carrion_spat_lair_2.py b/scripts/mobiles/lairs/corellia_carrion_spat_lair_2.py new file mode 100644 index 00000000..a43d423d --- /dev/null +++ b/scripts/mobiles/lairs/corellia_carrion_spat_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('carrion_spat') + mobileTemplates.add('carrion_spat_corpsereaver') + + core.spawnService.addLairTemplate('corellia_carrion_spat_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_nest_large_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_1.py b/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_1.py new file mode 100644 index 00000000..d1203981 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_1.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('corellian_butterfly') + mobileTemplates.add('corellian_butterfly_monarch') + mobileTemplates.add('corellian_butterfly_worker') + + core.spawnService.addLairTemplate('corellia_corellian_butterfly_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_insecthill_small_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_2.py b/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_2.py new file mode 100644 index 00000000..2c0b447b --- /dev/null +++ b/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_2.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('blood_thirsty_monarch') + mobileTemplates.add('corellian_butterfly_monarch') + mobileTemplates.add('corellian_butterfly_warrior') + + core.spawnService.addLairTemplate('corellia_corellian_butterfly_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_insecthill_small_fog_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_3.py b/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_3.py new file mode 100644 index 00000000..012c38db --- /dev/null +++ b/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_3.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('corellian_butterfly') + mobileTemplates.add('corellian_butterfly_warrior') + + core.spawnService.addLairTemplate('corellia_corellian_butterfly_lair_3', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_insecthill_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_4.py b/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_4.py new file mode 100644 index 00000000..ab0ba8c0 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_corellian_butterfly_lair_4.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('corellian_butterfly_worker') + mobileTemplates.add('corellian_butterfly_defender') + mobileTemplates.add('corellian_butterfly_drone') + + core.spawnService.addLairTemplate('corellia_corellian_butterfly_lair_4', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_insecthill_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_crazed_durni_lair_1.py b/scripts/mobiles/lairs/corellia_crazed_durni_lair_1.py new file mode 100644 index 00000000..e70abe68 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_crazed_durni_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('crazed_durni') + + core.spawnService.addLairTemplate('corellia_crazed_durni_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_warren_small_fog_gray.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_crimson_sand_panther_lair_1.py b/scripts/mobiles/lairs/corellia_crimson_sand_panther_lair_1.py new file mode 100644 index 00000000..76e1a71a --- /dev/null +++ b/scripts/mobiles/lairs/corellia_crimson_sand_panther_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('crimson_razor_cat') + + core.spawnService.addLairTemplate('corellia_crimson_sand_panther_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rock_shelter_large_fog_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_dalyrake_lair_1.py b/scripts/mobiles/lairs/corellia_dalyrake_lair_1.py new file mode 100644 index 00000000..871fb920 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_dalyrake_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('dalyrake') + + core.spawnService.addLairTemplate('corellia_dalyrake_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_mound_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_dalyrake_lair_2.py b/scripts/mobiles/lairs/corellia_dalyrake_lair_2.py new file mode 100644 index 00000000..5830bcba --- /dev/null +++ b/scripts/mobiles/lairs/corellia_dalyrake_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('dalyrake_martriarch') + mobileTemplates.add('dalyrake_harvester') + + core.spawnService.addLairTemplate('corellia_dalyrake_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_nest_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_deranged_wrix_lair_1.py b/scripts/mobiles/lairs/corellia_deranged_wrix_lair_1.py new file mode 100644 index 00000000..9edab76e --- /dev/null +++ b/scripts/mobiles/lairs/corellia_deranged_wrix_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('deranged_wrix') + + core.spawnService.addLairTemplate('corellia_deranged_wrix_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large_evil_fire_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_devil_gulginaw_lair_1.py b/scripts/mobiles/lairs/corellia_devil_gulginaw_lair_1.py new file mode 100644 index 00000000..7cec4fad --- /dev/null +++ b/scripts/mobiles/lairs/corellia_devil_gulginaw_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('devil_gulginaw') + + core.spawnService.addLairTemplate('corellia_devil_gulginaw_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_bones_evil_fire_redpoi_all_lair_bones_evil_fire_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_dire_cat_lair_1.py b/scripts/mobiles/lairs/corellia_dire_cat_lair_1.py new file mode 100644 index 00000000..f362da6a --- /dev/null +++ b/scripts/mobiles/lairs/corellia_dire_cat_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('dire_cat') + + core.spawnService.addLairTemplate('corellia_dire_cat_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_dire_cat_lair_2.py b/scripts/mobiles/lairs/corellia_dire_cat_lair_2.py new file mode 100644 index 00000000..95c03604 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_dire_cat_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('dire_cat') + mobileTemplates.add('feral_orphan') + + core.spawnService.addLairTemplate('corellia_dire_cat_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_1.py b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_1.py new file mode 100644 index 00000000..6635cfc0 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('diseased_vrelt') + mobileTemplates.add('diseased_vrelt_matriarch') + + core.spawnService.addLairTemplate('corellia_diseased_vrelt_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_2.py b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_2.py new file mode 100644 index 00000000..613570a4 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_2.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('diseased_vrelt') + + core.spawnService.addLairTemplate('corellia_diseased_vrelt_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_3.py b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_3.py new file mode 100644 index 00000000..649dd2fb --- /dev/null +++ b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_3.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('diseased_vrelt') + mobileTemplates.add('noxious_vrelt_scavenger') + + core.spawnService.addLairTemplate('corellia_diseased_vrelt_lair_3', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small_fog_mustard.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_4.py b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_4.py new file mode 100644 index 00000000..8e645a8d --- /dev/null +++ b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_4.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('noxious_vrelt_scavenger') + + core.spawnService.addLairTemplate('corellia_diseased_vrelt_lair_4', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small_fog_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_5.py b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_5.py new file mode 100644 index 00000000..e77375e6 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_5.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('diseased_vrelt') + mobileTemplates.add('diseased_vrelt_matriarch') + + core.spawnService.addLairTemplate('corellia_diseased_vrelt_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small_fog_gray.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_6.py b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_6.py new file mode 100644 index 00000000..1617ec61 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_6.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('diseased_vrelt') + mobileTemplates.add('diseased_vrelt_matriarch') + + core.spawnService.addLairTemplate('corellia_diseased_vrelt_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small_fog_mustard.iff') + return diff --git a/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_7.py b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_7.py new file mode 100644 index 00000000..bc6f56ca --- /dev/null +++ b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_7.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('diseased_vrelt') + mobileTemplates.add('diseased_vrelt_matriarch') + + core.spawnService.addLairTemplate('corellia_diseased_vrelt_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small_fog_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_8.py b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_8.py new file mode 100644 index 00000000..b6682cb2 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_diseased_vrelt_lair_8.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('diseased_vrelt') + + core.spawnService.addLairTemplate('corellia_diseased_vrelt_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_durni_warren_lair_1.py b/scripts/mobiles/lairs/corellia_durni_warren_lair_1.py new file mode 100644 index 00000000..721a5b3c --- /dev/null +++ b/scripts/mobiles/lairs/corellia_durni_warren_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('durni') + + core.spawnService.addLairTemplate('corellia_durni_warren_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_warren_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_durni_warren_lair_2.py b/scripts/mobiles/lairs/corellia_durni_warren_lair_2.py new file mode 100644 index 00000000..2fc3d415 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_durni_warren_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('durni') + mobileTemplates.add('vehement_warrior') + + core.spawnService.addLairTemplate('corellia_durni_warren_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_warren_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_forest_murra_lair_1.py b/scripts/mobiles/lairs/corellia_forest_murra_lair_1.py new file mode 100644 index 00000000..ddfe6a0a --- /dev/null +++ b/scripts/mobiles/lairs/corellia_forest_murra_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('forest_murra') + + core.spawnService.addLairTemplate('corellia_forest_murra_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_dead_log_small_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_forest_slice_hound_lair_1.py b/scripts/mobiles/lairs/corellia_forest_slice_hound_lair_1.py new file mode 100644 index 00000000..95e39849 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_forest_slice_hound_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('forest_slice_hound') + + core.spawnService.addLairTemplate('corellia_forest_slice_hound_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_bones_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_giant_carrion_spat_lair_1.py b/scripts/mobiles/lairs/corellia_giant_carrion_spat_lair_1.py new file mode 100644 index 00000000..e5906408 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_giant_carrion_spat_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('giant_carrion_spat') + + core.spawnService.addLairTemplate('corellia_giant_carrion_spat_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_nest_large_evil_fire_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_giant_dalyrake_lair_1.py b/scripts/mobiles/lairs/corellia_giant_dalyrake_lair_1.py new file mode 100644 index 00000000..d64384f0 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_giant_dalyrake_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('giant_dalyrake') + + core.spawnService.addLairTemplate('corellia_giant_dalyrake_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_mound_large_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_giant_gubbur_lair_1.py b/scripts/mobiles/lairs/corellia_giant_gubbur_lair_1.py new file mode 100644 index 00000000..44d5d5bd --- /dev/null +++ b/scripts/mobiles/lairs/corellia_giant_gubbur_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('giant_gubbur') + + core.spawnService.addLairTemplate('corellia_giant_gubbur_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_leaf_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_grand_wrix_lair_1.py b/scripts/mobiles/lairs/corellia_grand_wrix_lair_1.py new file mode 100644 index 00000000..8e66fb6c --- /dev/null +++ b/scripts/mobiles/lairs/corellia_grand_wrix_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('grand_wrix') + + core.spawnService.addLairTemplate('corellia_grand_wrix_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_grassland_slice_hound_lair_1.py b/scripts/mobiles/lairs/corellia_grassland_slice_hound_lair_1.py new file mode 100644 index 00000000..954062f4 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_grassland_slice_hound_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('grassland_slice_hound') + mobileTemplates.add('female_grassland_slice_hound') + + core.spawnService.addLairTemplate('corellia_grassland_slice_hound_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_bones_large_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_greater_gulginaw_nest_lair_1.py b/scripts/mobiles/lairs/corellia_greater_gulginaw_nest_lair_1.py new file mode 100644 index 00000000..bd8bc324 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_greater_gulginaw_nest_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('greater_gulginaw') + + core.spawnService.addLairTemplate('corellia_greater_gulginaw_nest_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_bones_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_gronda_lair_1.py b/scripts/mobiles/lairs/corellia_gronda_lair_1.py new file mode 100644 index 00000000..66a08f7d --- /dev/null +++ b/scripts/mobiles/lairs/corellia_gronda_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('gronda') + mobileTemplates.add('dwarf_gronda') + + core.spawnService.addLairTemplate('corellia_gronda_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_gubbur_lair_1.py b/scripts/mobiles/lairs/corellia_gubbur_lair_1.py new file mode 100644 index 00000000..c494d670 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_gubbur_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('gubbur') + + core.spawnService.addLairTemplate('corellia_gubbur_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_leaf_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_gulginaw_lair_1.py b/scripts/mobiles/lairs/corellia_gulginaw_lair_1.py new file mode 100644 index 00000000..e0963caf --- /dev/null +++ b/scripts/mobiles/lairs/corellia_gulginaw_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('gulginaw') + + core.spawnService.addLairTemplate('corellia_gulginaw_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rock_shelter_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_gurrcat_lair_1.py b/scripts/mobiles/lairs/corellia_gurrcat_lair_1.py new file mode 100644 index 00000000..698cffef --- /dev/null +++ b/scripts/mobiles/lairs/corellia_gurrcat_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('gurrcat') + + core.spawnService.addLairTemplate('corellia_gurrcat_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_bones.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_humbaba_lair_1.py b/scripts/mobiles/lairs/corellia_humbaba_lair_1.py new file mode 100644 index 00000000..b27337e2 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_humbaba_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('humbaba') + + core.spawnService.addLairTemplate('corellia_humbaba_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_brambles_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_krahbu_lair_1.py b/scripts/mobiles/lairs/corellia_krahbu_lair_1.py new file mode 100644 index 00000000..a563fe60 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_krahbu_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('krahbu') + + core.spawnService.addLairTemplate('corellia_krahbu_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_thicket_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_mountain_murra_lair_1.py b/scripts/mobiles/lairs/corellia_mountain_murra_lair_1.py new file mode 100644 index 00000000..74117320 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_mountain_murra_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('mountain_murra') + + core.spawnService.addLairTemplate('corellia_mountain_murra_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_dead_log_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_murra_lair_1.py b/scripts/mobiles/lairs/corellia_murra_lair_1.py new file mode 100644 index 00000000..29f569d0 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_murra_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('murra') + + core.spawnService.addLairTemplate('corellia_murra_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_dead_log_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_paralope_lair_1.py b/scripts/mobiles/lairs/corellia_paralope_lair_1.py new file mode 100644 index 00000000..e09caee7 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_paralope_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('paralope') + + core.spawnService.addLairTemplate('corellia_paralope_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_thicket_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_plumed_rasp_eyrie_lair_1.py b/scripts/mobiles/lairs/corellia_plumed_rasp_eyrie_lair_1.py new file mode 100644 index 00000000..91214c21 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_plumed_rasp_eyrie_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('majestic_plumed_rasp') + + core.spawnService.addLairTemplate('corellia_plumed_rasp_eyrie_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_nest_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_plumed_rasp_lair_1.py b/scripts/mobiles/lairs/corellia_plumed_rasp_lair_1.py new file mode 100644 index 00000000..a731a40f --- /dev/null +++ b/scripts/mobiles/lairs/corellia_plumed_rasp_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('plumed_rasp') + + core.spawnService.addLairTemplate('corellia_plumed_rasp_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_nest_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_razor_cat_pride_lair_1.py b/scripts/mobiles/lairs/corellia_razor_cat_pride_lair_1.py new file mode 100644 index 00000000..b89d4d16 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_razor_cat_pride_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('razor_cat') + mobileTemplates.add('female_razor_cat') + + core.spawnService.addLairTemplate('corellia_razor_cat_pride_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rock_shelter_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_razor_cat_pride_lair_2.py b/scripts/mobiles/lairs/corellia_razor_cat_pride_lair_2.py new file mode 100644 index 00000000..fd2edaad --- /dev/null +++ b/scripts/mobiles/lairs/corellia_razor_cat_pride_lair_2.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('razor_cat') + mobileTemplates.add('female_razor_cat') + mobileTemplates.add('razor_cat_eviscerator') + + core.spawnService.addLairTemplate('corellia_razor_cat_pride_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rock_shelter_large_evil_fire_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_savage_humbaba_lair_1.py b/scripts/mobiles/lairs/corellia_savage_humbaba_lair_1.py new file mode 100644 index 00000000..70263416 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_savage_humbaba_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('savage_humbaba') + + core.spawnService.addLairTemplate('corellia_savage_humbaba_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_brambles_large_evil_fire_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_scavenger_rat_lair_1.py b/scripts/mobiles/lairs/corellia_scavenger_rat_lair_1.py new file mode 100644 index 00000000..85d0f31f --- /dev/null +++ b/scripts/mobiles/lairs/corellia_scavenger_rat_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('scavenger_rat') + + core.spawnService.addLairTemplate('corellia_scavenger_rat_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_sharnaff_lair_1.py b/scripts/mobiles/lairs/corellia_sharnaff_lair_1.py new file mode 100644 index 00000000..e0cb4bd8 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_sharnaff_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('sharnaff') + + core.spawnService.addLairTemplate('corellia_sharnaff_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_sharnaff_lair_2.py b/scripts/mobiles/lairs/corellia_sharnaff_lair_2.py new file mode 100644 index 00000000..efc1ae28 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_sharnaff_lair_2.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('sharnaff') + mobileTemplates.add('sharnaff_reckless_ravager') + mobileTemplates.add('sharnaff_bull') + + core.spawnService.addLairTemplate('corellia_sharnaff_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_slice_hound_lair_1.py b/scripts/mobiles/lairs/corellia_slice_hound_lair_1.py new file mode 100644 index 00000000..f13589a4 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_slice_hound_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('female_slice_hound') + mobileTemplates.add('slice_hound') + + core.spawnService.addLairTemplate('corellia_grassland_slice_hound_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_bones.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_swamp_gurrcat_lair_1.py b/scripts/mobiles/lairs/corellia_swamp_gurrcat_lair_1.py new file mode 100644 index 00000000..baa213cc --- /dev/null +++ b/scripts/mobiles/lairs/corellia_swamp_gurrcat_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('gulginaw') + + core.spawnService.addLairTemplate('corellia_gulginaw_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_bones.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_swamp_humbaba_lair_1.py b/scripts/mobiles/lairs/corellia_swamp_humbaba_lair_1.py new file mode 100644 index 00000000..5f5c5074 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_swamp_humbaba_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('swamp_humbaba') + + core.spawnService.addLairTemplate('corellia_swamp_humbaba_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_brambles_large_fog_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_tabage_lair_1.py b/scripts/mobiles/lairs/corellia_tabage_lair_1.py new file mode 100644 index 00000000..6c292c2d --- /dev/null +++ b/scripts/mobiles/lairs/corellia_tabage_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('tabage') + + core.spawnService.addLairTemplate('corellia_tabage_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_tabage_lair_2.py b/scripts/mobiles/lairs/corellia_tabage_lair_2.py new file mode 100644 index 00000000..0707c004 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_tabage_lair_2.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('tabage_scavenger') + + core.spawnService.addLairTemplate('corellia_tabage_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_brambles_small_evil_fire_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_violent_krahbu_lair_1.py b/scripts/mobiles/lairs/corellia_violent_krahbu_lair_1.py new file mode 100644 index 00000000..c9a90909 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_violent_krahbu_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('violent_krahbu') + + core.spawnService.addLairTemplate('corellia_krahbu_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_thicket_small_evil_fire_red..iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_vrelt_lair_1.py b/scripts/mobiles/lairs/corellia_vrelt_lair_1.py new file mode 100644 index 00000000..04053b94 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_vrelt_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('vrelt') + + core.spawnService.addLairTemplate('corellia_vrelt_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_garbage_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_vynock_lair_1.py b/scripts/mobiles/lairs/corellia_vynock_lair_1.py new file mode 100644 index 00000000..749d161d --- /dev/null +++ b/scripts/mobiles/lairs/corellia_vynock_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('vynock') + + core.spawnService.addLairTemplate('corellia_vynock_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_nest_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_war_gronda_lair_1.py b/scripts/mobiles/lairs/corellia_war_gronda_lair_1.py new file mode 100644 index 00000000..86e0c220 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_war_gronda_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('war_gronda') + + core.spawnService.addLairTemplate('corellia_war_gronda_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_wooded_paralope_lair_1.py b/scripts/mobiles/lairs/corellia_wooded_paralope_lair_1.py new file mode 100644 index 00000000..fd1356b1 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_wooded_paralope_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('wooded_paralope') + + core.spawnService.addLairTemplate('corellia_wooded_paralope_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_thicket_small_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/corellia_wrix_lair_1.py b/scripts/mobiles/lairs/corellia_wrix_lair_1.py new file mode 100644 index 00000000..c61b1eb8 --- /dev/null +++ b/scripts/mobiles/lairs/corellia_wrix_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('wrix') + + core.spawnService.addLairTemplate('corellia_wrix_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_bol_lair_1.py b/scripts/mobiles/lairs/dantooine_bol_lair_1.py index 953c80f5..68c895b0 100644 --- a/scripts/mobiles/lairs/dantooine_bol_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_bol_lair_1.py @@ -6,4 +6,6 @@ def addTemplate(core): mobileTemplates.add('lesser_plains_bol') mobileTemplates.add('seething_bol_crusher') mobileTemplates.add('swift_charging_bol') - core.spawnService.addLairTemplate('dantooine_bol_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + + core.spawnService.addLairTemplate('dantooine_bol_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_graul_lair_1.py b/scripts/mobiles/lairs/dantooine_graul_lair_1.py index 953c80f5..68c895b0 100644 --- a/scripts/mobiles/lairs/dantooine_graul_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_graul_lair_1.py @@ -6,4 +6,6 @@ def addTemplate(core): mobileTemplates.add('lesser_plains_bol') mobileTemplates.add('seething_bol_crusher') mobileTemplates.add('swift_charging_bol') - core.spawnService.addLairTemplate('dantooine_bol_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + + core.spawnService.addLairTemplate('dantooine_bol_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_graul_mauler_lair_1.py b/scripts/mobiles/lairs/dantooine_graul_mauler_lair_1.py index dfad5707..7de29fa4 100644 --- a/scripts/mobiles/lairs/dantooine_graul_mauler_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_graul_mauler_lair_1.py @@ -2,4 +2,5 @@ import sys from java.util import Vector def addTemplate(core): - core.spawnService.addLairTemplate('dantooine_graul_mauler_lair_1', 'graul_mauler', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + core.spawnService.addLairTemplate('dantooine_graul_mauler_lair_1', 'graul_mauler', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_huurton_lair_1.py b/scripts/mobiles/lairs/dantooine_huurton_lair_1.py index 68fe6e33..6b3e89e2 100644 --- a/scripts/mobiles/lairs/dantooine_huurton_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_huurton_lair_1.py @@ -6,4 +6,6 @@ def addTemplate(core): mobileTemplates.add('huurton') mobileTemplates.add('huurton_howler') mobileTemplates.add('huurton_matron') - core.spawnService.addLairTemplate('dantooine_huurton_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + + core.spawnService.addLairTemplate('dantooine_huurton_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_huurton_lair_2.py b/scripts/mobiles/lairs/dantooine_huurton_lair_2.py index a94d718e..03eb120a 100644 --- a/scripts/mobiles/lairs/dantooine_huurton_lair_2.py +++ b/scripts/mobiles/lairs/dantooine_huurton_lair_2.py @@ -6,4 +6,6 @@ def addTemplate(core): mobileTemplates.add('huurton_pub') mobileTemplates.add('huurton_reaper') mobileTemplates.add('huurton_stalker') - core.spawnService.addLairTemplate('dantooine_huurton_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + + core.spawnService.addLairTemplate('dantooine_huurton_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_piket_lair_1.py b/scripts/mobiles/lairs/dantooine_piket_lair_1.py index a6ccd8a6..baff7b2c 100644 --- a/scripts/mobiles/lairs/dantooine_piket_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_piket_lair_1.py @@ -1,4 +1,5 @@ import sys def addTemplate(core): - core.spawnService.addLairTemplate('dantooine_piket_lair_1', 'piket', 15, 'object/tangible/lair/base/shared_earthmound_light.iff') \ No newline at end of file + core.spawnService.addLairTemplate('dantooine_piket_lair_1', 'piket', 15, 'object/tangible/lair/base/shared_earthmound_light.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_1.py b/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_1.py index 1e24cef1..d84eb45b 100644 --- a/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_1.py @@ -6,4 +6,6 @@ def addTemplate(core): mobileTemplates.add('piket_longhorn') mobileTemplates.add('piket_longhorn_female') mobileTemplates.add('piket_plains_walker') - core.spawnService.addLairTemplate('dantooine_piket_longhorn_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_earthmound_light.iff') \ No newline at end of file + + core.spawnService.addLairTemplate('dantooine_piket_longhorn_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_earthmound_light.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_piket_plains_walker_lair_1.py b/scripts/mobiles/lairs/dantooine_piket_plains_walker_lair_1.py index b837fe8c..88314728 100644 --- a/scripts/mobiles/lairs/dantooine_piket_plains_walker_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_piket_plains_walker_lair_1.py @@ -4,4 +4,6 @@ from java.util import Vector def addTemplate(core): mobileTemplates = Vector() mobileTemplates.add('piket_plains_walker') - core.spawnService.addLairTemplate('dantooine_piket_plains_walker_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_earthmound_light.iff') \ No newline at end of file + + core.spawnService.addLairTemplate('dantooine_piket_plains_walker_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_earthmound_light.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_quenker_lair_1.py b/scripts/mobiles/lairs/dantooine_quenker_lair_1.py index 4856d31e..3ebe353c 100644 --- a/scripts/mobiles/lairs/dantooine_quenker_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_quenker_lair_1.py @@ -6,4 +6,6 @@ def addTemplate(core): mobileTemplates.add('quenker') mobileTemplates.add('quenker_ravager') mobileTemplates.add('quenker_relic_reaper') - core.spawnService.addLairTemplate('dantooine_quenker_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + + core.spawnService.addLairTemplate('dantooine_quenker_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_thune_lair_1.py b/scripts/mobiles/lairs/dantooine_thune_lair_1.py index 93962a7a..c5cea1ec 100644 --- a/scripts/mobiles/lairs/dantooine_thune_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_thune_lair_1.py @@ -6,4 +6,6 @@ def addTemplate(core): mobileTemplates.add('thune') mobileTemplates.add('thune_grassland_guardian') mobileTemplates.add('thune_herd_leader') - core.spawnService.addLairTemplate('dantooine_thune_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_earthmound_light.iff') \ No newline at end of file + + core.spawnService.addLairTemplate('dantooine_thune_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_earthmound_light.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_lair_1.py b/scripts/mobiles/lairs/dantooine_voritor_lair_1.py index 8e1afee4..8fd066b5 100644 --- a/scripts/mobiles/lairs/dantooine_voritor_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_voritor_lair_1.py @@ -2,4 +2,5 @@ import sys from java.util import Vector def addTemplate(core): - core.spawnService.addLairTemplate('dantooine_voritor_lair_1', 'voritor_lizard', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + core.spawnService.addLairTemplate('dantooine_voritor_lair_1', 'voritor_lizard', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_lair_2.py b/scripts/mobiles/lairs/dantooine_voritor_lair_2.py index 9352c9f3..976aa49d 100644 --- a/scripts/mobiles/lairs/dantooine_voritor_lair_2.py +++ b/scripts/mobiles/lairs/dantooine_voritor_lair_2.py @@ -8,4 +8,6 @@ def addTemplate(core): mobileTemplates.add('vexed_voritor_lizard') mobileTemplates.add('voritor_dasher') mobileTemplates.add('spiked_slasher') - core.spawnService.addLairTemplate('dantooine_voritor_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + + core.spawnService.addLairTemplate('dantooine_voritor_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/naboo_chuba_lair_neutral_small.py b/scripts/mobiles/lairs/naboo_chuba_lair_neutral_small.py index ac408bdb..8b1f2057 100644 --- a/scripts/mobiles/lairs/naboo_chuba_lair_neutral_small.py +++ b/scripts/mobiles/lairs/naboo_chuba_lair_neutral_small.py @@ -1,4 +1,5 @@ import sys def addTemplate(core): - core.spawnService.addLairTemplate('naboo_chuba_lair_neutral_small', 'chuba', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + core.spawnService.addLairTemplate('naboo_chuba_lair_neutral_small', 'chuba', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/tatooine_kreetle_lair_neutral_small.py b/scripts/mobiles/lairs/tatooine_kreetle_lair_neutral_small.py index 76e76ebe..c50994d2 100644 --- a/scripts/mobiles/lairs/tatooine_kreetle_lair_neutral_small.py +++ b/scripts/mobiles/lairs/tatooine_kreetle_lair_neutral_small.py @@ -1,4 +1,5 @@ import sys def addTemplate(core): - core.spawnService.addLairTemplate('tatooine_kreetle_lair_neutral_small', 'kreetle', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + core.spawnService.addLairTemplate('tatooine_kreetle_lair_neutral_small', 'kreetle', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/tatooine_womprat_lair_neutral_small.py b/scripts/mobiles/lairs/tatooine_womprat_lair_neutral_small.py index 60400598..6de07bc2 100644 --- a/scripts/mobiles/lairs/tatooine_womprat_lair_neutral_small.py +++ b/scripts/mobiles/lairs/tatooine_womprat_lair_neutral_small.py @@ -1,4 +1,5 @@ import sys def addTemplate(core): - core.spawnService.addLairTemplate('tatooine_womprat_lair_neutral_small', 'womprat', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file + core.spawnService.addLairTemplate('tatooine_womprat_lair_neutral_small', 'womprat', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + return \ No newline at end of file From 3b1568339d69dd5a6d3ae4003bc08c6994ce7a7d Mon Sep 17 00:00:00 2001 From: voronius Date: Wed, 6 Aug 2014 20:05:04 +0300 Subject: [PATCH 08/18] Fix for issue 136 Fix for issue 136. Inspiration buffs should no longer stack. --- scripts/commands/inspire.py | 3 +- src/services/BuffService.java | 74 ++++++++++++++++++++------ src/services/EntertainmentService.java | 9 +++- src/services/spawn/CreatureSkill.java | 65 ++++++++++++++++++++++ 4 files changed, 132 insertions(+), 19 deletions(-) create mode 100644 src/services/spawn/CreatureSkill.java diff --git a/scripts/commands/inspire.py b/scripts/commands/inspire.py index 282fe64a..15948e9e 100644 --- a/scripts/commands/inspire.py +++ b/scripts/commands/inspire.py @@ -10,13 +10,12 @@ def run(core, actor, target, commandString): if not playerObject or playerObject.getProfession() != "entertainer_1a": return - if target is None or actor.getObjectId() == target.getObjectId(): openBuffWindow = BuffBuilderStartMessage(actor.getObjectId(), actor.getObjectId(), actor.getObjectId()) objController = ObjControllerMessage(11, openBuffWindow) actor.getClient().getSession().write(objController.serialize()) return - + if target is None and commandString is not None: target = core.chatService.getObjectByFirstName(commandString) if target is None: diff --git a/src/services/BuffService.java b/src/services/BuffService.java index 4b7c533c..70a24957 100644 --- a/src/services/BuffService.java +++ b/src/services/BuffService.java @@ -143,7 +143,7 @@ public class BuffService implements INetworkDispatch { for (final Buff otherBuff : target.getBuffList()) { - if (buff.getGroup1().equals(otherBuff.getGroup1())) + if (buff.getGroup1().equals(otherBuff.getGroup1())) if (buff.getPriority() >= otherBuff.getPriority()) { if (buff.getBuffName().equals(otherBuff.getBuffName())) { @@ -164,11 +164,11 @@ public class BuffService implements INetworkDispatch { if (otherBuff.getRemainingDuration() > buff.getDuration() && otherBuff.getStacks() >= otherBuff.getMaxStacks()) return null; } - removeBuffFromCreature(target, otherBuff); break; - } else { - System.out.println("buff not added:" + buffName); + } else + { + return null; } } @@ -239,9 +239,12 @@ public class BuffService implements INetworkDispatch { } @SuppressWarnings("unused") - public void removeBuffFromCreature(CreatureObject creature, Buff buff) { + public void removeBuffFromCreature(CreatureObject creature, Buff buff) + { if(!creature.getBuffList().contains(buff)) - return; + { + return; + } DamageOverTime dot = creature.getDotByBuff(buff); if(dot != null) { dot.getTask().cancel(true); @@ -251,14 +254,40 @@ public class BuffService implements INetworkDispatch { /* if(FileUtilities.doesFileExist("scripts/buffs/" + buff.getBuffName() + ".py")) core.scriptService.callScript("scripts/buffs/", buff.getBuffName(), "remove", core, creature, buff); else {*/ - if(buff.getEffect1Name().length() > 0) core.skillModService.deductSkillMod(creature, buff.getEffect1Name(), (int) buff.getEffect1Value()); - if(buff.getEffect2Name().length() > 0) core.skillModService.deductSkillMod(creature, buff.getEffect2Name(), (int) buff.getEffect2Value()); - if(buff.getEffect1Name().length() > 0) core.skillModService.deductSkillMod(creature, buff.getEffect3Name(), (int) buff.getEffect3Value()); - if(buff.getEffect1Name().length() > 0) core.skillModService.deductSkillMod(creature, buff.getEffect4Name(), (int) buff.getEffect4Value()); - if(buff.getEffect1Name().length() > 0) core.skillModService.deductSkillMod(creature, buff.getEffect5Name(), (int) buff.getEffect5Value()); -// } - if (!buff.getCallback().equals("none") && !buff.getCallback().equals("")) { + if(buff.getEffect1Name().length() > 0) + { + + core.skillModService.deductSkillMod(creature, buff.getEffect1Name(), (int) buff.getEffect1Value()); + + } + + if(buff.getEffect2Name().length() > 0) + { + core.skillModService.deductSkillMod(creature, buff.getEffect2Name(), (int) buff.getEffect2Value()); + } + + if(buff.getEffect3Name().length() > 0) + { + core.skillModService.deductSkillMod(creature, buff.getEffect3Name(), (int) buff.getEffect3Value()); + + } + + if(buff.getEffect4Name().length() > 0) + { + core.skillModService.deductSkillMod(creature, buff.getEffect4Name(), (int) buff.getEffect4Value()); + + } + + if(buff.getEffect5Name().length() > 0) + { + core.skillModService.deductSkillMod(creature, buff.getEffect5Name(), (int) buff.getEffect5Value()); + } +// } + + // ??? callback for what ? toggle buff ? + if (!buff.getCallback().equals("none") && !buff.getCallback().equals("")) + { if (FileUtilities.doesFileExist("scripts/buffs/" + buff.getBuffName() + ".py")) { PyObject method = core.scriptService.getMethod("scripts/buffs/", buff.getBuffName(), buff.getCallback()); @@ -267,6 +296,19 @@ public class BuffService implements INetworkDispatch { } } } + //remove method is more like it + else + { + if (FileUtilities.doesFileExist("scripts/buffs/" + buff.getBuffName() + ".py")) + { + PyObject method = core.scriptService.getMethod("scripts/buffs/", buff.getBuffName(), "remove"); + + if (method != null && method.isCallable()) + { + method.__call__(Py.java2py(core), Py.java2py(creature), Py.java2py(buff)); + } + } + } creature.removeBuff(buff); for (String effect : buff.getParticleEffect().split(",")) { @@ -352,14 +394,16 @@ public class BuffService implements INetworkDispatch { public void addGroupBuff(CreatureObject target, String buffName, CreatureObject buffer) { - if(buffer.getGroupId() == 0) { + if(buffer.getGroupId() == 0) + { doAddBuff(target, buffName, buffer); return; } GroupObject group = (GroupObject) core.objectService.getObject(buffer.getGroupId()); - if(group == null) { + if(group == null) + { doAddBuff(target, buffName, buffer); return; } diff --git a/src/services/EntertainmentService.java b/src/services/EntertainmentService.java index ab1b03e3..645dcd8d 100644 --- a/src/services/EntertainmentService.java +++ b/src/services/EntertainmentService.java @@ -539,6 +539,12 @@ public class EntertainmentService implements INetworkDispatch { public void giveInspirationBuff(CreatureObject reciever, CreatureObject buffer, Vector buffVector) { + + if (reciever.hasBuff("buildabuff_inspiration")) + { + core.buffService.removeBuffFromCreature(reciever, reciever.getBuffByName("buildabuff_inspiration")); + } + Vector availableStats = buffBuilderSkills; Vector stats = new Vector(); @@ -611,8 +617,7 @@ public class EntertainmentService implements INetworkDispatch { //if (reciever.getAttachment("buffWorkshopTimestamp") != null) //timeStamp = (long) reciever.getAttachment("buffWorkshopTimestamp"); - if (reciever.hasBuff("buildabuff_inspiration")) - core.buffService.removeBuffFromCreature(reciever, reciever.getBuffByName("buildabuff_inspiration")); + core.buffService.addBuffToCreature(reciever, "buildabuff_inspiration", buffer); /*if (core.buffService.addBuffToCreature(reciever, "buildabuff_inspiration", buffer) && !rPlayer.getProfession().equals("entertainer_1a")) { diff --git a/src/services/spawn/CreatureSkill.java b/src/services/spawn/CreatureSkill.java new file mode 100644 index 00000000..0a647ac1 --- /dev/null +++ b/src/services/spawn/CreatureSkill.java @@ -0,0 +1,65 @@ +/******************************************************************************* + * 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 services.spawn; + +public class CreatureSkill +{ + public String name; + public long cooldown; + public long usage; + public Integer mask; + public CreatureSkill(String name, long cooldown, Integer mask) + { + this.name=name; + this.cooldown=cooldown; + this.mask=mask; + } + public String getName() + { + return name; + } + public long getCooldown() + { + return cooldown; + } + public Integer getMask() + { + return mask; + } + public void setUsage(long usage) + { + this.usage=usage; + } + public long getUsage() + { + return usage; + } + public static final byte BUFF_SKILL=1; + public static final byte DAMAGE_SKILL=2; + public static final byte DEFENSE_SKILL=4; + public static final byte DRAIN_SKILL=8; + public static final byte HEAL_SKILL=16; + +} + + + From 76b552bc29748f879587bae73a65700f403d8d56 Mon Sep 17 00:00:00 2001 From: voronius Date: Wed, 6 Aug 2014 20:20:29 +0300 Subject: [PATCH 09/18] Fix for 139 part 2 Inspiration buffs should no longer stack - https://www.youtube.com/upload. Removed a new file I shouldn't have commited. --- src/services/spawn/CreatureSkill.java | 65 --------------------------- 1 file changed, 65 deletions(-) delete mode 100644 src/services/spawn/CreatureSkill.java diff --git a/src/services/spawn/CreatureSkill.java b/src/services/spawn/CreatureSkill.java deleted file mode 100644 index 0a647ac1..00000000 --- a/src/services/spawn/CreatureSkill.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013 - * - * This File is part of NGECore2. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - * - * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. - * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. - ******************************************************************************/ -package services.spawn; - -public class CreatureSkill -{ - public String name; - public long cooldown; - public long usage; - public Integer mask; - public CreatureSkill(String name, long cooldown, Integer mask) - { - this.name=name; - this.cooldown=cooldown; - this.mask=mask; - } - public String getName() - { - return name; - } - public long getCooldown() - { - return cooldown; - } - public Integer getMask() - { - return mask; - } - public void setUsage(long usage) - { - this.usage=usage; - } - public long getUsage() - { - return usage; - } - public static final byte BUFF_SKILL=1; - public static final byte DAMAGE_SKILL=2; - public static final byte DEFENSE_SKILL=4; - public static final byte DRAIN_SKILL=8; - public static final byte HEAL_SKILL=16; - -} - - - From 92cf0136298c6f053888d358c9237fdcc78eb44b Mon Sep 17 00:00:00 2001 From: tacef Date: Wed, 6 Aug 2014 19:52:58 +0200 Subject: [PATCH 10/18] Added Dantooine Lairs Added Baby Bol NPC's Changed Several Lairs to be more acurate to Live --- scripts/mobiles/dantooine/baby_bol.py | 45 +++++++++++++++++++ .../lairs/dantooine_ancient_graul_lair_1.py | 10 +++++ scripts/mobiles/lairs/dantooine_bol_lair_1.py | 8 ++-- scripts/mobiles/lairs/dantooine_bol_lair_2.py | 11 +++++ scripts/mobiles/lairs/dantooine_bol_lair_3.py | 11 +++++ scripts/mobiles/lairs/dantooine_bol_lair_4.py | 11 +++++ scripts/mobiles/lairs/dantooine_bol_lair_5.py | 9 ++++ scripts/mobiles/lairs/dantooine_bol_lair_6.py | 9 ++++ scripts/mobiles/lairs/dantooine_bol_lair_7.py | 9 ++++ scripts/mobiles/lairs/dantooine_bol_lair_8.py | 9 ++++ .../lairs/dantooine_frenzied_graul_lair_1.py | 10 +++++ .../mobiles/lairs/dantooine_graul_lair_1.py | 7 +-- .../lairs/dantooine_graul_mauler_lair_1.py | 2 +- .../lairs/dantooine_graul_mauler_lair_2.py | 11 +++++ .../lairs/dantooine_huurton_howler_lair_1.py | 9 ++++ .../lairs/dantooine_huurton_howler_lair_2.py | 10 +++++ .../lairs/dantooine_huurton_matron_lair_1.py | 10 +++++ .../lairs/dantooine_piket_longhorn_lair_1.py | 3 +- .../lairs/dantooine_piket_longhorn_lair_2.py | 10 +++++ .../lairs/dantooine_piket_protector_lair_1.py | 5 +++ .../lairs/dantooine_quenker_bile_lair_1.py | 9 ++++ .../lairs/dantooine_quenker_bile_lair_2.py | 9 ++++ .../mobiles/lairs/dantooine_quenker_lair_1.py | 4 +- .../lairs/dantooine_quenker_ravager_lair_1.py | 9 ++++ .../dantooine_quenker_relic_reaper_lair_1.py | 9 ++++ .../lairs/dantooine_quenker_savage_lair_1.py | 9 ++++ .../lairs/dantooine_quenker_savage_lair_2.py | 10 +++++ .../mobiles/lairs/dantooine_thune_lair_1.py | 4 +- .../dantooine_voritor_horned_lizard_lair_1.py | 6 +++ .../dantooine_voritor_horned_lizard_lair_2.py | 6 +++ .../lairs/dantooine_voritor_hunter_lair_1.py | 6 +++ .../lairs/dantooine_voritor_hunter_lair_2.py | 6 +++ .../lairs/dantooine_voritor_jungle_lair_1.py | 10 +++++ .../lairs/dantooine_voritor_jungle_lair_2.py | 10 +++++ .../mobiles/lairs/dantooine_voritor_lair_1.py | 5 ++- .../mobiles/lairs/dantooine_voritor_lair_2.py | 8 +--- .../lairs/dantooine_voritor_tracker_lair_1.py | 9 ++++ 37 files changed, 312 insertions(+), 26 deletions(-) create mode 100644 scripts/mobiles/dantooine/baby_bol.py create mode 100644 scripts/mobiles/lairs/dantooine_ancient_graul_lair_1.py create mode 100644 scripts/mobiles/lairs/dantooine_bol_lair_2.py create mode 100644 scripts/mobiles/lairs/dantooine_bol_lair_3.py create mode 100644 scripts/mobiles/lairs/dantooine_bol_lair_4.py create mode 100644 scripts/mobiles/lairs/dantooine_bol_lair_5.py create mode 100644 scripts/mobiles/lairs/dantooine_bol_lair_6.py create mode 100644 scripts/mobiles/lairs/dantooine_bol_lair_7.py create mode 100644 scripts/mobiles/lairs/dantooine_bol_lair_8.py create mode 100644 scripts/mobiles/lairs/dantooine_frenzied_graul_lair_1.py create mode 100644 scripts/mobiles/lairs/dantooine_graul_mauler_lair_2.py create mode 100644 scripts/mobiles/lairs/dantooine_huurton_howler_lair_1.py create mode 100644 scripts/mobiles/lairs/dantooine_huurton_howler_lair_2.py create mode 100644 scripts/mobiles/lairs/dantooine_huurton_matron_lair_1.py create mode 100644 scripts/mobiles/lairs/dantooine_piket_longhorn_lair_2.py create mode 100644 scripts/mobiles/lairs/dantooine_piket_protector_lair_1.py create mode 100644 scripts/mobiles/lairs/dantooine_quenker_bile_lair_1.py create mode 100644 scripts/mobiles/lairs/dantooine_quenker_bile_lair_2.py create mode 100644 scripts/mobiles/lairs/dantooine_quenker_ravager_lair_1.py create mode 100644 scripts/mobiles/lairs/dantooine_quenker_relic_reaper_lair_1.py create mode 100644 scripts/mobiles/lairs/dantooine_quenker_savage_lair_1.py create mode 100644 scripts/mobiles/lairs/dantooine_quenker_savage_lair_2.py create mode 100644 scripts/mobiles/lairs/dantooine_voritor_horned_lizard_lair_1.py create mode 100644 scripts/mobiles/lairs/dantooine_voritor_horned_lizard_lair_2.py create mode 100644 scripts/mobiles/lairs/dantooine_voritor_hunter_lair_1.py create mode 100644 scripts/mobiles/lairs/dantooine_voritor_hunter_lair_2.py create mode 100644 scripts/mobiles/lairs/dantooine_voritor_jungle_lair_1.py create mode 100644 scripts/mobiles/lairs/dantooine_voritor_jungle_lair_2.py create mode 100644 scripts/mobiles/lairs/dantooine_voritor_tracker_lair_1.py diff --git a/scripts/mobiles/dantooine/baby_bol.py b/scripts/mobiles/dantooine/baby_bol.py new file mode 100644 index 00000000..e51cde50 --- /dev/null +++ b/scripts/mobiles/dantooine/baby_bol.py @@ -0,0 +1,45 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from resources.datatables import WeaponType +from resources.datatables import Difficulty +from resources.datatables import Options +from java.util import Vector + + +def addTemplate(core): + mobileTemplate = MobileTemplate() + mobileTemplate.setCreatureName('baby_bol') + mobileTemplate.setLevel(58) + mobileTemplate.setDifficulty(Difficulty.NORMAL) + + mobileTemplate.setMinSpawnDistance(5) + mobileTemplate.setMaxSpawnDistance(10) + mobileTemplate.setDeathblow(False) + mobileTemplate.setScale(1) + mobileTemplate.setMeatType("Wild Meat") + mobileTemplate.setMeatAmount(0) + mobileTemplate.setHideType("Leathery Hide") + mobileTemplate.setBoneAmount(300) + mobileTemplate.setBoneType("Animal Bone") + mobileTemplate.setHideAmount(180) + mobileTemplate.setSocialGroup("bol") + mobileTemplate.setAssistRange(12) + mobileTemplate.setStalker(False) + mobileTemplate.setOptionsBitmask(Options.ATTACKABLE) + + templates = Vector() + templates.add('object/mobile/shared_baby_bol.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic') + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('creatureMeleeAttack') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('baby_bol', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_ancient_graul_lair_1.py b/scripts/mobiles/lairs/dantooine_ancient_graul_lair_1.py new file mode 100644 index 00000000..cc31937a --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_ancient_graul_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('ancient_graul') + + + core.spawnService.addLairTemplate('dantooine_ancient_graul_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/cave_small_light.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_bol_lair_1.py b/scripts/mobiles/lairs/dantooine_bol_lair_1.py index 68c895b0..0bbd1300 100644 --- a/scripts/mobiles/lairs/dantooine_bol_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_bol_lair_1.py @@ -3,9 +3,9 @@ from java.util import Vector def addTemplate(core): mobileTemplates = Vector() - mobileTemplates.add('lesser_plains_bol') - mobileTemplates.add('seething_bol_crusher') - mobileTemplates.add('swift_charging_bol') + mobileTemplates.add('bol') + mobileTemplates.add('bol_pack_runner') + mobileTemplates.add('baby_bol') - core.spawnService.addLairTemplate('dantooine_bol_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + core.spawnService.addLairTemplate('dantooine_bol_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rock_shelter_large.iff') return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_bol_lair_2.py b/scripts/mobiles/lairs/dantooine_bol_lair_2.py new file mode 100644 index 00000000..617b642e --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_bol_lair_2.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('bol') + mobileTemplates.add('bol_pack_runner') + mobileTemplates.add('baby_bol') + + core.spawnService.addLairTemplate('dantooine_bol_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_bol_lair_3.py b/scripts/mobiles/lairs/dantooine_bol_lair_3.py new file mode 100644 index 00000000..acdf2eac --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_bol_lair_3.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('bol') + mobileTemplates.add('bol_pack_runner') + mobileTemplates.add('swift_charging_bol') + + core.spawnService.addLairTemplate('dantooine_bol_lair_3', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_bol_lair_4.py b/scripts/mobiles/lairs/dantooine_bol_lair_4.py new file mode 100644 index 00000000..a219678b --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_bol_lair_4.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('bol') + mobileTemplates.add('bol_pack_runner') + mobileTemplates.add('swift_charging_bol') + + core.spawnService.addLairTemplate('dantooine_bol_lair_4', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rock_shelter_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_bol_lair_5.py b/scripts/mobiles/lairs/dantooine_bol_lair_5.py new file mode 100644 index 00000000..e4ba26a7 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_bol_lair_5.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('lesser_plains_bol') + + core.spawnService.addLairTemplate('dantooine_bol_lair_5', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rock_shelter_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_bol_lair_6.py b/scripts/mobiles/lairs/dantooine_bol_lair_6.py new file mode 100644 index 00000000..e5787a02 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_bol_lair_6.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('lesser_plains_bol') + + core.spawnService.addLairTemplate('dantooine_bol_lair_6', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_bol_lair_7.py b/scripts/mobiles/lairs/dantooine_bol_lair_7.py new file mode 100644 index 00000000..9e6d793c --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_bol_lair_7.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('seething_bol_crusher') + + core.spawnService.addLairTemplate('dantooine_bol_lair_6', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_bol_lair_8.py b/scripts/mobiles/lairs/dantooine_bol_lair_8.py new file mode 100644 index 00000000..bb17c668 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_bol_lair_8.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('seething_bol_crusher') + + core.spawnService.addLairTemplate('dantooine_bol_lair_6', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rock_shelter_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_frenzied_graul_lair_1.py b/scripts/mobiles/lairs/dantooine_frenzied_graul_lair_1.py new file mode 100644 index 00000000..55991920 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_frenzied_graul_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('frenzied_graul') + + + core.spawnService.addLairTemplate('dantooine_frenzied_graul_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/cave_small_dark.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_graul_lair_1.py b/scripts/mobiles/lairs/dantooine_graul_lair_1.py index 68c895b0..f8c2d409 100644 --- a/scripts/mobiles/lairs/dantooine_graul_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_graul_lair_1.py @@ -2,10 +2,5 @@ import sys from java.util import Vector def addTemplate(core): - mobileTemplates = Vector() - mobileTemplates.add('lesser_plains_bol') - mobileTemplates.add('seething_bol_crusher') - mobileTemplates.add('swift_charging_bol') - - core.spawnService.addLairTemplate('dantooine_bol_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + core.spawnService.addLairTemplate('dantooine_graul_mauler_lair_1', 'graul', 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_graul_mauler_lair_1.py b/scripts/mobiles/lairs/dantooine_graul_mauler_lair_1.py index 7de29fa4..88845099 100644 --- a/scripts/mobiles/lairs/dantooine_graul_mauler_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_graul_mauler_lair_1.py @@ -2,5 +2,5 @@ import sys from java.util import Vector def addTemplate(core): - core.spawnService.addLairTemplate('dantooine_graul_mauler_lair_1', 'graul_mauler', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + core.spawnService.addLairTemplate('dantooine_graul_mauler_lair_1', 'graul_mauler', 15, 'object/tangible/lair/base/poi_all_lair_rocks_large_evil_fire_red.iff') return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_graul_mauler_lair_2.py b/scripts/mobiles/lairs/dantooine_graul_mauler_lair_2.py new file mode 100644 index 00000000..ca0b46d3 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_graul_mauler_lair_2.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + + mobileTemplates = Vector() + mobileTemplates.add('graul_mauler') + mobileTemplates.add('graul_mangler') + + core.spawnService.addLairTemplate('dantooine_graul_mauler_lair_1', mobileTemplates , 15, 'object/tangible/lair/base/poi_all_lair_rocks_large_evil_fire_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_huurton_howler_lair_1.py b/scripts/mobiles/lairs/dantooine_huurton_howler_lair_1.py new file mode 100644 index 00000000..12dc3b54 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_huurton_howler_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('huurton_howler') + + core.spawnService.addLairTemplate('dantooine_huurton_howler_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/bramble_light.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_huurton_howler_lair_2.py b/scripts/mobiles/lairs/dantooine_huurton_howler_lair_2.py new file mode 100644 index 00000000..9ed66794 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_huurton_howler_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('huurton_howler') + mobileTemplates.add('huurton_bloodhunter') + + core.spawnService.addLairTemplate('dantooine_huurton_howler_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_brambles_large_fog_mustard.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_huurton_matron_lair_1.py b/scripts/mobiles/lairs/dantooine_huurton_matron_lair_1.py new file mode 100644 index 00000000..176637aa --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_huurton_matron_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('huurton_matron') + + + core.spawnService.addLairTemplate('dantooine_huurton_matron_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/bramble_light.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_1.py b/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_1.py index d84eb45b..d4f0229e 100644 --- a/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_1.py @@ -5,7 +5,6 @@ def addTemplate(core): mobileTemplates = Vector() mobileTemplates.add('piket_longhorn') mobileTemplates.add('piket_longhorn_female') - mobileTemplates.add('piket_plains_walker') - core.spawnService.addLairTemplate('dantooine_piket_longhorn_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_earthmound_light.iff') + core.spawnService.addLairTemplate('dantooine_piket_longhorn_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/lair_base_mound_bramble_dark.iff') return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_2.py b/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_2.py new file mode 100644 index 00000000..7bad6b0e --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_piket_longhorn_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('piket_longhorn') + mobileTemplates.add('piket_longhorn_female') + + core.spawnService.addLairTemplate('dantooine_piket_longhorn_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_piket_protector_lair_1.py b/scripts/mobiles/lairs/dantooine_piket_protector_lair_1.py new file mode 100644 index 00000000..fd64b4e1 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_piket_protector_lair_1.py @@ -0,0 +1,5 @@ +import sys + +def addTemplate(core): + core.spawnService.addLairTemplate('dantooine_piket_protector_lair_1', 'fierce_piket_protector', 15, 'object/tangible/lair/base/poi_all_lair_rocks_large.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_quenker_bile_lair_1.py b/scripts/mobiles/lairs/dantooine_quenker_bile_lair_1.py new file mode 100644 index 00000000..166c54d3 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_quenker_bile_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('bile_drenched_quenker') + + core.spawnService.addLairTemplate('dantooine_quenker_bile_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_thicket_small_fog_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_quenker_bile_lair_2.py b/scripts/mobiles/lairs/dantooine_quenker_bile_lair_2.py new file mode 100644 index 00000000..061d5ffa --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_quenker_bile_lair_2.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('bile_drenched_quenker') + + core.spawnService.addLairTemplate('dantooine_quenker_bile_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_warren_small_fog_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_quenker_lair_1.py b/scripts/mobiles/lairs/dantooine_quenker_lair_1.py index 3ebe353c..204cc448 100644 --- a/scripts/mobiles/lairs/dantooine_quenker_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_quenker_lair_1.py @@ -4,8 +4,6 @@ from java.util import Vector def addTemplate(core): mobileTemplates = Vector() mobileTemplates.add('quenker') - mobileTemplates.add('quenker_ravager') - mobileTemplates.add('quenker_relic_reaper') - core.spawnService.addLairTemplate('dantooine_quenker_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + core.spawnService.addLairTemplate('dantooine_quenker_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large_fog_green.iff') return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_quenker_ravager_lair_1.py b/scripts/mobiles/lairs/dantooine_quenker_ravager_lair_1.py new file mode 100644 index 00000000..9fba4007 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_quenker_ravager_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('quenker_ravager') + + core.spawnService.addLairTemplate('dantooine_quenker_ravager_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_warren_small_evil_fire_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_quenker_relic_reaper_lair_1.py b/scripts/mobiles/lairs/dantooine_quenker_relic_reaper_lair_1.py new file mode 100644 index 00000000..a4a8011f --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_quenker_relic_reaper_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('quenker_relic_reaper') + + core.spawnService.addLairTemplate('dantooine_quenker_relic_reaper_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_warren_small_fog_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_quenker_savage_lair_1.py b/scripts/mobiles/lairs/dantooine_quenker_savage_lair_1.py new file mode 100644 index 00000000..bbce9ee6 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_quenker_savage_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('savage_quenker') + + core.spawnService.addLairTemplate('dantooine_quenker_savage_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_warren_small_fog_green.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_quenker_savage_lair_2.py b/scripts/mobiles/lairs/dantooine_quenker_savage_lair_2.py new file mode 100644 index 00000000..3b58cfdb --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_quenker_savage_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('savage_quenker') + mobileTemplates.add('terrible_quenker') + + core.spawnService.addLairTemplate('dantooine_quenker_savage_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_warren_small_evil_fire_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_thune_lair_1.py b/scripts/mobiles/lairs/dantooine_thune_lair_1.py index c5cea1ec..1ab7ea01 100644 --- a/scripts/mobiles/lairs/dantooine_thune_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_thune_lair_1.py @@ -4,8 +4,6 @@ from java.util import Vector def addTemplate(core): mobileTemplates = Vector() mobileTemplates.add('thune') - mobileTemplates.add('thune_grassland_guardian') - mobileTemplates.add('thune_herd_leader') - core.spawnService.addLairTemplate('dantooine_thune_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_earthmound_light.iff') + core.spawnService.addLairTemplate('dantooine_thune_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_rocks_large_fog_green.iff') return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_horned_lizard_lair_1.py b/scripts/mobiles/lairs/dantooine_voritor_horned_lizard_lair_1.py new file mode 100644 index 00000000..0db9d437 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_voritor_horned_lizard_lair_1.py @@ -0,0 +1,6 @@ +import sys +from java.util import Vector + +def addTemplate(core): + core.spawnService.addLairTemplate('dantooine_voritor_horned_lizard_lair_1', 'horned_voritor_jungle_lizard', 15, 'object/tangible/lair/base/poi_all_lair_leaf_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_horned_lizard_lair_2.py b/scripts/mobiles/lairs/dantooine_voritor_horned_lizard_lair_2.py new file mode 100644 index 00000000..5b387af4 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_voritor_horned_lizard_lair_2.py @@ -0,0 +1,6 @@ +import sys +from java.util import Vector + +def addTemplate(core): + core.spawnService.addLairTemplate('dantooine_voritor_horned_lizard_lair_1', 'horned_voritor_jungle_lizard', 15, 'object/tangible/lair/base/poi_all_lair_thicket_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_hunter_lair_1.py b/scripts/mobiles/lairs/dantooine_voritor_hunter_lair_1.py new file mode 100644 index 00000000..e466f3fd --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_voritor_hunter_lair_1.py @@ -0,0 +1,6 @@ +import sys +from java.util import Vector + +def addTemplate(core): + core.spawnService.addLairTemplate('dantooine_voritor_hunter_lair_2', 'slinking_voritor_hunter', 15, 'object/tangible/lair/base/poi_all_lair_bones.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_hunter_lair_2.py b/scripts/mobiles/lairs/dantooine_voritor_hunter_lair_2.py new file mode 100644 index 00000000..2df263de --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_voritor_hunter_lair_2.py @@ -0,0 +1,6 @@ +import sys +from java.util import Vector + +def addTemplate(core): + core.spawnService.addLairTemplate('dantooine_voritor_hunter_lair_1', 'slinking_voritor_hunter', 15, 'object/tangible/lair/base/poi_all_lair_dead_log_small.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_jungle_lair_1.py b/scripts/mobiles/lairs/dantooine_voritor_jungle_lair_1.py new file mode 100644 index 00000000..332d53a1 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_voritor_jungle_lair_1.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('horned_voritor_jungle_lizard') + mobileTemplates.add('spiked_slasher') + + core.spawnService.addLairTemplate('dantooine_voritor_jungle_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_leaf_small_fog_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_jungle_lair_2.py b/scripts/mobiles/lairs/dantooine_voritor_jungle_lair_2.py new file mode 100644 index 00000000..9dc8a02a --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_voritor_jungle_lair_2.py @@ -0,0 +1,10 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('horned_voritor_jungle_lizard') + mobileTemplates.add('spiked_slasher') + + core.spawnService.addLairTemplate('dantooine_voritor_jungle_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_thicket_small_fog_red.iff') + return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_lair_1.py b/scripts/mobiles/lairs/dantooine_voritor_lair_1.py index 8fd066b5..cb1f3fbf 100644 --- a/scripts/mobiles/lairs/dantooine_voritor_lair_1.py +++ b/scripts/mobiles/lairs/dantooine_voritor_lair_1.py @@ -2,5 +2,8 @@ import sys from java.util import Vector def addTemplate(core): - core.spawnService.addLairTemplate('dantooine_voritor_lair_1', 'voritor_lizard', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + mobileTemplates = Vector() + mobileTemplates.add('voritor_lizard') + + core.spawnService.addLairTemplate('dantooine_voritor_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_leaf_small.iff') return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_lair_2.py b/scripts/mobiles/lairs/dantooine_voritor_lair_2.py index 976aa49d..8ec37571 100644 --- a/scripts/mobiles/lairs/dantooine_voritor_lair_2.py +++ b/scripts/mobiles/lairs/dantooine_voritor_lair_2.py @@ -3,11 +3,7 @@ from java.util import Vector def addTemplate(core): mobileTemplates = Vector() - mobileTemplates.add('voritor_lizard') - mobileTemplates.add('horned_voritor_jungle_lizard') - mobileTemplates.add('vexed_voritor_lizard') - mobileTemplates.add('voritor_dasher') - mobileTemplates.add('spiked_slasher') + mobileTemplates.add('voritor_lizard') - core.spawnService.addLairTemplate('dantooine_voritor_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') + core.spawnService.addLairTemplate('dantooine_voritor_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_thicket_small.iff') return \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_tracker_lair_1.py b/scripts/mobiles/lairs/dantooine_voritor_tracker_lair_1.py new file mode 100644 index 00000000..c144818b --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_voritor_tracker_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('grassland_voritor_tracker') + + core.spawnService.addLairTemplate('dantooine_voritor_tracker_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/poi_all_lair_thicket_small_fog_green.iff') + return \ No newline at end of file From aabe5c5b9a565400778a9fb307addb35af5e3a82 Mon Sep 17 00:00:00 2001 From: tacef Date: Thu, 7 Aug 2014 19:34:45 +0200 Subject: [PATCH 11/18] Fixed Readded Frogbuilding in Mos Espa --- src/main/NGECore.java | 3 + src/services/DevService.java | 107 +++++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 src/services/DevService.java diff --git a/src/main/NGECore.java b/src/main/NGECore.java index 2bd40112..3e14ffb4 100644 --- a/src/main/NGECore.java +++ b/src/main/NGECore.java @@ -62,6 +62,7 @@ import services.BuffService; import services.CharacterService; import services.ConnectionService; import services.ConversationService; +import services.DevService; import services.EntertainmentService; import services.GroupService; import services.housing.HousingService; @@ -196,6 +197,7 @@ public class NGECore { public AIService aiService; public MissionService missionService; public InstanceService instanceService; + public DevService devService; public SurveyService surveyService; public ResourceService resourceService; public ConversationService conversationService; @@ -552,6 +554,7 @@ public class NGECore { browserService = new BrowserService(this); //battlefieldService = new BattlefieldService(this); + devService = new DevService(this); DevLogQueuer devLogQueuer = new DevLogQueuer(); diff --git a/src/services/DevService.java b/src/services/DevService.java new file mode 100644 index 00000000..c53201fe --- /dev/null +++ b/src/services/DevService.java @@ -0,0 +1,107 @@ +/******************************************************************************* + * 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 services; + +import java.nio.ByteOrder; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.Vector; + +import org.apache.mina.core.buffer.IoBuffer; +import org.apache.mina.core.session.IoSession; + +import resources.common.Console; +import resources.common.FileUtilities; +import resources.common.Forager; +import resources.common.Opcodes; +import resources.common.SpawnPoint; +import resources.datatables.Posture; +import resources.datatables.WeaponType; +import resources.harvest.SurveyTool; +import resources.objects.building.BuildingObject; +import resources.objects.creature.CreatureObject; +import resources.objects.player.PlayerObject; +import resources.objects.tangible.TangibleObject; +import resources.objects.weapon.WeaponObject; +import services.sui.SUIWindow; +import services.sui.SUIService.ListBoxType; +import services.sui.SUIWindow.SUICallback; +import services.sui.SUIWindow.Trigger; +import main.NGECore; +import engine.clientdata.ClientFileManager; +import engine.clientdata.visitors.DatatableVisitor; +import engine.clients.Client; +import engine.resources.container.CreatureContainerPermissions; +import engine.resources.container.CreaturePermissions; +import engine.resources.container.NullPermissions; +import engine.resources.objects.SWGObject; +import engine.resources.scene.Planet; +import engine.resources.scene.Point3D; +import engine.resources.scene.Quaternion; +import engine.resources.service.INetworkDispatch; +import engine.resources.service.INetworkRemoteEvent; + +@SuppressWarnings("unused") +public class DevService implements INetworkDispatch { + + private NGECore core; + private long frogBuildingId = 0; + + public DevService(NGECore core) { + this.core = core; + loadFrogBuilding(); + } + + private void loadFrogBuilding() { + BuildingObject building = (BuildingObject) core.objectService.createObject("object/building/tatooine/shared_association_hall_civilian_tatooine_02.iff", 0, core.terrainService.getPlanetByName("tatooine"), + new Point3D(-3308, 5, 2174), new Quaternion((float) 0.7323, 0, (float) 0.680961, 0)); + + core.simulationService.add(building, building.getPosition().x, building.getPosition().z); + + this.frogBuildingId = building.getObjectID(); + + building.setAttachment("structureOwner", 0); + + TangibleObject frog = (TangibleObject) core.objectService.createObject("object/tangible/terminal/shared_terminal_character_builder.iff", core.terrainService.getPlanetByID(building.getPlanetId())); + frog.setPosition(new Point3D((float)-1.10475, (float)0.51, (float)-4.3665)); + frog.setOrientation(new Quaternion((float) 0.9965, 0, (float)-0.09, 0)); + building.getCellByCellNumber(2).add(frog); + } + + public long getFrogBuildingId() { + return this.frogBuildingId; + } + + @Override + public void insertOpcodes(Map swgOpcodes, Map objControllerOpcodes) { + } + + + @Override + public void shutdown() { + + } + +} + From 83d97679a72babed8d8472ecc3d240b40480564b Mon Sep 17 00:00:00 2001 From: tacef Date: Thu, 7 Aug 2014 20:16:41 +0200 Subject: [PATCH 12/18] Changed Removed Frogbuilding placed Frog only --- .../static_spawns/tatooine/mos_espa_frog.py | 14 +++ src/main/NGECore.java | 3 - src/services/DevService.java | 107 ------------------ 3 files changed, 14 insertions(+), 110 deletions(-) create mode 100644 scripts/static_spawns/tatooine/mos_espa_frog.py delete mode 100644 src/services/DevService.java diff --git a/scripts/static_spawns/tatooine/mos_espa_frog.py b/scripts/static_spawns/tatooine/mos_espa_frog.py new file mode 100644 index 00000000..8f87f45c --- /dev/null +++ b/scripts/static_spawns/tatooine/mos_espa_frog.py @@ -0,0 +1,14 @@ +# Project SWG: Mos Espa: Frogbuilding +# (C)2014 ProjectSWG + +import sys + +def addPlanetSpawns(core, planet): + + + stcSvc = core.staticService + objSvc = core.objectService + + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'tatooine', long(0), float(-3308), float(5.4), float(2174), float(0.70), float(0.71)) + return + diff --git a/src/main/NGECore.java b/src/main/NGECore.java index 3e14ffb4..2bd40112 100644 --- a/src/main/NGECore.java +++ b/src/main/NGECore.java @@ -62,7 +62,6 @@ import services.BuffService; import services.CharacterService; import services.ConnectionService; import services.ConversationService; -import services.DevService; import services.EntertainmentService; import services.GroupService; import services.housing.HousingService; @@ -197,7 +196,6 @@ public class NGECore { public AIService aiService; public MissionService missionService; public InstanceService instanceService; - public DevService devService; public SurveyService surveyService; public ResourceService resourceService; public ConversationService conversationService; @@ -554,7 +552,6 @@ public class NGECore { browserService = new BrowserService(this); //battlefieldService = new BattlefieldService(this); - devService = new DevService(this); DevLogQueuer devLogQueuer = new DevLogQueuer(); diff --git a/src/services/DevService.java b/src/services/DevService.java deleted file mode 100644 index c53201fe..00000000 --- a/src/services/DevService.java +++ /dev/null @@ -1,107 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013 - * - * This File is part of NGECore2. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - * - * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. - * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. - ******************************************************************************/ -package services; - -import java.nio.ByteOrder; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Random; -import java.util.Vector; - -import org.apache.mina.core.buffer.IoBuffer; -import org.apache.mina.core.session.IoSession; - -import resources.common.Console; -import resources.common.FileUtilities; -import resources.common.Forager; -import resources.common.Opcodes; -import resources.common.SpawnPoint; -import resources.datatables.Posture; -import resources.datatables.WeaponType; -import resources.harvest.SurveyTool; -import resources.objects.building.BuildingObject; -import resources.objects.creature.CreatureObject; -import resources.objects.player.PlayerObject; -import resources.objects.tangible.TangibleObject; -import resources.objects.weapon.WeaponObject; -import services.sui.SUIWindow; -import services.sui.SUIService.ListBoxType; -import services.sui.SUIWindow.SUICallback; -import services.sui.SUIWindow.Trigger; -import main.NGECore; -import engine.clientdata.ClientFileManager; -import engine.clientdata.visitors.DatatableVisitor; -import engine.clients.Client; -import engine.resources.container.CreatureContainerPermissions; -import engine.resources.container.CreaturePermissions; -import engine.resources.container.NullPermissions; -import engine.resources.objects.SWGObject; -import engine.resources.scene.Planet; -import engine.resources.scene.Point3D; -import engine.resources.scene.Quaternion; -import engine.resources.service.INetworkDispatch; -import engine.resources.service.INetworkRemoteEvent; - -@SuppressWarnings("unused") -public class DevService implements INetworkDispatch { - - private NGECore core; - private long frogBuildingId = 0; - - public DevService(NGECore core) { - this.core = core; - loadFrogBuilding(); - } - - private void loadFrogBuilding() { - BuildingObject building = (BuildingObject) core.objectService.createObject("object/building/tatooine/shared_association_hall_civilian_tatooine_02.iff", 0, core.terrainService.getPlanetByName("tatooine"), - new Point3D(-3308, 5, 2174), new Quaternion((float) 0.7323, 0, (float) 0.680961, 0)); - - core.simulationService.add(building, building.getPosition().x, building.getPosition().z); - - this.frogBuildingId = building.getObjectID(); - - building.setAttachment("structureOwner", 0); - - TangibleObject frog = (TangibleObject) core.objectService.createObject("object/tangible/terminal/shared_terminal_character_builder.iff", core.terrainService.getPlanetByID(building.getPlanetId())); - frog.setPosition(new Point3D((float)-1.10475, (float)0.51, (float)-4.3665)); - frog.setOrientation(new Quaternion((float) 0.9965, 0, (float)-0.09, 0)); - building.getCellByCellNumber(2).add(frog); - } - - public long getFrogBuildingId() { - return this.frogBuildingId; - } - - @Override - public void insertOpcodes(Map swgOpcodes, Map objControllerOpcodes) { - } - - - @Override - public void shutdown() { - - } - -} - From 79de1c89ce53b4a6c48e5ac58246e068bd577e8a Mon Sep 17 00:00:00 2001 From: Waverunner Date: Thu, 7 Aug 2014 17:21:52 -0400 Subject: [PATCH 13/18] Fixed group decline message being sent to invited instead of leader --- src/services/GroupService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/services/GroupService.java b/src/services/GroupService.java index 13b46c7b..a311d9e5 100644 --- a/src/services/GroupService.java +++ b/src/services/GroupService.java @@ -126,7 +126,8 @@ public class GroupService implements INetworkDispatch { invited.setInviteSenderName(""); invited.sendSystemMessage(OutOfBand.ProsePackage("TT", leader.getObjectID(), "@group:decline_self"), (byte) 0); invited.updateGroupInviteInfo(); - invited.sendSystemMessage(OutOfBand.ProsePackage("TT", invited.getObjectID(), "@group:decline_leader"), (byte) 0); + + leader.sendSystemMessage(OutOfBand.ProsePackage("TT", invited.getObjectID(), "@group:decline_leader"), (byte) 0); } From d9ca531c5d002d5ae394f15aa526ca54658e6976 Mon Sep 17 00:00:00 2001 From: Waverunner Date: Thu, 7 Aug 2014 17:56:30 -0400 Subject: [PATCH 14/18] Removed printAnalysis for CREO3 baseline, Added SWGList for Skills --- .../creature/CreatureMessageBuilder.java | 6 +-- .../objects/creature/CreatureObject.java | 39 +++++++++++++++++-- 2 files changed, 38 insertions(+), 7 deletions(-) diff --git a/src/resources/objects/creature/CreatureMessageBuilder.java b/src/resources/objects/creature/CreatureMessageBuilder.java index 33367160..80bd3f58 100644 --- a/src/resources/objects/creature/CreatureMessageBuilder.java +++ b/src/resources/objects/creature/CreatureMessageBuilder.java @@ -138,10 +138,10 @@ public class CreatureMessageBuilder extends TangibleMessageBuilder { buffer.putLong(creature.getOwnerId()); - float height = creature.getHeight(); + //float height = creature.getHeight(); //if (height < 0.7 || height > 1.5) // height = 1; - buffer.putFloat(height); + buffer.putFloat(creature.getHeight()); buffer.putInt(0); // battle fatigue buffer.putLong(creature.getStateBitmask()); int size = buffer.position(); @@ -150,8 +150,6 @@ public class CreatureMessageBuilder extends TangibleMessageBuilder { buffer.flip(); buffer = createBaseline("CREO", (byte) 3, buffer, size); - tools.CharonPacketUtils.printAnalysis(buffer, "CREO 3"); - return buffer; } diff --git a/src/resources/objects/creature/CreatureObject.java b/src/resources/objects/creature/CreatureObject.java index 332d1731..f0cb1bdc 100644 --- a/src/resources/objects/creature/CreatureObject.java +++ b/src/resources/objects/creature/CreatureObject.java @@ -24,6 +24,7 @@ package resources.objects.creature; import java.io.Serializable; import java.lang.System; import java.util.ArrayList; +import java.util.BitSet; import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -55,6 +56,7 @@ import resources.objects.ObjectMessageBuilder; import resources.objects.SWGList; import resources.objects.SWGMap; import engine.resources.common.CRC; +import engine.resources.objects.Baseline; import engine.resources.objects.SWGObject; import engine.resources.scene.Planet; import engine.resources.scene.Point3D; @@ -72,7 +74,7 @@ public class CreatureObject extends TangibleObject implements Serializable { // CREO 1 private int bankCredits = 0; private int cashCredits = 0; - private List skills; + private SWGList skills; @NotPersistent private transient int skillsUpdateCounter = 0; @@ -192,7 +194,7 @@ public class CreatureObject extends TangibleObject implements Serializable { super(objectID, planet, position, orientation, Template); messageBuilder = new CreatureMessageBuilder(this); loadTemplateData(); - skills = new ArrayList(); + skills = new SWGList(); skillMods = new SWGMap(this, 4, 3, true); abilities = new SWGMap(this, 4, 14, true); missionCriticalObjects = new SWGMap(this, 4, 13, false); @@ -235,7 +237,38 @@ public class CreatureObject extends TangibleObject implements Serializable { setTurnRadius((float) getTemplateData().getAttribute("turnRate"));*/ } + + /*@Override + public Baseline getBaseline1() { + Baseline baseline = super.getBaseline1(); + baseline.put("bankCredits", 0); + baseline.put("cashCredits", 0); + + // HAM base list stuff + baseline.put("baseHAM", 6); // list size + baseline.put("unk1", 0); // udpate count? + baseline.put("health", 1000); + baseline.put("spacer1", 0); + baseline.put("action", 300); + baseline.put("spacer2", 0); + baseline.put("unk2", 0x2C01); + baseline.put("unk3", 0); + + baseline.put("skills", new SWGList()); + return baseline; + } + @Override + public Baseline getBaseline3() { + Baseline baseline = super.getBaseline3(); + baseline.put("posture", (byte) 0); + baseline.put("creo3unk1", (byte) 0); + baseline.put("ownerId", (long) 0); + baseline.put("height", (float) 1.3); + baseline.put("battleFatigue", 0); + baseline.put("stateBitmask", new BitSet()); + return baseline; + }*/ public int getBankCredits() { synchronized(objectMutex) { return bankCredits; @@ -299,7 +332,7 @@ public class CreatureObject extends TangibleObject implements Serializable { } } - public List getSkills() { + public SWGList getSkills() { return skills; } From 5f72a08f922a2c4101ea673a66f4d31c5f384bda Mon Sep 17 00:00:00 2001 From: Iosnowore Kun Date: Thu, 7 Aug 2014 22:06:57 -0400 Subject: [PATCH 15/18] Removed Level Restriction From GCW Scout Trooper Boots and Gloves And Added Armor Restriction Like They Were On Live --- .../armor/scout_trooper/armor_scout_trooper_boots_gcw.py | 2 +- .../armor/scout_trooper/armor_scout_trooper_gloves_gcw.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_boots_gcw.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_boots_gcw.py index fa511268..26cd7460 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_boots_gcw.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_boots_gcw.py @@ -1,6 +1,6 @@ import sys def setup(core, object): - object.setIntAttribute('required_combat_level', 22) object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_gloves_gcw.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_gloves_gcw.py index fa511268..26cd7460 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_gloves_gcw.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_gloves_gcw.py @@ -1,6 +1,6 @@ import sys def setup(core, object): - object.setIntAttribute('required_combat_level', 22) object.setStringAttribute('required_faction', 'Imperial') + object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') return \ No newline at end of file From d6d78dcbb71a9bc5e64ee10aa4cff92877e69f36 Mon Sep 17 00:00:00 2001 From: Iosnowore Kun Date: Thu, 7 Aug 2014 22:14:26 -0400 Subject: [PATCH 16/18] Fixed Officer Pistol Roadmap Reward --- scripts/roadmap/officer_1a.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/roadmap/officer_1a.py b/scripts/roadmap/officer_1a.py index 3a139591..9c89974f 100644 --- a/scripts/roadmap/officer_1a.py +++ b/scripts/roadmap/officer_1a.py @@ -101,7 +101,7 @@ def getRewards(name): if name == 'armor_ithorian_roadmap_gloves_02_03': return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_gloves.iff" - if name == 'weapon_pistol_sp_roadmap_01_02': + if name == 'weapon_pistol_of_roadmap_01_02': return "object/weapon/ranged/pistol/shared_pistol_dl44.iff" if name == 'item_officer_ring_01_02': From 3ee4733c41cfe49d9e8c22b584ff03d410c4877d Mon Sep 17 00:00:00 2001 From: Ziggeh Date: Fri, 8 Aug 2014 04:32:44 +0200 Subject: [PATCH 17/18] Revert "Removed Level Restriction From GCW Scout Trooper Boots and Gloves And Added Armor Restriction Like They Were On Live" --- .../armor/scout_trooper/armor_scout_trooper_boots_gcw.py | 2 +- .../armor/scout_trooper/armor_scout_trooper_gloves_gcw.py | 2 +- scripts/roadmap/officer_1a.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_boots_gcw.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_boots_gcw.py index 26cd7460..fa511268 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_boots_gcw.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_boots_gcw.py @@ -1,6 +1,6 @@ import sys def setup(core, object): + object.setIntAttribute('required_combat_level', 22) object.setStringAttribute('required_faction', 'Imperial') - object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') return \ No newline at end of file diff --git a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_gloves_gcw.py b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_gloves_gcw.py index 26cd7460..fa511268 100644 --- a/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_gloves_gcw.py +++ b/scripts/object/tangible/wearables/armor/scout_trooper/armor_scout_trooper_gloves_gcw.py @@ -1,6 +1,6 @@ import sys def setup(core, object): + object.setIntAttribute('required_combat_level', 22) object.setStringAttribute('required_faction', 'Imperial') - object.setStringAttribute('armor_category', '@obj_attr_n:armor_reconnaissance') return \ No newline at end of file diff --git a/scripts/roadmap/officer_1a.py b/scripts/roadmap/officer_1a.py index 9c89974f..3a139591 100644 --- a/scripts/roadmap/officer_1a.py +++ b/scripts/roadmap/officer_1a.py @@ -101,7 +101,7 @@ def getRewards(name): if name == 'armor_ithorian_roadmap_gloves_02_03': return "object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_gloves.iff" - if name == 'weapon_pistol_of_roadmap_01_02': + if name == 'weapon_pistol_sp_roadmap_01_02': return "object/weapon/ranged/pistol/shared_pistol_dl44.iff" if name == 'item_officer_ring_01_02': From 8ae66375da0201ff0a5e7663fdce75557fe4fff9 Mon Sep 17 00:00:00 2001 From: Viaron Date: Thu, 7 Aug 2014 23:27:21 -0400 Subject: [PATCH 18/18] Added Transfer of Several Admin Commands by Zing --- scripts/commands/adjustLotCount.py | 15 +++++++++++ scripts/commands/broadcastGalaxy.py | 12 +++++++++ scripts/commands/broadcastPlanet.py | 11 ++++++++ scripts/commands/credits.py | 20 ++++++++++++++ scripts/commands/invulnerable.py | 33 +++++++++++++++++++++++ scripts/commands/setRank.py | 41 +++++++++++++++++++++++++++++ 6 files changed, 132 insertions(+) create mode 100644 scripts/commands/adjustLotCount.py create mode 100644 scripts/commands/broadcastGalaxy.py create mode 100644 scripts/commands/broadcastPlanet.py create mode 100644 scripts/commands/credits.py create mode 100644 scripts/commands/invulnerable.py create mode 100644 scripts/commands/setRank.py diff --git a/scripts/commands/adjustLotCount.py b/scripts/commands/adjustLotCount.py new file mode 100644 index 00000000..4d20f4c7 --- /dev/null +++ b/scripts/commands/adjustLotCount.py @@ -0,0 +1,15 @@ +import sys + +def run(core, actor, target, commandString): + commandArgs = commandString.split(' ') + arg1 = commandArgs[0] + + if target is None: + target = actor + + if target: + playerObject = target.getSlottedObject('ghost') + playerObject.setLotsRemaining(playerObject.getLotsRemaining() + int(arg1)) + print(playerObject.getLotsRemaining()) + actor.sendSystemMessage('GM: Adjust Lot Count: Completed Successfully for ' + target.getFirstName(), 0) + return \ No newline at end of file diff --git a/scripts/commands/broadcastGalaxy.py b/scripts/commands/broadcastGalaxy.py new file mode 100644 index 00000000..04a1ae09 --- /dev/null +++ b/scripts/commands/broadcastGalaxy.py @@ -0,0 +1,12 @@ + +from services.sui import SUIWindow +from services.sui.SUIWindow import Trigger +from java.util import Vector +import sys + +def setup(): + return + +def run(core, actor, target, commandString): + core.chatService.broadcastGalaxy(commandString) + return \ No newline at end of file diff --git a/scripts/commands/broadcastPlanet.py b/scripts/commands/broadcastPlanet.py new file mode 100644 index 00000000..cb2956d2 --- /dev/null +++ b/scripts/commands/broadcastPlanet.py @@ -0,0 +1,11 @@ +from services.sui import SUIWindow +from services.sui.SUIWindow import Trigger +from java.util import Vector +import sys + +def setup(): + return + +def run(core, actor, target, commandString): + core.chatService.broadcastPlanet(commandString, actor.getPlanet()) + return \ No newline at end of file diff --git a/scripts/commands/credits.py b/scripts/commands/credits.py new file mode 100644 index 00000000..11d28a36 --- /dev/null +++ b/scripts/commands/credits.py @@ -0,0 +1,20 @@ +import sys + + + +def run(core, actor, target, commandString): + commandArgs = commandString.split(' ') + arg1 = commandArgs[0] + playerObject = actor.getSlottedObject('ghost') + + if actor: + actor.setCashCredits(actor.getCashCredits() + int(arg1)) + actor.sendSystemMessage(actor.getFirstName() + ' has removed ' + arg1 + ' credits from Project SWG\'s bank.', 0) + + if actor and target: + target.setCashCredits(target.getCashCredits() + int(arg1)) + target.sendSystemMessage('You have recieved ' + arg1 + ' credits from ' + actor.getFirstName(), 0) + actor.sendSystemMessage('You have transferred ' + arg1 + ' credits to ' + target.getFirstName(), 0) + + + return \ No newline at end of file diff --git a/scripts/commands/invulnerable.py b/scripts/commands/invulnerable.py new file mode 100644 index 00000000..90aab004 --- /dev/null +++ b/scripts/commands/invulnerable.py @@ -0,0 +1,33 @@ +import sys +from resources.datatables import Options + +def run(core, actor, target, commandString): + commandArgs = commandString.split(' ') + command = commandArgs[0] + + + if command == 'invisible': + if (actor.isInStealth()): + actor.setInStealth(False) + actor.setRadarVisible(True) + actor.sendSystemMessage('GM Command Successfull: You are no longer Invisible.', 0) + + else: + actor.setInStealth(True) + actor.setRadarVisible(False) + actor.sendSystemMessage('GM Command Successfull: You are now Invisible.', 0) + + if actor.getOptionsBitmask() == 128: + actor.setOptionsBitmask(Options.NONE) + actor.sendSystemMessage('GM Command Successfull: You are now Invulnerable.', 0) + + + elif actor.getOptionsBitmask() == 0: + actor.setOptionsBitmask(Options.ATTACKABLE) + print(actor.getOptionsBitmask()) + + actor.sendSystemMessage('GM Command Successfull: You are no longer Invulnerable.', 0) + + return + + \ No newline at end of file diff --git a/scripts/commands/setRank.py b/scripts/commands/setRank.py new file mode 100644 index 00000000..afdc5b16 --- /dev/null +++ b/scripts/commands/setRank.py @@ -0,0 +1,41 @@ +import sys +from resources.datatables import GcwRank +from services.gcw import GCWService + +def run(core, actor, target, commandString): + commandArgs = commandString.split(' ') + arg1 = commandArgs[0] + if len(commandArgs) > 1: + arg2 = commandArgs[1] + + if target is None: + target = actor + + if target.getFaction() == 'rebel' or 'imperial' and arg1 == 'up': + playerObject = target.getSlottedObject('ghost') + playerObject.setCurrentRank(int(arg2)) + newrank = playerObject.getCurrentRank() + core.scriptService.callScript("scripts/collections/", "gcwrank_" + target.getFaction(), "handleRankUp", core, target, newrank) + actor.sendSystemMessage('GM: Set Rank: Completed Successfully', 0) + if target.getFaction() == 'rebel' or 'imperial' and arg1 == 'down': + playerObject = target.getSlottedObject('ghost') + playerObject.setCurrentRank(int(arg2)) + newrank = playerObject.getCurrentRank() + core.scriptService.callScript("scripts/collections/", "gcwrank_" + target.getFaction(), "handleRankDown", target, newrank) + actor.sendSystemMessage('GM: Set Rank: Completed Successfully', 0) + +# if target.getFaction() == 'imperial' and arg1 == 'up': +# if arg1 == 'up': +# playerObject = actor.getSlottedObject('ghost') +# playerObject.setCurrentRank(int(arg2)) +# newrank = playerObject.getCurrentRank() +# core.scriptService.callScript("scripts/collections/", "gcwrank_" + target.getFaction(), "handleRankUp", core, target, newrank) +# actor.sendSystemMessage('GM: Set Rank: Completed Successfully', 0) +# if target.getFaction() == 'imperial' and arg1 == 'down': +# playerObject = actor.getSlottedObject('ghost') +# playerObject.setCurrentRank(int(arg2)) +# newrank = playerObject.getCurrentRank() +# core.scriptService.callScript("scripts/collections/", "gcwrank_" + target.getFaction(), "handleRankDown", target, newrank) +# actor.sendSystemMessage('GM: Set Rank: Completed Successfully', 0) + + return \ No newline at end of file