forked from MagicBane/Server
Project reformat.
This commit is contained in:
@@ -1070,10 +1070,10 @@ public class ClientMessagePump implements NetMsgHandler {
|
||||
return;
|
||||
|
||||
//CombatManager.setAttackTarget(msg, conn);
|
||||
if(msg.getTargetType() == GameObjectType.Building.ordinal()){
|
||||
if (msg.getTargetType() == GameObjectType.Building.ordinal()) {
|
||||
conn.getPlayerCharacter().getPet().setCombatTarget(PlayerCharacter.getPlayerCharacter(msg.getTargetID()));
|
||||
}
|
||||
switch(msg.getTargetType()) {
|
||||
switch (msg.getTargetType()) {
|
||||
case 53: //player character
|
||||
conn.getPlayerCharacter().getPet().setCombatTarget(PlayerCharacter.getPlayerCharacter(msg.getTargetID()));
|
||||
break;
|
||||
|
||||
@@ -49,7 +49,7 @@ public class AttackCmdMsgHandler extends AbstractClientMsgHandler {
|
||||
|
||||
targetType = Enum.GameObjectType.values()[msg.getTargetType()];
|
||||
|
||||
switch(targetType){
|
||||
switch (targetType) {
|
||||
case Mob:
|
||||
target = Mob.getMob(msg.getTargetID());
|
||||
break;
|
||||
@@ -63,7 +63,7 @@ public class AttackCmdMsgHandler extends AbstractClientMsgHandler {
|
||||
target = NPC.getNPC(msg.getTargetID());
|
||||
break;
|
||||
}
|
||||
if(target == null) {
|
||||
if (target == null) {
|
||||
playerCharacter.setCombatTarget(null);
|
||||
return true; // cannot attack a null target
|
||||
}
|
||||
|
||||
@@ -14,7 +14,6 @@ import engine.Enum.GameObjectType;
|
||||
import engine.exception.MsgSendException;
|
||||
import engine.gameManager.ConfigManager;
|
||||
import engine.gameManager.GroupManager;
|
||||
import engine.gameManager.GuildManager;
|
||||
import engine.gameManager.SessionManager;
|
||||
import engine.net.Dispatch;
|
||||
import engine.net.DispatchMessage;
|
||||
@@ -106,8 +105,8 @@ public class GroupInviteHandler extends AbstractClientMsgHandler {
|
||||
if (target.isIgnoringPlayer(source))
|
||||
return false;
|
||||
|
||||
if(ConfigManager.MB_RULESET.getValue() == "LORE") {
|
||||
if(source.guild.equals(Guild.getErrantGuild()))
|
||||
if (ConfigManager.MB_RULESET.getValue() == "LORE") {
|
||||
if (source.guild.equals(Guild.getErrantGuild()))
|
||||
return false;
|
||||
|
||||
if (source.guild.getGuildType() != null) {
|
||||
|
||||
@@ -26,7 +26,9 @@ import engine.net.client.msg.ClientNetMsg;
|
||||
import engine.net.client.msg.ErrorPopupMsg;
|
||||
import engine.net.client.msg.guild.GuildCreationFinalizeMsg;
|
||||
import engine.net.client.msg.guild.GuildInfoMsg;
|
||||
import engine.objects.*;
|
||||
import engine.objects.Guild;
|
||||
import engine.objects.Item;
|
||||
import engine.objects.PlayerCharacter;
|
||||
import engine.util.StringUtils;
|
||||
|
||||
public class GuildCreationFinalizeHandler extends AbstractClientMsgHandler {
|
||||
|
||||
@@ -125,9 +125,9 @@ public class InviteToGuildHandler extends AbstractClientMsgHandler {
|
||||
ErrorPopupMsg.sendErrorPopup(sourcePlayer, 135);// you do not meet the level required for this SWORN guild
|
||||
return true;
|
||||
}
|
||||
if(ConfigManager.MB_RULESET.getValue() == "LORE") {
|
||||
if (ConfigManager.MB_RULESET.getValue() == "LORE") {
|
||||
if (GuildManager.meetsLoreRequirements(sourcePlayer.guild, targetPlayer) == false) {
|
||||
ChatManager.chatGuildError(sourcePlayer,targetPlayer.getFirstName() + " does not meet charter requirements!");
|
||||
ChatManager.chatGuildError(sourcePlayer, targetPlayer.getFirstName() + " does not meet charter requirements!");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,10 @@ package engine.net.client.handlers;
|
||||
import engine.Enum;
|
||||
import engine.Enum.GameObjectType;
|
||||
import engine.exception.MsgSendException;
|
||||
import engine.gameManager.*;
|
||||
import engine.gameManager.ChatManager;
|
||||
import engine.gameManager.ConfigManager;
|
||||
import engine.gameManager.DbManager;
|
||||
import engine.gameManager.SessionManager;
|
||||
import engine.net.Dispatch;
|
||||
import engine.net.DispatchMessage;
|
||||
import engine.net.client.ClientConnection;
|
||||
@@ -109,8 +112,8 @@ public class InviteToSubHandler extends AbstractClientMsgHandler {
|
||||
sendChat(source, "This Guild can't be subbed.");
|
||||
return true;
|
||||
}
|
||||
if(ConfigManager.MB_RULESET.getValue() == "LORE") {
|
||||
if (source.guild.getGuildType().equals(target.guild.getGuildType()) == false){
|
||||
if (ConfigManager.MB_RULESET.getValue() == "LORE") {
|
||||
if (source.guild.getGuildType().equals(target.guild.getGuildType()) == false) {
|
||||
sendChat(source, "You Must Be The Same Charter To Form A Nation.");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -11,13 +11,19 @@ package engine.net.client.handlers;
|
||||
|
||||
import engine.Enum.GuildHistoryType;
|
||||
import engine.exception.MsgSendException;
|
||||
import engine.gameManager.*;
|
||||
import engine.gameManager.ChatManager;
|
||||
import engine.gameManager.ConfigManager;
|
||||
import engine.gameManager.GroupManager;
|
||||
import engine.gameManager.SessionManager;
|
||||
import engine.net.Dispatch;
|
||||
import engine.net.DispatchMessage;
|
||||
import engine.net.client.ClientConnection;
|
||||
import engine.net.client.msg.ClientNetMsg;
|
||||
import engine.net.client.msg.guild.LeaveGuildMsg;
|
||||
import engine.objects.*;
|
||||
import engine.objects.Guild;
|
||||
import engine.objects.GuildStatusController;
|
||||
import engine.objects.Mine;
|
||||
import engine.objects.PlayerCharacter;
|
||||
|
||||
public class LeaveGuildHandler extends AbstractClientMsgHandler {
|
||||
|
||||
@@ -61,8 +67,8 @@ public class LeaveGuildHandler extends AbstractClientMsgHandler {
|
||||
ChatManager.chatGuildInfo(oldGuild, playerCharacter.getFirstName() + " has left the guild.");
|
||||
|
||||
oldGuild.removePlayer(playerCharacter, GuildHistoryType.LEAVE);
|
||||
if(ConfigManager.MB_RULESET.getValue() == "LORE") {
|
||||
if(GroupManager.getGroup(playerCharacter) != null)
|
||||
if (ConfigManager.MB_RULESET.getValue() == "LORE") {
|
||||
if (GroupManager.getGroup(playerCharacter) != null)
|
||||
GroupManager.getGroup(playerCharacter).removeGroupMember(playerCharacter);
|
||||
}
|
||||
// Send message back to client
|
||||
|
||||
@@ -70,7 +70,7 @@ public class MinionTrainingMsgHandler extends AbstractClientMsgHandler {
|
||||
|
||||
DbManager.removeFromCache(toRemove);
|
||||
|
||||
if(toRemove.guardCaptain.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)) {
|
||||
if (toRemove.guardCaptain.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)) {
|
||||
PlayerCharacter petOwner = (PlayerCharacter) toRemove.guardCaptain;
|
||||
|
||||
if (petOwner != null) {
|
||||
|
||||
@@ -9,14 +9,12 @@
|
||||
|
||||
package engine.net.client.handlers;
|
||||
|
||||
import engine.Enum;
|
||||
import engine.exception.MsgSendException;
|
||||
import engine.gameManager.BuildingManager;
|
||||
import engine.gameManager.MovementManager;
|
||||
import engine.net.client.ClientConnection;
|
||||
import engine.net.client.msg.ClientNetMsg;
|
||||
import engine.net.client.msg.MoveToPointMsg;
|
||||
import engine.objects.*;
|
||||
import engine.objects.PlayerCharacter;
|
||||
|
||||
public class MoveToPointHandler extends AbstractClientMsgHandler {
|
||||
|
||||
@@ -29,7 +27,7 @@ public class MoveToPointHandler extends AbstractClientMsgHandler {
|
||||
ClientConnection origin) throws MsgSendException {
|
||||
MoveToPointMsg msg = (MoveToPointMsg) baseMsg;
|
||||
PlayerCharacter pc = origin.getPlayerCharacter();
|
||||
if(pc == null)
|
||||
if (pc == null)
|
||||
return true;
|
||||
|
||||
MovementManager.movement(msg, pc);
|
||||
|
||||
@@ -30,6 +30,7 @@ public class ObjectActionMsgHandler extends AbstractClientMsgHandler {
|
||||
public ObjectActionMsgHandler() {
|
||||
super(ObjectActionMsg.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean _handleNetMsg(ClientNetMsg baseMsg, ClientConnection origin) throws MsgSendException {
|
||||
|
||||
@@ -79,235 +80,235 @@ public class ObjectActionMsgHandler extends AbstractClientMsgHandler {
|
||||
|
||||
int uuid = item.templateID;
|
||||
|
||||
switch (item.template.item_type) {
|
||||
switch (item.template.item_type) {
|
||||
|
||||
case DEED: //buildings
|
||||
//Call add building screen here, ib.getUseID() get's building ID
|
||||
case DEED: //buildings
|
||||
//Call add building screen here, ib.getUseID() get's building ID
|
||||
|
||||
//if inside player city, center loc on tol. otherwise center on player.
|
||||
Vector3fImmutable loc = player.getLoc();
|
||||
Zone zone = ZoneManager.findSmallestZone(player.getLoc());
|
||||
//if inside player city, center loc on tol. otherwise center on player.
|
||||
Vector3fImmutable loc = player.getLoc();
|
||||
Zone zone = ZoneManager.findSmallestZone(player.getLoc());
|
||||
|
||||
if (zone != null) {
|
||||
if (zone.guild_zone) {
|
||||
loc = zone.getLoc();
|
||||
}
|
||||
if (zone != null) {
|
||||
if (zone.guild_zone) {
|
||||
loc = zone.getLoc();
|
||||
}
|
||||
}
|
||||
|
||||
PlaceAssetMsg pam = new PlaceAssetMsg();
|
||||
pam.setActionType(2);
|
||||
pam.setContractID(item.getObjectUUID());
|
||||
pam.setX(loc.getX() + 64); //offset grid from tol
|
||||
pam.setY(loc.getY());
|
||||
pam.setZ(loc.getZ() + 64); //offset grid from tol
|
||||
pam.addPlacementInfo(item.template.deed_structure_id);
|
||||
PlaceAssetMsg pam = new PlaceAssetMsg();
|
||||
pam.setActionType(2);
|
||||
pam.setContractID(item.getObjectUUID());
|
||||
pam.setX(loc.getX() + 64); //offset grid from tol
|
||||
pam.setY(loc.getY());
|
||||
pam.setZ(loc.getZ() + 64); //offset grid from tol
|
||||
pam.addPlacementInfo(item.template.deed_structure_id);
|
||||
|
||||
dispatch = Dispatch.borrow(player, pam);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, Enum.DispatchChannel.SECONDARY);
|
||||
dispatch = Dispatch.borrow(player, pam);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, Enum.DispatchChannel.SECONDARY);
|
||||
|
||||
//itemMan.consume(item); //temporary fix for dupe.. TODO Make Item Unusable after This message is sent.
|
||||
break;
|
||||
case FURNITUREDEED: //furniture
|
||||
//Call add furniture screen here. ib.getUseID() get's furniture ID
|
||||
break;
|
||||
case OFFERING:
|
||||
long shrineCompID = comps.get(1);
|
||||
Building shrineBuilding = BuildingManager.getBuilding((int) shrineCompID);
|
||||
if (shrineBuilding == null) {
|
||||
return true;
|
||||
}
|
||||
if (shrineBuilding.getBlueprint() != null && shrineBuilding.getBlueprint().getBuildingGroup() != engine.Enum.BuildingGroup.SHRINE) {
|
||||
return true;
|
||||
}
|
||||
//itemMan.consume(item); //temporary fix for dupe.. TODO Make Item Unusable after This message is sent.
|
||||
break;
|
||||
case FURNITUREDEED: //furniture
|
||||
//Call add furniture screen here. ib.getUseID() get's furniture ID
|
||||
break;
|
||||
case OFFERING:
|
||||
long shrineCompID = comps.get(1);
|
||||
Building shrineBuilding = BuildingManager.getBuilding((int) shrineCompID);
|
||||
if (shrineBuilding == null) {
|
||||
return true;
|
||||
}
|
||||
if (shrineBuilding.getBlueprint() != null && shrineBuilding.getBlueprint().getBuildingGroup() != engine.Enum.BuildingGroup.SHRINE) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (shrineBuilding.getRank() == -1) {
|
||||
return true;
|
||||
}
|
||||
Shrine shrine = Shrine.shrinesByBuildingUUID.get(shrineBuilding.getObjectUUID());
|
||||
if (shrineBuilding.getRank() == -1) {
|
||||
return true;
|
||||
}
|
||||
Shrine shrine = Shrine.shrinesByBuildingUUID.get(shrineBuilding.getObjectUUID());
|
||||
|
||||
if (shrine == null) {
|
||||
return true;
|
||||
}
|
||||
if (shrine == null) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (shrine.addFavor(player, item)) {
|
||||
shrineBuilding.addEffectBit(1000000 << 2);
|
||||
shrineBuilding.updateEffects();
|
||||
shrineBuilding.removeEffectBit(1000000 << 2);
|
||||
}
|
||||
break;
|
||||
if (shrine.addFavor(player, item)) {
|
||||
shrineBuilding.addEffectBit(1000000 << 2);
|
||||
shrineBuilding.updateEffects();
|
||||
shrineBuilding.removeEffectBit(1000000 << 2);
|
||||
}
|
||||
break;
|
||||
|
||||
case REALMCHARTER:
|
||||
int charterType = 0;
|
||||
switch (uuid) {
|
||||
case 910020:
|
||||
charterType = 762228431;
|
||||
break;
|
||||
case 910021:
|
||||
charterType = -15978914;
|
||||
break;
|
||||
case 910022:
|
||||
charterType = -600065291;
|
||||
break;
|
||||
}
|
||||
if (Realm.claimRealm(player, charterType) == true) {
|
||||
case REALMCHARTER:
|
||||
int charterType = 0;
|
||||
switch (uuid) {
|
||||
case 910020:
|
||||
charterType = 762228431;
|
||||
break;
|
||||
case 910021:
|
||||
charterType = -15978914;
|
||||
break;
|
||||
case 910022:
|
||||
charterType = -600065291;
|
||||
break;
|
||||
}
|
||||
if (Realm.claimRealm(player, charterType) == true) {
|
||||
itemMan.consume(item);
|
||||
}
|
||||
break;
|
||||
case WAND: //rod of command
|
||||
long compID = comps.get(1);
|
||||
|
||||
int objectType = AbstractWorldObject.extractTypeID(compID).ordinal();
|
||||
Mob toCommand;
|
||||
if (objectType == engine.Enum.GameObjectType.Mob.ordinal()) {
|
||||
toCommand = Mob.getFromCache((int) compID);
|
||||
} //Only Command Mob Types.
|
||||
else {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (toCommand == null) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!toCommand.isSiege())
|
||||
return true;
|
||||
|
||||
if (player.commandSiegeMinion(toCommand)) {
|
||||
itemMan.consume(item);
|
||||
}
|
||||
break;
|
||||
//ANNIVERSERY GIFT
|
||||
case TREASURE:
|
||||
// *** Disabled for now: Needs bootyset created
|
||||
|
||||
//if (ib.getUUID() == 971012) {
|
||||
// int random = ThreadLocalRandom.current().nextInt(ItemBase.AnniverseryGifts.size());
|
||||
// int annyID = ItemBase.AnniverseryGifts.get(random);
|
||||
|
||||
// ItemBase annyIB = ItemBase.getItemBase(annyID);
|
||||
// if (annyIB != null) {
|
||||
// Item gift = MobLoot.createItemForPlayer(player, annyIB);
|
||||
// if (gift != null) {
|
||||
// itemMan.addItemToInventory(gift);
|
||||
// itemMan.consume(item);
|
||||
// }
|
||||
// }
|
||||
// break;
|
||||
//}
|
||||
|
||||
LootManager.peddleFate(player, item);
|
||||
break;
|
||||
|
||||
case BUCKET: //water bucket
|
||||
case POTION: //potions, tears of saedron
|
||||
|
||||
case SCROLL: //runes, petition, warrant, scrolls
|
||||
if (uuid > 3000 && uuid < 3050) { //Discipline Runes
|
||||
if (ApplyRuneMsg.applyRune(uuid, origin, player)) {
|
||||
itemMan.consume(item);
|
||||
}
|
||||
break;
|
||||
case WAND: //rod of command
|
||||
long compID = comps.get(1);
|
||||
|
||||
int objectType = AbstractWorldObject.extractTypeID(compID).ordinal();
|
||||
Mob toCommand;
|
||||
if (objectType == engine.Enum.GameObjectType.Mob.ordinal()) {
|
||||
toCommand = Mob.getFromCache((int) compID);
|
||||
} //Only Command Mob Types.
|
||||
else {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (toCommand == null) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!toCommand.isSiege())
|
||||
return true;
|
||||
|
||||
if (player.commandSiegeMinion(toCommand)) {
|
||||
} else if (uuid > 249999 && uuid < 250123) { //stat and mastery runes
|
||||
if (ApplyRuneMsg.applyRune(uuid, origin, player)) {
|
||||
itemMan.consume(item);
|
||||
}
|
||||
break;
|
||||
//ANNIVERSERY GIFT
|
||||
case TREASURE:
|
||||
// *** Disabled for now: Needs bootyset created
|
||||
|
||||
//if (ib.getUUID() == 971012) {
|
||||
// int random = ThreadLocalRandom.current().nextInt(ItemBase.AnniverseryGifts.size());
|
||||
// int annyID = ItemBase.AnniverseryGifts.get(random);
|
||||
|
||||
// ItemBase annyIB = ItemBase.getItemBase(annyID);
|
||||
// if (annyIB != null) {
|
||||
// Item gift = MobLoot.createItemForPlayer(player, annyIB);
|
||||
// if (gift != null) {
|
||||
// itemMan.addItemToInventory(gift);
|
||||
// itemMan.consume(item);
|
||||
// }
|
||||
// }
|
||||
// break;
|
||||
//}
|
||||
|
||||
LootManager.peddleFate(player, item);
|
||||
} else if (uuid > 250114 && uuid < 250123) { //mastery runes
|
||||
if (ApplyRuneMsg.applyRune(uuid, origin, player)) {
|
||||
itemMan.consume(item);
|
||||
}
|
||||
break;
|
||||
} else if (uuid > 252122 && uuid < 252128) { //mastery runes
|
||||
if (ApplyRuneMsg.applyRune(uuid, origin, player)) {
|
||||
itemMan.consume(item);
|
||||
}
|
||||
break;
|
||||
} else if (uuid > 680069 && uuid < 680074) //Handle Charter, Deed, Petition, Warrant here
|
||||
{
|
||||
break;
|
||||
} else if (uuid > 910010 && uuid < 910019) {
|
||||
|
||||
case BUCKET: //water bucket
|
||||
case POTION: //potions, tears of saedron
|
||||
int rank = uuid - 910010;
|
||||
|
||||
case SCROLL: //runes, petition, warrant, scrolls
|
||||
if (uuid > 3000 && uuid < 3050) { //Discipline Runes
|
||||
if (ApplyRuneMsg.applyRune(uuid, origin, player)) {
|
||||
if (rank < 1 || rank > 8) {
|
||||
ChatManager.chatSystemError(player, "Invalid Rank for bane scroll!");
|
||||
return true;
|
||||
}
|
||||
// Only one banestone at a time
|
||||
lock.writeLock().lock();
|
||||
|
||||
try {
|
||||
if (Bane.summonBanestone(player, origin, rank) == true)
|
||||
itemMan.consume(item);
|
||||
} finally {
|
||||
lock.writeLock().unlock();
|
||||
}
|
||||
break;
|
||||
} else if (uuid == 910010) { //tears of saedron
|
||||
if (comps.size() > 1) {
|
||||
AbstractCharacter.removeRune(player, origin, comps.get(1).intValue());
|
||||
}
|
||||
break;
|
||||
} else if ((byte) item.chargesRemaining > 0) {
|
||||
ArrayList<Long> tarList = msg.getTargetCompID();
|
||||
AbstractWorldObject target = player;
|
||||
if (tarList.size() > 1) {
|
||||
long tarID = tarList.get(1);
|
||||
if (tarID != 0) {
|
||||
AbstractGameObject tarAgo = AbstractGameObject.getFromTypeAndID(tarID);
|
||||
if (tarAgo != null && tarAgo instanceof AbstractWorldObject) {
|
||||
target = (AbstractWorldObject) tarAgo;
|
||||
}
|
||||
}
|
||||
break;
|
||||
} else if (uuid > 249999 && uuid < 250123) { //stat and mastery runes
|
||||
if (ApplyRuneMsg.applyRune(uuid, origin, player)) {
|
||||
itemMan.consume(item);
|
||||
}
|
||||
break;
|
||||
} else if (uuid > 250114 && uuid < 250123) { //mastery runes
|
||||
if (ApplyRuneMsg.applyRune(uuid, origin, player)) {
|
||||
itemMan.consume(item);
|
||||
}
|
||||
break;
|
||||
} else if (uuid > 252122 && uuid < 252128) { //mastery runes
|
||||
if (ApplyRuneMsg.applyRune(uuid, origin, player)) {
|
||||
itemMan.consume(item);
|
||||
}
|
||||
break;
|
||||
} else if (uuid > 680069 && uuid < 680074) //Handle Charter, Deed, Petition, Warrant here
|
||||
{
|
||||
break;
|
||||
} else if (uuid > 910010 && uuid < 910019) {
|
||||
}
|
||||
|
||||
int rank = uuid - 910010;
|
||||
// Bypass for waterbuckets
|
||||
|
||||
if (rank < 1 || rank > 8) {
|
||||
ChatManager.chatSystemError(player, "Invalid Rank for bane scroll!");
|
||||
return true;
|
||||
}
|
||||
// Only one banestone at a time
|
||||
lock.writeLock().lock();
|
||||
// test character targeted
|
||||
|
||||
try {
|
||||
if (Bane.summonBanestone(player, origin, rank) == true)
|
||||
itemMan.consume(item);
|
||||
} finally {
|
||||
lock.writeLock().unlock();
|
||||
}
|
||||
break;
|
||||
} else if (uuid == 910010) { //tears of saedron
|
||||
if (comps.size() > 1) {
|
||||
AbstractCharacter.removeRune(player, origin, comps.get(1).intValue());
|
||||
}
|
||||
break;
|
||||
} else if ((byte) item.chargesRemaining > 0) {
|
||||
ArrayList<Long> tarList = msg.getTargetCompID();
|
||||
AbstractWorldObject target = player;
|
||||
if (tarList.size() > 1) {
|
||||
long tarID = tarList.get(1);
|
||||
if (tarID != 0) {
|
||||
AbstractGameObject tarAgo = AbstractGameObject.getFromTypeAndID(tarID);
|
||||
if (tarAgo != null && tarAgo instanceof AbstractWorldObject) {
|
||||
target = (AbstractWorldObject) tarAgo;
|
||||
}
|
||||
if (item.template.template_id == 910005) {
|
||||
|
||||
// test for valid target type
|
||||
if (target.getObjectType() == Enum.GameObjectType.PlayerCharacter)
|
||||
waterbucketBypass = true;
|
||||
else {
|
||||
// test distance to structure
|
||||
Building targetBuilding = (Building) target;
|
||||
Bounds testBounds = Bounds.borrow();
|
||||
testBounds.setBounds(player.getLoc(), 25);
|
||||
|
||||
if (Bounds.collide(targetBuilding.getBounds(), testBounds, .1f) == false) {
|
||||
ChatManager.chatSystemError(player, "Not in range of structura for to heal!");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Bypass for waterbuckets
|
||||
// Send piss bucket animation
|
||||
|
||||
// test character targeted
|
||||
VisualUpdateMessage vum = new VisualUpdateMessage(player, 16323);
|
||||
vum.configure();
|
||||
DispatchMessage.sendToAllInRange(player, vum);
|
||||
}
|
||||
|
||||
if (item.template.template_id == 910005) {
|
||||
if (waterbucketBypass == false) {
|
||||
String powerString = item.template.item_power_action.keySet().iterator().next();
|
||||
PowersBase powerAction = PowersManager.powersBaseByIDString.get(powerString);
|
||||
int powerValue = item.template.item_power_action.get(powerString)[0];
|
||||
PowersManager.applyPower(player, target, Vector3fImmutable.ZERO, powerAction.getToken(), powerValue, true);
|
||||
}
|
||||
itemMan.consume(item);
|
||||
} else //just remove the item at this point
|
||||
itemMan.consume(item);
|
||||
|
||||
// test for valid target type
|
||||
if (target.getObjectType() == Enum.GameObjectType.PlayerCharacter)
|
||||
waterbucketBypass = true;
|
||||
else {
|
||||
// test distance to structure
|
||||
Building targetBuilding = (Building) target;
|
||||
Bounds testBounds = Bounds.borrow();
|
||||
testBounds.setBounds(player.getLoc(), 25);
|
||||
|
||||
if (Bounds.collide(targetBuilding.getBounds(), testBounds, .1f) == false) {
|
||||
ChatManager.chatSystemError(player, "Not in range of structura for to heal!");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Send piss bucket animation
|
||||
|
||||
VisualUpdateMessage vum = new VisualUpdateMessage(player, 16323);
|
||||
vum.configure();
|
||||
DispatchMessage.sendToAllInRange(player, vum);
|
||||
}
|
||||
|
||||
if (waterbucketBypass == false) {
|
||||
String powerString = item.template.item_power_action.keySet().iterator().next();
|
||||
PowersBase powerAction = PowersManager.powersBaseByIDString.get(powerString);
|
||||
int powerValue = item.template.item_power_action.get(powerString)[0];
|
||||
PowersManager.applyPower(player, target, Vector3fImmutable.ZERO, powerAction.getToken(), powerValue, true);
|
||||
}
|
||||
itemMan.consume(item);
|
||||
} else //just remove the item at this point
|
||||
itemMan.consume(item);
|
||||
|
||||
dispatch = Dispatch.borrow(player, msg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, Enum.DispatchChannel.SECONDARY);
|
||||
player.cancelOnSpell();
|
||||
break;
|
||||
default: //shouldn't be here, consume item
|
||||
dispatch = Dispatch.borrow(player, msg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, Enum.DispatchChannel.SECONDARY);
|
||||
// itemMan.consume(item);
|
||||
}
|
||||
dispatch = Dispatch.borrow(player, msg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, Enum.DispatchChannel.SECONDARY);
|
||||
player.cancelOnSpell();
|
||||
break;
|
||||
default: //shouldn't be here, consume item
|
||||
dispatch = Dispatch.borrow(player, msg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, Enum.DispatchChannel.SECONDARY);
|
||||
// itemMan.consume(item);
|
||||
}
|
||||
} else {
|
||||
// TODO log item does not belong to player
|
||||
// System.out.println("Item does not belong to player");
|
||||
|
||||
@@ -39,21 +39,21 @@ public class PetitionReceivedMsgHandler extends AbstractClientMsgHandler {
|
||||
|
||||
Petition petition = new Petition(petitionReceivedMsg, origin);
|
||||
|
||||
// Write petition to database
|
||||
// Write petition to database
|
||||
|
||||
if (petitionReceivedMsg.petition == PETITION_NEW)
|
||||
DbManager.PetitionQueries.WRITE_PETITION_TO_TABLE(petition);
|
||||
if (petitionReceivedMsg.petition == PETITION_NEW)
|
||||
DbManager.PetitionQueries.WRITE_PETITION_TO_TABLE(petition);
|
||||
|
||||
// Close the petition window
|
||||
// Close the petition window
|
||||
|
||||
if (petitionReceivedMsg.petition == PETITION_NEW)
|
||||
petitionReceivedMsg.petition = PETITION_CLOSE;
|
||||
if (petitionReceivedMsg.petition == PETITION_NEW)
|
||||
petitionReceivedMsg.petition = PETITION_CLOSE;
|
||||
|
||||
petitionReceivedMsg.unknownByte01 = 0;
|
||||
petitionReceivedMsg.unknown04 = 0;
|
||||
petitionReceivedMsg.unknownByte01 = 0;
|
||||
petitionReceivedMsg.unknown04 = 0;
|
||||
|
||||
Dispatch dispatch = Dispatch.borrow(playerCharacter, petitionReceivedMsg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, Enum.DispatchChannel.SECONDARY);
|
||||
Dispatch dispatch = Dispatch.borrow(playerCharacter, petitionReceivedMsg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, Enum.DispatchChannel.SECONDARY);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ public class RepairBuildingMsgHandler extends AbstractClientMsgHandler {
|
||||
//cannot repair mines during 24/7 activity.
|
||||
|
||||
if (targetBuilding.getBlueprint() != null && targetBuilding.getBlueprint().getBuildingGroup() == BuildingGroup.MINE && Mine.getMineFromTower(targetBuilding.getObjectUUID()).isActive == true) {
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@ import engine.net.Dispatch;
|
||||
import engine.net.DispatchMessage;
|
||||
import engine.net.client.ClientConnection;
|
||||
import engine.net.client.msg.*;
|
||||
import engine.objects.AbstractWorldObject;
|
||||
import engine.objects.Account;
|
||||
import engine.objects.PlayerCharacter;
|
||||
import engine.server.MBServerStatics;
|
||||
|
||||
@@ -12,7 +12,10 @@ import engine.net.client.msg.ClientNetMsg;
|
||||
import engine.net.client.msg.PlaceAssetMsg;
|
||||
import engine.net.client.msg.TransferGoldToFromBuildingMsg;
|
||||
import engine.net.client.msg.UpdateGoldMsg;
|
||||
import engine.objects.*;
|
||||
import engine.objects.Building;
|
||||
import engine.objects.CharacterItemManager;
|
||||
import engine.objects.Item;
|
||||
import engine.objects.PlayerCharacter;
|
||||
import org.pmw.tinylog.Logger;
|
||||
|
||||
/*
|
||||
|
||||
@@ -16,7 +16,10 @@ import engine.net.client.ClientConnection;
|
||||
import engine.net.client.msg.ApplyEffectMsg;
|
||||
import engine.net.client.msg.ClientNetMsg;
|
||||
import engine.net.client.msg.TransferItemFromEquipToInventoryMsg;
|
||||
import engine.objects.*;
|
||||
import engine.objects.CharacterItemManager;
|
||||
import engine.objects.Effect;
|
||||
import engine.objects.Item;
|
||||
import engine.objects.PlayerCharacter;
|
||||
import engine.server.MBServerStatics;
|
||||
|
||||
public class TransferItemFromEquipToInventoryHandler extends AbstractClientMsgHandler {
|
||||
|
||||
@@ -19,7 +19,10 @@ import engine.net.client.msg.ApplyEffectMsg;
|
||||
import engine.net.client.msg.ClientNetMsg;
|
||||
import engine.net.client.msg.TransferItemFromEquipToInventoryMsg;
|
||||
import engine.net.client.msg.TransferItemFromInventoryToEquipMsg;
|
||||
import engine.objects.*;
|
||||
import engine.objects.CharacterItemManager;
|
||||
import engine.objects.Effect;
|
||||
import engine.objects.Item;
|
||||
import engine.objects.PlayerCharacter;
|
||||
import engine.server.MBServerStatics;
|
||||
|
||||
public class TransferItemFromInventoryToEquipHandler extends AbstractClientMsgHandler {
|
||||
|
||||
@@ -10,13 +10,11 @@
|
||||
package engine.net.client.msg;
|
||||
|
||||
|
||||
import engine.exception.SerializationException;
|
||||
import engine.net.AbstractConnection;
|
||||
import engine.net.ByteBufferReader;
|
||||
import engine.net.ByteBufferWriter;
|
||||
import engine.net.client.Protocol;
|
||||
import engine.objects.Item;
|
||||
import engine.objects.Item;
|
||||
|
||||
public class LootMsg extends ClientNetMsg {
|
||||
|
||||
|
||||
@@ -467,21 +467,21 @@ public class ManageNPCMsg extends ClientNetMsg {
|
||||
|
||||
ArrayList<String> effectsList = item.getEffectNames();
|
||||
EffectsBase prefix = null;
|
||||
EffectsBase suffix = null;
|
||||
EffectsBase suffix = null;
|
||||
|
||||
for (String effectName : effectsList) {
|
||||
for (String effectName : effectsList) {
|
||||
|
||||
if (effectName.contains("PRE"))
|
||||
prefix = PowersManager.getEffectByIDString(effectName);
|
||||
if (effectName.contains("PRE"))
|
||||
prefix = PowersManager.getEffectByIDString(effectName);
|
||||
|
||||
if (effectName.contains("SUF"))
|
||||
suffix = PowersManager.getEffectByIDString(effectName);
|
||||
}
|
||||
if (effectName.contains("SUF"))
|
||||
suffix = PowersManager.getEffectByIDString(effectName);
|
||||
}
|
||||
|
||||
if ((prefix == null && suffix == null))
|
||||
writer.putInt(0);
|
||||
else
|
||||
writer.putInt(-1497023830);
|
||||
if ((prefix == null && suffix == null))
|
||||
writer.putInt(0);
|
||||
else
|
||||
writer.putInt(-1497023830);
|
||||
|
||||
if ((prefix != null && !item.isRandom()) || (prefix != null && item.isComplete()))
|
||||
writer.putInt(prefix.getToken());
|
||||
@@ -494,7 +494,7 @@ public class ManageNPCMsg extends ClientNetMsg {
|
||||
writer.putInt(0);
|
||||
|
||||
writer.putString(item.name);
|
||||
}
|
||||
}
|
||||
|
||||
writer.putInt(0);
|
||||
writer.putInt(0);
|
||||
@@ -771,6 +771,7 @@ public class ManageNPCMsg extends ClientNetMsg {
|
||||
public void setUnknown06(int unknown06) {
|
||||
this.unknown06 = unknown06;
|
||||
}
|
||||
|
||||
public int getMessageType() {
|
||||
return messageType;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
package engine.net.client.msg;
|
||||
|
||||
import engine.Enum.GameObjectType;
|
||||
import engine.gameManager.BuildingManager;
|
||||
import engine.gameManager.ZoneManager;
|
||||
import engine.math.Vector3fImmutable;
|
||||
import engine.net.AbstractConnection;
|
||||
|
||||
@@ -15,7 +15,10 @@ import engine.net.AbstractConnection;
|
||||
import engine.net.ByteBufferReader;
|
||||
import engine.net.ByteBufferWriter;
|
||||
import engine.net.client.Protocol;
|
||||
import engine.objects.*;
|
||||
import engine.objects.AbstractWorldObject;
|
||||
import engine.objects.CharacterItemManager;
|
||||
import engine.objects.Item;
|
||||
import engine.objects.PlayerCharacter;
|
||||
|
||||
/**
|
||||
* Update gold in inventory and/or bank
|
||||
|
||||
Reference in New Issue
Block a user