From bba4153f475f93cddc1dc5373972c3f838d42d63 Mon Sep 17 00:00:00 2001 From: Ziggeh Date: Sun, 8 Dec 2013 05:51:03 +0100 Subject: [PATCH 1/4] Heal CD reduction is now done through scripts --- scripts/commands/combat/of_sh_0.py | 8 ++++++++ scripts/commands/combat/of_sh_1.py | 8 ++++++++ scripts/commands/combat/of_sh_2.py | 8 ++++++++ scripts/commands/combat/of_sh_3.py | 11 +++++++++++ src/services/combat/CombatService.java | 12 +----------- 5 files changed, 36 insertions(+), 11 deletions(-) create mode 100644 scripts/commands/combat/of_sh_0.py create mode 100644 scripts/commands/combat/of_sh_1.py create mode 100644 scripts/commands/combat/of_sh_2.py create mode 100644 scripts/commands/combat/of_sh_3.py diff --git a/scripts/commands/combat/of_sh_0.py b/scripts/commands/combat/of_sh_0.py new file mode 100644 index 00000000..dcf378ac --- /dev/null +++ b/scripts/commands/combat/of_sh_0.py @@ -0,0 +1,8 @@ +import sys + +def setup(core, actor, target, command): + if actor.getSkillMod('expertise_cooldown_line_of_heal'): + command.setCooldown(command.getCooldown() - actor.getSkillMod('expertise_cooldown_line_of_heal').getBase()) + return +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_sh_1.py b/scripts/commands/combat/of_sh_1.py new file mode 100644 index 00000000..dcf378ac --- /dev/null +++ b/scripts/commands/combat/of_sh_1.py @@ -0,0 +1,8 @@ +import sys + +def setup(core, actor, target, command): + if actor.getSkillMod('expertise_cooldown_line_of_heal'): + command.setCooldown(command.getCooldown() - actor.getSkillMod('expertise_cooldown_line_of_heal').getBase()) + return +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_sh_2.py b/scripts/commands/combat/of_sh_2.py new file mode 100644 index 00000000..dcf378ac --- /dev/null +++ b/scripts/commands/combat/of_sh_2.py @@ -0,0 +1,8 @@ +import sys + +def setup(core, actor, target, command): + if actor.getSkillMod('expertise_cooldown_line_of_heal'): + command.setCooldown(command.getCooldown() - actor.getSkillMod('expertise_cooldown_line_of_heal').getBase()) + return +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/scripts/commands/combat/of_sh_3.py b/scripts/commands/combat/of_sh_3.py new file mode 100644 index 00000000..2ecc4873 --- /dev/null +++ b/scripts/commands/combat/of_sh_3.py @@ -0,0 +1,11 @@ +import sys +import java.util.Random; + +def setup(core, actor, target, command): + if R + else: + if actor.getSkillMod('expertise_cooldown_line_of_heal'): + command.setCooldown(command.getCooldown() - actor.getSkillMod('expertise_cooldown_line_of_heal').getBase()) + return +def run(core, actor, target, commandString): + return \ No newline at end of file diff --git a/src/services/combat/CombatService.java b/src/services/combat/CombatService.java index b943779c..420d7d3b 100644 --- a/src/services/combat/CombatService.java +++ b/src/services/combat/CombatService.java @@ -404,22 +404,12 @@ public class CombatService implements INetworkDispatch { } private void sendHealPackets(CreatureObject attacker, CreatureObject target, WeaponObject weapon, CombatCommand command, int actionCounter) { - - float cooldown = 0; CombatAction combatAction = new CombatAction(CRC.StringtoCRC(command.getDefaultAnimations()[0]), attacker.getObjectID(), weapon.getObjectID(), target.getObjectID(), command.getCommandCRC()); ObjControllerMessage objController = new ObjControllerMessage(0x1B, combatAction); attacker.notifyObserversInRange(objController, true, 125); - cooldown = command.getCooldown(); - System.out.println(cooldown); - - if(attacker.getSkillMod("expertise_cooldown_line_of_heal") != null) - cooldown -= attacker.getSkillMod("expertise_cooldown_line_of_heal").getBase(); - if(attacker.getSkillMod("expertise_cooldown_line_sh") != null) - cooldown -= ((attacker.getSkillMod("expertise_cooldown_line_sh").getBase())/10); - - StartTask startTask = new StartTask(actionCounter, attacker.getObjectID(), command.getCommandCRC(), CRC.StringtoCRC(command.getCooldownGroup()), cooldown); + StartTask startTask = new StartTask(actionCounter, attacker.getObjectID(), command.getCommandCRC(), CRC.StringtoCRC(command.getCooldownGroup()), command.getCooldown()); ObjControllerMessage objController2 = new ObjControllerMessage(0x0B, startTask); attacker.getClient().getSession().write(objController2.serialize()); From 8b21e32f6afb2caadd2bcbd6859eed7b6a10b889 Mon Sep 17 00:00:00 2001 From: Ziggeh Date: Sun, 8 Dec 2013 12:16:26 +0100 Subject: [PATCH 2/4] Added First Aid Training (commando) --- scripts/buffs/co_first_aid_training.py | 10 ++++++++++ scripts/commands/co_first_aid_training.py | 9 +++++++++ scripts/commands/combat/of_sh_3.py | 11 +++++------ src/services/combat/CombatCommands.java | 4 +++- 4 files changed, 27 insertions(+), 7 deletions(-) create mode 100644 scripts/buffs/co_first_aid_training.py create mode 100644 scripts/commands/co_first_aid_training.py diff --git a/scripts/buffs/co_first_aid_training.py b/scripts/buffs/co_first_aid_training.py new file mode 100644 index 00000000..b0ffe0f9 --- /dev/null +++ b/scripts/buffs/co_first_aid_training.py @@ -0,0 +1,10 @@ +import sys + +def setup(core, actor, buff): + core.skillModService.addSkillMod(actor, 'expertise_healing_all', 20) + return + +def removeBuff(core, actor, buff): + core.skillModService.deductSkillMod(actor, 'expertise_healing_all', 20) + return + \ No newline at end of file diff --git a/scripts/commands/co_first_aid_training.py b/scripts/commands/co_first_aid_training.py new file mode 100644 index 00000000..baf4621d --- /dev/null +++ b/scripts/commands/co_first_aid_training.py @@ -0,0 +1,9 @@ +import sys + +def setup(): + return + +def run(core, actor, target, commandString): + + core.buffService.addBuffToCreature(actor, 'co_first_aid_training') + return \ No newline at end of file diff --git a/scripts/commands/combat/of_sh_3.py b/scripts/commands/combat/of_sh_3.py index 2ecc4873..e19f3ca1 100644 --- a/scripts/commands/combat/of_sh_3.py +++ b/scripts/commands/combat/of_sh_3.py @@ -1,11 +1,10 @@ import sys -import java.util.Random; def setup(core, actor, target, command): - if R - else: - if actor.getSkillMod('expertise_cooldown_line_of_heal'): - command.setCooldown(command.getCooldown() - actor.getSkillMod('expertise_cooldown_line_of_heal').getBase()) - return + + if actor.getSkillMod('expertise_cooldown_line_of_heal'): + command.setCooldown(command.getCooldown() - actor.getSkillMod('expertise_cooldown_line_of_heal').getBase()) + return + def run(core, actor, target, commandString): return \ No newline at end of file diff --git a/src/services/combat/CombatCommands.java b/src/services/combat/CombatCommands.java index 1544a0ce..e742a16e 100644 --- a/src/services/combat/CombatCommands.java +++ b/src/services/combat/CombatCommands.java @@ -307,6 +307,7 @@ public class CombatCommands { core.commandService.registerCommand("co_hw_dot"); core.commandService.registerCommand("co_ae_hw_dot"); core.commandService.registerCommand("co_position_secured"); + core.commandService.registerCommand("co_first_aid_training"); // Entertainer @@ -424,14 +425,15 @@ public class CombatCommands { core.commandService.registerCombatCommand("me_traumatize_4"); core.commandService.registerCombatCommand("me_traumatize_5"); core.commandService.registerCombatCommand("me_stasis_1"); - core.commandService.registerCommand("me_stasis_self_1"); core.commandService.registerCommand("me_drag_1"); + core.commandService.registerCommand("me_enhance_action_1"); core.commandService.registerCommand("me_reckless_stimulation_1"); core.commandService.registerCommand("me_reckless_stimulation_2"); core.commandService.registerCommand("me_reckless_stimulation_3"); core.commandService.registerCommand("me_reckless_stimulation_4"); core.commandService.registerCommand("me_reckless_stimulation_5"); core.commandService.registerCommand("me_reckless_stimulation_6"); + core.commandService.registerCommand("me_stasis_self_1"); // Officer From 47a2706432b73e9d6325ddc4d0f1208a5d0455eb Mon Sep 17 00:00:00 2001 From: Ziggeh Date: Sun, 8 Dec 2013 15:12:43 +0100 Subject: [PATCH 3/4] Cleaned up waypoint scripts --- scripts/commands/requestwaypointatposition.py | 6 ++---- scripts/commands/waypoint.py | 1 - 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/scripts/commands/requestwaypointatposition.py b/scripts/commands/requestwaypointatposition.py index 60b932ce..2acdedc3 100644 --- a/scripts/commands/requestwaypointatposition.py +++ b/scripts/commands/requestwaypointatposition.py @@ -6,9 +6,7 @@ def setup(): def run(core, actor, target, commandString): commandArgs = commandString.split("(^-,=+_)color_13548(,+-=_^)=1") - newString = commandArgs[0] - print (newString) - cmdService = core.commandService - cmdService.callCommand(actor, 'waypoint', None, newString) # No need to re-create a script + + core.commandService.callCommand(actor, 'waypoint', None, newString) return \ No newline at end of file diff --git a/scripts/commands/waypoint.py b/scripts/commands/waypoint.py index 5e2802c4..029fe3ad 100644 --- a/scripts/commands/waypoint.py +++ b/scripts/commands/waypoint.py @@ -74,7 +74,6 @@ def run(core, actor, target, commandString): waypoint.setActive(True) waypoint.setColor(WaypointObject.BLUE) name = commandString.split(" ", 5) - print (name) if name == "": name = "Waypoint" From e3d4fd8aaaf35ed957c93bb8f562dad050a00d49 Mon Sep 17 00:00:00 2001 From: Ziggeh Date: Tue, 10 Dec 2013 00:07:39 +0100 Subject: [PATCH 4/4] Added Profession Master Badges --- scripts/collections/master_bounty_hunter_1a.py | 12 ++++++++++++ scripts/collections/master_commando_1a.py | 12 ++++++++++++ scripts/collections/master_entertainer_1a.py | 12 ++++++++++++ scripts/collections/master_force_sensitive_1a.py | 12 ++++++++++++ scripts/collections/master_medic_1a.py | 12 ++++++++++++ scripts/collections/master_officer_1a.py | 12 ++++++++++++ scripts/collections/master_smuggler_1a.py | 12 ++++++++++++ scripts/collections/master_spy_1a.py | 12 ++++++++++++ scripts/collections/master_trader_0a.py | 15 +++++++++++++++ scripts/collections/master_trader_0b.py | 14 ++++++++++++++ scripts/collections/master_trader_0c.py | 15 +++++++++++++++ scripts/collections/master_trader_0d.py | 14 ++++++++++++++ src/services/PlayerService.java | 3 ++- 13 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 scripts/collections/master_bounty_hunter_1a.py create mode 100644 scripts/collections/master_commando_1a.py create mode 100644 scripts/collections/master_entertainer_1a.py create mode 100644 scripts/collections/master_force_sensitive_1a.py create mode 100644 scripts/collections/master_medic_1a.py create mode 100644 scripts/collections/master_officer_1a.py create mode 100644 scripts/collections/master_smuggler_1a.py create mode 100644 scripts/collections/master_spy_1a.py create mode 100644 scripts/collections/master_trader_0a.py create mode 100644 scripts/collections/master_trader_0b.py create mode 100644 scripts/collections/master_trader_0c.py create mode 100644 scripts/collections/master_trader_0d.py diff --git a/scripts/collections/master_bounty_hunter_1a.py b/scripts/collections/master_bounty_hunter_1a.py new file mode 100644 index 00000000..c81bc04a --- /dev/null +++ b/scripts/collections/master_bounty_hunter_1a.py @@ -0,0 +1,12 @@ +import sys + +def setup(): + return + +def run(): + return + +def addMasterBadge(core, actor): + if actor.getLevel() == 90: + core.collectionService.addCollection(actor, "new_prof_bountyhunter_master") + return \ No newline at end of file diff --git a/scripts/collections/master_commando_1a.py b/scripts/collections/master_commando_1a.py new file mode 100644 index 00000000..beb5e848 --- /dev/null +++ b/scripts/collections/master_commando_1a.py @@ -0,0 +1,12 @@ +import sys + +def setup(): + return + +def run(): + return + +def addMasterBadge(core, actor): + if actor.getLevel() == 90: + core.collectionService.addCollection(actor, "new_prof_commando_master") + return \ No newline at end of file diff --git a/scripts/collections/master_entertainer_1a.py b/scripts/collections/master_entertainer_1a.py new file mode 100644 index 00000000..e2dc3c3c --- /dev/null +++ b/scripts/collections/master_entertainer_1a.py @@ -0,0 +1,12 @@ +import sys + +def setup(): + return + +def run(): + return + +def addMasterBadge(core, actor): + if actor.getLevel() == 90: + core.collectionService.addCollection(actor, "new_prof_social_entertainer_master") + return \ No newline at end of file diff --git a/scripts/collections/master_force_sensitive_1a.py b/scripts/collections/master_force_sensitive_1a.py new file mode 100644 index 00000000..b2ae17a5 --- /dev/null +++ b/scripts/collections/master_force_sensitive_1a.py @@ -0,0 +1,12 @@ +import sys + +def setup(): + return + +def run(): + return + +def addMasterBadge(core, actor): + if actor.getLevel() == 90: + core.collectionService.addCollection(actor, "new_prof_jedi_master") + return \ No newline at end of file diff --git a/scripts/collections/master_medic_1a.py b/scripts/collections/master_medic_1a.py new file mode 100644 index 00000000..d19ba11b --- /dev/null +++ b/scripts/collections/master_medic_1a.py @@ -0,0 +1,12 @@ +import sys + +def setup(): + return + +def run(): + return + +def addMasterBadge(core, actor): + if actor.getLevel() == 90: + core.collectionService.addCollection(actor, "new_prof_medic_master") + return \ No newline at end of file diff --git a/scripts/collections/master_officer_1a.py b/scripts/collections/master_officer_1a.py new file mode 100644 index 00000000..589869ae --- /dev/null +++ b/scripts/collections/master_officer_1a.py @@ -0,0 +1,12 @@ +import sys + +def setup(): + return + +def run(): + return + +def addMasterBadge(core, actor): + if actor.getLevel() == 90: + core.collectionService.addCollection(actor, "new_prof_officer_master") + return \ No newline at end of file diff --git a/scripts/collections/master_smuggler_1a.py b/scripts/collections/master_smuggler_1a.py new file mode 100644 index 00000000..f7d741f1 --- /dev/null +++ b/scripts/collections/master_smuggler_1a.py @@ -0,0 +1,12 @@ +import sys + +def setup(): + return + +def run(): + return + +def addMasterBadge(core, actor): + if actor.getLevel() == 90: + core.collectionService.addCollection(actor, "new_prof_smuggler_master") + return \ No newline at end of file diff --git a/scripts/collections/master_spy_1a.py b/scripts/collections/master_spy_1a.py new file mode 100644 index 00000000..1ff5be54 --- /dev/null +++ b/scripts/collections/master_spy_1a.py @@ -0,0 +1,12 @@ +import sys + +def setup(): + return + +def run(): + return + +def addMasterBadge(core, actor): + if actor.getLevel() == 90: + core.collectionService.addCollection(actor, "new_prof_spy_master") + return \ No newline at end of file diff --git a/scripts/collections/master_trader_0a.py b/scripts/collections/master_trader_0a.py new file mode 100644 index 00000000..bff48590 --- /dev/null +++ b/scripts/collections/master_trader_0a.py @@ -0,0 +1,15 @@ +import sys + +def setup(): + return + +def run(): + return + +def addMasterBadge(core, actor): + if actor.getLevel() == 90: + core.collectionService.addCollection(actor, "new_prof_crafting_merchant_master") + core.collectionService.addCollection(actor, "new_prof_crafting_artisan_master") + core.collectionService.addCollection(actor, "new_prof_crafting_chef_master") + core.collectionService.addCollection(actor, "new_prof_crafting_tailor_master") + return \ No newline at end of file diff --git a/scripts/collections/master_trader_0b.py b/scripts/collections/master_trader_0b.py new file mode 100644 index 00000000..55a1c3d3 --- /dev/null +++ b/scripts/collections/master_trader_0b.py @@ -0,0 +1,14 @@ +import sys + +def setup(): + return + +def run(): + return + +def addMasterBadge(core, actor): + if actor.getLevel() == 90: + core.collectionService.addCollection(actor, "new_prof_crafting_merchant_master") + core.collectionService.addCollection(actor, "new_prof_crafting_artisan_master") + core.collectionService.addCollection(actor, "new_prof_crafting_architect_master") + return \ No newline at end of file diff --git a/scripts/collections/master_trader_0c.py b/scripts/collections/master_trader_0c.py new file mode 100644 index 00000000..018141b4 --- /dev/null +++ b/scripts/collections/master_trader_0c.py @@ -0,0 +1,15 @@ +import sys + +def setup(): + return + +def run(): + return + +def addMasterBadge(core, actor): + if actor.getLevel() == 90: + core.collectionService.addCollection(actor, "new_prof_crafting_merchant_master") + core.collectionService.addCollection(actor, "new_prof_crafting_artisan_master") + core.collectionService.addCollection(actor, "new_prof_crafting_armorsmith_master") + core.collectionService.addCollection(actor, "new_prof_crafting_weaponsmith_master") + return \ No newline at end of file diff --git a/scripts/collections/master_trader_0d.py b/scripts/collections/master_trader_0d.py new file mode 100644 index 00000000..a9223ac6 --- /dev/null +++ b/scripts/collections/master_trader_0d.py @@ -0,0 +1,14 @@ +import sys + +def setup(): + return + +def run(): + return + +def addMasterBadge(core, actor): + if actor.getLevel() == 90: + core.collectionService.addCollection(actor, "new_prof_crafting_merchant_master") + core.collectionService.addCollection(actor, "new_prof_crafting_artisan_master") + core.collectionService.addCollection(actor, "new_prof_crafting_droidengineer_master") + return \ No newline at end of file diff --git a/src/services/PlayerService.java b/src/services/PlayerService.java index 8a986c22..55d8d2ee 100644 --- a/src/services/PlayerService.java +++ b/src/services/PlayerService.java @@ -338,6 +338,7 @@ public class PlayerService implements INetworkDispatch { creature.playEffectObject("clienteffect/level_granted.cef", ""); creature.getClient().getSession().write((new ClientMfdStatusUpdateMessage((float) ((creature.getLevel() == 90) ? 90 : (creature.getLevel() + 1)), "/GroundHUD.MFDStatus.vsp.role.targetLevel")).serialize()); creature.setLevel(((Integer) experienceTable.getObject(i, 0)).shortValue()); + core.scriptService.callScript("scripts/collections/", "addMasterBadge", "master_" + player.getProfession(), core, creature); // 3. Add the relevant health/action and expertise points. float luck = (((((float) (core.scriptService.getMethod("scripts/roadmap/", player.getProfession(), "getLuck").__call__().asInt()) + (core.scriptService.getMethod("scripts/roadmap/", creature.getStfName(), "getLuck").__call__().asInt())) / ((float) 90)) * ((float) creature.getLevel())) - ((float) creature.getSkillModBase("luck"))); @@ -470,7 +471,7 @@ public class PlayerService implements INetworkDispatch { } } } - } + } } } } catch (InstantiationException | IllegalAccessException e) {