What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

Unified GilesPlugin's Unnoficial Updates File

Status
Not open for further replies.
jubis: why are several things changed from private to public?

Code:
@@ -1039,7 +1039,7 @@ namespace GilesTrinity
         private static bool bMainBotPaused = false;

         // Used to force-refresh dia objects at least once every XX milliseconds
-        private static DateTime lastRefreshedObjects = DateTime.Today;
+        public static DateTime lastRefreshedObjects = DateTime.Today;

         // This object is used for the main handling - the "current target" etc. as selected by the target-selecter, whether it be a unit, an item, a shrine, anything
         // It's cached data using my own class, so I never need to hit D3 memory to "re-check" the data or to call an interact request or anything
@@ -1429,7 +1429,7 @@ namespace GilesTrinity
         private static HashSet<GilesCachedACDItem> hashGilesCachedSellItems = new HashSet<GilesCachedACDItem>();
         // Whether to try forcing a vendor-run for custom reasons
         public static bool bGilesForcedVendoring = false;
-        private static bool bWantToTownRun = false;
+        public static bool bWantToTownRun = false;
         private static bool bLastTownRunCheckResult = false;
         // Whether salvage/sell run should go to a middle-waypoint first to help prevent stucks
         private static bool bGoToSafetyPointFirst = false;
@@ -1951,7 +1951,7 @@ namespace GilesTrinity
         // **********************************************************************************************

         // Grab the list of world objects
-        private static void RefreshDiaObjects()
+        public static void RefreshDiaObjects()
         {
             // Blank current/last/next targets
             Vector3 vSafePointNear = targetCurrent != null ? targetCurrent.vThisPosition : vNullLocation;
@@ -2771,7 +2771,8 @@ namespace GilesTrinity
                         {
                             try
                             {
-                                tmp_unit_bThisAttackable = (tempCommonData.GetAttribute<int>(ActorAttributeType.Invulnerable) <= 0);
+                                DiaUnit thisunit = thisobj as DiaUnit;
+                                tmp_unit_bThisAttackable = !thisunit.IsInvulnerable;
                             }
                             catch (Exception ex)
                             {

I don't see a good reason for this
 
I requested them public (2 variables and the refreshDiaObj plugins) so my plugin could force a refresh of trinity's monster/obj cache. I also check for forced town runs. This is specific to looting warden/uber corpse where in some cases it gets confused or blatantly ignores their loot. This has fixed the issue for me.
 
yeah, a little hack but looking at what we're dealing with, I'd say it's pretty minor lol.
 
i would suggest two small changes to v0.42:

removed the life percent check, we have the defensive entry for that

Code:
                    // Blinding Flash
                    if (!bOOCBuff && playerStatus.dCurrentEnergy >= 20 && hashPowerHotbarAbilities.Contains(SNOPower.Monk_BlindingFlash) &&
                            (iElitesWithinRange[RANGE_15] > 0 || iAnythingWithinRange[RANGE_15] >= 5 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 15f)) &&
                        // 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.dCurrentEnergy >= 85 && GilesUseTimer(SNOPower.Monk_SweepingWind))) &&
                            GilesUseTimer(SNOPower.Monk_BlindingFlash) && PowerManager.CanCast(SNOPower.Monk_BlindingFlash))
                    {
                        return new GilesPower(SNOPower.Monk_BlindingFlash, 11f, vNullLocation, iCurrentWorldID, -1, 1, 2, USE_SLOWLY);
                    }

adjusted time check to 3s

Code:
                    // Sweeping wind
                    if ((!bOOCBuff && hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) && !GilesHasBuff(SNOPower.Monk_SweepingWind) &&
                        (iElitesWithinRange[RANGE_25] > 0 || iAnythingWithinRange[RANGE_20] >= 2 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 25f)) &&
                        // Check if either we don't have blinding flash, or we do and it's been cast in the last 6000ms
                        (!hashPowerHotbarAbilities.Contains(SNOPower.Monk_BlindingFlash) || (hashPowerHotbarAbilities.Contains(SNOPower.Monk_BlindingFlash) && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Monk_BlindingFlash]).TotalMilliseconds <= 3000)) &&
                        // Check our mantras, if we have them, are up first
                        (!hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfEvasion) || (hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfEvasion) && GilesHasBuff(SNOPower.Monk_MantraOfEvasion))) &&
                        (!hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfConviction) || (hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfConviction) && GilesHasBuff(SNOPower.Monk_MantraOfConviction))) &&
                        (!hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfRetribution) || (hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfRetribution) && GilesHasBuff(SNOPower.Monk_MantraOfRetribution))) &&
                        // Check the re-use timer and energy costs
                        (playerStatus.dCurrentEnergy >= 75 || (settings.bMonkInnaSet && playerStatus.dCurrentEnergy >= 5)) && GilesUseTimer(SNOPower.Monk_SweepingWind)) || 
						// OR, if we have Inna's and Wind is up, we just spam it to keep it up
						(settings.bMonkInnaSet && GilesHasBuff(SNOPower.Monk_SweepingWind) && GilesUseTimer(SNOPower.Monk_SweepingWind) && playerStatus.dCurrentEnergy >= 6))
                    {
                        return new GilesPower(SNOPower.Monk_SweepingWind, 0f, vNullLocation, iCurrentWorldID, -1, 2, 2, USE_SLOWLY);
                    }

what do you think maggi?

Let me take a look...was dealing with my own new problems I caused myself :P
 
blubby, this looks fine to me, I added my Inna check in to your blinding flash code:

Code:
// Blinding Flash
                    if (!bOOCBuff && playerStatus.dCurrentEnergy >= 20 && hashPowerHotbarAbilities.Contains(SNOPower.Monk_BlindingFlash) &&
                            (iElitesWithinRange[RANGE_15] > 0 || iAnythingWithinRange[RANGE_15] >= 5 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 15f)) &&
                        // 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.dCurrentEnergy >= 85 && GilesUseTimer(SNOPower.Monk_SweepingWind))) &&
							 (hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) && playerStatus.dCurrentEnergy >= 15 && GilesUseTimer(SNOPower.Monk_SweepingWind) && settings.bMonkInnaSet) ||
                            GilesUseTimer(SNOPower.Monk_BlindingFlash) && PowerManager.CanCast(SNOPower.Monk_BlindingFlash))
                    {
                        return new GilesPower(SNOPower.Monk_BlindingFlash, 11f, vNullLocation, iCurrentWorldID, -1, 1, 2, USE_SLOWLY);
                    }

J - Use the blinding flash code above, and the sweeping wind blubby posted above for v44. I think that should do the trick for now.
 
Let's just hope DB team doesn't change anything that will break this plugin. Maybe have the blacklisting actors be read off a .cfg file, that way, people can add in their own actorSNO without requiring an update change every time if they wanted it to be included. This will prevent trinity from being required to update every time. So as long DB team doesn't break anything in trinity, it's current state should be fine and for future use. The only thing that changes in the game are the blacklisting of certain actors i believe.
 
blubby, this looks fine to me, I added my Inna check in to your blinding flash code:

Code:
// Blinding Flash
                    if (!bOOCBuff && playerStatus.dCurrentEnergy >= 20 && hashPowerHotbarAbilities.Contains(SNOPower.Monk_BlindingFlash) &&
                            (iElitesWithinRange[RANGE_15] > 0 || iAnythingWithinRange[RANGE_15] >= 5 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 15f)) &&
                        // 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.dCurrentEnergy >= 85 && GilesUseTimer(SNOPower.Monk_SweepingWind))) &&
							 (hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) && playerStatus.dCurrentEnergy >= 15 && GilesUseTimer(SNOPower.Monk_SweepingWind) && settings.bMonkInnaSet) ||
                            GilesUseTimer(SNOPower.Monk_BlindingFlash) && PowerManager.CanCast(SNOPower.Monk_BlindingFlash))
                    {
                        return new GilesPower(SNOPower.Monk_BlindingFlash, 11f, vNullLocation, iCurrentWorldID, -1, 1, 2, USE_SLOWLY);
                    }

J - Use the blinding flash code above, and the sweeping wind blubby posted above for v44. I think that should do the trick for now.


hmm i think you did something wrong with the && and the brackets....

it should be like this no? :

Code:
// Blinding Flash
                    if (!bOOCBuff && playerStatus.dCurrentEnergy >= 20 && hashPowerHotbarAbilities.Contains(SNOPower.Monk_BlindingFlash) &&
                            (iElitesWithinRange[RANGE_15] > 0 || iAnythingWithinRange[RANGE_15] >= 5 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 15f)) &&
                        // 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.dCurrentEnergy >= 85 && GilesUseTimer(SNOPower.Monk_SweepingWind)) ||
							 (hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) && playerStatus.dCurrentEnergy >= 15 && GilesUseTimer(SNOPower.Monk_SweepingWind) && settings.bMonkInnaSet)) ||
                            GilesUseTimer(SNOPower.Monk_BlindingFlash) && PowerManager.CanCast(SNOPower.Monk_BlindingFlash))
                    {
                        return new GilesPower(SNOPower.Monk_BlindingFlash, 11f, vNullLocation, iCurrentWorldID, -1, 1, 2, USE_SLOWLY);
 
Can you guys add an option to easily enable/disable Infernal Key pickup from the GUI? My inferno keys are stacking up and I can't get rid of it, I don't have time to use them too. lol.
 
Is there a way to make it so the witch doctor doesn't spam pyrogiest and instead throws it once and lets it run it's course before redoing it? I use this in my zombiebears build so I was wondering it there is anyway to implement a fix for the spamming of pyrogiest.
 
Sometimes when running WW build.. the bot just stops and not do anything...
 
thanks a lot for all contributions

can you modify it for using revenge immediately possible no matter what


i really would appreciate if you help me with this one

for example while bot playing if i keep spamming the right mouse (revenge) i am getting it used better than the bot uses

bot has a lot of delays between revenge using times
 
Hey Blubby,

Try this out for me. You could remove/comment out the one initialize line where it waits for 85 spirit and see if things work better without the blinding flash/wind combo.

I did add a new check that if sweeping winds is active, don't bother doing the initialize checks. This should make sure blinding flash is firing as it should rather than waiting for 85 spirit to fire constantly offensively.

Code:
// Blinding Flash
                    if (!bOOCBuff && playerStatus.dCurrentEnergy >= 15 && hashPowerHotbarAbilities.Contains(SNOPower.Monk_BlindingFlash) &&
                        	(iElitesWithinRange[RANGE_6] > 0 || iAnythingWithinRange[RANGE_6] >= 6 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 15f)) &&
							// No Sweeping Winds or Sweeping Winds is currently active and don't need to perform initial check check
                            ((!hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) || GilesHasBuff(SNOPower.Monk_SweepingWind)) ||
                            // Has Sweeping Winds (Non-Inna)
							(hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) && playerStatus.dCurrentEnergy >= 85 && GilesUseTimer(SNOPower.Monk_SweepingWind)) ||
							// Has Sweeping Winds (Inna)
							(hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) && playerStatus.dCurrentEnergy >= 15 && GilesUseTimer(SNOPower.Monk_SweepingWind) && settings.bMonkInnaSet)) &&
							// Cooldowns Ready
                            GilesUseTimer(SNOPower.Monk_BlindingFlash) && PowerManager.CanCast(SNOPower.Monk_BlindingFlash))
                    {
                        return new GilesPower(SNOPower.Monk_BlindingFlash, 11f, vNullLocation, iCurrentWorldID, -1, 1, 2, USE_SLOWLY);
                    }

Let me know so we don't confuse the absolute hell out of Jub :)
 
i did not check this code so far. I have sent you a PM with the logical structure of the conditions we need to check in order to make it work. the problem is not blinding flash but sweeping wind which is not active without inna's. If I got enough time I will try to rewrite the hole code...
 
i really would appreciate if you help me with this one

for example while bot playing if i keep spamming the right mouse (revenge) i am getting it used better than the bot uses

bot has a lot of delays between revenge using times
Someone already protested against this in the thread you created, so I don't think it would be such a good idea to modify Unified like this. Try asking in the barbs thread and someone will most likely help you out there.
Sorry I couldn't do more for ya

Hey Blubby,

Try this out for me. You could remove/comment out the one initialize line where it waits for 85 spirit and see if things work better without the blinding flash/wind combo.

I did add a new check that if sweeping winds is active, don't bother doing the initialize checks. This should make sure blinding flash is firing as it should rather than waiting for 85 spirit to fire constantly offensively.

Code:
// Blinding Flash
                    if (!bOOCBuff && playerStatus.dCurrentEnergy >= 15 && hashPowerHotbarAbilities.Contains(SNOPower.Monk_BlindingFlash) &&
                        	(iElitesWithinRange[RANGE_6] > 0 || iAnythingWithinRange[RANGE_6] >= 6 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 15f)) &&
							// No Sweeping Winds or Sweeping Winds is currently active and don't need to perform initial check check
                            ((!hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) || GilesHasBuff(SNOPower.Monk_SweepingWind)) ||
                            // Has Sweeping Winds (Non-Inna)
							(hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) && playerStatus.dCurrentEnergy >= 85 && GilesUseTimer(SNOPower.Monk_SweepingWind)) ||
							// Has Sweeping Winds (Inna)
							(hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) && playerStatus.dCurrentEnergy >= 15 && GilesUseTimer(SNOPower.Monk_SweepingWind) && settings.bMonkInnaSet)) &&
							// Cooldowns Ready
                            GilesUseTimer(SNOPower.Monk_BlindingFlash) && PowerManager.CanCast(SNOPower.Monk_BlindingFlash))
                    {
                        return new GilesPower(SNOPower.Monk_BlindingFlash, 11f, vNullLocation, iCurrentWorldID, -1, 1, 2, USE_SLOWLY);
                    }

Let me know so we don't confuse the absolute hell out of Jub :)
Haha, nice to see you guys working this thing out. On a related note, I've been getting progressively sicker the last couple of days (Giles' syndrome?) and the meds the doctor prescribed aren't doing any good. This means I'll probably be less active from now on until I get better. So you guys can take your time and make sure everything is as good as it can be.
I'll still be checking this thread once in a while, though. So don't panic guys
 
i did not check this code so far. I have sent you a PM with the logical structure of the conditions we need to check in order to make it work. the problem is not blinding flash but sweeping wind which is not active without inna's. If I got enough time I will try to rewrite the hole code...

Got it, replied back. I think your logic sounds good. If you have time to write, have at it. Been doing some KeyRun code cleansing of my own. Giles was starting to rub off on me lol.

Feel free to bounce whatever you're working on off of me and I can test for Inna users.
 
Hello, its me once again.

Thank you for keeping up the good work!

Now I downloaded the specification "folder", instructions and the Trinity cs and xaml from darkfriends storage and with starting db, my plugins window in the DB is "empty" (there are plugins in the folder).

If I replace cs and xaml from the zip of this game, everything runs...But as I assume the lootrules wont work...Could some1 of you tell me what to do if I want to use darkfriends loot rules?
 
Just replying on the comments about my version a few pages back...

My version is in sync with all the unified v41 changes currently (except darkfiend77's loot stuff) and, doesn't have any issues with chests, shrines, doors, health wells, gizmos, barricades, units that are NPC's/burrowed/invunlerables/shielded. WW Barb ZigZag works on stairs, actually does projectile avoidance now (Azmodan Fireballs anyone?)

It also includes:

* A more organized structure, but still needs work. Hard to start with a mess and end up with perfection.
* Improved Kiting and avoidance mechanisms
* Faster RefreshDiaObject()
* Fixes Line of Sight issues with looting and targetting
* Unstucker actually works
* Fixes Blacklisting issues
* Integrates with Profile blacklists
* Improved documentation using C# XML tags (not just //*********** RANDOM COMMENT IN CAPS ************ )!
* has an "84" according to VS2010's "Maintainability Index" code analysis using All Rules
* Correctly handles DB Plugin Enable/Disable events


Cheers,

rrrix
 
Just replying on the comments about my version a few pages back...

My version is in sync with all the unified v41 changes currently (except darkfiend77's loot stuff) and, doesn't have any issues with chests, shrines, doors, health wells, gizmos, barricades, units that are NPC's/burrowed/invunlerables/shielded. WW Barb ZigZag works on stairs, actually does projectile avoidance now (Azmodan Fireballs anyone?)

It also includes:

* A more organized structure, but still needs work. Hard to start with a mess and end up with perfection.
* Improved Kiting and avoidance mechanisms
* Faster RefreshDiaObject()
* Fixes Line of Sight issues with looting and targetting
* Unstucker actually works
* Fixes Blacklisting issues
* Integrates with Profile blacklists
* Improved documentation using C# XML tags (not just //*********** RANDOM COMMENT IN CAPS ************ )!
* has an "84" according to VS2010's "Maintainability Index" code analysis using All Rules
* Correctly handles DB Plugin Enable/Disable events


Cheers,

rrrix

Can you provide a linky to your file? Would love to take a look and test ride!
 
Jubi,

Sorry to hear you are sick. Get better soon. This is just a question though, are you planning on putting up v44 soon or wait for the other changes to get ironed out? Just wondering when the pinata sno will be added in.

rrrix

Possible to give you the pinata sno to add to your version?
 
Status
Not open for further replies.
Back
Top