// Fists of thunder as the primary, repeatable attack
if (!bBuffsOnly && !bAvoidanceEmergency && !bMeIncapacitated && powerHotbarAbilities.Contains(SNOPower.Monk_FistsofThunder) && PowerManager.CanCast(SNOPower.Monk_FistsofThunder))
{
// Unsafe mode
if (fDistanceFromTarget > 11f && unitCurrentTarget.iThisHitPoints >= 0.6)
{
return new GilesPower(SNOPower.Monk_FistsofThunder, 30f, vNullLocation, -1, unitCurrentTarget.iThisActorACDGUID, USE_COMBAT_ONLY, FOR_INSTANT_USE);
}
// Safe mode
if (unitCurrentTarget.diaThisUnit != null && unitCurrentTarget.diaThisUnit.BaseAddress != IntPtr.Zero)
vCurrentTargetPosition = unitCurrentTarget.diaThisUnit.Position;
return new GilesPower(SNOPower.Monk_FistsofThunder, 11f, new Vector3(vCurrentTargetPosition.X, vCurrentTargetPosition.Y, vCurrentTargetPosition.Z + iThisHeight), iCurrentWorldID, -1, USE_COMBAT_ONLY, FOR_INSTANT_USE);
}
// Fists of thunder as the primary, repeatable attack
if (!bBuffsOnly && !bAvoidanceEmergency && !bMeIncapacitated && powerHotbarAbilities.Contains(SNOPower.Monk_FistsofThunder) && PowerManager.CanCast(SNOPower.Monk_FistsofThunder))
{
// Unsafe mode
if (fDistanceFromTarget > 11f && unitCurrentTarget.iThisHitPoints >= 0.6)
{
return new GilesPower(SNOPower.Monk_FistsofThunder, 30f, vNullLocation, -1, unitCurrentTarget.iThisActorACDGUID, USE_COMBAT_ONLY, FOR_INSTANT_USE);
}
// Safe mode
if (unitCurrentTarget.diaThisUnit != null && unitCurrentTarget.diaThisUnit.BaseAddress != IntPtr.Zero)
vCurrentTargetPosition = unitCurrentTarget.diaThisUnit.Position;
return new GilesPower(SNOPower.Monk_FistsofThunder, 11f, vNullLocation, -1, unitCurrentTarget.iThisActorACDGUID, USE_COMBAT_ONLY, FOR_INSTANT_USE);
}
thanks! Trying itbecareful with this one as i know giles handles fot differently due to not being able to check what runes we use for fot, this should be the proper change but i can't gaurentee it even works as i haven't tested nor can test it atm
toCode:// fists of thunder as the primary, repeatable attack if (!bbuffsonly && !bavoidanceemergency && !bmeincapacitated && powerhotbarabilities.contains(snopower.monk_fistsofthunder) && powermanager.cancast(snopower.monk_fistsofthunder)) { // unsafe mode if (fdistancefromtarget > 11f && unitcurrenttarget.ithishitpoints >= 0.6) { return new gilespower(snopower.monk_fistsofthunder, 30f, vnulllocation, -1, unitcurrenttarget.ithisactoracdguid, use_combat_only, for_instant_use); } // safe mode if (unitcurrenttarget.diathisunit != null && unitcurrenttarget.diathisunit.baseaddress != intptr.zero) vcurrenttargetposition = unitcurrenttarget.diathisunit.position; return new gilespower(snopower.monk_fistsofthunder, 11f, new vector3(vcurrenttargetposition.x, vcurrenttargetposition.y, vcurrenttargetposition.z + ithisheight), icurrentworldid, -1, use_combat_only, for_instant_use); }
Code:// fists of thunder as the primary, repeatable attack if (!bbuffsonly && !bavoidanceemergency && !bmeincapacitated && powerhotbarabilities.contains(snopower.monk_fistsofthunder) && powermanager.cancast(snopower.monk_fistsofthunder)) { // unsafe mode if (fdistancefromtarget > 11f && unitcurrenttarget.ithishitpoints >= 0.6) { return new gilespower(snopower.monk_fistsofthunder, 30f, vnulllocation, -1, unitcurrenttarget.ithisactoracdguid, use_combat_only, for_instant_use); } // safe mode if (unitcurrenttarget.diathisunit != null && unitcurrenttarget.diathisunit.baseaddress != intptr.zero) vcurrenttargetposition = unitcurrenttarget.diathisunit.position; return new gilespower(snopower.monk_fistsofthunder, 11f, vnulllocation, -1, unitcurrenttarget.ithisactoracdguid, use_combat_only, for_instant_use); }
// Force avoidance for 5 seconds if out of combat
if (bOutOfCombatAvoidance && DateTime.Now.Subtract(lastTimeInCombat).TotalSeconds < 5)
{
FindSafeZone(true);
iEmergencyLoops = 0;
return RunStatus.Running;
}






