forked from MagicBane/Server
hotfixes
This commit is contained in:
@@ -119,7 +119,7 @@ public class StrongholdManager {
|
|||||||
commander.stronghold = mine;
|
commander.stronghold = mine;
|
||||||
}
|
}
|
||||||
|
|
||||||
mine.setActive(true);
|
mine.isActive = true;
|
||||||
tower.setProtectionState(Enum.ProtectionState.PROTECTED);
|
tower.setProtectionState(Enum.ProtectionState.PROTECTED);
|
||||||
tower.getBounds().setRegions(tower);
|
tower.getBounds().setRegions(tower);
|
||||||
InterestManager.setObjectDirty(tower);
|
InterestManager.setObjectDirty(tower);
|
||||||
@@ -158,7 +158,7 @@ public class StrongholdManager {
|
|||||||
//update tower to become Mine Tower again
|
//update tower to become Mine Tower again
|
||||||
tower.setMeshUUID(1500100);
|
tower.setMeshUUID(1500100);
|
||||||
|
|
||||||
mine.setActive(false);
|
mine.isActive = false;
|
||||||
tower.setProtectionState(Enum.ProtectionState.NPC);
|
tower.setProtectionState(Enum.ProtectionState.NPC);
|
||||||
tower.getBounds().setRegions(tower);
|
tower.getBounds().setRegions(tower);
|
||||||
InterestManager.setObjectDirty(tower);
|
InterestManager.setObjectDirty(tower);
|
||||||
|
|||||||
@@ -37,11 +37,11 @@ public class ItemTableEntry {
|
|||||||
List<ItemTableEntry> itemTableEntryList;
|
List<ItemTableEntry> itemTableEntryList;
|
||||||
|
|
||||||
itemTableEntryList = LootManager._itemTables.get(itemTable);
|
itemTableEntryList = LootManager._itemTables.get(itemTable);
|
||||||
|
if(itemTableEntryList != null) {
|
||||||
for (ItemTableEntry iteration : itemTableEntryList)
|
for (ItemTableEntry iteration : itemTableEntryList)
|
||||||
if (roll >= iteration.minRoll && roll <= iteration.maxRoll)
|
if (roll >= iteration.minRoll && roll <= iteration.maxRoll)
|
||||||
itemTableEntry = iteration;
|
itemTableEntry = iteration;
|
||||||
|
}
|
||||||
return itemTableEntry;
|
return itemTableEntry;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,11 +33,11 @@ public class ModTableEntry {
|
|||||||
List<ModTableEntry> itemTableEntryList;
|
List<ModTableEntry> itemTableEntryList;
|
||||||
|
|
||||||
itemTableEntryList = LootManager._modTables.get(modTablwe);
|
itemTableEntryList = LootManager._modTables.get(modTablwe);
|
||||||
|
if(itemTableEntryList != null) {
|
||||||
for (ModTableEntry iteration : itemTableEntryList)
|
for (ModTableEntry iteration : itemTableEntryList)
|
||||||
if (roll >= iteration.minRoll && roll <= iteration.maxRoll)
|
if (roll >= iteration.minRoll && roll <= iteration.maxRoll)
|
||||||
modTableEntry = iteration;
|
modTableEntry = iteration;
|
||||||
|
}
|
||||||
return modTableEntry;
|
return modTableEntry;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -911,12 +911,13 @@ public class MobAI {
|
|||||||
|
|
||||||
private static void CheckToSendMobHome(Mob mob) {
|
private static void CheckToSendMobHome(Mob mob) {
|
||||||
|
|
||||||
if(mob.BehaviourType.equals(Enum.MobBehaviourType.Pet1)){
|
|
||||||
if(mob.loc.distanceSquared(mob.getOwner().loc) > 60 * 60)
|
|
||||||
mob.teleport(mob.getOwner().loc);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
try {
|
try {
|
||||||
|
if(mob.BehaviourType.equals(Enum.MobBehaviourType.Pet1)){
|
||||||
|
if(mob.loc.distanceSquared(mob.getOwner().loc) > 60 * 60)
|
||||||
|
mob.teleport(mob.getOwner().loc);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (mob.BehaviourType.isAgressive) {
|
if (mob.BehaviourType.isAgressive) {
|
||||||
|
|
||||||
if (mob.isPlayerGuard()) {
|
if (mob.isPlayerGuard()) {
|
||||||
@@ -1353,21 +1354,24 @@ public class MobAI {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void RecoverHealth(Mob mob){
|
public static void RecoverHealth(Mob mob) {
|
||||||
//recover health
|
//recover health
|
||||||
|
try {
|
||||||
if (mob.getTimestamps().containsKey("HEALTHRECOVERED") == false)
|
if (mob.getTimestamps().containsKey("HEALTHRECOVERED") == false)
|
||||||
mob.getTimestamps().put("HEALTHRECOVERED", System.currentTimeMillis());
|
|
||||||
|
|
||||||
if (mob.isSit() && mob.getTimeStamp("HEALTHRECOVERED") < System.currentTimeMillis() + 3000)
|
|
||||||
if (mob.getHealth() < mob.getHealthMax()) {
|
|
||||||
|
|
||||||
float recoveredHealth = mob.getHealthMax() * ((1 + mob.getBonuses().getFloatPercentAll(Enum.ModType.HealthRecoverRate, Enum.SourceType.None)) * 0.01f);
|
|
||||||
mob.setHealth(mob.getHealth() + recoveredHealth);
|
|
||||||
mob.getTimestamps().put("HEALTHRECOVERED", System.currentTimeMillis());
|
mob.getTimestamps().put("HEALTHRECOVERED", System.currentTimeMillis());
|
||||||
|
|
||||||
if (mob.getHealth() > mob.getHealthMax())
|
if (mob.isSit() && mob.getTimeStamp("HEALTHRECOVERED") < System.currentTimeMillis() + 3000)
|
||||||
mob.setHealth(mob.getHealthMax());
|
if (mob.getHealth() < mob.getHealthMax()) {
|
||||||
}
|
|
||||||
|
float recoveredHealth = mob.getHealthMax() * ((1 + mob.getBonuses().getFloatPercentAll(Enum.ModType.HealthRecoverRate, Enum.SourceType.None)) * 0.01f);
|
||||||
|
mob.setHealth(mob.getHealth() + recoveredHealth);
|
||||||
|
mob.getTimestamps().put("HEALTHRECOVERED", System.currentTimeMillis());
|
||||||
|
|
||||||
|
if (mob.getHealth() > mob.getHealthMax())
|
||||||
|
mob.setHealth(mob.getHealthMax());
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
Logger.info(mob.getObjectUUID() + " " + mob.getName() + " Failed At: RecoverHealth" + " " + e.getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1423,8 +1423,9 @@ public class Mob extends AbstractIntelligenceAgent {
|
|||||||
WorldGrid.RemoveWorldObject(this);
|
WorldGrid.RemoveWorldObject(this);
|
||||||
this.charItemManager.clearInventory();
|
this.charItemManager.clearInventory();
|
||||||
|
|
||||||
if(this.StrongholdEpic)
|
if(this.StrongholdEpic && this.stronghold != null && this.stronghold.isActive)
|
||||||
StrongholdManager.EndStronghold(this.stronghold);
|
this.stronghold.isActive = false;
|
||||||
|
//StrongholdManager.EndStronghold(this.stronghold);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user