Compare commits

..

No commits in common. 'mixbane' and 'master' have entirely different histories.

  1. 32
      src/engine/net/client/ClientMessagePump.java
  2. 1
      src/engine/objects/CharacterItemManager.java
  3. 44
      src/engine/objects/Mob.java

32
src/engine/net/client/ClientMessagePump.java

@ -560,40 +560,12 @@ public class ClientMessagePump implements NetMsgHandler { @@ -560,40 +560,12 @@ public class ClientMessagePump implements NetMsgHandler {
if (!itemManager.inventoryContains(i))
return;
if (i.isCanDestroy()) {
if (itemManager.delete(i)) {
if (i.isCanDestroy())
if (itemManager.delete(i) == true) {
Dispatch dispatch = Dispatch.borrow(sourcePlayer, msg);
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.SECONDARY);
}
}
ItemBase ib = i.getItemBase();
if(ib == null)
return;
if(ib.getUUID() == 7) // don't allow gold to junk for gold
return;
int value = ib.getBaseValue();
Item gold = itemManager.getGoldInventory();
int curAmt;
if (gold == null)
curAmt = 0;
else
curAmt = gold.getNumOfItems();
if ((curAmt + value) > MBServerStatics.PLAYER_GOLD_LIMIT) {
ChatManager.chatSystemInfo(sourcePlayer, "This would place your inventory over " + MBServerStatics.PLAYER_GOLD_LIMIT + " gold.");
return;
}
itemManager.addGoldToInventory(value, false);
itemManager.updateInventory();
//test
}
private static void ackBankWindowOpened(AckBankWindowOpenedMsg msg, ClientConnection origin) {

1
src/engine/objects/CharacterItemManager.java

@ -970,6 +970,7 @@ public class CharacterItemManager { @@ -970,6 +970,7 @@ public class CharacterItemManager {
// if (i.getObjectType() != GameObjectType.MobLoot)
// CharacterItemManager.junkedItems.add(i);
calculateWeights();
if (updateInventory)

44
src/engine/objects/Mob.java

@ -1242,50 +1242,6 @@ public class Mob extends AbstractIntelligenceAgent { @@ -1242,50 +1242,6 @@ public class Mob extends AbstractIntelligenceAgent {
}
}
killCleanup();
if (attacker.getObjectType() == GameObjectType.PlayerCharacter) {
autoLoot((PlayerCharacter)attacker, this);
}
}
public static void autoLoot(PlayerCharacter pc, Mob mob){
for (Item loot : mob.charItemManager.getInventory(true)) {
try {
if (loot != null && loot.getObjectType() == GameObjectType.MobLoot) {
if (loot.getItemBaseID() == 7) {
if (GroupManager.getGroup(pc) != null && GroupManager.getGroup(pc).getSplitGold()) {
GroupManager.goldSplit(pc, loot, pc.getClientConnection(), mob);
} else {
if (mob.charItemManager.getGoldInventory().getNumOfItems() > 0) {
if (pc.charItemManager.getGoldInventory().getNumOfItems() + loot.getNumOfItems() <= MBServerStatics.PLAYER_GOLD_LIMIT) {
pc.charItemManager.addGoldToInventory(loot.getNumOfItems(), false);
mob.charItemManager.delete(loot);
}
}
}
} else {
if (pc.charItemManager.hasRoomInventory(loot.getItemBase().getWeight())) {
Item convert = ((MobLoot) loot).promoteToItem(pc);
if (convert != null) {
pc.charItemManager.addItemToInventory(convert);
if (GroupManager.getGroup(pc) != null && GroupManager.getGroup(pc).getSplitGold()) {
String name = loot.getName();
String text = pc.getFirstName() + " has looted " + name + '.';
ChatManager.chatGroupInfoCanSee(pc, text);
}
mob.charItemManager.delete(loot);
}
}
}
}
}catch(Exception ignored){
}
}
pc.charItemManager.updateInventory();
mob.charItemManager.updateInventory();
//if(mob.charItemManager.getInventory().size() < 1)
// mob.despawn();
}
public void updateLocation() {

Loading…
Cancel
Save