Compare commits

..

7 Commits

7 changed files with 20 additions and 5 deletions
+10
View File
@@ -221,6 +221,16 @@ public enum CombatManager {
if (inRange) {
if(attacker.getObjectType().equals(mbEnums.GameObjectType.PlayerCharacter)){
if(!attacker.getTimestamps().contains(slot.name()+"Attack")){
attacker.getTimestamps().put(slot.name()+"Attack", System.currentTimeMillis() - 1000);
} else if(System.currentTimeMillis() < attacker.getTimestamps().get(slot.name()+"Attack") + delay){
setAutoAttackJob(attacker,slot,delay);
return;
}
}
//handle retaliate
if (AbstractCharacter.IsAbstractCharacter(target)) {
if (((AbstractCharacter) target).combatTarget == null || !((AbstractCharacter) target).combatTarget.isAlive()) {
+2 -2
View File
@@ -265,12 +265,12 @@ public enum ForgeManager implements Runnable {
// Assign a prefix and suffix to this item if random rolled
if (workOrder.prefixToken == 0)
if (workOrder.prefixToken == 0 && workOrder.vendor.getItemModTable().contains((template.modTable)))
forgedItem.prefixToken = calcRandomMod(workOrder.vendor, mbEnums.ItemModType.PREFIX, template.modTable);
else
forgedItem.prefixToken = workOrder.prefixToken;
if (workOrder.suffixToken == 0)
if (workOrder.suffixToken == 0 && workOrder.vendor.getItemModTable().contains((template.modTable)))
forgedItem.suffixToken = calcRandomMod(workOrder.vendor, mbEnums.ItemModType.SUFFIX, template.modTable);
else
forgedItem.suffixToken = workOrder.suffixToken;
+1 -1
View File
@@ -102,7 +102,7 @@ public enum ItemManager {
if (characterSkill == null)
return false;
if (characterSkill.getModifiedAmountBeforeMods() > required_value)
if (characterSkill.getModifiedAmountBeforeMods() >= required_value)
return true;
}
+2 -1
View File
@@ -135,7 +135,8 @@ public class WorkOrder implements Delayed {
if (!workOrder.vendor.charItemManager.hasRoomInventory(template.item_wt))
return 30; //30: That person cannot carry that item
if (!workOrder.vendor.getItemModTable().contains((template.modTable)))
if ((workOrder.prefixToken != 0 || workOrder.suffixToken != 0) &&
!workOrder.vendor.getItemModTable().contains((template.modTable)))
return 59; //59: This hireling does not have this formula
if (!Warehouse.calcCostOverrun(workOrder).isEmpty())
@@ -102,6 +102,9 @@ public class InviteToSubHandler extends AbstractClientMsgHandler {
//source guild is limited to 7 subs
//TODO this should be based on TOL rank
//cannot be subbed into a nation if you already have your own sub guilds
if(targetGuild.getSubGuildList() != null && targetGuild.getSubGuildList().size() > 0)
return true;
if (!sourceGuild.canSubAGuild(targetGuild)) {
sendChat(source, "This Guild can't be subbed.");
@@ -54,7 +54,7 @@ public class PetAttackMsgHandler extends AbstractClientMsgHandler {
pet.setCombatTarget(PlayerCharacter.getPlayerCharacter(msg.getTargetID()));
switch (msg.getTargetType()) {
case 53: //player character
case 52: //player character
pet.setCombatTarget(PlayerCharacter.getPlayerCharacter(msg.getTargetID()));
break;
case 37://mob
@@ -1400,6 +1400,7 @@ public class CharacterItemManager {
if (!ItemManager.validForSkills(item, pc.getSkills())) {
this.forceToInventory(slot, item, pc, initialized);
this.equipped.remove(slot);
pc.applyBonuses();
}
}