Browse Source

new Fate Peddler

lakebane-jobs
FatBoy-DOTC 2 days ago
parent
commit
4b760baae4
  1. 68
      src/engine/gameManager/LootManager.java
  2. 4
      src/engine/net/client/handlers/ObjectActionMsgHandler.java
  3. 6
      src/engine/objects/Contract.java

68
src/engine/gameManager/LootManager.java

@ -642,6 +642,74 @@ public enum LootManager {
} }
} }
public static void newFatePeddler(PlayerCharacter playerCharacter, Item gift) {
CharacterItemManager itemMan = playerCharacter.getCharItemManager();
if (itemMan == null)
return;
//check if player owns the gift he is trying to open
if (!itemMan.doesCharOwnThisItem(gift.getObjectUUID()))
return;
ItemBase ib = gift.getItemBase();
MobLoot winnings = null;
if (ib == null)
return;
switch (ib.getUUID()) {
case 971070: //wrapped rune
ItemBase runeBase = null;
int roll = ThreadLocalRandom.current().nextInt(static_rune_ids.size() + 1);
int itemId = static_rune_ids.get(0);
try {
itemId = static_rune_ids.get(roll);
}catch(Exception e){
}
runeBase = ItemBase.getItemBase(itemId);
if(runeBase != null) {
winnings = new MobLoot(playerCharacter, runeBase, 1, false);
}
break;
case 971012: //wrapped glass
int chance = ThreadLocalRandom.current().nextInt(100);
if(chance == 50){
ItemBase glassBase =ItemBase.getItemBase(rollRandomItem(126));
if(glassBase != null)
winnings = new MobLoot(playerCharacter, ib, 1, false);
}else{
ChatManager.chatSystemInfo(playerCharacter, "Please Try Again!");
}
break;
}
if (winnings == null)
return;
//early exit if the inventory of the player will not hold the item
if (!itemMan.hasRoomInventory(winnings.getItemBase().getWeight())) {
ErrorPopupMsg.sendErrorPopup(playerCharacter, 21);
return;
}
winnings.setIsID(true);
//remove gift from inventory
itemMan.consume(gift);
//add winnings to player inventory
Item playerWinnings = winnings.promoteToItem(playerCharacter);
itemMan.addItemToInventory(playerWinnings);
itemMan.updateInventory();
}
public static void peddleFate(PlayerCharacter playerCharacter, Item gift) { public static void peddleFate(PlayerCharacter playerCharacter, Item gift) {
//get table ID for the itembase ID //get table ID for the itembase ID

4
src/engine/net/client/handlers/ObjectActionMsgHandler.java

@ -424,9 +424,9 @@ public class ObjectActionMsgHandler extends AbstractClientMsgHandler {
} }
break; break;
case 31: case 31:
LootManager.peddleFate(player,item); //LootManager.peddleFate(player,item);
LootManager.newFatePeddler(player,item);
break; break;
case 30: //water bucket case 30: //water bucket
case 8: //potions, tears of saedron case 8: //potions, tears of saedron
case 5: //runes, petition, warrant, scrolls case 5: //runes, petition, warrant, scrolls

6
src/engine/objects/Contract.java

@ -587,6 +587,12 @@ public class Contract extends AbstractGameObject {
} }
} }
if(this.getObjectUUID() == 1502050){
for(MobEquipment me : this.sellInventory){
me.magicValue = 1000000;
}
}
if(this.getObjectUUID() == 1202){ //rune merchant if(this.getObjectUUID() == 1202){ //rune merchant
for(MobEquipment me : this.sellInventory){ for(MobEquipment me : this.sellInventory){
switch(me.getItemBase().getUUID()){ switch(me.getItemBase().getUUID()){

Loading…
Cancel
Save