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.
Jub, put it back to previous version. Blind flash should be cast BEFORE sweeping wind when possible. The DPS calculation begins when sweeping wind is initially cast (not after or during it). If you recast it BEFORE it runs out, it maintains the initial DPS which is why we spam it (I understand THAT part now :)

So v.42 should be the optimal setup at this point.

EDIT - Here is a quick explanation ripped from the D3 forums:
The way sweeping wind works, it takes a "snapshot" of your dps at the time the sweeping wind is cast. Therefore, there exists an exploit where you cast sweeping wind while holding a really high damage 2H weapon and all your buffs (30% from faith in the light, 15% from blazing wrath, etc.) and sweeping wind will essentially lock in all these buffs FOREVER until the sweeping wind wears off and is recast (recasting while it's still active to refresh the timer does NOT remove the buffs).
 
Last edited:
too bad giles didn't branch out each class/function to each .cs file, would of been a lot easier to do stuff/fix, not sure why he wanted to make 1 jumbo file.

Indeed...looking through Belphegor is so much cleaner. I'm not going to bash Giles too much, he did a TON of work and I can appreciate his efforts. My guess is it started out small and eventually grew to this monstrosity. It's a miracle it works haha, but yeah trying to circumnavigate it is...interesting. :)
 
Well is there any proof that blizzard does so? I haven't read this so far, so my apologies. But my code is working better for my monk, that does not have 4 inna's bonus.

nevertheless i would suggest to adjust the blinding flash check to 3000ms and not 6000ms the buff only lasts for 3 secs!
 
Last edited:
Sure. Will be on v0.44
edit: uh, where exactly does this go again?

Wait, are monk routines screwed up again? What did I do wrong? What should I change?


I would add it to the cs file in this area as they are basically whimsy version of resplendent chests If there is another place to put it as well, I wouldnt know, maybe someone else has an idea

// Resplendent chest SNO list
private static readonly HashSet<int> hashSNOContainerResplendant = new HashSet<int> {
62873, 95011, 81424, 108230, 111808, 111809,
 
I would add it to the cs file in this area as they are basically whimsy version of resplendent chests If there is another place to put it as well, I wouldnt know, maybe someone else has an idea

// Resplendent chest SNO list
private static readonly HashSet<int> hashSNOContainerResplendant = new HashSet<int> {
62873, 95011, 81424, 108230, 111808, 111809,
Thanks.
I'll revert blinding flash back to how it was on v0.42 then, is that it?
 
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?
 
Indeed...looking through Belphegor is so much cleaner. I'm not going to bash Giles too much, he did a TON of work and I can appreciate his efforts. My guess is it started out small and eventually grew to this monstrosity. It's a miracle it works haha, but yeah trying to circumnavigate it is...interesting. :)

Giles is a self-confessed programming noob, which shows in his coding style and lack of enthusiasm over revision control systems. Unfortunately, his bot is also a lot better than just about any other garbage the DB team has come up with... which is great in the short term - we have a VERY capable bot.

The problem is that it is unsustainable long term. At some point, whoever maintains the codebase is going to have to start making some tough decisions... the current massive blob of code is going to get unmaintainable very quickly at the rate people are requesting modifications...
 
Giles is a self-confessed programming noob, which shows in his coding style and lack of enthusiasm over revision control systems. Unfortunately, his bot is also a lot better than just about any other garbage the DB team has come up with... which is great in the short term - we have a VERY capable bot.

The problem is that it is unsustainable long term. At some point, whoever maintains the codebase is going to have to start making some tough decisions... the current massive blob of code is going to get unmaintainable very quickly at the rate people are requesting modifications...

So and the is what ? Clear code and split in good stucture ? (several have already tried and have pulled their hair. ) Rewriting all and try to extract 1 or 2 good idea from existing ?
 
I'm not sure. I've seen lots of projects where somebody decides to do a rewrite because the existing codebase is a mess; they generally end in disaster. I'm just thankful jubisman is doing all the heavy lifting right now.
 
So and the is what ?
Wait, what?

Also, I remember that rrrix has successfully split everything, back in v0.39 or so. It's just that no one has bothered to keep that up to date
 
Wait, what?

Also, I remember that rrrix has successfully split everything, back in v0.39 or so. It's just that no one has bothered to keep that up to date

So and the solution is what ? ^^

rrrix have partialy succes this job, I used her version for leveling new character and bot don't take shrine, chests. ( but is already a giant job )

I don't say, it's impossible, just is hard task and risk to break something is great =)

But I'm sure is final solution for long term
 
I'm not sure. I've seen lots of projects where somebody decides to do a rewrite because the existing codebase is a mess; they generally end in disaster. I'm just thankful jubisman is doing all the heavy lifting right now.

Sur, Jubisman make a AWESOME job.
 
No one said anything about my post so I will say it again.. I have had 18 hours or so with only three items stashed using the latest two loot interpreter updates.. and those three items are trash. I am still getting over 100 rares an hour as my average.. and it seems weird that the only items it thought was worthy were trash.
 
Ah, now that makes more sense. I didn't know rrrix's split Trinity had issues, actually, but at least it's a start, if anyone wants to finish it...
 
No one said anything about my post so I will say it again.. I have had 18 hours or so with only three items stashed using the latest two loot interpreter updates.. and those three items are trash. I am still getting over 100 rares an hour as my average.. and it seems weird that the only items it thought was worthy were trash.
This probably means every single rare you've gotten in this period of time were garbage, and Trinity just happened to choose the best 3 of all the garbage

but if you really think this is a bug or something you should talk to darkfriend77. You're using his Custom Rules, right?
 
Ah, now that makes more sense. I didn't know rrrix's split Trinity had issues, actually, but at least it's a start, if anyone wants to finish it...

If you need, I can try, but is necessary minimize code modification when this work period, because merge modification can be the hell.
 
This probably means every single rare you've gotten in this period of time were garbage, and Trinity just happened to choose the best 3 of all the garbage

but if you really think this is a bug or something you should talk to darkfriend77. You're using his Custom Rules, right?

Yea I have been thinking that is true however I am usually getting 10 of these shity items a day + 3-5 decent ones.. so I am wondering if one of his updates changed the rules negatively without him knowing? I know it is possible to get nothing; but that is more unlikely then there being a bug.
 
If you need, I can try, but is necessary minimize code modification when this work period, because merge modification can be the hell.
I won't make you do anything you don't really want to here. It's your choice, man. Plus, I can't really control the amount of updates on Unified, since the changes are submitted by users and I just merge everything.

Yea I have been thinking that is true however I am usually getting 10 of these shity items a day + 3-5 decent ones.. so I am wondering if one of his updates changed the rules negatively without him knowing? I know it is possible to get nothing; but that is more unlikely then there being a bug.
Makes sense. Try leaving him a pm, you'll probably have your answer by tomorrow
 
I won't make you do anything you don't really want to here. It's your choice, man. Plus, I can't really control the amount of updates on Unified, since the changes are submitted by users and I just merge everything.


Makes sense. Try leaving him a pm, you'll probably have your answer by tomorrow

His mailbox is full.. oh well I am sure he will see it on here at some point
 
Status
Not open for further replies.
Back
Top