forked from MagicBane/Server
fix resource drops
This commit is contained in:
@@ -82,6 +82,20 @@ public class SpecialLootHandler {
|
||||
1452,1500,1502,1525,1527,1550,1552,1575,1577,1600,1602,1650,1652,1700,980100,
|
||||
980102
|
||||
);
|
||||
|
||||
public static final List<Integer> gold_resources = Arrays.asList(
|
||||
1580000, 1580008, 1580009, 1580010, 1580011, 1580017
|
||||
);
|
||||
public static final List<Integer> lumber_resources = Arrays.asList(
|
||||
1580004, 1580005, 1580006, 1580007, 1580018
|
||||
);
|
||||
public static final List<Integer> ore_resources = Arrays.asList(
|
||||
1580000, 1580001, 1580002, 1580003, 1580019
|
||||
);
|
||||
public static final List<Integer> magic_resources = Arrays.asList(
|
||||
1580012, 1580013, 1580014, 1580015, 1580016, 1580020
|
||||
);
|
||||
|
||||
public static void RollContract(Mob mob){
|
||||
Zone zone = getMacroZone(mob);
|
||||
if(zone == null)
|
||||
@@ -246,4 +260,99 @@ public class SpecialLootHandler {
|
||||
MobLoot guard = new MobLoot(mob,guardBase,false);
|
||||
mob.getCharItemManager().addItemToInventory(guard);
|
||||
}
|
||||
|
||||
public static void ResourceDrop(Mob mob){
|
||||
Zone zone = getMacroZone(mob);
|
||||
if(zone == null)
|
||||
return;
|
||||
int resourceId = 0;
|
||||
int roll = ThreadLocalRandom.current().nextInt(125);
|
||||
if(roll == 75){
|
||||
resourceId = getResourceForZone(zone);
|
||||
}
|
||||
if(resourceId == 0)
|
||||
return;
|
||||
ItemBase resourceBase = ItemBase.getItemBase(resourceId);
|
||||
if(resourceBase == null)
|
||||
return;
|
||||
if(mob.getCharItemManager() == null)
|
||||
return;
|
||||
MobLoot resource = new MobLoot(mob,resourceBase,false);
|
||||
|
||||
int stackMax = (int)(Warehouse.maxResources.get(resourceId) * 0.02f);
|
||||
if(stackMax > 100)
|
||||
stackMax = 100;
|
||||
|
||||
resource.setNumOfItems(ThreadLocalRandom.current().nextInt(stackMax));
|
||||
|
||||
mob.getCharItemManager().addItemToInventory(resource);
|
||||
}
|
||||
|
||||
public static int getResourceForZone(Zone zone){
|
||||
Random random = new Random();
|
||||
switch (zone.getObjectUUID())
|
||||
{
|
||||
case 178:
|
||||
case 717:
|
||||
case 632:
|
||||
case 952:
|
||||
case 475:
|
||||
case 371:
|
||||
case 313:
|
||||
case 234:
|
||||
// Ecklund Wilds // ORE MINE
|
||||
// Greensward Pyre // ORE MINE
|
||||
// The Black Bog // ORE MINE
|
||||
// Phaedra's Prize // ORE MINE
|
||||
//plain of ashes ORE MINE
|
||||
// Ashfell Plain // ORE MINE
|
||||
// Kharsoom // ORE MINE
|
||||
// Kralgaar Holm // ORE MINE
|
||||
return ore_resources.get(random.nextInt(ore_resources.size()));
|
||||
case 122:
|
||||
case 824:
|
||||
case 737:
|
||||
case 569:
|
||||
case 590:
|
||||
case 437:
|
||||
case 388:
|
||||
// Sevaath Mere // LUMBER MINE
|
||||
// Grimscairne // LUMBER MINE
|
||||
// Fellgrim Forest // LUMBER MINE
|
||||
// Aedroch Highlands // LUMBER MINE
|
||||
// Leth'khalivar Desert // LUMBER MINE
|
||||
// Western Battleground // LUMBER MINE
|
||||
// Aurrochs Skrae // LUMBER MINE
|
||||
return lumber_resources.get(random.nextInt(lumber_resources.size()));
|
||||
case 197:
|
||||
case 761:
|
||||
case 616:
|
||||
case 951:
|
||||
case 532:
|
||||
case 491:
|
||||
case 353:
|
||||
case 331:
|
||||
// The Doomplain // GOLD MINE
|
||||
// Thollok Marsh // GOLD MINE
|
||||
// Holloch Forest // GOLD MINE
|
||||
// Tainted Swamp // GOLD MINE
|
||||
//Bone Marches // GOLD MINE
|
||||
// Derros Plains // GOLD MINE
|
||||
// The Blood Sands // GOLD MINE
|
||||
// Ymur's Crown // GOLD MINE
|
||||
return gold_resources.get(random.nextInt(gold_resources.size()));
|
||||
case 418:
|
||||
case 842:
|
||||
case 785:
|
||||
case 550:
|
||||
case 508:
|
||||
// Aeran Belendor // MAGIC MINE
|
||||
// Aerath Hellendroth // MAGIC MINE
|
||||
// Vale of Nar Addad // MAGIC MINE
|
||||
// Pandemonium // MAGIC MINE
|
||||
// Valkos Wilds // MAGIC MINE
|
||||
return magic_resources.get(random.nextInt(magic_resources.size()));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user