stronghold mobs no longer lose bonuses from weapon powers
This commit is contained in:
@@ -675,22 +675,47 @@ public enum LootManager {
|
||||
if (commander)
|
||||
multiplier = 2;
|
||||
|
||||
int high = 250000;
|
||||
int low = 65000;
|
||||
int high = 125000;
|
||||
int low = 50000;
|
||||
int gold = ThreadLocalRandom.current().nextInt(low, high + 1) * multiplier;
|
||||
|
||||
if (gold > 0) {
|
||||
MobLoot goldAmount = new MobLoot(mob, gold);
|
||||
mob.getCharItemManager().addItemToInventory(goldAmount);
|
||||
}
|
||||
|
||||
//present drop chance for all
|
||||
if (ThreadLocalRandom.current().nextInt(100) < 35)
|
||||
DropPresent(mob);
|
||||
|
||||
//random contract drop chance for all
|
||||
if (ThreadLocalRandom.current().nextInt(100) < 35) {
|
||||
int contractTableID = 250;
|
||||
contractTableID += ThreadLocalRandom.current().nextInt(0, 12);
|
||||
if (contractTableID > 259)
|
||||
contractTableID = 659;
|
||||
|
||||
if (ThreadLocalRandom.current().nextInt(100) < 35) {
|
||||
int id = rollRandomItem(contractTableID);
|
||||
ItemBase ib = ItemBase.getItemBase(id);
|
||||
if (ib != null) {
|
||||
MobLoot contract = new MobLoot(mob, ib, true);
|
||||
|
||||
if (contract != null)
|
||||
mob.getCharItemManager().addItemToInventory(contract);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//special commander drop chances
|
||||
if (commander) {
|
||||
|
||||
|
||||
//present chance
|
||||
if (ThreadLocalRandom.current().nextInt(100) < 25)
|
||||
DropPresent(mob);
|
||||
|
||||
//present chance
|
||||
if (ThreadLocalRandom.current().nextInt(100) < 25)
|
||||
DropPresent(mob);
|
||||
|
||||
|
||||
@@ -81,6 +81,7 @@ public class StrongholdManager {
|
||||
guard.defenseRating = 2200;
|
||||
guard.setFirstName("Elite Guardian");
|
||||
InterestManager.setObjectDirty(guard);
|
||||
guard.StrongholdGuardian = true;
|
||||
}
|
||||
}
|
||||
//create stronghold commander
|
||||
|
||||
@@ -103,6 +103,8 @@ public class Mob extends AbstractIntelligenceAgent {
|
||||
private boolean lootSync = false;
|
||||
public boolean StrongholdCommander = false;
|
||||
|
||||
public boolean StrongholdGuardian = false;
|
||||
|
||||
|
||||
/**
|
||||
* No Id Constructor
|
||||
@@ -1478,11 +1480,22 @@ public class Mob extends AbstractIntelligenceAgent {
|
||||
} catch (Exception e) {
|
||||
Logger.error(e.getMessage());
|
||||
}
|
||||
|
||||
//Resists.calculateResists(this);
|
||||
if(this.StrongholdCommander || this.StrongholdGuardian){
|
||||
this.setResists(new Resists("Elite"));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public void calculateMaxHealthManaStamina() {
|
||||
|
||||
if(this.StrongholdCommander){
|
||||
this.healthMax = 50000;
|
||||
return;
|
||||
} else if(this.StrongholdGuardian){
|
||||
this.healthMax = 12500;
|
||||
return;
|
||||
}
|
||||
|
||||
float h;
|
||||
float m;
|
||||
float s;
|
||||
@@ -1540,6 +1553,19 @@ public class Mob extends AbstractIntelligenceAgent {
|
||||
|
||||
public void calculateAtrDefenseDamage() {
|
||||
|
||||
if(this.StrongholdCommander){
|
||||
this.maxDamageHandOne = 3500;
|
||||
this.minDamageHandOne = 1500;
|
||||
this.atrHandOne = 3500;
|
||||
this.defenseRating = 3500;
|
||||
return;
|
||||
} else if(this.StrongholdGuardian){
|
||||
this.maxDamageHandOne = 1550;
|
||||
this.minDamageHandOne = 750;
|
||||
this.atrHandOne = 1800;
|
||||
this.defenseRating = 2200;
|
||||
return;
|
||||
}
|
||||
if (this.charItemManager == null || this.equip == null) {
|
||||
Logger.error("Player " + currentID + " missing skills or equipment");
|
||||
defaultAtrAndDamage(true);
|
||||
|
||||
Reference in New Issue
Block a user