Found a work around. His code that counts your zombie dogs/garg/any other pet is getting an exception while trying to make sure that the dogs were in fact summoned by you and not another player.
For those of you who want to make the changes yourself... Replace
Code:
if (hashPowerHotbarAbilities.Contains(SNOPower.Witchdoctor_Gargantuan) && hashGargantuan.Contains(tmp_iThisActorSNO))
{
int iSummonedByID = -1;
// Get the summoned-by info, cached if possible
if (!dictSummonedByID.TryGetValue(tmp_iThisRActorGuid, out tmp_iThisActorSNO))
{
try
{
iSummonedByID = tempCommonData.GetAttribute<int>(ActorAttributeType.SummonedByACDID);
}
catch (Exception ex)
{
Logging.WriteDiagnostic("[GilesTrinity] Safely handled exception getting summoned-by info for Gargantuan [" + tmp_iThisActorSNO.ToString() + "]");
Logging.WriteDiagnostic(ex.ToString());
continue;
}
dictSummonedByID.Add(tmp_iThisRActorGuid, iSummonedByID);
}
if (playerStatus.iMyDynamicID == iSummonedByID)
{
iPlayerOwnedGargantuan++;
continue;
}
}
if (hashPowerHotbarAbilities.Contains(SNOPower.Witchdoctor_SummonZombieDog) && hashZombie.Contains(tmp_iThisActorSNO))
{
int iSummonedByID = -1;
// Get the summoned-by info, cached if possible
if (!dictSummonedByID.TryGetValue(tmp_iThisRActorGuid, out tmp_iThisActorSNO))
{
try
{
iSummonedByID = tempCommonData.GetAttribute<int>(ActorAttributeType.SummonedByACDID);
}
catch (Exception ex)
{
Logging.WriteDiagnostic("[GilesTrinity] Safely handled exception getting summoned-by info for Zombie Dogs [" + tmp_iThisActorSNO.ToString() + "]");
Logging.WriteDiagnostic(ex.ToString());
continue;
}
dictSummonedByID.Add(tmp_iThisRActorGuid, iSummonedByID);
}
if (playerStatus.iMyDynamicID == iSummonedByID)
{
iPlayerOwnedZombieDog++;
continue;
}
}
With this MUCH simpler code ;-)
Code:
//Vbnm EDIT
if (hashPowerHotbarAbilities.Contains(SNOPower.Witchdoctor_SummonZombieDog) && hashZombie.Contains(tmp_iThisActorSNO))
{
iPlayerOwnedZombieDog++;
continue;
}
if (hashPowerHotbarAbilities.Contains(SNOPower.Witchdoctor_Gargantuan) && hashGargantuan.Contains(tmp_iThisActorSNO))
{
iPlayerOwnedGargantuan++;
continue;
}
Here are my changes that I've made to my script if you want it. I am using it as Im posting this and it is working well
***********************************
Garg doesnt cast unless you dont have one
Zombie Dogs doesn't cast unless you have 2 or less.
*Also to note his code does cast zombie dogs and garg when you encounter a elite/champ/rare npc or if you have quite a few enemy NPC's close to you I made no changes to this.
***I have made no other changes to this script and am providing it as is to those interested***