From 48a1014fb04935c19d91d3a00d06cd99bfe7c610 Mon Sep 17 00:00:00 2001 From: voronius Date: Sat, 2 Aug 2014 10:45:03 +0300 Subject: [PATCH 1/2] Fix for inspiration and group buffs Fix for inspiration and group buffs, they used distance check with different coordinate systems. Now watching and inspiration buff is possible. --- scripts/commands/inspire.py | 2 +- src/services/EntertainmentService.java | 2 +- src/services/GroupService.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/commands/inspire.py b/scripts/commands/inspire.py index 57cd0a29..282fe64a 100644 --- a/scripts/commands/inspire.py +++ b/scripts/commands/inspire.py @@ -34,7 +34,7 @@ def run(core, actor, target, commandString): actor.sendSystemMessage('@performance:insp_buff_must_listen', 2) return - if target.getPosition().getDistance2D(actor.getWorldPosition()) > float(20): + if target.getWorldPosition().getDistance2D(actor.getWorldPosition()) > float(20): actor.sendSystemMessage(target.getCustomName() + ' is too far away to inspire.', 0) return diff --git a/src/services/EntertainmentService.java b/src/services/EntertainmentService.java index e41dceb6..78c04f0d 100644 --- a/src/services/EntertainmentService.java +++ b/src/services/EntertainmentService.java @@ -687,7 +687,7 @@ public class EntertainmentService implements INetworkDispatch { final ScheduledFuture spectatorTask = scheduler.scheduleAtFixedRate(() -> { try { - if (spectator.getPosition().getDistance2D(performer.getWorldPosition()) > (float) 70) { + if (spectator.getWorldPosition().getDistance2D(performer.getWorldPosition()) > (float) 70) { if(((performer.getPerformanceType()) ? "dance" : "music").equals("dance")) { spectator.setPerformanceWatchee(null); diff --git a/src/services/GroupService.java b/src/services/GroupService.java index e7b06a1b..13b46c7b 100644 --- a/src/services/GroupService.java +++ b/src/services/GroupService.java @@ -209,7 +209,7 @@ public class GroupService implements INetworkDispatch { for(SWGObject otherMember : group.getMemberList()) { if(otherMember != member) { for(Buff buff : ((CreatureObject) otherMember).getBuffList().get()) { - if(buff.isGroupBuff() && otherMember.getPlanet() == member.getPlanet() && otherMember.getPosition().getDistance2D(member.getWorldPosition()) <= 80) { + if(buff.isGroupBuff() && otherMember.getPlanet() == member.getPlanet() && otherMember.getWorldPosition().getDistance2D(member.getWorldPosition()) <= 80) { core.buffService.addBuffToCreature((CreatureObject) otherMember, buff.getBuffName(), member); } } From ca004a162c73dc917a920a3425ed647c2bd50764 Mon Sep 17 00:00:00 2001 From: voronius Date: Sat, 2 Aug 2014 11:01:16 +0300 Subject: [PATCH 2/2] fix for not being able to reuse or delete char Fix for not being able to reuse or delete char after creation. All chars were only available once as the query to the result set used wrong field name to get the char id. --- src/services/LoginService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/services/LoginService.java b/src/services/LoginService.java index b01b7bb1..3133269f 100644 --- a/src/services/LoginService.java +++ b/src/services/LoginService.java @@ -333,11 +333,12 @@ public class LoginService implements INetworkDispatch{ String characterName = resultSet.getString("firstName").replaceAll("\\s",""); ; String lastName = resultSet.getString("lastName").replaceAll("\\s",""); + if (lastName != null && lastName.length() > 0) characterName += " " + lastName; enumerateCharacterId.addCharacter( characterName, resultSet.getInt("appearance"), - resultSet.getLong("Id"), + resultSet.getLong("id"), resultSet.getInt("galaxyId"), resultSet.getInt("statusId")); }