I'm pretty sure that is a different issue. I already swapped my weapons over. The scorn is in the correct location each time.Swap your left and right weapon and it will be fixed![]()
if (weaponSwap.DpsGearOn() && GilesHasBuff(SNOPower.Monk_SweepingWind) && settings.bMonkInnaSet && DateTime.Now.Subtract(SweepWindSpam).TotalMilliseconds >= 800)
GREAT JOB!!!!
One Question: Wouldnt it be better to equip 2h weapon before casting blinding flash to get more total dps =)
{
if (!weaponSwap.DpsGearOn() && settings.bMonkInnaSet && !GilesHasBuff(SNOPower.Monk_SweepingWind)) {
weaponSwap.SwapGear();
WeaponSwapTime = DateTime.Now;
return null;
}
if (!(weaponSwap.DpsGearOn() && settings.bMonkInnaSet && DateTime.Now.Subtract(WeaponSwapTime).TotalMilliseconds <= 100 && !GilesHasBuff(SNOPower.Monk_SweepingWind)))
return new GilesPower(SNOPower.Monk_BlindingFlash, 0f, vNullLocation, iCurrentWorldID, -1, 0, 1, USE_SLOWLY); //intell -- 11f -- 1, 2
}
if (weaponSwap.DpsGearOn() && GilesHasBuff(SNOPower.Monk_SweepingWind) && [B]settings.bMonkInnaSet[/B] && DateTime.Now.Subtract(WeaponSwapTime).TotalMilliseconds >= 800)
weaponSwap.SwapGear();
// Blinding Flash
if (!bOOCBuff && playerStatus.CurrentEnergy >= 20 && hashPowerHotbarAbilities.Contains(SNOPower.Monk_BlindingFlash) &&
(
iElitesWithinRange[RANGE_15] >= 1 || playerStatus.CurrentHealthPct <= 0.4 || (iAnythingWithinRange[RANGE_20] >= 5 && iElitesWithinRange[RANGE_50] == 0) ||
(iAnythingWithinRange[RANGE_15] >= 3 && playerStatus.CurrentEnergyPct <= 0.5) || (CurrentTarget.IsBoss && CurrentTarget.RadiusDistance <= 15f) ||
(iAnythingWithinRange[RANGE_15] >= 1 && hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) && !GilesHasBuff(SNOPower.Monk_SweepingWind) && settings.bMonkInnaSet)
) &&
// Check if we don't have breath of heaven
(!hashPowerHotbarAbilities.Contains(SNOPower.Monk_BreathOfHeaven) ||
(hashPowerHotbarAbilities.Contains(SNOPower.Monk_BreathOfHeaven) && (!settings.bMonkInnaSet || GilesHasBuff(SNOPower.Monk_BreathOfHeaven)))) &&
// Check if either we don't have sweeping winds, or we do and it's ready to cast in a moment
(!hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) ||
(hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) && (playerStatus.CurrentEnergy >= 95 ||
(settings.bMonkInnaSet && playerStatus.CurrentEnergy >= 25) || GilesHasBuff(SNOPower.Monk_SweepingWind))) ||
playerStatus.CurrentHealthPct <= 0.4) &&
GilesUseTimer(SNOPower.Monk_BlindingFlash) && PowerManager.CanCast(SNOPower.Monk_BlindingFlash))
{
if (!weaponSwap.DpsGearOn() && [B]settings.bMonkInnaSet[/B] && !GilesHasBuff(SNOPower.Monk_SweepingWind)) {
weaponSwap.SwapGear();
WeaponSwapTime = DateTime.Now;
return null;
}
if (!(weaponSwap.DpsGearOn() && [B]settings.bMonkInnaSet[/B] && DateTime.Now.Subtract(WeaponSwapTime).TotalMilliseconds <= 100 && !GilesHasBuff(SNOPower.Monk_SweepingWind)))
return new GilesPower(SNOPower.Monk_BlindingFlash, 0f, vNullLocation, iCurrentWorldID, -1, 0, 1, USE_SLOWLY); //intell -- 11f -- 1, 2
}
if (!weaponSwap.DpsGearOn() && [B]settings.bMonkInnaSet[/B]) {
weaponSwap.SwapGear();
WeaponSwapTime = DateTime.Now;
return null;
}
if (!(weaponSwap.DpsGearOn() && [B]settings.bMonkInnaSet[/B] && DateTime.Now.Subtract(WeaponSwapTime).TotalMilliseconds <= 200)) {
SweepWindSpam = DateTime.Now;
return new GilesPower(SNOPower.Monk_SweepingWind, 0f, vNullLocation, iCurrentWorldID, -1, 0, 1, USE_SLOWLY); //intell -- 2,2
}
Code:if (weaponSwap.DpsGearOn() && GilesHasBuff(SNOPower.Monk_SweepingWind) && [B]settings.bMonkInnaSet[/B] && DateTime.Now.Subtract(WeaponSwapTime).TotalMilliseconds >= 800) weaponSwap.SwapGear();
Code:// Blinding Flash if (!bOOCBuff && playerStatus.CurrentEnergy >= 20 && hashPowerHotbarAbilities.Contains(SNOPower.Monk_BlindingFlash) && ( iElitesWithinRange[RANGE_15] >= 1 || playerStatus.CurrentHealthPct <= 0.4 || (iAnythingWithinRange[RANGE_20] >= 5 && iElitesWithinRange[RANGE_50] == 0) || (iAnythingWithinRange[RANGE_15] >= 3 && playerStatus.CurrentEnergyPct <= 0.5) || (CurrentTarget.IsBoss && CurrentTarget.RadiusDistance <= 15f) || (iAnythingWithinRange[RANGE_15] >= 1 && hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) && !GilesHasBuff(SNOPower.Monk_SweepingWind) && settings.bMonkInnaSet) ) && // Check if we don't have breath of heaven (!hashPowerHotbarAbilities.Contains(SNOPower.Monk_BreathOfHeaven) || (hashPowerHotbarAbilities.Contains(SNOPower.Monk_BreathOfHeaven) && (!settings.bMonkInnaSet || GilesHasBuff(SNOPower.Monk_BreathOfHeaven)))) && // Check if either we don't have sweeping winds, or we do and it's ready to cast in a moment (!hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) || (hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) && (playerStatus.CurrentEnergy >= 95 || (settings.bMonkInnaSet && playerStatus.CurrentEnergy >= 25) || GilesHasBuff(SNOPower.Monk_SweepingWind))) || playerStatus.CurrentHealthPct <= 0.4) && GilesUseTimer(SNOPower.Monk_BlindingFlash) && PowerManager.CanCast(SNOPower.Monk_BlindingFlash)) { if (!weaponSwap.DpsGearOn() && [B]settings.bMonkInnaSet[/B] && !GilesHasBuff(SNOPower.Monk_SweepingWind)) { weaponSwap.SwapGear(); WeaponSwapTime = DateTime.Now; return null; } if (!(weaponSwap.DpsGearOn() && [B]settings.bMonkInnaSet[/B] && DateTime.Now.Subtract(WeaponSwapTime).TotalMilliseconds <= 100 && !GilesHasBuff(SNOPower.Monk_SweepingWind))) return new GilesPower(SNOPower.Monk_BlindingFlash, 0f, vNullLocation, iCurrentWorldID, -1, 0, 1, USE_SLOWLY); //intell -- 11f -- 1, 2 }
Code:if (!weaponSwap.DpsGearOn() && [B]settings.bMonkInnaSet[/B]) { weaponSwap.SwapGear(); WeaponSwapTime = DateTime.Now; return null; } if (!(weaponSwap.DpsGearOn() && [B]settings.bMonkInnaSet[/B] && DateTime.Now.Subtract(WeaponSwapTime).TotalMilliseconds <= 200)) { SweepWindSpam = DateTime.Now; return new GilesPower(SNOPower.Monk_SweepingWind, 0f, vNullLocation, iCurrentWorldID, -1, 0, 1, USE_SLOWLY); //intell -- 2,2 }
Thx, i checked and DPS is higher if first 2h is EQ.
Code:{ if (!weaponSwap.DpsGearOn() && settings.bMonkInnaSet && !GilesHasBuff(SNOPower.Monk_SweepingWind)) { weaponSwap.SwapGear(); WeaponSwapTime = DateTime.Now; return null; } if (!(weaponSwap.DpsGearOn() && settings.bMonkInnaSet && DateTime.Now.Subtract(WeaponSwapTime).TotalMilliseconds <= 100 && !GilesHasBuff(SNOPower.Monk_SweepingWind))) return new GilesPower(SNOPower.Monk_BlindingFlash, 0f, vNullLocation, iCurrentWorldID, -1, 0, 1, USE_SLOWLY); //intell -- 11f -- 1, 2 }
If you use my community version then take the above code and replace the blinding flash part in monk.cs, i changed so if it's ready to cast blinding flash it will first switch to 2h, then blinding flash, then sweeping winds.
if it can't cast blinding flash then it will switch then cast sweeping winds without flashing.
I get a lot of code errors with this:
Compiler Error: c:\Demonbuddy\Plugins\GilesTrinity\ItemHandling.cs(1095,36) : warning CS0162: Unreachable code detected
[22:53:49.610 N] Compiler Error: c:\Demonbuddy\Plugins\GilesTrinity\ItemHandling.cs(1098,32) : warning CS0162: Unreachable code detected
etc
if (!weaponSwap.DpsGearOn() && Settings.Combat.Monk.HasInnaSet)
{
weaponSwap.SwapGear();
WeaponSwapTime = DateTime.Now;
return null;
}
I think it would be helpful if protected slots couldn't have stuff put into them when picking up loot. Would require some changes to loot handling and when an inventory is considered "full"
Obviously a bit out of scope but would help in those instances where you attempt to do a switch when you only have one slot open.
it technically should, but say you don't have enough room to remove both your 1-hand weapons to swap for the 2-hand skorn. Optimally to ensure nothing ever screws it up, you should have two protected slots. 1 slot holds the skorn, the other slot is left empty for the "switch" since you need 2 available slots to remove your 2 weapons.
This really hasn't been a problem for me since I don't often have to switch but I could see a potential problem with it.
To me, a protected slot shouldn't be considered an available space when looting. Typically it is protecting something, but in case it is empty, perhaps it is empty for a reason (this being a good reason).
Hi tesslerc,
Can you tell me why you return null, rather than just returning with the sweeping wind power here?
Code:if (!weaponSwap.DpsGearOn() && Settings.Combat.Monk.HasInnaSet) { weaponSwap.SwapGear(); WeaponSwapTime = DateTime.Now; return null; }
I have the GUI and configuration stuff ready to go for this, just wanted to check on this last thing.
As far as I can tell, this method should never return null. I'm more inclined to use the "default" power, if not sweeping wind, or just let the next ability in the tree get used.