ChatSystemMsgchatMsg=newChatSystemMsg(null,mob.getName()+" in "+mob.getParentZone().getName()+" has found the "+specialDrop.getName()+". Are you tough enough to take it?");
//lastly, check mobs inventory for godly or disc runes to send a server announcement
for(Itemit:mob.getInventory()){
}
ItemBaseib=it.getItemBase();
if(ib==null)
break;
if(ib.isDiscRune()||ib.getName().toLowerCase().contains("of the gods")){
ChatSystemMsgchatMsg=newChatSystemMsg(null,mob.getName()+" in "+mob.getParentZone().getName()+" has found the "+ib.getName()+". Are you tough enough to take it?");
//lastly, check mobs inventory for godly or disc runes to send a server announcement
for(Itemit:mob.getInventory()){
ItemBaseib=it.getItemBase();
if(ib==null)
break;
if(ib.isDiscRune()||ib.getName().toLowerCase().contains("of the gods")){
ChatSystemMsgchatMsg=newChatSystemMsg(null,mob.getName()+" in "+mob.getParentZone().getName()+" has found the "+ib.getName()+". Are you tough enough to take it?");
@ -47,13 +47,13 @@ public class FinishSummonsJob extends AbstractScheduleJob {
@@ -47,13 +47,13 @@ public class FinishSummonsJob extends AbstractScheduleJob {
return;
// cannot summon a player in combat
if(this.target.isCombat()){
//if (this.target.isCombat()) {
ErrorPopupMsg.sendErrorMsg(this.source,"Cannot summon player in combat.");
// ErrorPopupMsg.sendErrorMsg(this.source, "Cannot summon player in combat.");
@ -560,12 +560,30 @@ public class ClientMessagePump implements NetMsgHandler {
@@ -560,12 +560,30 @@ public class ClientMessagePump implements NetMsgHandler {
@ -654,6 +672,8 @@ public class ClientMessagePump implements NetMsgHandler {
@@ -654,6 +672,8 @@ public class ClientMessagePump implements NetMsgHandler {
@ -1243,6 +1263,8 @@ public class ClientMessagePump implements NetMsgHandler {
@@ -1243,6 +1263,8 @@ public class ClientMessagePump implements NetMsgHandler {
@ -1347,6 +1369,8 @@ public class ClientMessagePump implements NetMsgHandler {
@@ -1347,6 +1369,8 @@ public class ClientMessagePump implements NetMsgHandler {
@ -1358,219 +1382,192 @@ public class ClientMessagePump implements NetMsgHandler {
@@ -1358,219 +1382,192 @@ public class ClientMessagePump implements NetMsgHandler {
@ -1579,14 +1576,43 @@ public class ClientMessagePump implements NetMsgHandler {
@@ -1579,14 +1576,43 @@ public class ClientMessagePump implements NetMsgHandler {
@ -1646,14 +1672,17 @@ public class ClientMessagePump implements NetMsgHandler {
@@ -1646,14 +1672,17 @@ public class ClientMessagePump implements NetMsgHandler {
max*=(1+(durMod*0.01f));
if(dur>=max||dur<1){
//redundancy message to clear item from window in client
@ -35,26 +36,28 @@ public class ArcMineChangeProductionMsgHandler extends AbstractClientMsgHandler
@@ -35,26 +36,28 @@ public class ArcMineChangeProductionMsgHandler extends AbstractClientMsgHandler
//TODO verify this against the warehouse?
if(GuildStatusController.isInnerCouncil(playerCharacter.getGuildStatus())==false)// is this only GL?
if(!GuildStatusController.isInnerCouncil(playerCharacter.getGuildStatus()))// is this only GL?
@ -63,7 +63,7 @@ public class CityDataHandler extends AbstractClientMsgHandler {
@@ -63,7 +63,7 @@ public class CityDataHandler extends AbstractClientMsgHandler {
// If the hotZone has changed then update the client's map accordingly.
@ -62,7 +62,7 @@ public class DestroyBuildingHandler extends AbstractClientMsgHandler {
@@ -62,7 +62,7 @@ public class DestroyBuildingHandler extends AbstractClientMsgHandler {
@ -102,7 +102,7 @@ public class GroupInviteResponseHandler extends AbstractClientMsgHandler {
@@ -102,7 +102,7 @@ public class GroupInviteResponseHandler extends AbstractClientMsgHandler {
@ -360,6 +360,11 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler {
@@ -360,6 +360,11 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler {
@ -62,16 +62,23 @@ public class MOTDEditHandler extends AbstractClientMsgHandler {
@@ -62,16 +62,23 @@ public class MOTDEditHandler extends AbstractClientMsgHandler {
returntrue;
}
if(type==1)// Guild MOTD
if(type==1){ // Guild MOTD
msg.setMessage(guild.getMOTD());
elseif(type==3)// IC MOTD
guild.updateDatabase();
}elseif(type==3){// IC MOTD
msg.setMessage(guild.getICMOTD());
elseif(type==0){// Nation MOTD
guild.updateDatabase();
}elseif(type==0){// Nation MOTD
Guildnation=guild.getNation();
if(nation==null||!nation.isNation()){
ErrorPopupMsg.sendErrorMsg(playerCharacter,"You do not have such authority!");
@ -105,7 +106,7 @@ public class MerchantMsgHandler extends AbstractClientMsgHandler {
@@ -105,7 +106,7 @@ public class MerchantMsgHandler extends AbstractClientMsgHandler {
ErrorPopupMsg.sendErrorPopup(player,173);// You must be the leader of a guild to receive a blessing
return;
}
@ -126,12 +127,12 @@ public class MerchantMsgHandler extends AbstractClientMsgHandler {
@@ -126,12 +127,12 @@ public class MerchantMsgHandler extends AbstractClientMsgHandler {
realm=RealmMap.getRealmForCity(city);
if(realm.getCanBeClaimed()==false){
if(!realm.getCanBeClaimed()){
ErrorPopupMsg.sendErrorPopup(player,180);// This territory cannot be ruled by anyone
return;
}
if(realm.isRuled()==true){
if(realm.isRuled()){
ErrorPopupMsg.sendErrorPopup(player,178);// This territory is already claimed
return;
}
@ -142,12 +143,12 @@ public class MerchantMsgHandler extends AbstractClientMsgHandler {
@@ -142,12 +143,12 @@ public class MerchantMsgHandler extends AbstractClientMsgHandler {
@ -155,7 +156,7 @@ public class MerchantMsgHandler extends AbstractClientMsgHandler {
@@ -155,7 +156,7 @@ public class MerchantMsgHandler extends AbstractClientMsgHandler {
@ -171,11 +172,9 @@ public class MerchantMsgHandler extends AbstractClientMsgHandler {
@@ -171,11 +172,9 @@ public class MerchantMsgHandler extends AbstractClientMsgHandler {
@ -191,16 +190,31 @@ public class MerchantMsgHandler extends AbstractClientMsgHandler {
@@ -191,16 +190,31 @@ public class MerchantMsgHandler extends AbstractClientMsgHandler {
return;
}
intrank=shrine.getRank();
//R8 trees always get atleast rank 2 boons. rank uses index, where 0 is first place, 1 is second, etc...
ChatManager.chatGuildInfo(player.getGuild(),player.getName()+" has recieved a boon costing "+1+" point of favor.");
shrineBuilding.addEffectBit(1000000<<2);
@ -420,7 +434,7 @@ public class MerchantMsgHandler extends AbstractClientMsgHandler {
@@ -420,7 +434,7 @@ public class MerchantMsgHandler extends AbstractClientMsgHandler {
@ -421,31 +421,12 @@ public class ObjectActionMsgHandler extends AbstractClientMsgHandler {
@@ -421,31 +421,12 @@ public class ObjectActionMsgHandler extends AbstractClientMsgHandler {
itemMan.consume(item);
}
break;
//ANNIVERSERY GIFT
case31:
// *** Disabled for now: Needs bootyset created
//if (ib.getUUID() == 971012) {
// int random = ThreadLocalRandom.current().nextInt(ItemBase.AnniverseryGifts.size());
// int annyID = ItemBase.AnniverseryGifts.get(random);
// Item gift = MobLoot.createItemForPlayer(player, annyIB);
// if (gift != null) {
// itemMan.addItemToInventory(gift);
// itemMan.consume(item);
// }
// }
// break;
//}
LootManager.peddleFate(player,item);
break;
case30://water bucket
case8://potions, tears of saedron
case5://runes, petition, warrant, scrolls
if(uuid>3000&&uuid<3050){//Discipline Runes
if(ApplyRuneMsg.applyRune(uuid,origin,player)){
@ -462,7 +443,12 @@ public class ObjectActionMsgHandler extends AbstractClientMsgHandler {
@@ -462,7 +443,12 @@ public class ObjectActionMsgHandler extends AbstractClientMsgHandler {
itemMan.consume(item);
}
break;
}elseif(uuid>252122&&uuid<252128){//mastery runes
}elseif(uuid>252122&&uuid<252137){//blood runes
if(ApplyRuneMsg.applyRune(uuid,origin,player)){
itemMan.consume(item);
}
break;
}elseif(uuid>252128&&uuid<252128){//mastery runes
if(ApplyRuneMsg.applyRune(uuid,origin,player)){
itemMan.consume(item);
}
@ -528,7 +514,6 @@ public class ObjectActionMsgHandler extends AbstractClientMsgHandler {
@@ -528,7 +514,6 @@ public class ObjectActionMsgHandler extends AbstractClientMsgHandler {
@ -543,7 +528,9 @@ public class ObjectActionMsgHandler extends AbstractClientMsgHandler {
@@ -543,7 +528,9 @@ public class ObjectActionMsgHandler extends AbstractClientMsgHandler {
@ -135,7 +135,8 @@ public class TaxCityMsgHandler extends AbstractClientMsgHandler {
@@ -135,7 +135,8 @@ public class TaxCityMsgHandler extends AbstractClientMsgHandler {
@ -112,6 +112,12 @@ public class BuyFromNPCWindowMsg extends ClientNetMsg {
@@ -112,6 +112,12 @@ public class BuyFromNPCWindowMsg extends ClientNetMsg {
@ -485,36 +485,19 @@ public class ManageCityAssetsMsg extends ClientNetMsg {
@@ -485,36 +485,19 @@ public class ManageCityAssetsMsg extends ClientNetMsg {
@ -992,6 +992,9 @@ public class CharacterSkill extends AbstractGameObject {
@@ -992,6 +992,9 @@ public class CharacterSkill extends AbstractGameObject {
@ -1009,7 +1012,7 @@ public class CharacterSkill extends AbstractGameObject {
@@ -1009,7 +1012,7 @@ public class CharacterSkill extends AbstractGameObject {
@ -1084,6 +1087,9 @@ public class CharacterSkill extends AbstractGameObject {
@@ -1084,6 +1087,9 @@ public class CharacterSkill extends AbstractGameObject {
@ -1099,6 +1105,9 @@ public class CharacterSkill extends AbstractGameObject {
@@ -1099,6 +1105,9 @@ public class CharacterSkill extends AbstractGameObject {
@ -1109,7 +1118,7 @@ public class CharacterSkill extends AbstractGameObject {
@@ -1109,7 +1118,7 @@ public class CharacterSkill extends AbstractGameObject {
@ -1465,11 +1514,31 @@ public class Mob extends AbstractIntelligenceAgent {
@@ -1465,11 +1514,31 @@ public class Mob extends AbstractIntelligenceAgent {
@ -175,6 +176,10 @@ public class PlayerCharacter extends AbstractCharacter {
@@ -175,6 +176,10 @@ public class PlayerCharacter extends AbstractCharacter {
@ -780,6 +785,9 @@ public class PlayerCharacter extends AbstractCharacter {
@@ -780,6 +785,9 @@ public class PlayerCharacter extends AbstractCharacter {
// Verify Race
intraceID=msg.getRace();
if(raceID==0)
raceID=1999;
Racerace=Race.getRace(raceID);
if(race==null){
@ -812,33 +820,34 @@ public class PlayerCharacter extends AbstractCharacter {
@@ -812,33 +820,34 @@ public class PlayerCharacter extends AbstractCharacter {
Logger.info("Invalid HairStyleID: "+hairStyleID+" for race: "+race.getName());
returnnull;
}
if(raceID!=1999){
if(!race.isValidHairStyle(hairStyleID)){
Logger.info("Invalid HairStyleID: "+hairStyleID+" for race: "+race.getName());
returnnull;
}
if(!race.isValidSkinColor(skinColorID)){
Logger.info("Invalid skinColorID: "+skinColorID+" for race: "+race.getName());
returnnull;
}
if(!race.isValidSkinColor(skinColorID)){
Logger.info("Invalid skinColorID: "+skinColorID+" for race: "+race.getName());
returnnull;
}
if(!race.isValidHairColor(hairColorID)){
Logger.info("Invalid hairColorID: "+hairColorID+" for race: "+race.getName());
returnnull;
}
if(!race.isValidHairColor(hairColorID)){
Logger.info("Invalid hairColorID: "+hairColorID+" for race: "+race.getName());
returnnull;
}
if(!race.isValidBeardColor(beardColorID)){
Logger.info("Invalid beardColorID: "+beardColorID+" for race: "+race.getName());
returnnull;
if(!race.isValidBeardColor(beardColorID)){
Logger.info("Invalid beardColorID: "+beardColorID+" for race: "+race.getName());
returnnull;
}
}
// Get stat modifiers
intstrMod=msg.getStrengthMod();
intdexMod=msg.getDexterityMod();
@ -926,11 +935,12 @@ public class PlayerCharacter extends AbstractCharacter {
@@ -926,11 +935,12 @@ public class PlayerCharacter extends AbstractCharacter {
}
// Validate Rune against Race
if(!race.isAllowedRune(runeBase)){
Logger.info("Trait Not valid for Race");
returnnull;
if(raceID!=1999){
if(!race.isAllowedRune(runeBase)){
Logger.info("Trait Not valid for Race");
returnnull;
}
}
// Validate BaseClass against Race
if(!baseClass.isAllowedRune(runeBase)){
Logger.info("Trait Not valid for BaseClass");
@ -1119,9 +1129,15 @@ public class PlayerCharacter extends AbstractCharacter {
@@ -1119,9 +1129,15 @@ public class PlayerCharacter extends AbstractCharacter {
@ -1151,6 +1167,13 @@ public class PlayerCharacter extends AbstractCharacter {
@@ -1151,6 +1167,13 @@ public class PlayerCharacter extends AbstractCharacter {
@ -1825,20 +1848,20 @@ public class PlayerCharacter extends AbstractCharacter {
@@ -1825,20 +1848,20 @@ public class PlayerCharacter extends AbstractCharacter {
@ -4787,15 +4810,64 @@ public class PlayerCharacter extends AbstractCharacter {
@@ -4787,15 +4810,64 @@ public class PlayerCharacter extends AbstractCharacter {
@ -4811,6 +4883,25 @@ public class PlayerCharacter extends AbstractCharacter {
@@ -4811,6 +4883,25 @@ public class PlayerCharacter extends AbstractCharacter {
//ChatManager.chatSystemInfo(this, "You Cannot Fly While Having A MovementBuff");
}
}
}catch(Exceptione){
Logger.error(e);
@ -4819,7 +4910,46 @@ public class PlayerCharacter extends AbstractCharacter {
@@ -4819,7 +4910,46 @@ public class PlayerCharacter extends AbstractCharacter {
@ -150,6 +150,7 @@ public class PromotionClass extends AbstractGameObject {
@@ -150,6 +150,7 @@ public class PromotionClass extends AbstractGameObject {
@ -45,13 +45,10 @@ public class RunegateTeleportPowerAction extends AbstractPowerAction {
@@ -45,13 +45,10 @@ public class RunegateTeleportPowerAction extends AbstractPowerAction {
@ -78,7 +78,7 @@ public class StealPowerAction extends AbstractPowerAction {
@@ -78,7 +78,7 @@ public class StealPowerAction extends AbstractPowerAction {
@ -131,8 +131,23 @@ public class StealPowerAction extends AbstractPowerAction {
@@ -131,8 +131,23 @@ public class StealPowerAction extends AbstractPowerAction {
//Handle target attacking back if in combat and has no other target
Logger.debug("Null mine building for Mine "+mine.getObjectUUID()+" Building "+mine.getBuildingID());
returnfalse;
}
// Mine building still stands; nothing to do.
// We can early exit here.
if(mineBuilding.getRank()>0){
mine.setActive(false);
mine.lastClaimer=null;
ChatSystemMsgchatMsg=newChatSystemMsg(null,mine.guildName+" has defended the mine in "+mine.getParentZone().getParent().getName()+". The mine is no longer active.");
ChatSystemMsgchatMsg=newChatSystemMsg(null,mine.lastClaimer.getName()+" has claimed the mine in "+mine.getParentZone().getParent().getName()+" for "+mine.getOwningGuild().getName()+". The mine is no longer active.");
ChatSystemMsgchatMsg=newChatSystemMsg(null,mine.lastClaimer.getName()+" has claimed the mine in "+mine.getParentZone().getParent().getName()+" for "+mine.getOwningGuild().getName()+". The mine is no longer active.");