http://www.thebuddyforum.com/demonb...ns-unnoficial-updates-file-52.html#post875922
The addition of the Ghom slider broke Trinity's initialization, which causes pretty much all of the Trinity hooks to never get called.
The fix is to patch as i describe above, or hand edit your .cfg to add an extra value on the end of the slider settings, or delete the .cfg entirely.
sweeping winds is based off the first cast, so its actually more effective to keep sweeping winds up rather then try to build it every time,so a 4 second refresh on sweeping winds without the 20 second rune would be best and an 18 second refresh on the 20second rune (would need a tickbox also for the cooldown rune) is actually the most effective. A spam sweeping winds tickbox would probably satisfy both partys on this issue as some feel that wasting the spirit trying to keep it up might interfere with casting survivability skills with low aps ex.. skorn, whereas dual wielders like myself prefer to spam because spirit is impossible to get rid of (2.63 aps and 2.23 spirit regen per second) All of this is Imho as a 553 hour legitimately played monk
I don't think this is something everyone would like, sorry.Any chance to merge with http://www.thebuddyforum.com/demonb...73-super-simple-tight-loot-giles-trinity.html Thanks.
// Safe is-attackable detection
tmp_unit_bThisAttackable = true;
if (tmp_unit_bThisBoss || theseaffixes.HasFlag(MonsterAffixes.Shielding))
{
try
{
DiaUnit thisunit = thisobj as DiaUnit;
tmp_unit_bThisAttackable = !thisunit.IsInvulnerable;
}
catch (Exception ex)
{
Logging.WriteDiagnostic("[GilesTrinity] Safely handled exception getting is-invulnerable attribute for unit " + tmp_sThisInternalName + " [" + tmp_iThisActorSNO.ToString() + "]");
Logging.WriteDiagnostic(ex.ToString());
tmp_unit_bThisAttackable = true;
}
}
// Inactive units like trees, withermoths etc. still underground, or in the sky
// K: Use official api for this
if (tmp_unit_iThisHitPoints >= 1f || tmp_unit_bThisBoss)
{
// Get the burrowing data for this unit
bool bBurrowed;
if (!dictGilesBurrowedCache.TryGetValue(tmp_iThisRActorGuid, out bBurrowed) || tmp_unit_bThisBoss)
{
try
{
DiaUnit thisunit = thisobj as DiaUnit;
bBurrowed = thisunit.IsUntargetable || thisunit.IsBurrowed || thisunit.IsHidden;
}
I don't think this is something everyone would like, sorry.
Magi and ksmaze: you guys make me feel like I should be paying you lol. I won't though.
Thanks anyway!
ksmaze: was this the only part of the code you changed?
I ask because your GilesTrinity.cs is wildly different from v0.42 and I'm not sure what you meantCode:// Safe is-attackable detection tmp_unit_bThisAttackable = true; if (tmp_unit_bThisBoss || theseaffixes.HasFlag(MonsterAffixes.Shielding)) { try { DiaUnit thisunit = thisobj as DiaUnit; tmp_unit_bThisAttackable = !thisunit.IsInvulnerable; } catch (Exception ex) { Logging.WriteDiagnostic("[GilesTrinity] Safely handled exception getting is-invulnerable attribute for unit " + tmp_sThisInternalName + " [" + tmp_iThisActorSNO.ToString() + "]"); Logging.WriteDiagnostic(ex.ToString()); tmp_unit_bThisAttackable = true; } } // Inactive units like trees, withermoths etc. still underground, or in the sky // K: Use official api for this if (tmp_unit_iThisHitPoints >= 1f || tmp_unit_bThisBoss) { // Get the burrowing data for this unit bool bBurrowed; if (!dictGilesBurrowedCache.TryGetValue(tmp_iThisRActorGuid, out bBurrowed) || tmp_unit_bThisBoss) { try { DiaUnit thisunit = thisobj as DiaUnit; bBurrowed = thisunit.IsUntargetable || thisunit.IsBurrowed || thisunit.IsHidden; }
DiaUnit thisunit = thisobj as DiaUnit;
tmp_unit_bThisAttackable = !thisunit.IsInvulnerable;
DiaUnit thisunit = thisobj as DiaUnit;
bBurrowed = thisunit.IsUntargetable || thisunit.IsBurrowed || thisunit.IsHidden;
DiaUnit thisunit = thisobj as DiaUnit;
bBurrowed = thisunit.IsBurrowed;
you wouldn't like to diff mine with J's 0.0Guys, can we actually learn how to use diff please![]()
if (!dictGilesBurrowedCache.TryGetValue(tmp_iThisRActorGuid, out bBurrowed) || tmp_unit_bThisBoss)
{
try
{
DiaUnit thisunit = thisobj as DiaUnit;
bBurrowed = !thisunit.IsAttackable;
}
if (!dictGilesBurrowedCache.TryGetValue(tmp_iThisRActorGuid, out bBurrowed) || tmp_unit_bThisBoss)
{
try
{
DiaUnit thisunit = thisobj as DiaUnit;
bBurrowed = !thisunit.IsAttackable;
}
// Grab the list of world objects
private static void RefreshDiaObjects()
// Grab the list of world objects
public static void RefreshDiaObjects()
// Used to force-refresh dia objects at least once every XX milliseconds
private static DateTime lastRefreshedObjects = DateTime.Today;
// Used to force-refresh dia objects at least once every XX milliseconds
public static DateTime lastRefreshedObjects = DateTime.Today;
// Whether to try forcing a vendor-run for custom reasons
public static bool bGilesForcedVendoring = false;
private static bool bWantToTownRun = false;
// Whether to try forcing a vendor-run for custom reasons
public static bool bGilesForcedVendoring = false;
public static bool bWantToTownRun = false;
// Wave of light
if (!bOOCBuff && !bCurrentlyAvoiding && !playerStatus.bIsIncapacitated &&
(iElitesWithinRange[RANGE_25] > 0 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 14f) || iAnythingWithinRange[RANGE_15] > 2) &&
hashPowerHotbarAbilities.Contains(SNOPower.Monk_WaveOfLight) &&
GilesUseTimer(SNOPower.Monk_WaveOfLight) &&
(playerStatus.dCurrentEnergy >= 90 || playerStatus.dCurrentEnergyPct >= 0.85) && GilesHasBuff(SNOPower.Monk_MantraOfConviction))
{
return new GilesPower(SNOPower.Monk_WaveOfLight, 16f, vNullLocation, -1, targetCurrent.iThisACDGUID, 1, 1, USE_SLOWLY);
}
// Wave of light
if (!bOOCBuff && !bCurrentlyAvoiding && !playerStatus.bIsIncapacitated &&
(iElitesWithinRange[RANGE_25] > 0 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 14f) || iAnythingWithinRange[RANGE_15] > 2) &&
hashPowerHotbarAbilities.Contains(SNOPower.Monk_WaveOfLight) &&
GilesUseTimer(SNOPower.Monk_WaveOfLight) &&
(playerStatus.dCurrentEnergy >= 90 || playerStatus.dCurrentEnergyPct >= 0.85) && (!hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfConviction) || (hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfConviction) && GilesHasBuff(SNOPower.Monk_MantraOfConviction))))
{
return new GilesPower(SNOPower.Monk_WaveOfLight, 16f, vNullLocation, -1, targetCurrent.iThisACDGUID, 1, 1, USE_SLOWLY);
}
My friend was usint UnityTrinity and said it sometimes do not pickup example legendary or i63 rare. He had only this plug and atom 2. Any1 having this issue? Could u check giles stats legend dropped/picked up?
I tested for 2h and it didnt picked up two i62 items [like 20 dropped / 18 picked up] (but maybe its generally small Trinity bug?).
Could loot radios increase in profiles fix it?