So as promised, the video guide
How to farm high PM with crap gear - YouTube
This is of course self explanatory.
How to farm high PM with crap gear - YouTube
This is of course self explanatory.
Last edited:
Well i got the 1.6.3.4 to work, and i bought gear for 150 mil, and that is a full IK set, witch could have been the wrong move cause the lack of dps, only 280% critdmg, but 59% critchance and 2.4 atk/ second. Altho this doesnt even run smoothly on Mp3...i can sustain my Berserker for a long time but i still die to arcane+descecrator+jailer ( i guess we always will tho). But the mainproblem is that my barbar wont use WOTB Untill he spots elites, i have to manually press it...Is there a way to change this?
how to setup this in trinity Routine?With those stats your good to go
Yea edit the WOTB skill to activate as soon as it is up (90sec cooldown with boon) and there like 2 or 3 mobs around.
Yes the overall botting stats are insane and yes this won't work without some editing.
case ActorClass.Barbarian:
// Pick the best destructible power available
if (bDestructiblePower)
{
if (hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Frenzy))
return new GilesPower(SNOPower.Barbarian_Frenzy, 10f, vNullLocation, -1, -1, 0, 0, USE_SLOWLY);
if (hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Bash))
return new GilesPower(SNOPower.Barbarian_Bash, 10f, vNullLocation, -1, -1, 0, 0, USE_SLOWLY);
if (hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Cleave))
return new GilesPower(SNOPower.Barbarian_Cleave, 10f, vNullLocation, -1, -1, 0, 0, USE_SLOWLY);
if (hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Rend) && playerStatus.dCurrentEnergyPct >= 0.65)
return new GilesPower(SNOPower.Barbarian_Rend, 10f, vNullLocation, -1, -1, 0, 0, USE_SLOWLY);
if (hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_WeaponThrow) && playerStatus.dCurrentEnergy >= 20)
return new GilesPower(SNOPower.Barbarian_WeaponThrow, 15f, vNullLocation, -1, -1, 0, 0, USE_SLOWLY);
return new GilesPower(SNOPower.Weapon_Melee_Instant, 10f, vNullLocation, -1, -1, 0, 0, USE_SLOWLY);
}
// Flag up a variable to see if we should reserve 50 fury for special abilities
bWaitingForSpecial = false;
if (hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_WrathOfTheBerserker) && PowerManager.CanCast(SNOPower.Barbarian_WrathOfTheBerserker) &&
GilesUseTimer(SNOPower.Barbarian_WrathOfTheBerserker))
{
//Logging.Write("[Trinity] WOTB is ready to cast");
bWaitingForSpecial = true;
}
// Wrath of the berserker
//intell
if (!bOOCBuff && bWaitingForSpecial &&
!GilesHasBuff(SNOPower.Barbarian_WrathOfTheBerserker) &&
GilesUseTimer(SNOPower.Barbarian_WrathOfTheBerserker) && playerStatus.dCurrentEnergy >= 50
)
{
bWaitingForSpecial = false;
return new GilesPower(SNOPower.Barbarian_WrathOfTheBerserker, 0f, vNullLocation, iCurrentWorldID, -1, 1, 1, USE_SLOWLY); //intell -- 4, 4
}
// Battle rage, for if being followed and before we do sprint
if (!bOOCBuff && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_BattleRage) &&
GilesUseTimer(SNOPower.Barbarian_BattleRage) && !GilesHasBuff(SNOPower.Barbarian_BattleRage) &&
playerStatus.dCurrentEnergy >= 20 && !playerStatus.bIsIncapacitated
)
{
return new GilesPower(SNOPower.Barbarian_BattleRage, 0f, vNullLocation, iCurrentWorldID, -1, 1, 1, USE_SLOWLY);
}
//sprint v2
if (hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Sprint) &&
GilesUseTimer(SNOPower.Barbarian_Sprint) && !GilesHasBuff(SNOPower.Barbarian_Sprint) &&
playerStatus.dCurrentEnergy >= 20 && !playerStatus.bIsIncapacitated
)
{
return new GilesPower(SNOPower.Barbarian_Sprint, 0f, vNullLocation, iCurrentWorldID, -1, 1, 1, USE_SLOWLY);
}
// Overpower used off-cooldown
if (hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Overpower) && !playerStatus.bIsIncapacitated &&
(
iAnythingWithinRange[RANGE_6] >= 1 ||
(targetCurrent.fRadiusDistance <= 5f) ||
(
iAnythingWithinRange[RANGE_6] >= 1 &&
(targetCurrent.bThisEliteRareUnique || targetCurrent.bThisMinion || targetCurrent.bThisBoss || GilesHasBuff(SNOPower.Barbarian_WrathOfTheBerserker) ||
(targetCurrent.bThisTreasureGoblin && targetCurrent.fCentreDistance <= 6f) || hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_SeismicSlam))
)
) &&
GilesUseTimer(SNOPower.Barbarian_Overpower) && PowerManager.CanCast(SNOPower.Barbarian_Overpower))
{
int iPreDelay = 0;
int iPostDelay = 0;
return new GilesPower(SNOPower.Barbarian_Overpower, 0f, playerStatus.vCurrentPosition, iCurrentWorldID, -1, iPreDelay, iPostDelay, USE_SLOWLY);
}
// Rend spam
if (!bOOCBuff && !playerStatus.bIsIncapacitated && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Rend) &&
//iAnythingWithinRange[RANGE_12] >= 1 &&
(iAnythingWithinRange[RANGE_6] > 0) &&
(DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 900) &&
(playerStatus.dCurrentHealthPct <= 0.8 /*|| targetCurrent.iThisHitPoints >= 0.80*/)
)
{
iWithinRangeLastRend = iAnythingWithinRange[RANGE_6];
iACDGUIDLastRend = targetCurrent.iThisACDGUID;
// Note - we have LONGER animation times for whirlwind-users
// Since whirlwind seems to interrupt rend so easily
int iPreDelay = 0;
int iPostDelay = 0;
return new GilesPower(SNOPower.Barbarian_Rend, 0f, playerStatus.vCurrentPosition, iCurrentWorldID, -1, iPreDelay, iPostDelay, USE_SLOWLY);
}
// Hammer of the ancients spam-attacks - never use if waiting for special
if (!bOOCBuff && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_HammerOfTheAncients) &&
// GilesUseTimer(SNOPower.Barbarian_HammerOfTheAncients) &&
playerStatus.dCurrentEnergyPct >= 0.5 && !playerStatus.bIsIncapacitated
)
{
return new GilesPower(SNOPower.Barbarian_HammerOfTheAncients, 12f, vNullLocation, -1, targetCurrent.iThisACDGUID, 0, 0, USE_SLOWLY);
}
// Frenzy rapid-attacks
if (!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Frenzy))
{
return new GilesPower(SNOPower.Barbarian_Frenzy, 10f, vNullLocation, -1, targetCurrent.iThisACDGUID, 0, 0, SIGNATURE_SPAM);
}
// Bash fast-attacks
if (!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Bash) && playerStatus.dCurrentEnergyPct < 0.5)
{
return new GilesPower(SNOPower.Barbarian_Bash, 10f, vNullLocation, -1, targetCurrent.iThisACDGUID, 1, 1, USE_SLOWLY);
}
// Default attacks
if (!bOOCBuff && !bCurrentlyAvoiding && playerStatus.dCurrentEnergy < 20)
{
Logging.Write("[Debug] Basic attack");
return new GilesPower(SNOPower.Weapon_Melee_Instant, 10f, vNullLocation, -1, targetCurrent.iThisACDGUID, 1, 1, USE_SLOWLY);
}
break;