|
|
@ -1664,7 +1664,8 @@ public class Mob extends AbstractIntelligenceAgent { |
|
|
|
this.enemy.addAll(this.getMobBase().enemy); |
|
|
|
this.enemy.addAll(this.getMobBase().enemy); |
|
|
|
} |
|
|
|
} |
|
|
|
this.applyMobbaseEffects(); |
|
|
|
this.applyMobbaseEffects(); |
|
|
|
recalculateStats(); |
|
|
|
this.applyEquipmentResists(); |
|
|
|
|
|
|
|
this.recalculateStats(); |
|
|
|
this.setHealth(this.healthMax); |
|
|
|
this.setHealth(this.healthMax); |
|
|
|
|
|
|
|
|
|
|
|
// Set bounds for this mobile
|
|
|
|
// Set bounds for this mobile
|
|
|
@ -1682,6 +1683,18 @@ public class Mob extends AbstractIntelligenceAgent { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void applyEquipmentResists(){ |
|
|
|
|
|
|
|
if(this.equip != null){ |
|
|
|
|
|
|
|
for(MobEquipment equipped : this.equip.values()){ |
|
|
|
|
|
|
|
ItemBase itemBase = equipped.getItemBase(); |
|
|
|
|
|
|
|
if(itemBase.isHeavyArmor() || itemBase.isLightArmor() || itemBase.isMediumArmor()){ |
|
|
|
|
|
|
|
this.resists.setResist(DamageType.Crush, this.resists.getResist(DamageType.Crush,0) + itemBase.getCrushResist()); |
|
|
|
|
|
|
|
this.resists.setResist(DamageType.Slash, this.resists.getResist(DamageType.Slash,0) + itemBase.getCrushResist()); |
|
|
|
|
|
|
|
this.resists.setResist(DamageType.Pierce, this.resists.getResist(DamageType.Pierce,0) + itemBase.getCrushResist()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
protected ConcurrentHashMap<Integer, CharacterPower> initializePowers() { |
|
|
|
protected ConcurrentHashMap<Integer, CharacterPower> initializePowers() { |
|
|
|
return new ConcurrentHashMap<>(MBServerStatics.CHM_INIT_CAP, MBServerStatics.CHM_LOAD, MBServerStatics.CHM_THREAD_LOW); |
|
|
|
return new ConcurrentHashMap<>(MBServerStatics.CHM_INIT_CAP, MBServerStatics.CHM_LOAD, MBServerStatics.CHM_THREAD_LOW); |
|
|
|