From b43eb937727912cac7358efdd475362be2077f59 Mon Sep 17 00:00:00 2001 From: Waverunner Date: Wed, 23 Oct 2013 16:22:25 -0400 Subject: [PATCH 01/10] Most of Travel service finished --- .../building/tatooine/starport_tatooine.py | 1 + src/protocol/swg/ChatFriendsListUpdate.java | 2 - .../swg/ChatOnChangeFriendStatus.java | 1 - .../swg/PlanetTravelPointListRequest.java} | 47 +++++++- .../swg/PlanetTravelPointListResponse.java | 89 ++++++++++++++ src/resources/common/Opcodes.java | 1 + src/services/chat/ChatService.java | 2 +- src/services/map/MapService.java | 4 + src/services/travel/TravelPoint.java | 72 +++++++++++ src/services/travel/TravelService.java | 112 ++++++++++++++++++ 10 files changed, 325 insertions(+), 6 deletions(-) rename src/{services/TravelService.java => protocol/swg/PlanetTravelPointListRequest.java} (57%) create mode 100644 src/protocol/swg/PlanetTravelPointListResponse.java create mode 100644 src/services/travel/TravelPoint.java create mode 100644 src/services/travel/TravelService.java diff --git a/scripts/object/building/tatooine/starport_tatooine.py b/scripts/object/building/tatooine/starport_tatooine.py index e71c9121..0200b779 100644 --- a/scripts/object/building/tatooine/starport_tatooine.py +++ b/scripts/object/building/tatooine/starport_tatooine.py @@ -11,5 +11,6 @@ def setup(core, object): stcSvc.spawnObject('object/tangible/terminal/shared_terminal_travel.iff', object.getPlanet().getName(), cell.getObjectID(), float(-13.2), float(0.6), float(51.3), float(-0.195405), float(-0.980722)) core.mapService.addLocation(object.getPlanet(), 'Starport', object.getPosition().x, object.getPosition().z, 15, 0, 0) + #core.travelService.addTravelPoint(object.getPlanet(), ) return \ No newline at end of file diff --git a/src/protocol/swg/ChatFriendsListUpdate.java b/src/protocol/swg/ChatFriendsListUpdate.java index ec4ead39..b804c17b 100644 --- a/src/protocol/swg/ChatFriendsListUpdate.java +++ b/src/protocol/swg/ChatFriendsListUpdate.java @@ -11,8 +11,6 @@ import engine.resources.config.DefaultConfig; public class ChatFriendsListUpdate extends SWGMessage { - - private NGECore core; private String friendName; private byte onlineFlag; diff --git a/src/protocol/swg/ChatOnChangeFriendStatus.java b/src/protocol/swg/ChatOnChangeFriendStatus.java index c78c24be..5eeb3f33 100644 --- a/src/protocol/swg/ChatOnChangeFriendStatus.java +++ b/src/protocol/swg/ChatOnChangeFriendStatus.java @@ -11,7 +11,6 @@ import engine.resources.config.DefaultConfig; public class ChatOnChangeFriendStatus extends SWGMessage { - private NGECore core; private String name; private int type; private long playerID; diff --git a/src/services/TravelService.java b/src/protocol/swg/PlanetTravelPointListRequest.java similarity index 57% rename from src/services/TravelService.java rename to src/protocol/swg/PlanetTravelPointListRequest.java index dd5c5dc4..c47fffb6 100644 --- a/src/services/TravelService.java +++ b/src/protocol/swg/PlanetTravelPointListRequest.java @@ -19,8 +19,51 @@ * 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; +package protocol.swg; -public class TravelService { +import main.NGECore; + +import org.apache.mina.core.buffer.IoBuffer; + +import engine.resources.scene.Planet; + +public class PlanetTravelPointListRequest extends SWGMessage{ + + private NGECore core; + private long objectId; + private Planet planet; + + @Override + public void deserialize(IoBuffer buffer) { + + buffer.getShort(); + buffer.getInt(); + + setObjectId(buffer.getLong()); + setPlanet(getAsciiString(buffer)); + + } + + @Override + public IoBuffer serialize() { + return null; + } + + public long getObjectId() { + return objectId; + } + + public void setObjectId(long objectId) { + this.objectId = objectId; + } + + public Planet getPlanet() { + return planet; + } + + public void setPlanet(String asciiString) { + Planet planet = core.terrainService.getPlanetByName(asciiString); + this.planet = planet; + } } diff --git a/src/protocol/swg/PlanetTravelPointListResponse.java b/src/protocol/swg/PlanetTravelPointListResponse.java new file mode 100644 index 00000000..414a52ff --- /dev/null +++ b/src/protocol/swg/PlanetTravelPointListResponse.java @@ -0,0 +1,89 @@ +/******************************************************************************* + * 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 java.util.Vector; + +import main.NGECore; + +import org.apache.mina.core.buffer.IoBuffer; + +import services.travel.TravelPoint; +import engine.resources.scene.Planet; + +@SuppressWarnings("unused") +public class PlanetTravelPointListResponse extends SWGMessage { + + private NGECore core; + private Planet originatePlanet; + private Vector travelPoints; + + public PlanetTravelPointListResponse(Planet planet, Vector travelPoints) { + this.originatePlanet = planet; + } + + @Override + public void deserialize(IoBuffer data) { + + } + + @Override + public IoBuffer serialize() { + IoBuffer result = IoBuffer.allocate(100).order(ByteOrder.LITTLE_ENDIAN); + + result.putShort((short) 9); + result.putInt(0x4D32541F); + + result.put(getAsciiString(originatePlanet.getName())); + result.putInt(core.terrainService.getPlanetList().size()); + + result.putInt(travelPoints.size()); // shuttles/sp count + for (TravelPoint point : travelPoints) { + result.put(getAsciiString(point.getName())); + } + + result.putInt(travelPoints.size()); // shuttles/sp count + for (TravelPoint point : travelPoints) { + + result.putFloat(point.getPosX()); + result.putFloat(point.getPosZ()); // Z and Y may be switched + result.putFloat(point.getPosY()); + + } + + result.putInt(travelPoints.size()); // shuttes/sp count + for (TravelPoint point : travelPoints) { + // TODO: Change ticket price based on planet/distance + result.putInt(point.getTicketPrice()); + } + + result.putInt(travelPoints.size()); + for (TravelPoint point : travelPoints) { + // TODO: Change based on planet/distance + result.put((byte) 1); // isReachable + } + result.flip(); + return result; + } + +} diff --git a/src/resources/common/Opcodes.java b/src/resources/common/Opcodes.java index 9b66fa41..9bdfbc48 100644 --- a/src/resources/common/Opcodes.java +++ b/src/resources/common/Opcodes.java @@ -51,5 +51,6 @@ public class Opcodes { public static int GcwRegionsRsp = CRC.StringtoCRC("GcwRegionsRsp"); public static int GcwGroupsRsp = CRC.StringtoCRC("GcwGroupsRsp"); public static int ExpertiseRequestMessage = 0xC19085D5; + public static int PlanetTravelPointListRequest = 0x96405D4D; } diff --git a/src/services/chat/ChatService.java b/src/services/chat/ChatService.java index db8426c2..0b32913a 100644 --- a/src/services/chat/ChatService.java +++ b/src/services/chat/ChatService.java @@ -344,7 +344,7 @@ public class ChatService implements INetworkDispatch { friendName = friendName.toLowerCase(); - SWGObject friendObject = getObjectByFirstName(friendName); + //SWGObject friendObject = getObjectByFirstName(friendName); if (actor == null || actor.getContainer() == null) return; diff --git a/src/services/map/MapService.java b/src/services/map/MapService.java index e1d81d93..29a6d1fe 100644 --- a/src/services/map/MapService.java +++ b/src/services/map/MapService.java @@ -138,4 +138,8 @@ public class MapService implements INetworkDispatch { } + public Vector getPlanetMapLocations(Planet planet) { + return locationMap.get(planet); + } + } diff --git a/src/services/travel/TravelPoint.java b/src/services/travel/TravelPoint.java new file mode 100644 index 00000000..ae314aa9 --- /dev/null +++ b/src/services/travel/TravelPoint.java @@ -0,0 +1,72 @@ +/******************************************************************************* + * 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.travel; + +public class TravelPoint { + + private String name; + private float posX; + private float posY; + private float posZ; + private int ticketPrice; + + public TravelPoint() { + } + + public TravelPoint(String name, float x, float y, float z, int price) { + this.name = name; + this.posX = x; + this.posY = y; + this.posZ = z; + } + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public float getPosX() { + return posX; + } + public void setPosX(float posX) { + this.posX = posX; + } + public float getPosY() { + return posY; + } + public void setPosY(float posY) { + this.posY = posY; + } + public float getPosZ() { + return posZ; + } + public void setPosZ(float posZ) { + this.posZ = posZ; + } + public int getTicketPrice() { + return ticketPrice; + } + public void setTicketPrice(int ticketPrice) { + this.ticketPrice = ticketPrice; + } +} diff --git a/src/services/travel/TravelService.java b/src/services/travel/TravelService.java new file mode 100644 index 00000000..02f3c724 --- /dev/null +++ b/src/services/travel/TravelService.java @@ -0,0 +1,112 @@ +/******************************************************************************* + * 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.travel; + +import java.nio.ByteOrder; +import java.util.Map; +import java.util.Vector; +import java.util.concurrent.ConcurrentHashMap; + +import org.apache.mina.core.buffer.IoBuffer; +import org.apache.mina.core.session.IoSession; + +import protocol.swg.PlanetTravelPointListRequest; +import protocol.swg.PlanetTravelPointListResponse; +import engine.clients.Client; +import engine.resources.objects.SWGObject; +import engine.resources.scene.Planet; +import engine.resources.service.INetworkDispatch; +import engine.resources.service.INetworkRemoteEvent; +import main.NGECore; +import resources.common.Opcodes; +import services.map.*; + +public class TravelService implements INetworkDispatch { + + private NGECore core; + + private Map> travelMap = new ConcurrentHashMap>(); + + public TravelService(NGECore core) { + this.core = core; + } + + @Override + public void insertOpcodes(Map swgOpcodes, Map objControllerOpcodes) { + swgOpcodes.put(Opcodes.PlanetTravelPointListRequest, new INetworkRemoteEvent() { + + @Override + public void handlePacket(IoSession session, IoBuffer data) throws Exception { + + data.order(ByteOrder.LITTLE_ENDIAN); + + PlanetTravelPointListRequest request = new PlanetTravelPointListRequest(); + request.deserialize(data); + + Client client = core.getClient((Integer) session.getAttribute("connectionId")); + + if(client == null || client.getSession() == null) + return; + + SWGObject object = client.getParent(); + + if(object == null) + return; + + PlanetTravelPointListResponse response = new PlanetTravelPointListResponse(request.getPlanet(), travelMap.get(request.getPlanet())); + client.getSession().write(response.serialize()); + + } + + }); + + } + + public void addPlanet(Planet planet) { + Vector travelPointVector = new Vector(); + travelMap.put(planet, travelPointVector); + } + + + public void addTravelPoint(Planet planet, String name, float x, float y, float z) { + TravelPoint travelPoint = new TravelPoint(name, x, y, z, 100); + + if (travelMap.get(planet) != null) { + + travelMap.get(planet).add(travelPoint); + System.out.println("Added travel point " + travelPoint.getName()); + + } else { + Vector travelPointVector = new Vector(); + travelMap.put(planet, travelPointVector); + travelMap.get(planet).add(travelPoint); + System.out.println("Added planet " + planet.getName() + " with travel point: " + travelPoint.getName()); + } + + + } + + @Override + public void shutdown() { + + } +} From fae1360de7eec9132af79c80dca0a8f21b7a90ec Mon Sep 17 00:00:00 2001 From: Ziggeh Date: Sat, 26 Oct 2013 20:21:48 +0200 Subject: [PATCH 02/10] Added travel points for tatooine --- scripts/static_travel_points.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 scripts/static_travel_points.py diff --git a/scripts/static_travel_points.py b/scripts/static_travel_points.py new file mode 100644 index 00000000..58baf244 --- /dev/null +++ b/scripts/static_travel_points.py @@ -0,0 +1,17 @@ +import sys + +def addPoints(core, planet): + + if planet.getName() == 'tatooine': + tatooinePoints(core, planet) + + return + +def tatooinePoints(core, planet): + trvSvc = core.travelService + + trvSvc.addTravelPoint("tatooine", "Bestine Starport", -1376, 12, -3576) + trvSvc.addTravelPoint("tatooine", "Mos Eisley Starport", 3619, 5, -4801) + trvSvc.addTravelPoint("tatooine", "Mos Espa Starport", -2829, 5, 2080) + trvSvc.addTravelPoint("tatooine", "Mos Entha Starport", 1238, 7, 3062) + return \ No newline at end of file From d8bce5b2377837914f5110e6494c6c8d9fbbe168 Mon Sep 17 00:00:00 2001 From: xbang21 Date: Sun, 27 Oct 2013 08:52:14 -0400 Subject: [PATCH 03/10] Added All Officer Debuffs/Buffs --- scripts/buffs/fs_ae_dm_cc_0.py | 10 ++ scripts/buffs/fs_ae_dm_cc_1.py | 10 ++ scripts/buffs/fs_ae_dm_cc_2.py | 10 ++ scripts/buffs/fs_ae_dm_cc_3.py | 10 ++ scripts/buffs/fs_ae_dm_cc_4.py | 10 ++ scripts/buffs/fs_ae_dm_cc_5.py | 10 ++ scripts/buffs/fs_ae_dm_cc_6.py | 10 ++ scripts/buffs/fs_dm_cc_crit_1.py | 10 ++ scripts/buffs/fs_dm_cc_crit_2.py | 10 ++ scripts/buffs/fs_dm_cc_crit_3.py | 10 ++ scripts/buffs/fs_dm_cc_crit_4.py | 10 ++ scripts/buffs/fs_dm_cc_crit_5.py | 10 ++ scripts/buffs/of_adv_paint_debuff_1.py | 10 ++ scripts/buffs/of_adv_paint_debuff_2.py | 10 ++ scripts/buffs/of_adv_paint_debuff_3.py | 10 ++ scripts/buffs/of_adv_paint_debuff_4.py | 10 ++ scripts/buffs/of_adv_paint_debuff_5.py | 10 ++ scripts/buffs/of_adv_paint_debuff_6.py | 10 ++ scripts/buffs/of_adv_paint_debuff_7.py | 10 ++ scripts/buffs/of_adv_paint_debuff_8.py | 10 ++ scripts/buffs/of_adv_paint_expose_1.py | 14 +++ scripts/buffs/of_adv_paint_expose_2.py | 14 +++ scripts/buffs/of_adv_paint_expose_3.py | 14 +++ scripts/buffs/of_adv_paint_expose_4.py | 14 +++ scripts/buffs/of_adv_paint_expose_5.py | 14 +++ scripts/buffs/of_adv_paint_expose_6.py | 14 +++ scripts/buffs/of_adv_paint_expose_7.py | 14 +++ scripts/buffs/of_adv_paint_expose_8.py | 14 +++ scripts/buffs/of_ae_dm_cc_1.py | 9 ++ scripts/buffs/of_ae_dm_cc_2.py | 9 ++ scripts/buffs/of_ae_dm_cc_3.py | 9 ++ scripts/buffs/of_buff_def_1.py | 11 +++ scripts/buffs/of_buff_def_2.py | 11 +++ scripts/buffs/of_buff_def_3.py | 11 +++ scripts/buffs/of_buff_def_4.py | 13 +++ scripts/buffs/of_buff_def_5.py | 13 +++ scripts/buffs/of_buff_def_6.py | 13 +++ scripts/buffs/of_buff_def_7.py | 13 +++ scripts/buffs/of_buff_def_8.py | 13 +++ scripts/buffs/of_buff_def_9.py | 13 +++ scripts/buffs/of_cc_melee_1.py | 9 ++ scripts/buffs/of_cc_melee_2.py | 9 ++ scripts/buffs/of_cc_melee_3.py | 9 ++ scripts/buffs/of_cc_melee_4.py | 9 ++ scripts/buffs/of_cc_melee_5.py | 9 ++ scripts/buffs/of_cc_melee_6.py | 9 ++ scripts/buffs/of_cc_melee_7.py | 9 ++ scripts/buffs/of_charge_1.py | 16 +++ scripts/buffs/of_deadeye_debuff.py | 13 +++ scripts/buffs/of_deb_def_1.py | 13 +++ scripts/buffs/of_deb_def_2.py | 13 +++ scripts/buffs/of_deb_def_3.py | 13 +++ scripts/buffs/of_deb_def_4.py | 13 +++ scripts/buffs/of_deb_def_5.py | 13 +++ scripts/buffs/of_deb_def_6.py | 13 +++ scripts/buffs/of_deb_def_7.py | 13 +++ scripts/buffs/of_deb_def_8.py | 13 +++ scripts/buffs/of_decap_bleed_1.py | 10 ++ scripts/buffs/of_decap_bleed_2.py | 10 ++ scripts/buffs/of_decap_bleed_3.py | 10 ++ scripts/buffs/of_decap_bleed_4.py | 10 ++ scripts/buffs/of_decap_bleed_5.py | 10 ++ scripts/buffs/of_decap_bleed_6.py | 10 ++ scripts/buffs/of_dot_bomb_1.py | 10 ++ scripts/buffs/of_emergency_shield.py | 11 +++ scripts/buffs/of_firepower.py | 11 +++ scripts/buffs/of_focus_fire_1.py | 13 +++ scripts/buffs/of_focus_fire_2.py | 13 +++ scripts/buffs/of_focus_fire_3.py | 13 +++ scripts/buffs/of_focus_fire_4.py | 13 +++ scripts/buffs/of_focus_fire_5.py | 13 +++ scripts/buffs/of_focus_fire_6.py | 13 +++ scripts/buffs/of_inspiration_1.py | 11 +++ scripts/buffs/of_inspiration_2.py | 11 +++ scripts/buffs/of_inspiration_3.py | 11 +++ scripts/buffs/of_inspiration_4.py | 11 +++ scripts/buffs/of_inspiration_5.py | 11 +++ scripts/buffs/of_inspiration_6.py | 11 +++ scripts/buffs/of_last_words.py | 15 +++ scripts/buffs/of_pistol_bleed.py | 10 ++ scripts/buffs/of_purge_1.py | 12 +++ scripts/buffs/of_scatter_1.py | 15 +++ scripts/buffs/of_vortex_bleed_1.py | 9 ++ scripts/buffs/of_vortex_bleed_2.py | 9 ++ scripts/buffs/of_vortex_bleed_3.py | 9 ++ scripts/buffs/of_vortex_bleed_4.py | 9 ++ scripts/buffs/of_vortex_bleed_5.py | 9 ++ scripts/buffs/of_vortex_root.py | 9 ++ scripts/commands/combat/of_ae_dm_cc_1.py | 11 +++ scripts/commands/combat/of_ae_dm_cc_2.py | 11 +++ scripts/commands/combat/of_ae_dm_cc_3.py | 11 +++ scripts/commands/combat/of_cc_melee_1.py | 11 +++ scripts/commands/combat/of_cc_melee_2.py | 11 +++ scripts/commands/combat/of_cc_melee_3.py | 11 +++ scripts/commands/combat/of_cc_melee_4.py | 11 +++ scripts/commands/combat/of_cc_melee_5.py | 11 +++ scripts/commands/combat/of_cc_melee_6.py | 11 +++ scripts/commands/combat/of_cc_melee_7.py | 11 +++ scripts/commands/combat/of_deadeye_debuff.py | 11 +++ scripts/commands/combat/of_deb_def_1.py | 15 +++ scripts/commands/combat/of_deb_def_2.py | 15 +++ scripts/commands/combat/of_deb_def_3.py | 15 +++ scripts/commands/combat/of_deb_def_4.py | 15 +++ scripts/commands/combat/of_deb_def_5.py | 15 +++ scripts/commands/combat/of_deb_def_6.py | 15 +++ scripts/commands/combat/of_deb_def_7.py | 15 +++ scripts/commands/combat/of_deb_def_8.py | 15 +++ scripts/commands/combat/of_decapitate_1.py | 11 +++ scripts/commands/combat/of_decapitate_2.py | 11 +++ scripts/commands/combat/of_decapitate_3.py | 11 +++ scripts/commands/combat/of_decapitate_4.py | 11 +++ scripts/commands/combat/of_decapitate_5.py | 11 +++ scripts/commands/combat/of_decapitate_6.py | 11 +++ scripts/commands/combat/of_del_ae_dm_dot_1.py | 11 +++ scripts/commands/combat/of_del_ae_dm_dot_2.py | 11 +++ scripts/commands/combat/of_del_ae_dm_dot_3.py | 11 +++ scripts/commands/combat/of_pistol_bleed_1.py | 11 +++ scripts/commands/combat/of_vortex_1.py | 12 +++ scripts/commands/combat/of_vortex_2.py | 12 +++ scripts/commands/combat/of_vortex_3.py | 12 +++ scripts/commands/combat/of_vortex_4.py | 12 +++ scripts/commands/combat/of_vortex_5.py | 12 +++ scripts/commands/of_buff_def_1.py | 12 +++ scripts/commands/of_buff_def_2.py | 12 +++ scripts/commands/of_buff_def_3.py | 12 +++ scripts/commands/of_buff_def_4.py | 12 +++ scripts/commands/of_buff_def_5.py | 12 +++ scripts/commands/of_buff_def_6.py | 12 +++ scripts/commands/of_buff_def_7.py | 12 +++ scripts/commands/of_buff_def_8.py | 12 +++ scripts/commands/of_buff_def_9.py | 12 +++ scripts/commands/of_charge_1.py | 12 +++ scripts/commands/of_dot_bomb.py | 98 +++++++++++++++++++ scripts/commands/of_emergency_shield.py | 9 ++ scripts/commands/of_firepower_1.py | 9 ++ scripts/commands/of_focus_fire_1.py | 12 +++ scripts/commands/of_focus_fire_2.py | 11 +++ scripts/commands/of_focus_fire_3.py | 11 +++ scripts/commands/of_focus_fire_4.py | 11 +++ scripts/commands/of_focus_fire_5.py | 11 +++ scripts/commands/of_focus_fire_6.py | 11 +++ scripts/commands/of_inspiration_1.py | 12 +++ scripts/commands/of_inspiration_2.py | 12 +++ scripts/commands/of_inspiration_3.py | 12 +++ scripts/commands/of_inspiration_4.py | 12 +++ scripts/commands/of_inspiration_5.py | 12 +++ scripts/commands/of_inspiration_6.py | 12 +++ scripts/commands/of_purge_1.py | 9 ++ scripts/commands/of_scatter_1.py | 12 +++ scripts/skillMods/action_burn.py | 10 ++ .../skillMods/combat_divide_damage_taken.py | 0 .../critical_damage_vulnerability.py | 10 ++ scripts/skillMods/debuff_purge.py | 9 ++ scripts/skillMods/dot_bleed.py | 9 ++ scripts/skillMods/dot_divisor_all.py | 9 ++ scripts/skillMods/dot_fire.py | 10 ++ scripts/skillMods/dot_poison.py | 9 ++ scripts/skillMods/dot_resist_all.py | 9 ++ ...e_damage_line_vulnerability_of_buff_def.py | 10 ++ ...pertise_damage_line_vulnerability_of_dm.py | 10 ++ scripts/skillMods/expertise_parry.py | 10 ++ .../expertise_strikethrough_chance.py | 10 ++ scripts/skillMods/healing_action.py | 9 ++ scripts/skillMods/healing_health.py | 10 ++ scripts/skillMods/stealth_divisor.py | 10 ++ 165 files changed, 1939 insertions(+) create mode 100644 scripts/buffs/fs_ae_dm_cc_0.py create mode 100644 scripts/buffs/fs_ae_dm_cc_1.py create mode 100644 scripts/buffs/fs_ae_dm_cc_2.py create mode 100644 scripts/buffs/fs_ae_dm_cc_3.py create mode 100644 scripts/buffs/fs_ae_dm_cc_4.py create mode 100644 scripts/buffs/fs_ae_dm_cc_5.py create mode 100644 scripts/buffs/fs_ae_dm_cc_6.py create mode 100644 scripts/buffs/fs_dm_cc_crit_1.py create mode 100644 scripts/buffs/fs_dm_cc_crit_2.py create mode 100644 scripts/buffs/fs_dm_cc_crit_3.py create mode 100644 scripts/buffs/fs_dm_cc_crit_4.py create mode 100644 scripts/buffs/fs_dm_cc_crit_5.py create mode 100644 scripts/buffs/of_adv_paint_debuff_1.py create mode 100644 scripts/buffs/of_adv_paint_debuff_2.py create mode 100644 scripts/buffs/of_adv_paint_debuff_3.py create mode 100644 scripts/buffs/of_adv_paint_debuff_4.py create mode 100644 scripts/buffs/of_adv_paint_debuff_5.py create mode 100644 scripts/buffs/of_adv_paint_debuff_6.py create mode 100644 scripts/buffs/of_adv_paint_debuff_7.py create mode 100644 scripts/buffs/of_adv_paint_debuff_8.py create mode 100644 scripts/buffs/of_adv_paint_expose_1.py create mode 100644 scripts/buffs/of_adv_paint_expose_2.py create mode 100644 scripts/buffs/of_adv_paint_expose_3.py create mode 100644 scripts/buffs/of_adv_paint_expose_4.py create mode 100644 scripts/buffs/of_adv_paint_expose_5.py create mode 100644 scripts/buffs/of_adv_paint_expose_6.py create mode 100644 scripts/buffs/of_adv_paint_expose_7.py create mode 100644 scripts/buffs/of_adv_paint_expose_8.py create mode 100644 scripts/buffs/of_ae_dm_cc_1.py create mode 100644 scripts/buffs/of_ae_dm_cc_2.py create mode 100644 scripts/buffs/of_ae_dm_cc_3.py create mode 100644 scripts/buffs/of_buff_def_1.py create mode 100644 scripts/buffs/of_buff_def_2.py create mode 100644 scripts/buffs/of_buff_def_3.py create mode 100644 scripts/buffs/of_buff_def_4.py create mode 100644 scripts/buffs/of_buff_def_5.py create mode 100644 scripts/buffs/of_buff_def_6.py create mode 100644 scripts/buffs/of_buff_def_7.py create mode 100644 scripts/buffs/of_buff_def_8.py create mode 100644 scripts/buffs/of_buff_def_9.py create mode 100644 scripts/buffs/of_cc_melee_1.py create mode 100644 scripts/buffs/of_cc_melee_2.py create mode 100644 scripts/buffs/of_cc_melee_3.py create mode 100644 scripts/buffs/of_cc_melee_4.py create mode 100644 scripts/buffs/of_cc_melee_5.py create mode 100644 scripts/buffs/of_cc_melee_6.py create mode 100644 scripts/buffs/of_cc_melee_7.py create mode 100644 scripts/buffs/of_charge_1.py create mode 100644 scripts/buffs/of_deadeye_debuff.py create mode 100644 scripts/buffs/of_deb_def_1.py create mode 100644 scripts/buffs/of_deb_def_2.py create mode 100644 scripts/buffs/of_deb_def_3.py create mode 100644 scripts/buffs/of_deb_def_4.py create mode 100644 scripts/buffs/of_deb_def_5.py create mode 100644 scripts/buffs/of_deb_def_6.py create mode 100644 scripts/buffs/of_deb_def_7.py create mode 100644 scripts/buffs/of_deb_def_8.py create mode 100644 scripts/buffs/of_decap_bleed_1.py create mode 100644 scripts/buffs/of_decap_bleed_2.py create mode 100644 scripts/buffs/of_decap_bleed_3.py create mode 100644 scripts/buffs/of_decap_bleed_4.py create mode 100644 scripts/buffs/of_decap_bleed_5.py create mode 100644 scripts/buffs/of_decap_bleed_6.py create mode 100644 scripts/buffs/of_dot_bomb_1.py create mode 100644 scripts/buffs/of_emergency_shield.py create mode 100644 scripts/buffs/of_firepower.py create mode 100644 scripts/buffs/of_focus_fire_1.py create mode 100644 scripts/buffs/of_focus_fire_2.py create mode 100644 scripts/buffs/of_focus_fire_3.py create mode 100644 scripts/buffs/of_focus_fire_4.py create mode 100644 scripts/buffs/of_focus_fire_5.py create mode 100644 scripts/buffs/of_focus_fire_6.py create mode 100644 scripts/buffs/of_inspiration_1.py create mode 100644 scripts/buffs/of_inspiration_2.py create mode 100644 scripts/buffs/of_inspiration_3.py create mode 100644 scripts/buffs/of_inspiration_4.py create mode 100644 scripts/buffs/of_inspiration_5.py create mode 100644 scripts/buffs/of_inspiration_6.py create mode 100644 scripts/buffs/of_last_words.py create mode 100644 scripts/buffs/of_pistol_bleed.py create mode 100644 scripts/buffs/of_purge_1.py create mode 100644 scripts/buffs/of_scatter_1.py create mode 100644 scripts/buffs/of_vortex_bleed_1.py create mode 100644 scripts/buffs/of_vortex_bleed_2.py create mode 100644 scripts/buffs/of_vortex_bleed_3.py create mode 100644 scripts/buffs/of_vortex_bleed_4.py create mode 100644 scripts/buffs/of_vortex_bleed_5.py create mode 100644 scripts/buffs/of_vortex_root.py create mode 100644 scripts/commands/combat/of_ae_dm_cc_1.py create mode 100644 scripts/commands/combat/of_ae_dm_cc_2.py create mode 100644 scripts/commands/combat/of_ae_dm_cc_3.py create mode 100644 scripts/commands/combat/of_cc_melee_1.py create mode 100644 scripts/commands/combat/of_cc_melee_2.py create mode 100644 scripts/commands/combat/of_cc_melee_3.py create mode 100644 scripts/commands/combat/of_cc_melee_4.py create mode 100644 scripts/commands/combat/of_cc_melee_5.py create mode 100644 scripts/commands/combat/of_cc_melee_6.py create mode 100644 scripts/commands/combat/of_cc_melee_7.py create mode 100644 scripts/commands/combat/of_deadeye_debuff.py create mode 100644 scripts/commands/combat/of_deb_def_1.py create mode 100644 scripts/commands/combat/of_deb_def_2.py create mode 100644 scripts/commands/combat/of_deb_def_3.py create mode 100644 scripts/commands/combat/of_deb_def_4.py create mode 100644 scripts/commands/combat/of_deb_def_5.py create mode 100644 scripts/commands/combat/of_deb_def_6.py create mode 100644 scripts/commands/combat/of_deb_def_7.py create mode 100644 scripts/commands/combat/of_deb_def_8.py create mode 100644 scripts/commands/combat/of_decapitate_1.py create mode 100644 scripts/commands/combat/of_decapitate_2.py create mode 100644 scripts/commands/combat/of_decapitate_3.py create mode 100644 scripts/commands/combat/of_decapitate_4.py create mode 100644 scripts/commands/combat/of_decapitate_5.py create mode 100644 scripts/commands/combat/of_decapitate_6.py create mode 100644 scripts/commands/combat/of_del_ae_dm_dot_1.py create mode 100644 scripts/commands/combat/of_del_ae_dm_dot_2.py create mode 100644 scripts/commands/combat/of_del_ae_dm_dot_3.py create mode 100644 scripts/commands/combat/of_pistol_bleed_1.py create mode 100644 scripts/commands/combat/of_vortex_1.py create mode 100644 scripts/commands/combat/of_vortex_2.py create mode 100644 scripts/commands/combat/of_vortex_3.py create mode 100644 scripts/commands/combat/of_vortex_4.py create mode 100644 scripts/commands/combat/of_vortex_5.py create mode 100644 scripts/commands/of_buff_def_1.py create mode 100644 scripts/commands/of_buff_def_2.py create mode 100644 scripts/commands/of_buff_def_3.py create mode 100644 scripts/commands/of_buff_def_4.py create mode 100644 scripts/commands/of_buff_def_5.py create mode 100644 scripts/commands/of_buff_def_6.py create mode 100644 scripts/commands/of_buff_def_7.py create mode 100644 scripts/commands/of_buff_def_8.py create mode 100644 scripts/commands/of_buff_def_9.py create mode 100644 scripts/commands/of_charge_1.py create mode 100644 scripts/commands/of_dot_bomb.py create mode 100644 scripts/commands/of_emergency_shield.py create mode 100644 scripts/commands/of_firepower_1.py create mode 100644 scripts/commands/of_focus_fire_1.py create mode 100644 scripts/commands/of_focus_fire_2.py create mode 100644 scripts/commands/of_focus_fire_3.py create mode 100644 scripts/commands/of_focus_fire_4.py create mode 100644 scripts/commands/of_focus_fire_5.py create mode 100644 scripts/commands/of_focus_fire_6.py create mode 100644 scripts/commands/of_inspiration_1.py create mode 100644 scripts/commands/of_inspiration_2.py create mode 100644 scripts/commands/of_inspiration_3.py create mode 100644 scripts/commands/of_inspiration_4.py create mode 100644 scripts/commands/of_inspiration_5.py create mode 100644 scripts/commands/of_inspiration_6.py create mode 100644 scripts/commands/of_purge_1.py create mode 100644 scripts/commands/of_scatter_1.py create mode 100644 scripts/skillMods/action_burn.py create mode 100644 scripts/skillMods/combat_divide_damage_taken.py create mode 100644 scripts/skillMods/critical_damage_vulnerability.py create mode 100644 scripts/skillMods/debuff_purge.py create mode 100644 scripts/skillMods/dot_bleed.py create mode 100644 scripts/skillMods/dot_divisor_all.py create mode 100644 scripts/skillMods/dot_fire.py create mode 100644 scripts/skillMods/dot_poison.py create mode 100644 scripts/skillMods/dot_resist_all.py create mode 100644 scripts/skillMods/expertise_damage_line_vulnerability_of_buff_def.py create mode 100644 scripts/skillMods/expertise_damage_line_vulnerability_of_dm.py create mode 100644 scripts/skillMods/expertise_parry.py create mode 100644 scripts/skillMods/expertise_strikethrough_chance.py create mode 100644 scripts/skillMods/healing_action.py create mode 100644 scripts/skillMods/healing_health.py create mode 100644 scripts/skillMods/stealth_divisor.py diff --git a/scripts/buffs/fs_ae_dm_cc_0.py b/scripts/buffs/fs_ae_dm_cc_0.py new file mode 100644 index 00000000..493481d7 --- /dev/null +++ b/scripts/buffs/fs_ae_dm_cc_0.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return + \ No newline at end of file diff --git a/scripts/buffs/fs_ae_dm_cc_1.py b/scripts/buffs/fs_ae_dm_cc_1.py new file mode 100644 index 00000000..493481d7 --- /dev/null +++ b/scripts/buffs/fs_ae_dm_cc_1.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return + \ No newline at end of file diff --git a/scripts/buffs/fs_ae_dm_cc_2.py b/scripts/buffs/fs_ae_dm_cc_2.py new file mode 100644 index 00000000..493481d7 --- /dev/null +++ b/scripts/buffs/fs_ae_dm_cc_2.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return + \ No newline at end of file diff --git a/scripts/buffs/fs_ae_dm_cc_3.py b/scripts/buffs/fs_ae_dm_cc_3.py new file mode 100644 index 00000000..493481d7 --- /dev/null +++ b/scripts/buffs/fs_ae_dm_cc_3.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return + \ No newline at end of file diff --git a/scripts/buffs/fs_ae_dm_cc_4.py b/scripts/buffs/fs_ae_dm_cc_4.py new file mode 100644 index 00000000..493481d7 --- /dev/null +++ b/scripts/buffs/fs_ae_dm_cc_4.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return + \ No newline at end of file diff --git a/scripts/buffs/fs_ae_dm_cc_5.py b/scripts/buffs/fs_ae_dm_cc_5.py new file mode 100644 index 00000000..493481d7 --- /dev/null +++ b/scripts/buffs/fs_ae_dm_cc_5.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return + \ No newline at end of file diff --git a/scripts/buffs/fs_ae_dm_cc_6.py b/scripts/buffs/fs_ae_dm_cc_6.py new file mode 100644 index 00000000..493481d7 --- /dev/null +++ b/scripts/buffs/fs_ae_dm_cc_6.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return + \ No newline at end of file diff --git a/scripts/buffs/fs_dm_cc_crit_1.py b/scripts/buffs/fs_dm_cc_crit_1.py new file mode 100644 index 00000000..493481d7 --- /dev/null +++ b/scripts/buffs/fs_dm_cc_crit_1.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return + \ No newline at end of file diff --git a/scripts/buffs/fs_dm_cc_crit_2.py b/scripts/buffs/fs_dm_cc_crit_2.py new file mode 100644 index 00000000..493481d7 --- /dev/null +++ b/scripts/buffs/fs_dm_cc_crit_2.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return + \ No newline at end of file diff --git a/scripts/buffs/fs_dm_cc_crit_3.py b/scripts/buffs/fs_dm_cc_crit_3.py new file mode 100644 index 00000000..493481d7 --- /dev/null +++ b/scripts/buffs/fs_dm_cc_crit_3.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return + \ No newline at end of file diff --git a/scripts/buffs/fs_dm_cc_crit_4.py b/scripts/buffs/fs_dm_cc_crit_4.py new file mode 100644 index 00000000..493481d7 --- /dev/null +++ b/scripts/buffs/fs_dm_cc_crit_4.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return + \ No newline at end of file diff --git a/scripts/buffs/fs_dm_cc_crit_5.py b/scripts/buffs/fs_dm_cc_crit_5.py new file mode 100644 index 00000000..493481d7 --- /dev/null +++ b/scripts/buffs/fs_dm_cc_crit_5.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return + \ No newline at end of file diff --git a/scripts/buffs/of_adv_paint_debuff_1.py b/scripts/buffs/of_adv_paint_debuff_1.py new file mode 100644 index 00000000..7f6894de --- /dev/null +++ b/scripts/buffs/of_adv_paint_debuff_1.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'critical_damage_vulnerability', 3) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'critical_damage_vulnerability', 3) + return + \ No newline at end of file diff --git a/scripts/buffs/of_adv_paint_debuff_2.py b/scripts/buffs/of_adv_paint_debuff_2.py new file mode 100644 index 00000000..92f239c0 --- /dev/null +++ b/scripts/buffs/of_adv_paint_debuff_2.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'critical_damage_vulnerability', 4) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'critical_damage_vulnerability', 4) + return + \ No newline at end of file diff --git a/scripts/buffs/of_adv_paint_debuff_3.py b/scripts/buffs/of_adv_paint_debuff_3.py new file mode 100644 index 00000000..58fe704f --- /dev/null +++ b/scripts/buffs/of_adv_paint_debuff_3.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'critical_damage_vulnerability', 5) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'critical_damage_vulnerability', 5) + return + \ No newline at end of file diff --git a/scripts/buffs/of_adv_paint_debuff_4.py b/scripts/buffs/of_adv_paint_debuff_4.py new file mode 100644 index 00000000..f41ae124 --- /dev/null +++ b/scripts/buffs/of_adv_paint_debuff_4.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'critical_damage_vulnerability', 6) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'critical_damage_vulnerability', 6) + return + \ No newline at end of file diff --git a/scripts/buffs/of_adv_paint_debuff_5.py b/scripts/buffs/of_adv_paint_debuff_5.py new file mode 100644 index 00000000..d31be060 --- /dev/null +++ b/scripts/buffs/of_adv_paint_debuff_5.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'critical_damage_vulnerability', 7) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'critical_damage_vulnerability', 7) + return + \ No newline at end of file diff --git a/scripts/buffs/of_adv_paint_debuff_6.py b/scripts/buffs/of_adv_paint_debuff_6.py new file mode 100644 index 00000000..84ffe9ed --- /dev/null +++ b/scripts/buffs/of_adv_paint_debuff_6.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'critical_damage_vulnerability', 8) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'critical_damage_vulnerability', 8) + return + \ No newline at end of file diff --git a/scripts/buffs/of_adv_paint_debuff_7.py b/scripts/buffs/of_adv_paint_debuff_7.py new file mode 100644 index 00000000..231f4a1b --- /dev/null +++ b/scripts/buffs/of_adv_paint_debuff_7.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'critical_damage_vulnerability', 9) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'critical_damage_vulnerability', 9) + return + \ No newline at end of file diff --git a/scripts/buffs/of_adv_paint_debuff_8.py b/scripts/buffs/of_adv_paint_debuff_8.py new file mode 100644 index 00000000..65e1c826 --- /dev/null +++ b/scripts/buffs/of_adv_paint_debuff_8.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'critical_damage_vulnerability', 10) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'critical_damage_vulnerability', 10) + return + \ No newline at end of file diff --git a/scripts/buffs/of_adv_paint_expose_1.py b/scripts/buffs/of_adv_paint_expose_1.py new file mode 100644 index 00000000..e3583535 --- /dev/null +++ b/scripts/buffs/of_adv_paint_expose_1.py @@ -0,0 +1,14 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'stealth_divisor', 15) + core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 3) + core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 3) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'stealth_divisor', 15) + core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 3) + core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 3) + return + \ No newline at end of file diff --git a/scripts/buffs/of_adv_paint_expose_2.py b/scripts/buffs/of_adv_paint_expose_2.py new file mode 100644 index 00000000..07ed0966 --- /dev/null +++ b/scripts/buffs/of_adv_paint_expose_2.py @@ -0,0 +1,14 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'stealth_divisor', 20) + core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 4) + core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 4) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'stealth_divisor', 20) + core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 4) + core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 4) + return + \ No newline at end of file diff --git a/scripts/buffs/of_adv_paint_expose_3.py b/scripts/buffs/of_adv_paint_expose_3.py new file mode 100644 index 00000000..4ab6e431 --- /dev/null +++ b/scripts/buffs/of_adv_paint_expose_3.py @@ -0,0 +1,14 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'stealth_divisor', 25) + core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 5) + core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 5) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'stealth_divisor', 25) + core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 5) + core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 5) + return + \ No newline at end of file diff --git a/scripts/buffs/of_adv_paint_expose_4.py b/scripts/buffs/of_adv_paint_expose_4.py new file mode 100644 index 00000000..df8fae5c --- /dev/null +++ b/scripts/buffs/of_adv_paint_expose_4.py @@ -0,0 +1,14 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'stealth_divisor', 30) + core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 6) + core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 6) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'stealth_divisor', 30) + core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 6) + core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 6) + return + \ No newline at end of file diff --git a/scripts/buffs/of_adv_paint_expose_5.py b/scripts/buffs/of_adv_paint_expose_5.py new file mode 100644 index 00000000..d22f46f0 --- /dev/null +++ b/scripts/buffs/of_adv_paint_expose_5.py @@ -0,0 +1,14 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'stealth_divisor', 35) + core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 7) + core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 7) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'stealth_divisor', 35) + core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 7) + core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 7) + return + \ No newline at end of file diff --git a/scripts/buffs/of_adv_paint_expose_6.py b/scripts/buffs/of_adv_paint_expose_6.py new file mode 100644 index 00000000..4e3af368 --- /dev/null +++ b/scripts/buffs/of_adv_paint_expose_6.py @@ -0,0 +1,14 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'stealth_divisor', 40) + core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 8) + core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 8) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'stealth_divisor', 40) + core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 8) + core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 8) + return + \ No newline at end of file diff --git a/scripts/buffs/of_adv_paint_expose_7.py b/scripts/buffs/of_adv_paint_expose_7.py new file mode 100644 index 00000000..46e42ba4 --- /dev/null +++ b/scripts/buffs/of_adv_paint_expose_7.py @@ -0,0 +1,14 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'stealth_divisor', 45) + core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 9) + core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 9) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'stealth_divisor', 45) + core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 9) + core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 9) + return + \ No newline at end of file diff --git a/scripts/buffs/of_adv_paint_expose_8.py b/scripts/buffs/of_adv_paint_expose_8.py new file mode 100644 index 00000000..ff43fe6c --- /dev/null +++ b/scripts/buffs/of_adv_paint_expose_8.py @@ -0,0 +1,14 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'stealth_divisor', 50) + core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 10) + core.skillModService.addSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 10) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'stealth_divisor', 50) + core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_buff_def', 10) + core.skillModService.deductSkillMod(actor, 'expertise_damage_line_vulnerability_of_dm', 10) + return + \ No newline at end of file diff --git a/scripts/buffs/of_ae_dm_cc_1.py b/scripts/buffs/of_ae_dm_cc_1.py new file mode 100644 index 00000000..5452db94 --- /dev/null +++ b/scripts/buffs/of_ae_dm_cc_1.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return \ No newline at end of file diff --git a/scripts/buffs/of_ae_dm_cc_2.py b/scripts/buffs/of_ae_dm_cc_2.py new file mode 100644 index 00000000..5452db94 --- /dev/null +++ b/scripts/buffs/of_ae_dm_cc_2.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return \ No newline at end of file diff --git a/scripts/buffs/of_ae_dm_cc_3.py b/scripts/buffs/of_ae_dm_cc_3.py new file mode 100644 index 00000000..5452db94 --- /dev/null +++ b/scripts/buffs/of_ae_dm_cc_3.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return \ No newline at end of file diff --git a/scripts/buffs/of_buff_def_1.py b/scripts/buffs/of_buff_def_1.py new file mode 100644 index 00000000..dd15adaf --- /dev/null +++ b/scripts/buffs/of_buff_def_1.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_dodge', 1) + core.skillModService.addSkillMod(actor, 'constitution_modified', 5) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', 1) + core.skillModService.deductSkillMod(actor, 'constitution_modified', 5) + return \ No newline at end of file diff --git a/scripts/buffs/of_buff_def_2.py b/scripts/buffs/of_buff_def_2.py new file mode 100644 index 00000000..d819404b --- /dev/null +++ b/scripts/buffs/of_buff_def_2.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_dodge', 2) + core.skillModService.addSkillMod(actor, 'constitution_modified', 10) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', 2) + core.skillModService.deductSkillMod(actor, 'constitution_modified', 10) + return \ No newline at end of file diff --git a/scripts/buffs/of_buff_def_3.py b/scripts/buffs/of_buff_def_3.py new file mode 100644 index 00000000..d18a3633 --- /dev/null +++ b/scripts/buffs/of_buff_def_3.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_dodge', 2) + core.skillModService.addSkillMod(actor, 'constitution_modified', 20) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', 2) + core.skillModService.deductSkillMod(actor, 'constitution_modified', 20) + return \ No newline at end of file diff --git a/scripts/buffs/of_buff_def_4.py b/scripts/buffs/of_buff_def_4.py new file mode 100644 index 00000000..b115ce6b --- /dev/null +++ b/scripts/buffs/of_buff_def_4.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_dodge', 2) + core.skillModService.addSkillMod(actor, 'constitution_modified', 20) + core.skillModService.addSkillMod(actor, 'combat_critical_hit_reduction', 5) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', 2) + core.skillModService.deductSkillMod(actor, 'constitution_modified', 20) + core.skillModService.deductSkillMod(actor, 'combat_critical_hit_reduction', 5) + return \ No newline at end of file diff --git a/scripts/buffs/of_buff_def_5.py b/scripts/buffs/of_buff_def_5.py new file mode 100644 index 00000000..5c6ff8eb --- /dev/null +++ b/scripts/buffs/of_buff_def_5.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_dodge', 3) + core.skillModService.addSkillMod(actor, 'constitution_modified', 25) + core.skillModService.addSkillMod(actor, 'combat_critical_hit_reduction', 6) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', 3) + core.skillModService.deductSkillMod(actor, 'constitution_modified', 25) + core.skillModService.deductSkillMod(actor, 'combat_critical_hit_reduction', 6) + return \ No newline at end of file diff --git a/scripts/buffs/of_buff_def_6.py b/scripts/buffs/of_buff_def_6.py new file mode 100644 index 00000000..b8a4b168 --- /dev/null +++ b/scripts/buffs/of_buff_def_6.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_dodge', 3) + core.skillModService.addSkillMod(actor, 'constitution_modified', 35) + core.skillModService.addSkillMod(actor, 'combat_critical_hit_reduction', 7) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', 3) + core.skillModService.deductSkillMod(actor, 'constitution_modified', 35) + core.skillModService.deductSkillMod(actor, 'combat_critical_hit_reduction', 7) + return \ No newline at end of file diff --git a/scripts/buffs/of_buff_def_7.py b/scripts/buffs/of_buff_def_7.py new file mode 100644 index 00000000..77bdd6b4 --- /dev/null +++ b/scripts/buffs/of_buff_def_7.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_dodge', 4) + core.skillModService.addSkillMod(actor, 'constitution_modified', 50) + core.skillModService.addSkillMod(actor, 'combat_critical_hit_reduction', 8) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', 4) + core.skillModService.deductSkillMod(actor, 'constitution_modified', 50) + core.skillModService.deductSkillMod(actor, 'combat_critical_hit_reduction', 8) + return \ No newline at end of file diff --git a/scripts/buffs/of_buff_def_8.py b/scripts/buffs/of_buff_def_8.py new file mode 100644 index 00000000..e4b5ba0c --- /dev/null +++ b/scripts/buffs/of_buff_def_8.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_dodge', 4) + core.skillModService.addSkillMod(actor, 'constitution_modified', 60) + core.skillModService.addSkillMod(actor, 'combat_critical_hit_reduction', 9) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', 4) + core.skillModService.deductSkillMod(actor, 'constitution_modified', 60) + core.skillModService.deductSkillMod(actor, 'combat_critical_hit_reduction', 9) + return \ No newline at end of file diff --git a/scripts/buffs/of_buff_def_9.py b/scripts/buffs/of_buff_def_9.py new file mode 100644 index 00000000..6f5e35e7 --- /dev/null +++ b/scripts/buffs/of_buff_def_9.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_dodge', 5) + core.skillModService.addSkillMod(actor, 'constitution_modified', 70) + core.skillModService.addSkillMod(actor, 'combat_critical_hit_reduction', 10) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', 5) + core.skillModService.deductSkillMod(actor, 'constitution_modified', 70) + core.skillModService.deductSkillMod(actor, 'combat_critical_hit_reduction', 10) + return \ No newline at end of file diff --git a/scripts/buffs/of_cc_melee_1.py b/scripts/buffs/of_cc_melee_1.py new file mode 100644 index 00000000..5452db94 --- /dev/null +++ b/scripts/buffs/of_cc_melee_1.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return \ No newline at end of file diff --git a/scripts/buffs/of_cc_melee_2.py b/scripts/buffs/of_cc_melee_2.py new file mode 100644 index 00000000..5452db94 --- /dev/null +++ b/scripts/buffs/of_cc_melee_2.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return \ No newline at end of file diff --git a/scripts/buffs/of_cc_melee_3.py b/scripts/buffs/of_cc_melee_3.py new file mode 100644 index 00000000..5452db94 --- /dev/null +++ b/scripts/buffs/of_cc_melee_3.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return \ No newline at end of file diff --git a/scripts/buffs/of_cc_melee_4.py b/scripts/buffs/of_cc_melee_4.py new file mode 100644 index 00000000..5452db94 --- /dev/null +++ b/scripts/buffs/of_cc_melee_4.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return \ No newline at end of file diff --git a/scripts/buffs/of_cc_melee_5.py b/scripts/buffs/of_cc_melee_5.py new file mode 100644 index 00000000..5452db94 --- /dev/null +++ b/scripts/buffs/of_cc_melee_5.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return \ No newline at end of file diff --git a/scripts/buffs/of_cc_melee_6.py b/scripts/buffs/of_cc_melee_6.py new file mode 100644 index 00000000..5452db94 --- /dev/null +++ b/scripts/buffs/of_cc_melee_6.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return \ No newline at end of file diff --git a/scripts/buffs/of_cc_melee_7.py b/scripts/buffs/of_cc_melee_7.py new file mode 100644 index 00000000..5452db94 --- /dev/null +++ b/scripts/buffs/of_cc_melee_7.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0.5) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return \ No newline at end of file diff --git a/scripts/buffs/of_charge_1.py b/scripts/buffs/of_charge_1.py new file mode 100644 index 00000000..98327ebc --- /dev/null +++ b/scripts/buffs/of_charge_1.py @@ -0,0 +1,16 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_damage_all', 10) + core.skillModService.addSkillMod(actor, 'expertise_action_all', 10) + core.skillModService.addSkillMod(actor, 'movement_resist_snare', 100) + actor.setSpeedMultiplierBase(1.5) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_damage_all', 10) + core.skillModService.deductSkillMod(actor, 'expertise_action_all', 10) + core.skillModService.deductSkillMod(actor, 'movement_resist_snare', 100) + actor.setSpeedMultiplierBase(1) + return + \ No newline at end of file diff --git a/scripts/buffs/of_deadeye_debuff.py b/scripts/buffs/of_deadeye_debuff.py new file mode 100644 index 00000000..9ecd0f4d --- /dev/null +++ b/scripts/buffs/of_deadeye_debuff.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'action_burn', 50) + core.skillModService.addSkillMod(actor, 'glancing_blow_vulnerable', 30) + actor.setSpeedMultiplierBase(1.5) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', 50) + core.skillModService.deductSkillMod(actor, 'constitution_modified', 30) + actor.setSpeedMultiplierBase(1) + return \ No newline at end of file diff --git a/scripts/buffs/of_deb_def_1.py b/scripts/buffs/of_deb_def_1.py new file mode 100644 index 00000000..5a4b5cff --- /dev/null +++ b/scripts/buffs/of_deb_def_1.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_dodge', -2) + core.skillModService.addSkillMod(actor, 'expertise_parry', -2) + core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 3) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', -2) + core.skillModService.deductSkillMod(actor, 'expertise_parry', -2) + core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 3) + return \ No newline at end of file diff --git a/scripts/buffs/of_deb_def_2.py b/scripts/buffs/of_deb_def_2.py new file mode 100644 index 00000000..75c97f71 --- /dev/null +++ b/scripts/buffs/of_deb_def_2.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_dodge', -3) + core.skillModService.addSkillMod(actor, 'expertise_parry', -3) + core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 4) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', -3) + core.skillModService.deductSkillMod(actor, 'expertise_parry', -3) + core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 4) + return \ No newline at end of file diff --git a/scripts/buffs/of_deb_def_3.py b/scripts/buffs/of_deb_def_3.py new file mode 100644 index 00000000..5b125b31 --- /dev/null +++ b/scripts/buffs/of_deb_def_3.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_dodge', -3) + core.skillModService.addSkillMod(actor, 'expertise_parry', -3) + core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 5) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', -3) + core.skillModService.deductSkillMod(actor, 'expertise_parry', -3) + core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 5) + return \ No newline at end of file diff --git a/scripts/buffs/of_deb_def_4.py b/scripts/buffs/of_deb_def_4.py new file mode 100644 index 00000000..056db66a --- /dev/null +++ b/scripts/buffs/of_deb_def_4.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_dodge', -4) + core.skillModService.addSkillMod(actor, 'expertise_parry', -4) + core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 4) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', -4) + core.skillModService.deductSkillMod(actor, 'expertise_parry', -4) + core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 4) + return \ No newline at end of file diff --git a/scripts/buffs/of_deb_def_5.py b/scripts/buffs/of_deb_def_5.py new file mode 100644 index 00000000..ec243e5b --- /dev/null +++ b/scripts/buffs/of_deb_def_5.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_dodge', -4) + core.skillModService.addSkillMod(actor, 'expertise_parry', -4) + core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 5) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', -4) + core.skillModService.deductSkillMod(actor, 'expertise_parry', -4) + core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 5) + return \ No newline at end of file diff --git a/scripts/buffs/of_deb_def_6.py b/scripts/buffs/of_deb_def_6.py new file mode 100644 index 00000000..3ebd39ea --- /dev/null +++ b/scripts/buffs/of_deb_def_6.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_dodge', -5) + core.skillModService.addSkillMod(actor, 'expertise_parry', -5) + core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 6) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', -5) + core.skillModService.deductSkillMod(actor, 'expertise_parry', -5) + core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 6) + return \ No newline at end of file diff --git a/scripts/buffs/of_deb_def_7.py b/scripts/buffs/of_deb_def_7.py new file mode 100644 index 00000000..7503918d --- /dev/null +++ b/scripts/buffs/of_deb_def_7.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_dodge', -6) + core.skillModService.addSkillMod(actor, 'expertise_parry', -6) + core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 7) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', -6) + core.skillModService.deductSkillMod(actor, 'expertise_parry', -6) + core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 7) + return \ No newline at end of file diff --git a/scripts/buffs/of_deb_def_8.py b/scripts/buffs/of_deb_def_8.py new file mode 100644 index 00000000..bc8e5334 --- /dev/null +++ b/scripts/buffs/of_deb_def_8.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_dodge', -7) + core.skillModService.addSkillMod(actor, 'expertise_parry', -7) + core.skillModService.addSkillMod(actor, 'critical_hit_vulnerable', 8) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_dodge', -7) + core.skillModService.deductSkillMod(actor, 'expertise_parry', -7) + core.skillModService.deductSkillMod(actor, 'critical_hit_vulnerable', 8) + return \ No newline at end of file diff --git a/scripts/buffs/of_decap_bleed_1.py b/scripts/buffs/of_decap_bleed_1.py new file mode 100644 index 00000000..16152e90 --- /dev/null +++ b/scripts/buffs/of_decap_bleed_1.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'dot_bleed', 18) + + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'dot_bleed', 18) + return \ No newline at end of file diff --git a/scripts/buffs/of_decap_bleed_2.py b/scripts/buffs/of_decap_bleed_2.py new file mode 100644 index 00000000..f34171fc --- /dev/null +++ b/scripts/buffs/of_decap_bleed_2.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'dot_bleed', 25) + + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'dot_bleed', 25) + return \ No newline at end of file diff --git a/scripts/buffs/of_decap_bleed_3.py b/scripts/buffs/of_decap_bleed_3.py new file mode 100644 index 00000000..01d777ca --- /dev/null +++ b/scripts/buffs/of_decap_bleed_3.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'dot_bleed', 32) + + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'dot_bleed', 32) + return \ No newline at end of file diff --git a/scripts/buffs/of_decap_bleed_4.py b/scripts/buffs/of_decap_bleed_4.py new file mode 100644 index 00000000..1e847dea --- /dev/null +++ b/scripts/buffs/of_decap_bleed_4.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'dot_bleed', 42) + + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'dot_bleed', 42) + return \ No newline at end of file diff --git a/scripts/buffs/of_decap_bleed_5.py b/scripts/buffs/of_decap_bleed_5.py new file mode 100644 index 00000000..596a9457 --- /dev/null +++ b/scripts/buffs/of_decap_bleed_5.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'dot_bleed', 50) + + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'dot_bleed', 50) + return \ No newline at end of file diff --git a/scripts/buffs/of_decap_bleed_6.py b/scripts/buffs/of_decap_bleed_6.py new file mode 100644 index 00000000..1e96e637 --- /dev/null +++ b/scripts/buffs/of_decap_bleed_6.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'dot_bleed', 60) + + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'dot_bleed', 60) + return \ No newline at end of file diff --git a/scripts/buffs/of_dot_bomb_1.py b/scripts/buffs/of_dot_bomb_1.py new file mode 100644 index 00000000..9ab3d9f7 --- /dev/null +++ b/scripts/buffs/of_dot_bomb_1.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'dot_fire', 200) + + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'dot_fire', 200) + return \ No newline at end of file diff --git a/scripts/buffs/of_emergency_shield.py b/scripts/buffs/of_emergency_shield.py new file mode 100644 index 00000000..8b27d418 --- /dev/null +++ b/scripts/buffs/of_emergency_shield.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'combat_divide_damage_taken', 75) + core.skillModService.addSkillMod(actor, 'combat_divide_damage_dealt', 75) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'combat_divide_damage_taken', 75) + core.skillModService.deductSkillMod(actor, 'combat_divide_damage_dealt', 75) + return \ No newline at end of file diff --git a/scripts/buffs/of_firepower.py b/scripts/buffs/of_firepower.py new file mode 100644 index 00000000..e7b0b129 --- /dev/null +++ b/scripts/buffs/of_firepower.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_damage_line_of_aoe', 125) + core.skillModService.addSkillMod(actor, 'expertise_critical_line_of_aoe', 50) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_damage_line_of_aoe', 125) + core.skillModService.deductSkillMod(actor, 'expertise_critical_line_of_aoe', 50) + return \ No newline at end of file diff --git a/scripts/buffs/of_focus_fire_1.py b/scripts/buffs/of_focus_fire_1.py new file mode 100644 index 00000000..c8e0d364 --- /dev/null +++ b/scripts/buffs/of_focus_fire_1.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'combat_strikethrough_value', 2) + core.skillModService.addSkillMod(actor, 'expertise_critical_niche_all', 15) + core.skillModService.addSkillMod(actor, 'expertise_strikethrough_chance', 2) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'combat_strikethrough_value', 2) + core.skillModService.deductSkillMod(actor, 'expertise_critical_niche_all', 15) + core.skillModService.deductSkillMod(actor, 'expertise_strikethrough_chance', 2) + return \ No newline at end of file diff --git a/scripts/buffs/of_focus_fire_2.py b/scripts/buffs/of_focus_fire_2.py new file mode 100644 index 00000000..7803b873 --- /dev/null +++ b/scripts/buffs/of_focus_fire_2.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'combat_strikethrough_value', 3) + core.skillModService.addSkillMod(actor, 'expertise_critical_niche_all', 20) + core.skillModService.addSkillMod(actor, 'expertise_strikethrough_chance', 2) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'combat_strikethrough_value', 3) + core.skillModService.deductSkillMod(actor, 'expertise_critical_niche_all', 20) + core.skillModService.deductSkillMod(actor, 'expertise_strikethrough_chance', 2) + return \ No newline at end of file diff --git a/scripts/buffs/of_focus_fire_3.py b/scripts/buffs/of_focus_fire_3.py new file mode 100644 index 00000000..a4084512 --- /dev/null +++ b/scripts/buffs/of_focus_fire_3.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'combat_strikethrough_value', 3) + core.skillModService.addSkillMod(actor, 'expertise_critical_niche_all', 23) + core.skillModService.addSkillMod(actor, 'expertise_strikethrough_chance', 3) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'combat_strikethrough_value', 3) + core.skillModService.deductSkillMod(actor, 'expertise_critical_niche_all', 23) + core.skillModService.deductSkillMod(actor, 'expertise_strikethrough_chance', 3) + return \ No newline at end of file diff --git a/scripts/buffs/of_focus_fire_4.py b/scripts/buffs/of_focus_fire_4.py new file mode 100644 index 00000000..27402933 --- /dev/null +++ b/scripts/buffs/of_focus_fire_4.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'combat_strikethrough_value', 4) + core.skillModService.addSkillMod(actor, 'expertise_critical_niche_all', 26) + core.skillModService.addSkillMod(actor, 'expertise_strikethrough_chance', 3) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'combat_strikethrough_value', 4) + core.skillModService.deductSkillMod(actor, 'expertise_critical_niche_all', 26) + core.skillModService.deductSkillMod(actor, 'expertise_strikethrough_chance', 4) + return \ No newline at end of file diff --git a/scripts/buffs/of_focus_fire_5.py b/scripts/buffs/of_focus_fire_5.py new file mode 100644 index 00000000..9cc90e8d --- /dev/null +++ b/scripts/buffs/of_focus_fire_5.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'combat_strikethrough_value', 4) + core.skillModService.addSkillMod(actor, 'expertise_critical_niche_all', 29) + core.skillModService.addSkillMod(actor, 'expertise_strikethrough_chance', 4) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'combat_strikethrough_value', 4) + core.skillModService.deductSkillMod(actor, 'expertise_critical_niche_all', 29) + core.skillModService.deductSkillMod(actor, 'expertise_strikethrough_chance', 4) + return \ No newline at end of file diff --git a/scripts/buffs/of_focus_fire_6.py b/scripts/buffs/of_focus_fire_6.py new file mode 100644 index 00000000..58879cbe --- /dev/null +++ b/scripts/buffs/of_focus_fire_6.py @@ -0,0 +1,13 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'combat_strikethrough_value', 5) + core.skillModService.addSkillMod(actor, 'expertise_critical_niche_all', 32) + core.skillModService.addSkillMod(actor, 'expertise_strikethrough_chance', 5) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'combat_strikethrough_value', 5) + core.skillModService.deductSkillMod(actor, 'expertise_critical_niche_all', 32) + core.skillModService.deductSkillMod(actor, 'expertise_strikethrough_chance', 5) + return \ No newline at end of file diff --git a/scripts/buffs/of_inspiration_1.py b/scripts/buffs/of_inspiration_1.py new file mode 100644 index 00000000..969c4123 --- /dev/null +++ b/scripts/buffs/of_inspiration_1.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_action_all', 5) + core.skillModService.addSkillMod(actor, 'healing_action', 870) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_action_all', 870) + core.skillModService.deductSkillMod(actor, 'healing_action', 870 + return \ No newline at end of file diff --git a/scripts/buffs/of_inspiration_2.py b/scripts/buffs/of_inspiration_2.py new file mode 100644 index 00000000..f8443a90 --- /dev/null +++ b/scripts/buffs/of_inspiration_2.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_action_all', 5) + core.skillModService.addSkillMod(actor, 'healing_action', 1111) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_action_all', 5) + core.skillModService.deductSkillMod(actor, 'healing_action', 1111 + return \ No newline at end of file diff --git a/scripts/buffs/of_inspiration_3.py b/scripts/buffs/of_inspiration_3.py new file mode 100644 index 00000000..337108a6 --- /dev/null +++ b/scripts/buffs/of_inspiration_3.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_action_all', 5) + core.skillModService.addSkillMod(actor, 'healing_action', 1532) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_action_all', 5) + core.skillModService.deductSkillMod(actor, 'healing_action', 1532) + return \ No newline at end of file diff --git a/scripts/buffs/of_inspiration_4.py b/scripts/buffs/of_inspiration_4.py new file mode 100644 index 00000000..5738cd3d --- /dev/null +++ b/scripts/buffs/of_inspiration_4.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_action_all', 5) + core.skillModService.addSkillMod(actor, 'healing_action', 1954) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_action_all', 5) + core.skillModService.deductSkillMod(actor, 'healing_action', 1954) + return \ No newline at end of file diff --git a/scripts/buffs/of_inspiration_5.py b/scripts/buffs/of_inspiration_5.py new file mode 100644 index 00000000..6ab7d9d3 --- /dev/null +++ b/scripts/buffs/of_inspiration_5.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_action_all', 5) + core.skillModService.addSkillMod(actor, 'healing_action', 2374) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_action_all', 5) + core.skillModService.deductSkillMod(actor, 'healing_action', 2374) + return \ No newline at end of file diff --git a/scripts/buffs/of_inspiration_6.py b/scripts/buffs/of_inspiration_6.py new file mode 100644 index 00000000..9e7e9def --- /dev/null +++ b/scripts/buffs/of_inspiration_6.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_action_all', 5) + core.skillModService.addSkillMod(actor, 'healing_action', 2800) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_action_all', 5) + core.skillModService.deductSkillMod(actor, 'healing_action', 2800) + return \ No newline at end of file diff --git a/scripts/buffs/of_last_words.py b/scripts/buffs/of_last_words.py new file mode 100644 index 00000000..9611d588 --- /dev/null +++ b/scripts/buffs/of_last_words.py @@ -0,0 +1,15 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'healing_health', 3500) + core.skillModService.addSkillMod(actor, 'healing_action', 6000) + core.skillModService.addSkillMod(actor, 'expertise_damage_all', 10) + core.skillModService.addSkillMod(actor, 'expertise_action_all', 10) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'healing_health', 125) + core.skillModService.deductSkillMod(actor, 'healing_action', 50) + core.skillModService.deductSkillMod(actor, 'expertise_damage_all', 50) + core.skillModService.deductSkillMod(actor, 'expertise_action_all', 50) + return \ No newline at end of file diff --git a/scripts/buffs/of_pistol_bleed.py b/scripts/buffs/of_pistol_bleed.py new file mode 100644 index 00000000..1e96e637 --- /dev/null +++ b/scripts/buffs/of_pistol_bleed.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'dot_bleed', 60) + + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'dot_bleed', 60) + return \ No newline at end of file diff --git a/scripts/buffs/of_purge_1.py b/scripts/buffs/of_purge_1.py new file mode 100644 index 00000000..c41e52e8 --- /dev/null +++ b/scripts/buffs/of_purge_1.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'dot_divisor_all', 50) + core.skillModService.addSkillMod(actor, 'dot_resist_all', 100) + + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'dot_divisor_all', 50) + core.skillModService.deductSkillMod(actor, 'dot_resist_all', 100) + return \ No newline at end of file diff --git a/scripts/buffs/of_scatter_1.py b/scripts/buffs/of_scatter_1.py new file mode 100644 index 00000000..efbdf183 --- /dev/null +++ b/scripts/buffs/of_scatter_1.py @@ -0,0 +1,15 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_glancing_blow_all', 2) + core.skillModService.addSkillMod(actor, 'movement_resist_snare', 15) + core.skillModService.addSkillMod(actor, 'movement_resist_root', 2) + actor.setSpeedMultiplierBase(1.5) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_glancing_blow_all', 2) + core.skillModService.deductSkillMod(actor, 'movement_resist_snare', 15) + core.skillModService.deductSkillMod(actor, 'movement_resist_root', 2) + actor.setSpeedMultiplierBase(1) + return \ No newline at end of file diff --git a/scripts/buffs/of_vortex_bleed_1.py b/scripts/buffs/of_vortex_bleed_1.py new file mode 100644 index 00000000..e1095bbc --- /dev/null +++ b/scripts/buffs/of_vortex_bleed_1.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'dot_bleed', 30) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'dot_bleed', 30) + return \ No newline at end of file diff --git a/scripts/buffs/of_vortex_bleed_2.py b/scripts/buffs/of_vortex_bleed_2.py new file mode 100644 index 00000000..cc0b1590 --- /dev/null +++ b/scripts/buffs/of_vortex_bleed_2.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'dot_bleed', 44) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'dot_bleed', 44) + return \ No newline at end of file diff --git a/scripts/buffs/of_vortex_bleed_3.py b/scripts/buffs/of_vortex_bleed_3.py new file mode 100644 index 00000000..12c3f4cd --- /dev/null +++ b/scripts/buffs/of_vortex_bleed_3.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'dot_bleed', 58) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'dot_bleed', 58) + return \ No newline at end of file diff --git a/scripts/buffs/of_vortex_bleed_4.py b/scripts/buffs/of_vortex_bleed_4.py new file mode 100644 index 00000000..9d2c2648 --- /dev/null +++ b/scripts/buffs/of_vortex_bleed_4.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'dot_bleed', 72) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'dot_bleed', 72) + return \ No newline at end of file diff --git a/scripts/buffs/of_vortex_bleed_5.py b/scripts/buffs/of_vortex_bleed_5.py new file mode 100644 index 00000000..760cc493 --- /dev/null +++ b/scripts/buffs/of_vortex_bleed_5.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'dot_bleed', 90) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'dot_bleed', 90) + return \ No newline at end of file diff --git a/scripts/buffs/of_vortex_root.py b/scripts/buffs/of_vortex_root.py new file mode 100644 index 00000000..eab4b6a4 --- /dev/null +++ b/scripts/buffs/of_vortex_root.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + actor.setSpeedMultiplierBase(0) + return + +def removeBuff(core, actor, buff): + actor.setSpeedMultiplierBase(1) + return \ No newline at end of file diff --git a/scripts/commands/combat/of_ae_dm_cc_1.py b/scripts/commands/combat/of_ae_dm_cc_1.py new file mode 100644 index 00000000..8cb29c18 --- /dev/null +++ b/scripts/commands/combat/of_ae_dm_cc_1.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_ae_dm_cc_1') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_ae_dm_cc_2.py b/scripts/commands/combat/of_ae_dm_cc_2.py new file mode 100644 index 00000000..6a6e15d1 --- /dev/null +++ b/scripts/commands/combat/of_ae_dm_cc_2.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_ae_dm_cc_2') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_ae_dm_cc_3.py b/scripts/commands/combat/of_ae_dm_cc_3.py new file mode 100644 index 00000000..fe44b74b --- /dev/null +++ b/scripts/commands/combat/of_ae_dm_cc_3.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_ae_dm_cc_3') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_cc_melee_1.py b/scripts/commands/combat/of_cc_melee_1.py new file mode 100644 index 00000000..78feccc6 --- /dev/null +++ b/scripts/commands/combat/of_cc_melee_1.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_cc_melee_1') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_cc_melee_2.py b/scripts/commands/combat/of_cc_melee_2.py new file mode 100644 index 00000000..90462c2e --- /dev/null +++ b/scripts/commands/combat/of_cc_melee_2.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_cc_melee_2') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_cc_melee_3.py b/scripts/commands/combat/of_cc_melee_3.py new file mode 100644 index 00000000..b23d1da4 --- /dev/null +++ b/scripts/commands/combat/of_cc_melee_3.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_cc_melee_3') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_cc_melee_4.py b/scripts/commands/combat/of_cc_melee_4.py new file mode 100644 index 00000000..7c5fb4ac --- /dev/null +++ b/scripts/commands/combat/of_cc_melee_4.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_cc_melee_4') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_cc_melee_5.py b/scripts/commands/combat/of_cc_melee_5.py new file mode 100644 index 00000000..b30529b9 --- /dev/null +++ b/scripts/commands/combat/of_cc_melee_5.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_cc_melee_5') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_cc_melee_6.py b/scripts/commands/combat/of_cc_melee_6.py new file mode 100644 index 00000000..8ade5109 --- /dev/null +++ b/scripts/commands/combat/of_cc_melee_6.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_cc_melee_6') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_cc_melee_7.py b/scripts/commands/combat/of_cc_melee_7.py new file mode 100644 index 00000000..8736060a --- /dev/null +++ b/scripts/commands/combat/of_cc_melee_7.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_cc_melee_7') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_deadeye_debuff.py b/scripts/commands/combat/of_deadeye_debuff.py new file mode 100644 index 00000000..5209b851 --- /dev/null +++ b/scripts/commands/combat/of_deadeye_debuff.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_deadeye_debuff') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_deb_def_1.py b/scripts/commands/combat/of_deb_def_1.py new file mode 100644 index 00000000..6e9a7fd3 --- /dev/null +++ b/scripts/commands/combat/of_deb_def_1.py @@ -0,0 +1,15 @@ +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_deb_def_1') + if actor.getSkillMod('expertise_of_adv_paint_debuff'): + core.buffService.addBuffToCreature(target, 'of_deb_def_1') + core.buffService.addBuffToCreature(target, 'of_adv_paint_debuff_1') + if actor.getSkillMod('expertise_of_adv_paint_expose'): + core.buffService.addBuffToCreature(target, 'of_deb_def_1') + core.buffService.addBuffToCreature(target, 'of_adv_paint_expose_1') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_deb_def_2.py b/scripts/commands/combat/of_deb_def_2.py new file mode 100644 index 00000000..109e4d2c --- /dev/null +++ b/scripts/commands/combat/of_deb_def_2.py @@ -0,0 +1,15 @@ +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_deb_def_2') + if actor.getSkillMod('expertise_of_adv_paint_debuff'): + core.buffService.addBuffToCreature(target, 'of_deb_def_2') + core.buffService.addBuffToCreature(target, 'of_adv_paint_debuff_2') + if actor.getSkillMod('expertise_of_adv_paint_expose'): + core.buffService.addBuffToCreature(target, 'of_deb_def_2') + core.buffService.addBuffToCreature(target, 'of_adv_paint_expose_2') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_deb_def_3.py b/scripts/commands/combat/of_deb_def_3.py new file mode 100644 index 00000000..0060bee0 --- /dev/null +++ b/scripts/commands/combat/of_deb_def_3.py @@ -0,0 +1,15 @@ +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_deb_def_3') + if actor.getSkillMod('expertise_of_adv_paint_debuff'): + core.buffService.addBuffToCreature(target, 'of_deb_def_3') + core.buffService.addBuffToCreature(target, 'of_adv_paint_debuff_3') + if actor.getSkillMod('expertise_of_adv_paint_expose'): + core.buffService.addBuffToCreature(target, 'of_deb_def_3') + core.buffService.addBuffToCreature(target, 'of_adv_paint_expose_3') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_deb_def_4.py b/scripts/commands/combat/of_deb_def_4.py new file mode 100644 index 00000000..32b7d21a --- /dev/null +++ b/scripts/commands/combat/of_deb_def_4.py @@ -0,0 +1,15 @@ +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_deb_def_4') + if actor.getSkillMod('expertise_of_adv_paint_debuff'): + core.buffService.addBuffToCreature(target, 'of_deb_def_4') + core.buffService.addBuffToCreature(target, 'of_adv_paint_debuff_4') + if actor.getSkillMod('expertise_of_adv_paint_expose'): + core.buffService.addBuffToCreature(target, 'of_deb_def_4') + core.buffService.addBuffToCreature(target, 'of_adv_paint_expose_4') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_deb_def_5.py b/scripts/commands/combat/of_deb_def_5.py new file mode 100644 index 00000000..f880a828 --- /dev/null +++ b/scripts/commands/combat/of_deb_def_5.py @@ -0,0 +1,15 @@ +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_deb_def_5') + if actor.getSkillMod('expertise_of_adv_paint_debuff'): + core.buffService.addBuffToCreature(target, 'of_deb_def_5') + core.buffService.addBuffToCreature(target, 'of_adv_paint_debuff_5') + if actor.getSkillMod('expertise_of_adv_paint_expose'): + core.buffService.addBuffToCreature(target, 'of_deb_def_5') + core.buffService.addBuffToCreature(target, 'of_adv_paint_expose_5') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_deb_def_6.py b/scripts/commands/combat/of_deb_def_6.py new file mode 100644 index 00000000..aa1f3f18 --- /dev/null +++ b/scripts/commands/combat/of_deb_def_6.py @@ -0,0 +1,15 @@ +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_deb_def_6') + if actor.getSkillMod('expertise_of_adv_paint_debuff'): + core.buffService.addBuffToCreature(target, 'of_deb_def_6') + core.buffService.addBuffToCreature(target, 'of_adv_paint_debuff_6') + if actor.getSkillMod('expertise_of_adv_paint_expose'): + core.buffService.addBuffToCreature(target, 'of_deb_def_6') + core.buffService.addBuffToCreature(target, 'of_adv_paint_expose_6') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_deb_def_7.py b/scripts/commands/combat/of_deb_def_7.py new file mode 100644 index 00000000..ac8dbaec --- /dev/null +++ b/scripts/commands/combat/of_deb_def_7.py @@ -0,0 +1,15 @@ +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_deb_def_7') + if actor.getSkillMod('expertise_of_adv_paint_debuff'): + core.buffService.addBuffToCreature(target, 'of_deb_def_7') + core.buffService.addBuffToCreature(target, 'of_adv_paint_debuff_7') + if actor.getSkillMod('expertise_of_adv_paint_expose'): + core.buffService.addBuffToCreature(target, 'of_deb_def_7') + core.buffService.addBuffToCreature(target, 'of_adv_paint_expose_7') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_deb_def_8.py b/scripts/commands/combat/of_deb_def_8.py new file mode 100644 index 00000000..b2ad7912 --- /dev/null +++ b/scripts/commands/combat/of_deb_def_8.py @@ -0,0 +1,15 @@ +def setup(core, actor, target, command): + core.buffService.addBuffToCreature(target, 'of_deb_def_8;) + if actor.getSkillMod('expertise_of_adv_paint_debuff'): + core.buffService.addBuffToCreature(target, 'of_deb_def_8') + core.buffService.addBuffToCreature(target, 'of_adv_paint_debuff_8') + if actor.getSkillMod('expertise_of_adv_paint_expose'): + core.buffService.addBuffToCreature(target, 'of_deb_def_8') + core.buffService.addBuffToCreature(target, 'of_adv_paint_expose_8') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_decapitate_1.py b/scripts/commands/combat/of_decapitate_1.py new file mode 100644 index 00000000..d32bcc1e --- /dev/null +++ b/scripts/commands/combat/of_decapitate_1.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + command.setBuffNameTarget('of_decap_bleed_1') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_decapitate_2.py b/scripts/commands/combat/of_decapitate_2.py new file mode 100644 index 00000000..7202e1e7 --- /dev/null +++ b/scripts/commands/combat/of_decapitate_2.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + command.setBuffNameTarget('of_decap_bleed_2') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_decapitate_3.py b/scripts/commands/combat/of_decapitate_3.py new file mode 100644 index 00000000..53fc24d1 --- /dev/null +++ b/scripts/commands/combat/of_decapitate_3.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + command.setBuffNameTarget('of_decap_bleed_3') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_decapitate_4.py b/scripts/commands/combat/of_decapitate_4.py new file mode 100644 index 00000000..0ad1f93d --- /dev/null +++ b/scripts/commands/combat/of_decapitate_4.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + command.setBuffNameTarget('of_decap_bleed_4') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_decapitate_5.py b/scripts/commands/combat/of_decapitate_5.py new file mode 100644 index 00000000..fdc3539e --- /dev/null +++ b/scripts/commands/combat/of_decapitate_5.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + command.setBuffNameTarget('of_decap_bleed_5') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_decapitate_6.py b/scripts/commands/combat/of_decapitate_6.py new file mode 100644 index 00000000..7b9fa74a --- /dev/null +++ b/scripts/commands/combat/of_decapitate_6.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + command.setBuffNameTarget('of_decap_bleed_6') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_del_ae_dm_dot_1.py b/scripts/commands/combat/of_del_ae_dm_dot_1.py new file mode 100644 index 00000000..a609a9fd --- /dev/null +++ b/scripts/commands/combat/of_del_ae_dm_dot_1.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + command.setBuffNameTarget('of_dot_bomb_1') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_del_ae_dm_dot_2.py b/scripts/commands/combat/of_del_ae_dm_dot_2.py new file mode 100644 index 00000000..a609a9fd --- /dev/null +++ b/scripts/commands/combat/of_del_ae_dm_dot_2.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + command.setBuffNameTarget('of_dot_bomb_1') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_del_ae_dm_dot_3.py b/scripts/commands/combat/of_del_ae_dm_dot_3.py new file mode 100644 index 00000000..a609a9fd --- /dev/null +++ b/scripts/commands/combat/of_del_ae_dm_dot_3.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + command.setBuffNameTarget('of_dot_bomb_1') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_pistol_bleed_1.py b/scripts/commands/combat/of_pistol_bleed_1.py new file mode 100644 index 00000000..ba2f33ba --- /dev/null +++ b/scripts/commands/combat/of_pistol_bleed_1.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, target, command): + command.setBuffNameTarget('of_pistol_bleed') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_vortex_1.py b/scripts/commands/combat/of_vortex_1.py new file mode 100644 index 00000000..fa9bd5a9 --- /dev/null +++ b/scripts/commands/combat/of_vortex_1.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, target, command): + command.setBuffNameTarget('of_vortex_bleed_1') + command.setBuffNameTarget('of_vortex_root') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_vortex_2.py b/scripts/commands/combat/of_vortex_2.py new file mode 100644 index 00000000..15ea7699 --- /dev/null +++ b/scripts/commands/combat/of_vortex_2.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, target, command): + command.setBuffNameTarget('of_vortex_bleed_2') + command.setBuffNameTarget('of_vortex_root') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_vortex_3.py b/scripts/commands/combat/of_vortex_3.py new file mode 100644 index 00000000..6b5a9e0f --- /dev/null +++ b/scripts/commands/combat/of_vortex_3.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, target, command): + command.setBuffNameTarget('of_vortex_bleed_3') + command.setBuffNameTarget('of_vortex_root') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_vortex_4.py b/scripts/commands/combat/of_vortex_4.py new file mode 100644 index 00000000..d185ba6a --- /dev/null +++ b/scripts/commands/combat/of_vortex_4.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, target, command): + command.setBuffNameTarget('of_vortex_bleed_4') + command.setBuffNameTarget('of_vortex_root') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_vortex_5.py b/scripts/commands/combat/of_vortex_5.py new file mode 100644 index 00000000..b8b7010c --- /dev/null +++ b/scripts/commands/combat/of_vortex_5.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, target, command): + command.setBuffNameTarget('of_vortex_bleed_5') + command.setBuffNameTarget('of_vortex_root') + return + +def preRun(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/of_buff_def_1.py b/scripts/commands/of_buff_def_1.py new file mode 100644 index 00000000..d7403af1 --- /dev/null +++ b/scripts/commands/of_buff_def_1.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_buff_def_1') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_buff_def_1') + return + \ No newline at end of file diff --git a/scripts/commands/of_buff_def_2.py b/scripts/commands/of_buff_def_2.py new file mode 100644 index 00000000..cd5fd42d --- /dev/null +++ b/scripts/commands/of_buff_def_2.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_buff_def_2') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_buff_def_2') + return + \ No newline at end of file diff --git a/scripts/commands/of_buff_def_3.py b/scripts/commands/of_buff_def_3.py new file mode 100644 index 00000000..85b34c54 --- /dev/null +++ b/scripts/commands/of_buff_def_3.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_buff_def_3') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_buff_def_3') + return + \ No newline at end of file diff --git a/scripts/commands/of_buff_def_4.py b/scripts/commands/of_buff_def_4.py new file mode 100644 index 00000000..0831b80f --- /dev/null +++ b/scripts/commands/of_buff_def_4.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_buff_def_4') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_buff_def_4') + return + \ No newline at end of file diff --git a/scripts/commands/of_buff_def_5.py b/scripts/commands/of_buff_def_5.py new file mode 100644 index 00000000..f3577253 --- /dev/null +++ b/scripts/commands/of_buff_def_5.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_buff_def_5') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_buff_def_5') + return + \ No newline at end of file diff --git a/scripts/commands/of_buff_def_6.py b/scripts/commands/of_buff_def_6.py new file mode 100644 index 00000000..890aea37 --- /dev/null +++ b/scripts/commands/of_buff_def_6.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_buff_def_6') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_buff_def_6') + return + \ No newline at end of file diff --git a/scripts/commands/of_buff_def_7.py b/scripts/commands/of_buff_def_7.py new file mode 100644 index 00000000..7235a9a0 --- /dev/null +++ b/scripts/commands/of_buff_def_7.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_buff_def_7') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_buff_def_7') + return + \ No newline at end of file diff --git a/scripts/commands/of_buff_def_8.py b/scripts/commands/of_buff_def_8.py new file mode 100644 index 00000000..3ef2ec72 --- /dev/null +++ b/scripts/commands/of_buff_def_8.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_buff_def_8') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_buff_def_8') + return + \ No newline at end of file diff --git a/scripts/commands/of_buff_def_9.py b/scripts/commands/of_buff_def_9.py new file mode 100644 index 00000000..ecf3917c --- /dev/null +++ b/scripts/commands/of_buff_def_9.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_buff_def_9') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_buff_def_9') + return + \ No newline at end of file diff --git a/scripts/commands/of_charge_1.py b/scripts/commands/of_charge_1.py new file mode 100644 index 00000000..8b1194d2 --- /dev/null +++ b/scripts/commands/of_charge_1.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_charge_1') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_charge_1') + return + \ No newline at end of file diff --git a/scripts/commands/of_dot_bomb.py b/scripts/commands/of_dot_bomb.py new file mode 100644 index 00000000..41c7adb4 --- /dev/null +++ b/scripts/commands/of_dot_bomb.py @@ -0,0 +1,98 @@ +import sys + +def setup(): + return + +def run(core, actor, target, commandString): + + commandSvc = core.commandService + + weapon = core.objectService.getObject(actor.getWeaponId()) + + if not weapon: + return + + if not weapon.getWeaponType() == 12: + return + + elementalType = weapon.getElementalType() + commandName = '' + + if elementalType == '@obj_attr_n:elemental_heat': + if actor.getLevel() >= 58: + commandName = 'co_hw_dot_fire_1' + if actor.getLevel() >= 60: + commandName = 'co_hw_dot_fire_2' + if actor.getLevel() >= 70: + commandName = 'co_hw_dot_fire_3' + if actor.getLevel() >= 80: + commandName = 'co_hw_dot_fire_4' + if actor.getLevel() >= 90: + commandName = 'co_hw_dot_fire_5' + elif elementalType == '@obj_attr_n:elemental_cold': + if actor.getLevel() >= 58: + commandName = 'co_hw_dot_cold_1' + if actor.getLevel() >= 60: + commandName = 'co_hw_dot_cold_2' + if actor.getLevel() >= 70: + commandName = 'co_hw_dot_cold_3' + if actor.getLevel() >= 80: + commandName = 'co_hw_dot_cold_4' + if actor.getLevel() >= 90: + commandName = 'co_hw_dot_cold_5' + elif elementalType == '@obj_attr_n:elemental_acid': + if actor.getLevel() >= 58: + commandName = 'co_hw_dot_acid_1' + if actor.getLevel() >= 60: + commandName = 'co_hw_dot_acid_2' + if actor.getLevel() >= 70: + commandName = 'co_hw_dot_acid_3' + if actor.getLevel() >= 80: + commandName = 'co_hw_dot_acid_4' + if actor.getLevel() >= 90: + commandName = 'co_hw_dot_acid_5' + elif elementalType == '@obj_attr_n:elemental_electricity': + if actor.getLevel() >= 58: + commandName = 'co_hw_dot_electrical_1' + if actor.getLevel() >= 60: + commandName = 'co_hw_dot_electrical_2' + if actor.getLevel() >= 70: + commandName = 'co_hw_dot_electrical_3' + if actor.getLevel() >= 80: + commandName = 'co_hw_dot_electrical_4' + if actor.getLevel() >= 90: + commandName = 'co_hw_dot_electrical_5' + elif elementalType == '@obj_attr_n:elemental_energy': + if actor.getLevel() >= 58: + commandName = 'co_hw_dot_energy_1' + if actor.getLevel() >= 60: + commandName = 'co_hw_dot_energy_2' + if actor.getLevel() >= 70: + commandName = 'co_hw_dot_energy_3' + if actor.getLevel() >= 80: + commandName = 'co_hw_dot_energy_4' + if actor.getLevel() >= 90: + commandName = 'co_hw_dot_energy_5' + elif elementalType =='@obj_attr_n:elemental_kinetic': + if actor.getLevel() >= 58: + commandName = 'co_hw_dot_kinetic_1' + if actor.getLevel() >= 60: + commandName = 'co_hw_dot_kinetic_2' + if actor.getLevel() >= 70: + commandName = 'co_hw_dot_kinetic_3' + if actor.getLevel() >= 80: + commandName = 'co_hw_dot_kinetic_4' + if actor.getLevel() >= 90: + commandName = 'co_hw_dot_kinetic_5' + + if commandName == '': + return + + combatCommand = commandSvc.getCommandByName(commandName).clone() + + if not combatCommand: + return + + commandSvc.processCombatCommand(actor, target, combatCommand, 0, commandString) + + return \ No newline at end of file diff --git a/scripts/commands/of_emergency_shield.py b/scripts/commands/of_emergency_shield.py new file mode 100644 index 00000000..0a9cb543 --- /dev/null +++ b/scripts/commands/of_emergency_shield.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_emergency_shield') + return + \ No newline at end of file diff --git a/scripts/commands/of_firepower_1.py b/scripts/commands/of_firepower_1.py new file mode 100644 index 00000000..50eba86a --- /dev/null +++ b/scripts/commands/of_firepower_1.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_firepower') + return + \ No newline at end of file diff --git a/scripts/commands/of_focus_fire_1.py b/scripts/commands/of_focus_fire_1.py new file mode 100644 index 00000000..4857b1ce --- /dev/null +++ b/scripts/commands/of_focus_fire_1.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_focus_fire_1') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_focus_fire_1') + return + \ No newline at end of file diff --git a/scripts/commands/of_focus_fire_2.py b/scripts/commands/of_focus_fire_2.py new file mode 100644 index 00000000..2eb8248d --- /dev/null +++ b/scripts/commands/of_focus_fire_2.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_focus_fire_1') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_focus_fire_2') + return \ No newline at end of file diff --git a/scripts/commands/of_focus_fire_3.py b/scripts/commands/of_focus_fire_3.py new file mode 100644 index 00000000..bac08eb4 --- /dev/null +++ b/scripts/commands/of_focus_fire_3.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_focus_fire_1') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_focus_fire_3') + return \ No newline at end of file diff --git a/scripts/commands/of_focus_fire_4.py b/scripts/commands/of_focus_fire_4.py new file mode 100644 index 00000000..4091e213 --- /dev/null +++ b/scripts/commands/of_focus_fire_4.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_focus_fire_1') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_focus_fire_4') + return \ No newline at end of file diff --git a/scripts/commands/of_focus_fire_5.py b/scripts/commands/of_focus_fire_5.py new file mode 100644 index 00000000..704dc3c4 --- /dev/null +++ b/scripts/commands/of_focus_fire_5.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_focus_fire_1') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_focus_fire_5') + return \ No newline at end of file diff --git a/scripts/commands/of_focus_fire_6.py b/scripts/commands/of_focus_fire_6.py new file mode 100644 index 00000000..5027e12c --- /dev/null +++ b/scripts/commands/of_focus_fire_6.py @@ -0,0 +1,11 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_focus_fire_1') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_focus_fire_6') + return \ No newline at end of file diff --git a/scripts/commands/of_inspiration_1.py b/scripts/commands/of_inspiration_1.py new file mode 100644 index 00000000..95c691d9 --- /dev/null +++ b/scripts/commands/of_inspiration_1.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_inspiration_1') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_inspiration_1') + return + \ No newline at end of file diff --git a/scripts/commands/of_inspiration_2.py b/scripts/commands/of_inspiration_2.py new file mode 100644 index 00000000..f667ecd4 --- /dev/null +++ b/scripts/commands/of_inspiration_2.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_inspiration_2') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_inspiration_2') + return + \ No newline at end of file diff --git a/scripts/commands/of_inspiration_3.py b/scripts/commands/of_inspiration_3.py new file mode 100644 index 00000000..ce4e0b49 --- /dev/null +++ b/scripts/commands/of_inspiration_3.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_inspiration_3') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_inspiration_3') + return + \ No newline at end of file diff --git a/scripts/commands/of_inspiration_4.py b/scripts/commands/of_inspiration_4.py new file mode 100644 index 00000000..198e36b5 --- /dev/null +++ b/scripts/commands/of_inspiration_4.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_inspiration_4') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_inspiration_4') + return + \ No newline at end of file diff --git a/scripts/commands/of_inspiration_5.py b/scripts/commands/of_inspiration_5.py new file mode 100644 index 00000000..e114bec1 --- /dev/null +++ b/scripts/commands/of_inspiration_5.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_inspiration_5') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_inspiration_5') + return + \ No newline at end of file diff --git a/scripts/commands/of_inspiration_6.py b/scripts/commands/of_inspiration_6.py new file mode 100644 index 00000000..230aaa5f --- /dev/null +++ b/scripts/commands/of_inspiration_6.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_inspiration_6') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_inspiration_6') + return + \ No newline at end of file diff --git a/scripts/commands/of_purge_1.py b/scripts/commands/of_purge_1.py new file mode 100644 index 00000000..7a6edae9 --- /dev/null +++ b/scripts/commands/of_purge_1.py @@ -0,0 +1,9 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_purge_1') + return + \ No newline at end of file diff --git a/scripts/commands/of_scatter_1.py b/scripts/commands/of_scatter_1.py new file mode 100644 index 00000000..c1ae742a --- /dev/null +++ b/scripts/commands/of_scatter_1.py @@ -0,0 +1,12 @@ +import sys + +def setup(core, actor, buff): + return + +def run(core, actor, target, commandString): + core.buffService.addBuffToCreature(actor, 'of_scatter_1') + group = core.objectService.getObject(actor.getGroupId()) + for creature in group.getMemberList(): + core.buffService.addBuffToCreature(creature, 'of_scatter_1') + return + \ No newline at end of file diff --git a/scripts/skillMods/action_burn.py b/scripts/skillMods/action_burn.py new file mode 100644 index 00000000..ee7769e2 --- /dev/null +++ b/scripts/skillMods/action_burn.py @@ -0,0 +1,10 @@ +import sys + +def add(core, actor, name, base): + actor.addSkillMod(name, base) + return + +def deduct(core, actor, name, base): + actor.deductSkillMod(name, base) + return + \ No newline at end of file diff --git a/scripts/skillMods/combat_divide_damage_taken.py b/scripts/skillMods/combat_divide_damage_taken.py new file mode 100644 index 00000000..e69de29b diff --git a/scripts/skillMods/critical_damage_vulnerability.py b/scripts/skillMods/critical_damage_vulnerability.py new file mode 100644 index 00000000..ee7769e2 --- /dev/null +++ b/scripts/skillMods/critical_damage_vulnerability.py @@ -0,0 +1,10 @@ +import sys + +def add(core, actor, name, base): + actor.addSkillMod(name, base) + return + +def deduct(core, actor, name, base): + actor.deductSkillMod(name, base) + return + \ No newline at end of file diff --git a/scripts/skillMods/debuff_purge.py b/scripts/skillMods/debuff_purge.py new file mode 100644 index 00000000..f198037b --- /dev/null +++ b/scripts/skillMods/debuff_purge.py @@ -0,0 +1,9 @@ +import sys + +def add(core, actor, name, base): + actor.addSkillMod(name, base) + return + +def deduct(core, actor, name, base): + actor.deductSkillMod(name, base) + return \ No newline at end of file diff --git a/scripts/skillMods/dot_bleed.py b/scripts/skillMods/dot_bleed.py new file mode 100644 index 00000000..f198037b --- /dev/null +++ b/scripts/skillMods/dot_bleed.py @@ -0,0 +1,9 @@ +import sys + +def add(core, actor, name, base): + actor.addSkillMod(name, base) + return + +def deduct(core, actor, name, base): + actor.deductSkillMod(name, base) + return \ No newline at end of file diff --git a/scripts/skillMods/dot_divisor_all.py b/scripts/skillMods/dot_divisor_all.py new file mode 100644 index 00000000..f198037b --- /dev/null +++ b/scripts/skillMods/dot_divisor_all.py @@ -0,0 +1,9 @@ +import sys + +def add(core, actor, name, base): + actor.addSkillMod(name, base) + return + +def deduct(core, actor, name, base): + actor.deductSkillMod(name, base) + return \ No newline at end of file diff --git a/scripts/skillMods/dot_fire.py b/scripts/skillMods/dot_fire.py new file mode 100644 index 00000000..ee7769e2 --- /dev/null +++ b/scripts/skillMods/dot_fire.py @@ -0,0 +1,10 @@ +import sys + +def add(core, actor, name, base): + actor.addSkillMod(name, base) + return + +def deduct(core, actor, name, base): + actor.deductSkillMod(name, base) + return + \ No newline at end of file diff --git a/scripts/skillMods/dot_poison.py b/scripts/skillMods/dot_poison.py new file mode 100644 index 00000000..f198037b --- /dev/null +++ b/scripts/skillMods/dot_poison.py @@ -0,0 +1,9 @@ +import sys + +def add(core, actor, name, base): + actor.addSkillMod(name, base) + return + +def deduct(core, actor, name, base): + actor.deductSkillMod(name, base) + return \ No newline at end of file diff --git a/scripts/skillMods/dot_resist_all.py b/scripts/skillMods/dot_resist_all.py new file mode 100644 index 00000000..f198037b --- /dev/null +++ b/scripts/skillMods/dot_resist_all.py @@ -0,0 +1,9 @@ +import sys + +def add(core, actor, name, base): + actor.addSkillMod(name, base) + return + +def deduct(core, actor, name, base): + actor.deductSkillMod(name, base) + return \ No newline at end of file diff --git a/scripts/skillMods/expertise_damage_line_vulnerability_of_buff_def.py b/scripts/skillMods/expertise_damage_line_vulnerability_of_buff_def.py new file mode 100644 index 00000000..ee7769e2 --- /dev/null +++ b/scripts/skillMods/expertise_damage_line_vulnerability_of_buff_def.py @@ -0,0 +1,10 @@ +import sys + +def add(core, actor, name, base): + actor.addSkillMod(name, base) + return + +def deduct(core, actor, name, base): + actor.deductSkillMod(name, base) + return + \ No newline at end of file diff --git a/scripts/skillMods/expertise_damage_line_vulnerability_of_dm.py b/scripts/skillMods/expertise_damage_line_vulnerability_of_dm.py new file mode 100644 index 00000000..ee7769e2 --- /dev/null +++ b/scripts/skillMods/expertise_damage_line_vulnerability_of_dm.py @@ -0,0 +1,10 @@ +import sys + +def add(core, actor, name, base): + actor.addSkillMod(name, base) + return + +def deduct(core, actor, name, base): + actor.deductSkillMod(name, base) + return + \ No newline at end of file diff --git a/scripts/skillMods/expertise_parry.py b/scripts/skillMods/expertise_parry.py new file mode 100644 index 00000000..ee7769e2 --- /dev/null +++ b/scripts/skillMods/expertise_parry.py @@ -0,0 +1,10 @@ +import sys + +def add(core, actor, name, base): + actor.addSkillMod(name, base) + return + +def deduct(core, actor, name, base): + actor.deductSkillMod(name, base) + return + \ No newline at end of file diff --git a/scripts/skillMods/expertise_strikethrough_chance.py b/scripts/skillMods/expertise_strikethrough_chance.py new file mode 100644 index 00000000..ee7769e2 --- /dev/null +++ b/scripts/skillMods/expertise_strikethrough_chance.py @@ -0,0 +1,10 @@ +import sys + +def add(core, actor, name, base): + actor.addSkillMod(name, base) + return + +def deduct(core, actor, name, base): + actor.deductSkillMod(name, base) + return + \ No newline at end of file diff --git a/scripts/skillMods/healing_action.py b/scripts/skillMods/healing_action.py new file mode 100644 index 00000000..f198037b --- /dev/null +++ b/scripts/skillMods/healing_action.py @@ -0,0 +1,9 @@ +import sys + +def add(core, actor, name, base): + actor.addSkillMod(name, base) + return + +def deduct(core, actor, name, base): + actor.deductSkillMod(name, base) + return \ No newline at end of file diff --git a/scripts/skillMods/healing_health.py b/scripts/skillMods/healing_health.py new file mode 100644 index 00000000..ee7769e2 --- /dev/null +++ b/scripts/skillMods/healing_health.py @@ -0,0 +1,10 @@ +import sys + +def add(core, actor, name, base): + actor.addSkillMod(name, base) + return + +def deduct(core, actor, name, base): + actor.deductSkillMod(name, base) + return + \ No newline at end of file diff --git a/scripts/skillMods/stealth_divisor.py b/scripts/skillMods/stealth_divisor.py new file mode 100644 index 00000000..ee7769e2 --- /dev/null +++ b/scripts/skillMods/stealth_divisor.py @@ -0,0 +1,10 @@ +import sys + +def add(core, actor, name, base): + actor.addSkillMod(name, base) + return + +def deduct(core, actor, name, base): + actor.deductSkillMod(name, base) + return + \ No newline at end of file From ac5a750f769f740bece79ff58d8b707c35f1c40e Mon Sep 17 00:00:00 2001 From: xbang21 Date: Sun, 27 Oct 2013 08:56:38 -0400 Subject: [PATCH 04/10] fixed empty skill mod --- scripts/skillMods/combat_divide_damage_taken.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/scripts/skillMods/combat_divide_damage_taken.py b/scripts/skillMods/combat_divide_damage_taken.py index e69de29b..8d3e11e4 100644 --- a/scripts/skillMods/combat_divide_damage_taken.py +++ b/scripts/skillMods/combat_divide_damage_taken.py @@ -0,0 +1,9 @@ +import sys + +def add(core, actor, name, base): + actor.addSkillMod(name, base) + return + +def deduct(core, actor, name, base): + actor.deductSkillMod(name, base) + return From fb8b77e06dbe998edd6fd38a40a00201abdd5361 Mon Sep 17 00:00:00 2001 From: xbang21 Date: Sun, 27 Oct 2013 08:57:39 -0400 Subject: [PATCH 05/10] unneeded script --- scripts/commands/of_dot_bomb.py | 98 --------------------------------- 1 file changed, 98 deletions(-) delete mode 100644 scripts/commands/of_dot_bomb.py diff --git a/scripts/commands/of_dot_bomb.py b/scripts/commands/of_dot_bomb.py deleted file mode 100644 index 41c7adb4..00000000 --- a/scripts/commands/of_dot_bomb.py +++ /dev/null @@ -1,98 +0,0 @@ -import sys - -def setup(): - return - -def run(core, actor, target, commandString): - - commandSvc = core.commandService - - weapon = core.objectService.getObject(actor.getWeaponId()) - - if not weapon: - return - - if not weapon.getWeaponType() == 12: - return - - elementalType = weapon.getElementalType() - commandName = '' - - if elementalType == '@obj_attr_n:elemental_heat': - if actor.getLevel() >= 58: - commandName = 'co_hw_dot_fire_1' - if actor.getLevel() >= 60: - commandName = 'co_hw_dot_fire_2' - if actor.getLevel() >= 70: - commandName = 'co_hw_dot_fire_3' - if actor.getLevel() >= 80: - commandName = 'co_hw_dot_fire_4' - if actor.getLevel() >= 90: - commandName = 'co_hw_dot_fire_5' - elif elementalType == '@obj_attr_n:elemental_cold': - if actor.getLevel() >= 58: - commandName = 'co_hw_dot_cold_1' - if actor.getLevel() >= 60: - commandName = 'co_hw_dot_cold_2' - if actor.getLevel() >= 70: - commandName = 'co_hw_dot_cold_3' - if actor.getLevel() >= 80: - commandName = 'co_hw_dot_cold_4' - if actor.getLevel() >= 90: - commandName = 'co_hw_dot_cold_5' - elif elementalType == '@obj_attr_n:elemental_acid': - if actor.getLevel() >= 58: - commandName = 'co_hw_dot_acid_1' - if actor.getLevel() >= 60: - commandName = 'co_hw_dot_acid_2' - if actor.getLevel() >= 70: - commandName = 'co_hw_dot_acid_3' - if actor.getLevel() >= 80: - commandName = 'co_hw_dot_acid_4' - if actor.getLevel() >= 90: - commandName = 'co_hw_dot_acid_5' - elif elementalType == '@obj_attr_n:elemental_electricity': - if actor.getLevel() >= 58: - commandName = 'co_hw_dot_electrical_1' - if actor.getLevel() >= 60: - commandName = 'co_hw_dot_electrical_2' - if actor.getLevel() >= 70: - commandName = 'co_hw_dot_electrical_3' - if actor.getLevel() >= 80: - commandName = 'co_hw_dot_electrical_4' - if actor.getLevel() >= 90: - commandName = 'co_hw_dot_electrical_5' - elif elementalType == '@obj_attr_n:elemental_energy': - if actor.getLevel() >= 58: - commandName = 'co_hw_dot_energy_1' - if actor.getLevel() >= 60: - commandName = 'co_hw_dot_energy_2' - if actor.getLevel() >= 70: - commandName = 'co_hw_dot_energy_3' - if actor.getLevel() >= 80: - commandName = 'co_hw_dot_energy_4' - if actor.getLevel() >= 90: - commandName = 'co_hw_dot_energy_5' - elif elementalType =='@obj_attr_n:elemental_kinetic': - if actor.getLevel() >= 58: - commandName = 'co_hw_dot_kinetic_1' - if actor.getLevel() >= 60: - commandName = 'co_hw_dot_kinetic_2' - if actor.getLevel() >= 70: - commandName = 'co_hw_dot_kinetic_3' - if actor.getLevel() >= 80: - commandName = 'co_hw_dot_kinetic_4' - if actor.getLevel() >= 90: - commandName = 'co_hw_dot_kinetic_5' - - if commandName == '': - return - - combatCommand = commandSvc.getCommandByName(commandName).clone() - - if not combatCommand: - return - - commandSvc.processCombatCommand(actor, target, combatCommand, 0, commandString) - - return \ No newline at end of file From 0530934a2b1372a6150851d9c7fb29152a99c971 Mon Sep 17 00:00:00 2001 From: Waverunner Date: Sun, 27 Oct 2013 12:55:35 -0400 Subject: [PATCH 06/10] More work done on travel system --- .../building/tatooine/starport_tatooine.py | 2 - .../tangible/terminal/terminal_travel.py | 1 + scripts/radial/travel_terminal.py | 18 +++++++ scripts/static_travel_points.py | 8 +-- src/main/NGECore.java | 10 +++- .../swg/EnterTicketPurchaseModeMessage.java | 49 ++++++++++++++++++ .../swg/PlanetTravelPointListRequest.java | 16 +++--- .../swg/PlanetTravelPointListResponse.java | 4 +- src/services/CharacterService.java | 4 +- src/services/travel/TravelPoint.java | 9 ++++ src/services/travel/TravelService.java | 50 +++++++++++++++++-- 11 files changed, 148 insertions(+), 23 deletions(-) create mode 100644 scripts/radial/travel_terminal.py create mode 100644 src/protocol/swg/EnterTicketPurchaseModeMessage.java diff --git a/scripts/object/building/tatooine/starport_tatooine.py b/scripts/object/building/tatooine/starport_tatooine.py index 0200b779..34468ac1 100644 --- a/scripts/object/building/tatooine/starport_tatooine.py +++ b/scripts/object/building/tatooine/starport_tatooine.py @@ -9,8 +9,6 @@ def setup(core, object): stcSvc.spawnObject('object/tangible/terminal/shared_terminal_travel.iff', object.getPlanet().getName(), cell.getObjectID(), float(3.1), float(0.6), float(49), float(0), float(1)) stcSvc.spawnObject('object/tangible/terminal/shared_terminal_travel.iff', object.getPlanet().getName(), cell.getObjectID(), float(-2.7), float(0.6), float(49), float(0), float(1)) stcSvc.spawnObject('object/tangible/terminal/shared_terminal_travel.iff', object.getPlanet().getName(), cell.getObjectID(), float(-13.2), float(0.6), float(51.3), float(-0.195405), float(-0.980722)) - core.mapService.addLocation(object.getPlanet(), 'Starport', object.getPosition().x, object.getPosition().z, 15, 0, 0) - #core.travelService.addTravelPoint(object.getPlanet(), ) return \ No newline at end of file diff --git a/scripts/object/tangible/terminal/terminal_travel.py b/scripts/object/tangible/terminal/terminal_travel.py index ccad8904..160aac1c 100644 --- a/scripts/object/tangible/terminal/terminal_travel.py +++ b/scripts/object/tangible/terminal/terminal_travel.py @@ -1,4 +1,5 @@ import sys def setup(core, object): + object.setAttachment('radial_filename', 'travel_terminal') return \ No newline at end of file diff --git a/scripts/radial/travel_terminal.py b/scripts/radial/travel_terminal.py new file mode 100644 index 00000000..e331c16b --- /dev/null +++ b/scripts/radial/travel_terminal.py @@ -0,0 +1,18 @@ +from resources.common import RadialOptions +from protocol.swg import EnterTicketPurchaseModeMessage +import sys + +def createRadial(core, owner, target, radials): + return + +def handleSelection(core, owner, target, option): + + if option == 21 and target: + tpm = EnterTicketPurchaseModeMessage() + owner.getClient().getSession().write(tpm.serialize()) + #print ('Sent EnterTicketPurchaseModeMessage!') + return + +def handleSUI(owner, window, eventType, returnList): + + return \ No newline at end of file diff --git a/scripts/static_travel_points.py b/scripts/static_travel_points.py index 58baf244..0b24cbbd 100644 --- a/scripts/static_travel_points.py +++ b/scripts/static_travel_points.py @@ -10,8 +10,8 @@ def addPoints(core, planet): def tatooinePoints(core, planet): trvSvc = core.travelService - trvSvc.addTravelPoint("tatooine", "Bestine Starport", -1376, 12, -3576) - trvSvc.addTravelPoint("tatooine", "Mos Eisley Starport", 3619, 5, -4801) - trvSvc.addTravelPoint("tatooine", "Mos Espa Starport", -2829, 5, 2080) - trvSvc.addTravelPoint("tatooine", "Mos Entha Starport", 1238, 7, 3062) + trvSvc.addTravelPoint(planet, "Bestine Starport", -1376, 12, -3576) + trvSvc.addTravelPoint(planet, "Mos Eisley Starport", 3619, 5, -4801) + trvSvc.addTravelPoint(planet, "Mos Espa Starport", -2829, 5, 2080) + trvSvc.addTravelPoint(planet, "Mos Entha Starport", 1238, 7, 3062) return \ No newline at end of file diff --git a/src/main/NGECore.java b/src/main/NGECore.java index 0ebb0880..dc90f6db 100644 --- a/src/main/NGECore.java +++ b/src/main/NGECore.java @@ -31,6 +31,8 @@ import java.util.concurrent.ConcurrentHashMap; + + import resources.common.RadialOptions; import resources.objects.creature.CreatureObject; import services.AttributeService; @@ -56,6 +58,7 @@ import services.object.ObjectService; import services.object.UpdateService; import services.sui.SUIService; import services.trade.TradeService; +import services.travel.TravelService; import engine.clientdata.ClientFileManager; import engine.clientdata.visitors.CrcStringTableVisitor; import engine.clientdata.visitors.DatatableVisitor; @@ -120,6 +123,7 @@ public class NGECore { public StaticService staticService; public GroupService groupService; public SkillModService skillModService; + public TravelService travelService; // Login Server public NetworkDispatch loginDispatch; @@ -173,6 +177,7 @@ public class NGECore { buffService = new BuffService(this); groupService = new GroupService(this); skillModService = new SkillModService(this); + travelService = new TravelService(this); // Ping Server try { @@ -198,6 +203,7 @@ public class NGECore { zoneDispatch.addService(chatService); zoneDispatch.addService(suiService); zoneDispatch.addService(mapService); + zoneDispatch.addService(travelService); zoneDispatch.addService(playerService); zoneServer = new MINAServer(zoneDispatch, config.getInt("ZONE.PORT")); @@ -216,8 +222,6 @@ public class NGECore { terrainService.addPlanet(9, "endor", "terrain/endor.trn", true); terrainService.addPlanet(10, "dathomir", "terrain/dathomir.trn", true); terrainService.loadSnapShotObjects(); - - // Zone services that need to be loaded after the above simulationService = new SimulationService(this); @@ -226,6 +230,8 @@ public class NGECore { // Static Spawns staticService.spawnStatics(); + // Travel Points + travelService.loadTravelPoints(); guildService = new GuildService(this); zoneDispatch.addService(guildService); diff --git a/src/protocol/swg/EnterTicketPurchaseModeMessage.java b/src/protocol/swg/EnterTicketPurchaseModeMessage.java new file mode 100644 index 00000000..01c5e605 --- /dev/null +++ b/src/protocol/swg/EnterTicketPurchaseModeMessage.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * 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 org.apache.mina.core.buffer.IoBuffer; + +public class EnterTicketPurchaseModeMessage extends SWGMessage { + + @Override + public void deserialize(IoBuffer data) { + // TODO Auto-generated method stub + + } + + @Override + public IoBuffer serialize() { + IoBuffer result = IoBuffer.allocate(100).order(ByteOrder.LITTLE_ENDIAN); + + result.putShort((short) 3); + result.putInt(0x904DAE1A); + + result.put(getAsciiString("Tatooine")); + result.put(getAsciiString("Mos Eisley Starport")); + + return result.flip(); + } + +} diff --git a/src/protocol/swg/PlanetTravelPointListRequest.java b/src/protocol/swg/PlanetTravelPointListRequest.java index c47fffb6..51e37548 100644 --- a/src/protocol/swg/PlanetTravelPointListRequest.java +++ b/src/protocol/swg/PlanetTravelPointListRequest.java @@ -21,6 +21,8 @@ ******************************************************************************/ package protocol.swg; +import java.util.List; + import main.NGECore; import org.apache.mina.core.buffer.IoBuffer; @@ -31,17 +33,19 @@ public class PlanetTravelPointListRequest extends SWGMessage{ private NGECore core; private long objectId; - private Planet planet; + private String planet; @Override public void deserialize(IoBuffer buffer) { - buffer.getShort(); - buffer.getInt(); + //buffer.getShort(); + //buffer.getInt(); setObjectId(buffer.getLong()); setPlanet(getAsciiString(buffer)); + //System.out.println("String: " + getAsciiString(buffer)); + } @Override @@ -57,13 +61,11 @@ public class PlanetTravelPointListRequest extends SWGMessage{ this.objectId = objectId; } - public Planet getPlanet() { + public String getPlanet() { return planet; } public void setPlanet(String asciiString) { - Planet planet = core.terrainService.getPlanetByName(asciiString); - this.planet = planet; + this.planet = asciiString; } - } diff --git a/src/protocol/swg/PlanetTravelPointListResponse.java b/src/protocol/swg/PlanetTravelPointListResponse.java index 414a52ff..3c71a72c 100644 --- a/src/protocol/swg/PlanetTravelPointListResponse.java +++ b/src/protocol/swg/PlanetTravelPointListResponse.java @@ -66,8 +66,8 @@ public class PlanetTravelPointListResponse extends SWGMessage { for (TravelPoint point : travelPoints) { result.putFloat(point.getPosX()); - result.putFloat(point.getPosZ()); // Z and Y may be switched - result.putFloat(point.getPosY()); + result.putFloat(point.getPosY()); // Z and Y may be switched + result.putFloat(point.getPosZ()); } diff --git a/src/services/CharacterService.java b/src/services/CharacterService.java index 362446ba..d6d4caec 100644 --- a/src/services/CharacterService.java +++ b/src/services/CharacterService.java @@ -207,13 +207,13 @@ public class CharacterService implements INetworkDispatch { // should set to some planet and starting location String sharedRaceTemplate = raceTemplate.replace("player/", "player/shared_"); - CreatureObject object = (CreatureObject) core.objectService.createObject(sharedRaceTemplate, core.terrainService.getPlanetByName("naboo")); + CreatureObject object = (CreatureObject) core.objectService.createObject(sharedRaceTemplate, core.terrainService.getPlanetByName("tatooine")); object.setContainerPermissions(CreaturePermissions.CREATURE_PERMISSIONS); object.setCustomization(clientCreateCharacter.getCustomizationData()); object.setCustomName(clientCreateCharacter.getName()); object.setHeight(clientCreateCharacter.getScale()); object.setPersistent(true); - object.setPosition(new Point3D(-5567, 0, -32)); + object.setPosition(new Point3D(3528, 0, -4804)); object.setCashCredits(100); object.setBankCredits(1000); //object.setPosition(new Point3D(0, 0, 0)); diff --git a/src/services/travel/TravelPoint.java b/src/services/travel/TravelPoint.java index ae314aa9..96297106 100644 --- a/src/services/travel/TravelPoint.java +++ b/src/services/travel/TravelPoint.java @@ -23,6 +23,7 @@ package services.travel; public class TravelPoint { + private String planetName; private String name; private float posX; private float posY; @@ -69,4 +70,12 @@ public class TravelPoint { public void setTicketPrice(int ticketPrice) { this.ticketPrice = ticketPrice; } + + public String getPlanetName() { + return planetName; + } + + public void setPlanetName(String planetName) { + this.planetName = planetName; + } } diff --git a/src/services/travel/TravelService.java b/src/services/travel/TravelService.java index 02f3c724..ce45a28d 100644 --- a/src/services/travel/TravelService.java +++ b/src/services/travel/TravelService.java @@ -22,10 +22,12 @@ package services.travel; import java.nio.ByteOrder; +import java.util.List; import java.util.Map; import java.util.Vector; import java.util.concurrent.ConcurrentHashMap; +import org.apache.commons.lang3.text.WordUtils; import org.apache.mina.core.buffer.IoBuffer; import org.apache.mina.core.session.IoSession; @@ -72,9 +74,20 @@ public class TravelService implements INetworkDispatch { if(object == null) return; - PlanetTravelPointListResponse response = new PlanetTravelPointListResponse(request.getPlanet(), travelMap.get(request.getPlanet())); - client.getSession().write(response.serialize()); + //System.out.println("Planet: " + request.getPlanet()); + List planetList = core.terrainService.getPlanetList(); + + for (Planet planet : planetList) { + if (planet.getName() == request.getPlanet()) { + + PlanetTravelPointListResponse response = new PlanetTravelPointListResponse(planet, travelMap.get(planet)); + client.getSession().write(response.serialize()); + + } + } + //PlanetTravelPointListResponse response = new PlanetTravelPointListResponse(request.getPlanet(), travelMap.get(request.getPlanet())); + //client.getSession().write(response.serialize()); } }); @@ -84,13 +97,16 @@ public class TravelService implements INetworkDispatch { public void addPlanet(Planet planet) { Vector travelPointVector = new Vector(); travelMap.put(planet, travelPointVector); + core.scriptService.callScript("scripts/", "addPoints", "static_travel_points", core, planet); } public void addTravelPoint(Planet planet, String name, float x, float y, float z) { TravelPoint travelPoint = new TravelPoint(name, x, y, z, 100); - if (travelMap.get(planet) != null) { + travelPoint.setPlanetName(WordUtils.capitalize(planet.getName())); + + if (travelMap.containsKey(planet)) { travelMap.get(planet).add(travelPoint); System.out.println("Added travel point " + travelPoint.getName()); @@ -99,12 +115,38 @@ public class TravelService implements INetworkDispatch { Vector travelPointVector = new Vector(); travelMap.put(planet, travelPointVector); travelMap.get(planet).add(travelPoint); - System.out.println("Added planet " + planet.getName() + " with travel point: " + travelPoint.getName()); + System.out.println("Added planet " + planet.getName() + " to TravelMap."); + System.out.println("Added travel point " + travelPoint.getName()); } } + public void loadTravelPoints() { + List planetList = core.terrainService.getPlanetList(); + for (Planet planet : planetList) { + addPlanet(planet); + } + } + + public SWGObject createTravelTicket(TravelPoint departurePoint, TravelPoint arrivalPoint, Planet planet) { + + SWGObject travelTicket = core.objectService.createObject("object/tangible/travel/travel_ticket/base/shared_base_travel_ticket.iff", planet); + + travelTicket.setStringAttribute("@obj_attr_n:travel_departure_planet", departurePoint.getPlanetName()); + travelTicket.setStringAttribute("@obj_attr_n:travel_departure_point", departurePoint.getName()); + + travelTicket.setStringAttribute("@obj_attr_n:travel_arrival_planet", arrivalPoint.getPlanetName()); + travelTicket.setStringAttribute("@obj_attr_n:travel_arrival_point", arrivalPoint.getName()); + + return travelTicket; + } + + public void addTicketToPlayer(SWGObject player, SWGObject travelTicket) { + SWGObject playerInventory = player.getSlottedObject("inventory"); + playerInventory._add(travelTicket); + } + @Override public void shutdown() { From de73a1944c3992df3ede037ab32377dc51fde6a9 Mon Sep 17 00:00:00 2001 From: Waverunner Date: Sun, 27 Oct 2013 13:55:19 -0400 Subject: [PATCH 07/10] Fixed packet crash error for travel points --- .../swg/EnterTicketPurchaseModeMessage.java | 4 ++-- .../swg/PlanetTravelPointListResponse.java | 21 +++++++++++-------- src/services/travel/TravelService.java | 9 ++++---- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/protocol/swg/EnterTicketPurchaseModeMessage.java b/src/protocol/swg/EnterTicketPurchaseModeMessage.java index 01c5e605..2deea303 100644 --- a/src/protocol/swg/EnterTicketPurchaseModeMessage.java +++ b/src/protocol/swg/EnterTicketPurchaseModeMessage.java @@ -40,8 +40,8 @@ public class EnterTicketPurchaseModeMessage extends SWGMessage { result.putShort((short) 3); result.putInt(0x904DAE1A); - result.put(getAsciiString("Tatooine")); - result.put(getAsciiString("Mos Eisley Starport")); + result.put(getAsciiString("tatooine")); // lowercase + result.put(getAsciiString("Mos Eisley")); // city return result.flip(); } diff --git a/src/protocol/swg/PlanetTravelPointListResponse.java b/src/protocol/swg/PlanetTravelPointListResponse.java index 3c71a72c..43ecbee4 100644 --- a/src/protocol/swg/PlanetTravelPointListResponse.java +++ b/src/protocol/swg/PlanetTravelPointListResponse.java @@ -22,6 +22,7 @@ package protocol.swg; import java.nio.ByteOrder; +import java.util.List; import java.util.Vector; import main.NGECore; @@ -34,12 +35,14 @@ import engine.resources.scene.Planet; @SuppressWarnings("unused") public class PlanetTravelPointListResponse extends SWGMessage { - private NGECore core; - private Planet originatePlanet; + private String planetString; private Vector travelPoints; + private List planetList; - public PlanetTravelPointListResponse(Planet planet, Vector travelPoints) { - this.originatePlanet = planet; + public PlanetTravelPointListResponse(String planetString, Vector travelPoints, List planetList) { + this.planetString = planetString; + this.travelPoints = travelPoints; + this.planetList = planetList; } @Override @@ -49,13 +52,13 @@ public class PlanetTravelPointListResponse extends SWGMessage { @Override public IoBuffer serialize() { - IoBuffer result = IoBuffer.allocate(100).order(ByteOrder.LITTLE_ENDIAN); + IoBuffer result = IoBuffer.allocate(700).order(ByteOrder.LITTLE_ENDIAN); result.putShort((short) 9); result.putInt(0x4D32541F); - result.put(getAsciiString(originatePlanet.getName())); - result.putInt(core.terrainService.getPlanetList().size()); + result.put(getAsciiString(planetString)); + //result.putInt(planetList.size()); result.putInt(travelPoints.size()); // shuttles/sp count for (TravelPoint point : travelPoints) { @@ -66,8 +69,8 @@ public class PlanetTravelPointListResponse extends SWGMessage { for (TravelPoint point : travelPoints) { result.putFloat(point.getPosX()); - result.putFloat(point.getPosY()); // Z and Y may be switched - result.putFloat(point.getPosZ()); + result.putFloat(point.getPosZ()); // Z and Y may be switched + result.putFloat(point.getPosY()); } diff --git a/src/services/travel/TravelService.java b/src/services/travel/TravelService.java index ce45a28d..147f513a 100644 --- a/src/services/travel/TravelService.java +++ b/src/services/travel/TravelService.java @@ -74,15 +74,16 @@ public class TravelService implements INetworkDispatch { if(object == null) return; - //System.out.println("Planet: " + request.getPlanet()); - List planetList = core.terrainService.getPlanetList(); for (Planet planet : planetList) { - if (planet.getName() == request.getPlanet()) { + String planetString = planet.getName(); + + if (request.getPlanet().equals(planetString)) { - PlanetTravelPointListResponse response = new PlanetTravelPointListResponse(planet, travelMap.get(planet)); + PlanetTravelPointListResponse response = new PlanetTravelPointListResponse(planetString, travelMap.get(planet), planetList); client.getSession().write(response.serialize()); + //System.out.println("Sent the list for the planet " + planet.getName()); } } From 4e3c223127df521f61c19585ba01630554277445 Mon Sep 17 00:00:00 2001 From: Ziggeh Date: Mon, 28 Oct 2013 19:35:04 +0100 Subject: [PATCH 08/10] Added starports With the exception of Theed, Mustafar and Restuss. --- scripts/static_travel_points.py | 90 ++++++++++++++++++++++++++++++++- 1 file changed, 88 insertions(+), 2 deletions(-) diff --git a/scripts/static_travel_points.py b/scripts/static_travel_points.py index 0b24cbbd..a492ed6c 100644 --- a/scripts/static_travel_points.py +++ b/scripts/static_travel_points.py @@ -2,11 +2,89 @@ import sys def addPoints(core, planet): + if planet.getName() == 'corellia': + corelliaPoints(core, planet) + if planet.getName() == 'dantooine': + dantooinePoints(core, planet) + if planet.getName() == 'dathomir': + dathomirPoints(core, planet) + if planet.getName() == 'endor': + endorPoints(core, planet) + if planet.getName() == 'lok': + lokPoints(core, planet) + if planet.getName() == 'naboo': + nabooPoints(core, planet) + if planet.getName() == 'rori': + roriPoints(core, planet) + if planet.getName() == 'talus': + talusPoints(core, planet) if planet.getName() == 'tatooine': tatooinePoints(core, planet) - + if planet.getName() == 'yavin4': + yavin4Points(core, planet) return - + +def corelliaPoints(core, planet): + trvSvc = core.travelService + + trvSvc.addTravelPoint(planet, "Coronet Starport", -51, 28, -4735) + trvSvc.addTravelPoint(planet, "Tyrena Starport", -4975, 21, -2230) + trvSvc.addTravelPoint(planet, "Kor Vella Starport", -3136, 31, 2894) + trvSvc.addTravelPoint(planet, "Doaba Guerful Starport", 3377, 308, 5605) + return + +def dantooinePoints(core, planet): + trvSvc = core.travelService + + trvSvc.addTravelPoint(planet, "Coronet Starport", -51, 28, -4735) + trvSvc.addTravelPoint(planet, "Tyrena Starport", -4975, 21, -2230) + trvSvc.addTravelPoint(planet, "Kor Vella Starport", -3136, 31, 2894) + trvSvc.addTravelPoint(planet, "Doaba Guerful Starport", 3377, 308, 5605) + return + +def dathomirPoints(core, planet): + trvSvc = core.travelService + + trvSvc.addTravelPoint(planet, "Science Outpost", -76, 18, -1586) + trvSvc.addTravelPoint(planet, "Trade Outpost", -592, 6, 3087) + return + +def endorPoints(core, planet): + trvSvc = core.travelService + + trvSvc.addTravelPoint(planet, "Smuggler Outpost", -978, 73, 1554) + trvSvc.addTravelPoint(planet, "Research Outpost", 3222, 24, -3482) + return + +def lokPoints(core, planet): + trvSvc = core.travelService + + trvSvc.addTravelPoint(planet, "Nym's Stronghold", 459, 9, 5494) + return + +def nabooPoints(core, planet): + trvSvc = core.travelService + + trvSvc.addTravelPoint(planet, "Kaadara Starport", 5295, -192, 6664) + trvSvc.addTravelPoint(planet, "Keren Starport", 1352, 13, 2768) + trvSvc.addTravelPoint(planet, "Moenia Starport", 4728, 4, -4650) + return + +def roriPoints(core, planet): + trvSvc = core.travelService + + trvSvc.addTravelPoint(planet, "Narmle Starport", -5472, 80, 2161) + trvSvc.addTravelPoint(planet, "Rebel Outpost", 3672, 96, -6421) + return + +def talusPoints(core, planet): + trvSvc = core.travelService + + trvSvc.addTravelPoint(planet, "Dearic Starport", 245, 6, -2931) + trvSvc.addTravelPoint(planet, "Nashal Starport", 4480, 2, 6365) + trvSvc.addTravelPoint(planet, "Imperial Outpost", -2212, 20, 2302) + return + def tatooinePoints(core, planet): trvSvc = core.travelService @@ -14,4 +92,12 @@ def tatooinePoints(core, planet): trvSvc.addTravelPoint(planet, "Mos Eisley Starport", 3619, 5, -4801) trvSvc.addTravelPoint(planet, "Mos Espa Starport", -2829, 5, 2080) trvSvc.addTravelPoint(planet, "Mos Entha Starport", 1238, 7, 3062) + return + +def yavin4Points(core, planet): + trvSvc = core.travelService + + trvSvc.addTravelPoint(planet, "Imperial Base", 4033, 37, -6234) + trvSvc.addTravelPoint(planet, "Labor Outpost", -6939, 73, -5706) + trvSvc.addTravelPoint(planet, "Mining Outpost", -277, 35, 4879) return \ No newline at end of file From aad1ec856c6dfb334f4dd9abe4773b4ff845e866 Mon Sep 17 00:00:00 2001 From: Waverunner Date: Mon, 28 Oct 2013 15:23:10 -0400 Subject: [PATCH 09/10] Terminal now displays TravelPoints correctly Can only view the points from Mos Eisley starport travel terminal, Purchase Ticket will not work as command not implemented. --- scripts/static_travel_points.py | 84 +++++++++++++------------- src/main/NGECore.java | 2 + src/services/travel/TravelService.java | 4 +- 3 files changed, 46 insertions(+), 44 deletions(-) diff --git a/scripts/static_travel_points.py b/scripts/static_travel_points.py index a492ed6c..583a5d22 100644 --- a/scripts/static_travel_points.py +++ b/scripts/static_travel_points.py @@ -21,83 +21,83 @@ def addPoints(core, planet): if planet.getName() == 'tatooine': tatooinePoints(core, planet) if planet.getName() == 'yavin4': - yavin4Points(core, planet) + yavin4Points(core, planet) return def corelliaPoints(core, planet): trvSvc = core.travelService - trvSvc.addTravelPoint(planet, "Coronet Starport", -51, 28, -4735) - trvSvc.addTravelPoint(planet, "Tyrena Starport", -4975, 21, -2230) - trvSvc.addTravelPoint(planet, "Kor Vella Starport", -3136, 31, 2894) - trvSvc.addTravelPoint(planet, "Doaba Guerful Starport", 3377, 308, 5605) - return + trvSvc.addTravelPoint(planet, "Coronet Starport", -51, -4735) + trvSvc.addTravelPoint(planet, "Tyrena Starport", -4975, -2230) + trvSvc.addTravelPoint(planet, "Kor Vella Starport", -3136, 2894) + trvSvc.addTravelPoint(planet, "Doaba Guerful Starport", 3377, 5605) + return def dantooinePoints(core, planet): trvSvc = core.travelService - trvSvc.addTravelPoint(planet, "Coronet Starport", -51, 28, -4735) - trvSvc.addTravelPoint(planet, "Tyrena Starport", -4975, 21, -2230) - trvSvc.addTravelPoint(planet, "Kor Vella Starport", -3136, 31, 2894) - trvSvc.addTravelPoint(planet, "Doaba Guerful Starport", 3377, 308, 5605) - return - + trvSvc.addTravelPoint(planet, "Coronet Starport", -51, -4735) + trvSvc.addTravelPoint(planet, "Tyrena Starport", -4975, -2230) + trvSvc.addTravelPoint(planet, "Kor Vella Starport", -3136, 2894) + trvSvc.addTravelPoint(planet, "Doaba Guerful Starport", 3377, 5605) + return + def dathomirPoints(core, planet): trvSvc = core.travelService - trvSvc.addTravelPoint(planet, "Science Outpost", -76, 18, -1586) - trvSvc.addTravelPoint(planet, "Trade Outpost", -592, 6, 3087) - return + trvSvc.addTravelPoint(planet, "Science Outpost", -76, -1586) + trvSvc.addTravelPoint(planet, "Trade Outpost", -592, 3087) + return def endorPoints(core, planet): trvSvc = core.travelService - trvSvc.addTravelPoint(planet, "Smuggler Outpost", -978, 73, 1554) - trvSvc.addTravelPoint(planet, "Research Outpost", 3222, 24, -3482) - return - + trvSvc.addTravelPoint(planet, "Smuggler Outpost", -978, 1554) + trvSvc.addTravelPoint(planet, "Research Outpost", 3222, -3482) + return + def lokPoints(core, planet): trvSvc = core.travelService - trvSvc.addTravelPoint(planet, "Nym's Stronghold", 459, 9, 5494) + trvSvc.addTravelPoint(planet, "Nym's Stronghold", 459, 5494) return def nabooPoints(core, planet): trvSvc = core.travelService - trvSvc.addTravelPoint(planet, "Kaadara Starport", 5295, -192, 6664) - trvSvc.addTravelPoint(planet, "Keren Starport", 1352, 13, 2768) - trvSvc.addTravelPoint(planet, "Moenia Starport", 4728, 4, -4650) - return - + trvSvc.addTravelPoint(planet, "Kaadara Starport", 5295, 6664) + trvSvc.addTravelPoint(planet, "Keren Starport", 1352, 2768) + trvSvc.addTravelPoint(planet, "Moenia Starport", 4728, -4650) + return + def roriPoints(core, planet): trvSvc = core.travelService - trvSvc.addTravelPoint(planet, "Narmle Starport", -5472, 80, 2161) - trvSvc.addTravelPoint(planet, "Rebel Outpost", 3672, 96, -6421) - return - + trvSvc.addTravelPoint(planet, "Narmle Starport", -5472, 2161) + trvSvc.addTravelPoint(planet, "Rebel Outpost", 3672, -6421) + return + def talusPoints(core, planet): trvSvc = core.travelService - trvSvc.addTravelPoint(planet, "Dearic Starport", 245, 6, -2931) - trvSvc.addTravelPoint(planet, "Nashal Starport", 4480, 2, 6365) - trvSvc.addTravelPoint(planet, "Imperial Outpost", -2212, 20, 2302) - return - + trvSvc.addTravelPoint(planet, "Dearic Starport", 245, -2931) + trvSvc.addTravelPoint(planet, "Nashal Starport", 4480, 6365) + trvSvc.addTravelPoint(planet, "Imperial Outpost", -2212, 2302) + return + def tatooinePoints(core, planet): trvSvc = core.travelService - trvSvc.addTravelPoint(planet, "Bestine Starport", -1376, 12, -3576) - trvSvc.addTravelPoint(planet, "Mos Eisley Starport", 3619, 5, -4801) - trvSvc.addTravelPoint(planet, "Mos Espa Starport", -2829, 5, 2080) - trvSvc.addTravelPoint(planet, "Mos Entha Starport", 1238, 7, 3062) + trvSvc.addTravelPoint(planet, "Bestine Starport", -1376, -3576) + trvSvc.addTravelPoint(planet, "Mos Eisley Starport", 3619, -4801) + trvSvc.addTravelPoint(planet, "Mos Espa Starport", -2829, 2080) + trvSvc.addTravelPoint(planet, "Mos Entha Starport", 1238, 3062) return - + def yavin4Points(core, planet): trvSvc = core.travelService - trvSvc.addTravelPoint(planet, "Imperial Base", 4033, 37, -6234) - trvSvc.addTravelPoint(planet, "Labor Outpost", -6939, 73, -5706) - trvSvc.addTravelPoint(planet, "Mining Outpost", -277, 35, 4879) + trvSvc.addTravelPoint(planet, "Imperial Base", 4033, -6234) + trvSvc.addTravelPoint(planet, "Labor Outpost", -6939, -5706) + trvSvc.addTravelPoint(planet, "Mining Outpost", -277, 4879) return \ No newline at end of file diff --git a/src/main/NGECore.java b/src/main/NGECore.java index dc90f6db..30697d12 100644 --- a/src/main/NGECore.java +++ b/src/main/NGECore.java @@ -221,6 +221,8 @@ public class NGECore { terrainService.addPlanet(8, "yavin4", "terrain/yavin4.trn", true); terrainService.addPlanet(9, "endor", "terrain/endor.trn", true); terrainService.addPlanet(10, "dathomir", "terrain/dathomir.trn", true); + terrainService.addPlanet(11, "mustafar", "terrain/mustafar.trn", true); + terrainService.addPlanet(12, "kashyyyk_main", "terrain/kashyyyk_main.trn", true); terrainService.loadSnapShotObjects(); // Zone services that need to be loaded after the above diff --git a/src/services/travel/TravelService.java b/src/services/travel/TravelService.java index 147f513a..99639def 100644 --- a/src/services/travel/TravelService.java +++ b/src/services/travel/TravelService.java @@ -102,8 +102,8 @@ public class TravelService implements INetworkDispatch { } - public void addTravelPoint(Planet planet, String name, float x, float y, float z) { - TravelPoint travelPoint = new TravelPoint(name, x, y, z, 100); + public void addTravelPoint(Planet planet, String name, float x, float y) { + TravelPoint travelPoint = new TravelPoint(name, x, y, 0, 100); travelPoint.setPlanetName(WordUtils.capitalize(planet.getName())); From ceacf7d1195cc4a23e6e7f6e16942b54df6cf42e Mon Sep 17 00:00:00 2001 From: Waverunner Date: Mon, 28 Oct 2013 16:01:05 -0400 Subject: [PATCH 10/10] Galaxy map will now show for terminals --- scripts/radial/travel_terminal.py | 8 ++++++-- scripts/static_travel_points.py | 19 +++++++++++++++++-- .../swg/EnterTicketPurchaseModeMessage.java | 12 ++++++++++-- 3 files changed, 33 insertions(+), 6 deletions(-) diff --git a/scripts/radial/travel_terminal.py b/scripts/radial/travel_terminal.py index e331c16b..17c725b8 100644 --- a/scripts/radial/travel_terminal.py +++ b/scripts/radial/travel_terminal.py @@ -8,9 +8,13 @@ def createRadial(core, owner, target, radials): def handleSelection(core, owner, target, option): if option == 21 and target: - tpm = EnterTicketPurchaseModeMessage() + tpm = EnterTicketPurchaseModeMessage(owner.getPlanet().getName(), core.mapService.getClosestCityName(owner)) owner.getClient().getSession().write(tpm.serialize()) - #print ('Sent EnterTicketPurchaseModeMessage!') + #print ('Planet name: ' + owner.getPlanet().getName()) + #print ('City name: ' + core.mapService.getClosestCityName(owner)) + + + return def handleSUI(owner, window, eventType, returnList): diff --git a/scripts/static_travel_points.py b/scripts/static_travel_points.py index 583a5d22..85a1dda1 100644 --- a/scripts/static_travel_points.py +++ b/scripts/static_travel_points.py @@ -21,7 +21,11 @@ def addPoints(core, planet): if planet.getName() == 'tatooine': tatooinePoints(core, planet) if planet.getName() == 'yavin4': - yavin4Points(core, planet) + yavin4Points(core, planet) + if planet.getName() == 'mustafar': + mustafarPoints(core,planet) + if planet.getName() == 'kashyyyk_main': + kashyyykPoints(core, planet) return def corelliaPoints(core, planet): @@ -100,4 +104,15 @@ def yavin4Points(core, planet): trvSvc.addTravelPoint(planet, "Imperial Base", 4033, -6234) trvSvc.addTravelPoint(planet, "Labor Outpost", -6939, -5706) trvSvc.addTravelPoint(planet, "Mining Outpost", -277, 4879) - return \ No newline at end of file + return + +def mustafarPoints(core, planet): + trvSvc = core.travelService + + trvSvc.addTravelPoint(planet, "Mensix Mining Facility", 4033, -6234) + return + +def kashyyykPoints(core, planet): + trvSvc = core.travelService + trvSvc.addTravelPoint(planet, "Kachiro Starport", 4033, -6234) + return diff --git a/src/protocol/swg/EnterTicketPurchaseModeMessage.java b/src/protocol/swg/EnterTicketPurchaseModeMessage.java index 2deea303..2c5c2315 100644 --- a/src/protocol/swg/EnterTicketPurchaseModeMessage.java +++ b/src/protocol/swg/EnterTicketPurchaseModeMessage.java @@ -27,6 +27,14 @@ import org.apache.mina.core.buffer.IoBuffer; public class EnterTicketPurchaseModeMessage extends SWGMessage { + public String planetName; + public String cityName; + + public EnterTicketPurchaseModeMessage(String planetName, String cityName) { + this.planetName = planetName; + this.cityName = cityName; + } + @Override public void deserialize(IoBuffer data) { // TODO Auto-generated method stub @@ -40,8 +48,8 @@ public class EnterTicketPurchaseModeMessage extends SWGMessage { result.putShort((short) 3); result.putInt(0x904DAE1A); - result.put(getAsciiString("tatooine")); // lowercase - result.put(getAsciiString("Mos Eisley")); // city + result.put(getAsciiString(planetName)); + result.put(getAsciiString(cityName + " Starport")); return result.flip(); }