Merge branch 'lakebane-mines' into lakebane-custom-races
This commit is contained in:
@@ -1254,33 +1254,37 @@ public class CharacterItemManager {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if(ItemBase.getItemBase(i.getItemBaseID()).getType().ordinal() == Enum.ItemType.RESOURCE.ordinal()) {
|
||||
int count = i.getNumOfItems();
|
||||
ArrayList<Item> purge = new ArrayList<>();
|
||||
for(Item item : this.inventory){
|
||||
if(item.getItemBaseID() == i.getItemBaseID()){
|
||||
if(item.getNumOfItems() + count <= Warehouse.getMaxResources().get(i.getItemBaseID())){
|
||||
purge.add(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
for(Item item : purge){
|
||||
count += item.getNumOfItems();
|
||||
this.removeItemFromInventory(item);
|
||||
item.junk();
|
||||
}
|
||||
Item resource = new MobLoot(this.getOwner(),i.getItemBase(),count,false).promoteToItem((PlayerCharacter)this.getOwner());
|
||||
this.inventory.add(resource);
|
||||
this.itemIDtoType.put(resource.getObjectUUID(), resource.getObjectType().ordinal());
|
||||
this.updateInventory(purge,false);
|
||||
return true;
|
||||
}
|
||||
} //else if (i.getItemBase().getType().equals(ItemType.RESOURCE)) {
|
||||
// if(this.inventoryContainsResource(i)){
|
||||
// Item resource = getResource(i);
|
||||
// if(resource != null){
|
||||
// resource.setNumOfItems(resource.getNumOfItems() + i.getNumOfItems());
|
||||
// return true;
|
||||
// }
|
||||
//}
|
||||
// }
|
||||
|
||||
this.inventory.add(i);
|
||||
this.itemIDtoType.put(i.getObjectUUID(), i.getObjectType().ordinal());
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean inventoryContainsResource(Item resource) {
|
||||
for(Item i : this.inventory){
|
||||
if(i.getItemBaseID() == resource.getItemBaseID())
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private Item getResource(Item resource) {
|
||||
for(Item i : this.inventory){
|
||||
if(i.getItemBaseID() == resource.getItemBaseID())
|
||||
return i;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
//called for adding gold of a specified amount
|
||||
public synchronized boolean addItemToInventory(Item i, int amount) {
|
||||
if (i.getItemBase().getType().equals(ItemType.GOLD))
|
||||
|
||||
@@ -1736,6 +1736,14 @@ public class Mob extends AbstractIntelligenceAgent {
|
||||
if(this.behaviourType.equals(MobBehaviourType.HamletGuard) && this.getMobBaseID() == 14104) {//guards
|
||||
this.behaviourType = MobBehaviourType.Aggro;
|
||||
}
|
||||
|
||||
for(MobEquipment equipped: this.equip.values()){
|
||||
if(equipped.getItemBase().isVorg() && this.getMobBaseID() != 14062){
|
||||
this.healthMax = 7500;
|
||||
this.setHealth(this.healthMax);
|
||||
this.level = 65;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -3325,7 +3325,9 @@ public class PlayerCharacter extends AbstractCharacter {
|
||||
|
||||
if (this.equals(tar))
|
||||
return true;
|
||||
|
||||
if(this.getSeeInvis() >= 20){
|
||||
return !tar.safemodeInvis();
|
||||
}
|
||||
return this.getSeeInvis() >= tar.hidden && !tar.safemodeInvis();
|
||||
}
|
||||
|
||||
@@ -4802,17 +4804,6 @@ public class PlayerCharacter extends AbstractCharacter {
|
||||
//}
|
||||
if(this.isEnteredWorld() && this.isActive() && this.getLevel() < 10){
|
||||
this.setLevel((short) 10);
|
||||
boolean hasConc = false;
|
||||
for(Item i : this.getCharItemManager().getInventory()){
|
||||
if(i.getItemBaseID() == 980066){
|
||||
hasConc = true;
|
||||
}
|
||||
}
|
||||
if(hasConc == false) {
|
||||
MobLoot conc = new MobLoot(this, ItemBase.getItemBase(980066), false);
|
||||
this.getCharItemManager().addItemToInventory(conc.promoteToItem(this), 1);
|
||||
this.getCharItemManager().updateInventory();
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -393,8 +393,6 @@ public class Resists {
|
||||
* Expects heals as negative damage and damage as positive damage for fortitudes.
|
||||
*/
|
||||
public float getResistedDamage(AbstractCharacter source, AbstractCharacter target, DamageType type, float damage, int trains) {
|
||||
//handle fortitudes
|
||||
damage = handleFortitude(target, type, damage);
|
||||
//calculate armor piercing
|
||||
float ap = source.getBonuses().getFloatPercentAll(ModType.ArmorPiercing, SourceType.None);
|
||||
float damageAfterResists = damage * (1 - (this.getResist(type, trains) * 0.01f) + ap);
|
||||
@@ -417,6 +415,8 @@ public class Resists {
|
||||
}
|
||||
target.cancelOnTakeDamage(type, (damageAfterResists));
|
||||
}
|
||||
//handle fortitudes last
|
||||
damageAfterResists = handleFortitude(target, type, damageAfterResists);
|
||||
return damageAfterResists;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user