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

[Plugin] GearSwap

gearswap extreme is currently able to do that. did you take that option out? would be pointless imo. its working very well.

Some of the stuff is actually hardcoded, I might remove it since Extrem is now included in the original one, good find ;) I'm not in front of the code so I can't realize, sry :D
(I also fixed an issue on the french D3 Client)

did you change the way it works? currently it swaps gear when a skill is ready. not before using a skill.

It should always equipe before casting (it's part of the Extrem version) dunno if it works like this (don't have the opportunity to test atm)

also swapping multiple items does not work correctly.

You mean like Danetta's? I'll code a way to do it, basically gather every stuff that is in our inventory linked to the specified skill (Exemple, DemonHunter_Vault) and swap them before continuing. I wasn't aware this wasn't even coded that way... Is it?

in addition to that there are some items slots that are not swapping independently.

example: chest condition true --> equip harringtons until buff fades.
poison condition true --> equip poison neck
poison conditon false --> should equip default neck.... but it doesnt.
chest conditon false --> equip default belt and NOW it only equips default neck too.

Alright, as I pointed it above, it should work sequentially and treat every condition in a separate loop like this :

If Chest == True then Swap belt (Harrington) until buff fades,
If Poison == True then Swap every available gear for the poison condition,
If Poison == False then Swap back Items that were replaced by Poison stuff,
If Chest == False then Swap back Items that were replaced by Chest stuff.

To make it work like this, I could probably use separate lists to store Gear idependently depending on the condition.
The only problem I can think about for now, is that you'll have to care about not override stuff... like :

Belt / Harrington / Chest
Belt / (random poison belt (don't even know if that exists hh)) / Poison

If we do like this, the above sequence will not work and create a conflict between gears and won't stop swapping.

Suggestions :

- Prioritize Skills upon any other conditions?

Need explanation :

- Harrington needs to be directly swapped back after opening chest if the buff is active right? no point on keeping this one equipped ?

Keep on arguing about what should be reworked/done in this plugin. ;)
 
Last edited:
I got a idea then I try to make a swap swift mount before cast steed charge, so I decided to use GearSwap Extream plugin.

but, I face to problem with GearSwap Extream plugin.
I make a use swap swift mount before cast steed charge.
It works, but. after casting steed charge, plugin try to swap to original gear. so It automatically cancelled steed charge too.

I hope you can fix that problem :(..
 
- Harrington needs to be directly swapped back after opening chest if the buff is active right? no point on keeping this one equipped ?
no it has to stay equipped for the duration of the buff or else the buff fades.

example for the problem with multiple items swapping on one condition:
default: boots 1 and gloves 1
condition a: boots 2 and gloves 2

most of the time it works correctly. but sometimes it just doesnt work. it equips only one and ignores the other. sometimes it even equips gloves 2 on default and gloves 1 on condition a. i dont know why that happens but that is my observation.

equipping one item only works flawlessly though.

I got a idea then I try to make a swap swift mount before cast steed charge, so I decided to use GearSwap Extream plugin.

but, I face to problem with GearSwap Extream plugin.
I make a use swap swift mount before cast steed charge.
It works, but. after casting steed charge, plugin try to swap to original gear. so It automatically cancelled steed charge too.

I hope you can fix that problem :(..
skill window has to be set higher.
 
skill window has to be set higher.[/QUOTE]

I'm sorry, what is the skill window??

I don't know what is this.
 
Last edited:
skill window has to be set higher.

I'm sorry, what is the skill window??

I don't know what is this.[/QUOTE]


Okay, I found it. But it's limited only 5 sec.

I try to find to set more sec, I cannot.

anyway, thx a lot
 
tonyx, are you going to add an option for equipping illusory boots while combat is set to off? That would let us run through mobs and wallers while running bounties or other profiles while combat is off.
 
tonyx, are you going to add an option for equipping illusory boots while combat is set to off? That would let us run through mobs and wallers while running bounties or other profiles while combat is off.

I could, yes, I just need to figure out how to detect that DB's combat is off, and prioritize the boots slot for it.

So basically, today (07/25) (in the order) here's the plan :

- Check for useless code/improvements
- Comment each method/function with xmldoc (so people can modify things later)
- Check GUI's responsiveness/efficiency (+ Add OOC Boot slot priority checkbox)
- Hard testing of the swap feature, multiple swaps, and reversion
- Code checks for skills (to keep buffs alive)
- Add every conditions (Skills mainly)
- (OPTIONAL) Remove hardcoded gear for testing purposes
 
Last edited:
I got a idea then I try to make a swap swift mount before cast steed charge, so I decided to use GearSwap Extream plugin.

but, I face to problem with GearSwap Extream plugin.
I make a use swap swift mount before cast steed charge.
It works, but. after casting steed charge, plugin try to swap to original gear. so It automatically cancelled steed charge too.

I hope you can fix that problem :(..

In order to do this you need to create a duration variable and assign a length to it like is done for the health check. I added something similar to this in my own personal copy for the gloves of worship to get them to work correctly.
 
Hola amigos,

I created a private board on trello to follow up things I have to do, and also see to implement your ideas

If you have any suggestions, E-Mail them to me HERE (If you have issues, Right click > Save Email)

The format is simple :

- The Subject is your ideas title/name (make it short like "Add Glove of Worship support")
- The body is the description or your thoughts about this idea (Items/buffs cooldown, buff name, whatever, SNO bullshit)

If there's abuse, I'll cut off that feature and will only accept ideas from this forum, thought it could've been a good idea :) Keep suggestions coming !
 
Last edited:
Hi

First off all : really great work here (and all over DB)

I have a question, don't know if it's possible, but could gears swap depending on the skills you use? (just to use it end then swap back.)

I'm asking because I found the "Fate of the Fell", which doesn't fit in my actual build as my weapon, but being able to use it's passive whenever I use "Heaven's Fury" would just be awesome...

Thanks anyway :)
 
Hi

First off all : really great work here (and all over DB)

I have a question, don't know if it's possible, but could gears swap depending on the skills you use? (just to use it end then swap back.)

I'm asking because I found the "Fate of the Fell", which doesn't fit in my actual build as my weapon, but being able to use it's passive whenever I use "Heaven's Fury" would just be awesome...

Thanks anyway :)

Yes this is possible with the latest version that has merged in the changes from GearSwapXtreme with a little work.

1. Add the following line in the CanCast method that is located at \Plugins\Trinity\Combat\Abilities\CombatBase.cs.
2. Add the line X1_Crusader_HeavensFury3 in your priorities.txt file.

At this point when you run gear swap you will have the ability to add it to your managed equipments.
 
Hola amigos,

I created a private board on trello to follow up things I have to do, and also see to implement your ideas

If you have any suggestions, E-Mail them to me HERE (If you have issues, Right click > Save Email)

The format is simple :

- The Subject is your ideas title/name (make it short like "Add Glove of Worship support")
- The body is the description or your thoughts about this idea (Items/buffs cooldown, buff name, whatever, SNO bullshit)

If there's abuse, I'll cut off that feature and will only accept ideas from this forum, thought it could've been a good idea :) Keep suggestions coming !

Technically couldn't this be achieved by setting that as your default equipment? At least for the illusionary boots I could see this. Why can't simple make a check against the enemyCount variable that is already being used for the 3Enemies and 5Enemies check. if(enemyCount == 0){ //Assume we are out of combat}
 
Technically couldn't this be achieved by setting that as your default equipment? At least for the illusionary boots I could see this. Why can't simple make a check against the enemyCount variable that is already being used for the 3Enemies and 5Enemies check. if(enemyCount == 0){ //Assume we are out of combat}
no. the enemycount is still being calculated. so its not always 0 when combat is disabled.
 
no. the enemycount is still being calculated. so its not always 0 when combat is disabled.

Then couldn't we make it this way?

I mean if this is the case then MagicFind shouldn't work either as it's making that same check. The only thing that is calculated prior to the call to CountHostile() is the health check. I was thinking it could be done either that way, or in the Analyze results method that resets your gear back to the default if no status is found, possibly passing in the enemyCount there with the assumption that, if there are no status at all, then you are out of combat, If there is a status active, but no enemies around, then you are out of combat with a status that has been triggered from an object, like a chest or healing well.

Anyways just pondering it, I may fiddle around with it just because I'm curious. Thanks for the response though, I do appreciate it.
 
Then couldn't we make it this way?

I mean if this is the case then MagicFind shouldn't work either as it's making that same check. The only thing that is calculated prior to the call to CountHostile() is the health check. I was thinking it could be done either that way, or in the Analyze results method that resets your gear back to the default if no status is found, possibly passing in the enemyCount there with the assumption that, if there are no status at all, then you are out of combat, If there is a status active, but no enemies around, then you are out of combat with a status that has been triggered from an object, like a chest or healing well.

Anyways just pondering it, I may fiddle around with it just because I'm curious. Thanks for the response though, I do appreciate it.
the point of "no combat" is to skip everything in zerg profiles. it doesnt matter if there are 0 or 100 enemies. you still want the same items equipped. thus it is not related at all and can not make it work that way.
the only way to get a "no combat" condition is to either read (toggletargeting combat=false) or to implement another variable that we can set in profiles to enable or disable this "no combat" condition.
 
Then couldn't we make it this way?

I mean if this is the case then MagicFind shouldn't work either as it's making that same check. The only thing that is calculated prior to the call to CountHostile() is the health check. I was thinking it could be done either that way, or in the Analyze results method that resets your gear back to the default if no status is found, possibly passing in the enemyCount there with the assumption that, if there are no status at all, then you are out of combat, If there is a status active, but no enemies around, then you are out of combat with a status that has been triggered from an object, like a chest or healing well.

Anyways just pondering it, I may fiddle around with it just because I'm curious. Thanks for the response though, I do appreciate it.

Here is your answer (not tested still tho) :

Code:
/// <summary>
/// Check if combat is enabled in the bot
/// </summary>
public virtual bool IsCombatEnabled
{
      get
      {
              return Zeta.Bot.CombatTargeting.Instance.AllowedToKillMonsters;
      }
}

Or

Code:
/// <summary>
/// Check if the actual profile contains "zerg" in its name
/// </summary>
/// <returns>True if the profile name contains "zerg", else False</returns>
public static bool IsRunningZergProfiles
{
    get 
    { 
        return Zeta.Bot.ProfileManager.CurrentProfile.Name
        .ToLower()
        .IndexOf("zerg", StringComparison.CurrentCultureIgnoreCase) >= 0; 
    }
}
 
Here is your answer (not tested still tho) :

Code:
/// <summary>
/// Check if combat is enabled in the bot
/// </summary>
public virtual bool IsCombatEnabled
{
      get
      {
              return Zeta.Bot.CombatTargeting.Instance.AllowedToKillMonsters;
      }
}

Or

Code:
/// <summary>
/// Check if the actual profile contains "zerg" in its name
/// </summary>
/// <returns>True if the profile name contains "zerg", else False</returns>
public static bool IsRunningZergProfiles
{
    get 
    { 
        return Zeta.Bot.ProfileManager.CurrentProfile.Name
        .ToLower()
        .IndexOf("zerg", StringComparison.CurrentCultureIgnoreCase) >= 0; 
    }
}
yeah if the 1st one works its the best solution.
the 2nd one would be possible but we would have to change all profiles.
 
yeah if the 1st one works its the best solution.
the 2nd one would be possible but we would have to change all profiles.

It's only checking to see if the profile name contains zerg in it, most zerg profiles already have this. Any change to the name of the profile would be cosmetic.
 
It's only checking to see if the profile name contains zerg in it, most zerg profiles already have this. Any change to the name of the profile would be cosmetic.

The problem is that i'll have to switch for regex match, since most of the profiles use "Z" instead of "zerg" or some other typos, so basically i'll make an array of matches, if the profile name matches any, I return true.

The program :

- Check for unused methods or functions, and code improvements (DONE)
- Add xmldoc and comments into the code (DONE)
- Add skills (pretty much every of them) to the conditions list (IN PROGRESS)
- Code checks for skill and buffs duration (IN PROGRESS)
- Add Combat Disabled priority for "Illusory Boots" swap, plus integration in the GUI (DONE)
- Test the swap feature - Multiple items Swap - Revert Swapped Gear (TODO)
- Check GUI's Responsiveness and efficiency (TODO)
- Remove hardcoded gear since everything in the GUI is working ;) (TODO)

Current Status of Logic Integrations :

- Maintain equipped while buff/combatdisabled :
+ SteedCharge (w/ SwiftMount)
+ SpiritWalk (w/ Shukranis)
+ Vault (w/ Danettas & CombatDisabled)
+ Shrines (w/ Gloves of Worship)
+ Illusory Boots (w/ CombatDisabled)

- Simple integration
+ X1_Crusader_HeavensFury3
+ "CombatDisabled" condition (also known as Zerg)
+ "OutOfCombat" condition

- Features
+ Skill timeout (to revert gear if the skill hasn't been casted yet - Default : 1 second)
+ OOC Detection (with distance settings - Default : 30)
+ Profile Tag to force Zerg mode ! (eg. <GSRZerg isZerg="true" />)

- Doubts
? Fate of the Fell Logic - Keep it equipped while we can cast Heavens Fury
? Added RoutineCheck for IllusoryBoots (so it doesn't equip them if you're not running Trinity)

+ > Added
~ > Fixed
? > Need advices/suggestions

For the Doubts section, keep me updated if the logic should be like this, or give suggestions.

EDIT :

I still need your help for the actual and future plans, to handle every possibility of spells like :

[Skill SNO (string) | Item related | Item SNO | Maintain buff YES/NO]

X1_Crusader_HeavensFury3 | Fate of the Fell | 000000 | Don't maintain buff

So like this I can add every skill support
 
Last edited:
It's only checking to see if the profile name contains zerg in it, most zerg profiles already have this. Any change to the name of the profile would be cosmetic.
not at all. you would have to separate the zerg part from the non zerg part.
for example my exp profile: khazraden works like this combat off, combat on, combat off, combat on
a person that would use this profile would need to separate the one profile into four profiles.

i think there are 50 act1 bounties. so yes if would be a lot of work...
 
Back
Top