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

[Plugin Addon] "Item Rules" with a file based scripting language

Hey, just a quick question. Is there any way to edit it to go over giles pickup rules, and select specificly not to pick up certain types of armor (as in, only pick up gloves and boots, ignore legs chest and bracers) or whatever you might wish for it to ignore :P
 
Oki, got it working now.. :)

Is anyone working legendary armors?

Right now it keeps alot of the ordinary junk like frostburn, gladiator, int helm and tons of strongarms etc..

Yup, here's my armor section, just tosses bottom 25% of armor rating, I'll be making this better soon. Something worth noting, IK gloves aren't being processed correctly yet, and it will want to throw away all of them, so they are currently set to keep all. Also will keep all Jewlery currently.

Code:
// ========= Armor =========

// Head - Helm

// Andariel's Visage - iLvl 62
[QUALITY] == Legendary && [TYPE] == Helm && [LEVEL] == 62 # [ARMOR] < 369 # [TRASH]
// Immortal King's Triumph (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Helm && [LEVEL] == 63 && [CRIT%] > 4 && [STR] > 89 # [ARMOR] < 412 # [TRASH]
// Tal Rasha's Guise of Wisdom (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Helm && [LEVEL] == 63 && [CRIT%] > 4 && [INT] > 89 # [ARMOR] < 412 # [TRASH]
// Mempo of Twilight - iLvl 63
[QUALITY] == Legendary && [TYPE] == Helm && [LEVEL] == 63 && [AS%] > 7 # [ARMOR] < 412 # [TRASH]
// Natalya's Sight (set) - ivl 63
[QUALITY] == Legendary && [TYPE] == Helm && [LEVEL] == 63 # [ARMOR] < 412 # [TRASH]

// Head - Spirit Stones

// Tzo Krin's Gaze - iLvl 61
[QUALITY] == Legendary && [TYPE] == SpiritStone && [LEVEL] == 61 # [ARMOR] < 331 # [TRASH]
// Inna's Radiance - iLvl 63
[QUALITY] == Legendary && [TYPE] == SpiritStone && [LEVEL] == 63 && [CRIT%] > 4 # [ARMOR] < 374 # [TRASH]
// Madstone - ilvl 63
[QUALITY] == Legendary && [TYPE] == SpiritStone && [LEVEL] == 63 # [ARMOR] < 374 # [TRASH]

// Head - Voodoo Masks

// The Grin Reaper - iLvl 58
[QUALITY] == Legendary && [TYPE] == VoodooMask && [LEVEL] == 58 # [ARMOR] < 262 # [TRASH]
// Tiklandian Visage - iLvl 62
[QUALITY] == Legendary && [TYPE] == VoodooMask && [LEVEL] == 62 # [ARMOR] < 374 # [TRASH]
// Visage of Giyua - iLvl 63
[QUALITY] == Legendary && [TYPE] == VoodooMask && [LEVEL] == 63 && [MANAREG] > 11 # [ARMOR] < 374 # [TRASH]
// Zunimassa's Vision - iLvl 63
[QUALITY] == Legendary && [TYPE] == VoodooMask && [LEVEL] == 63 # [ARMOR] < 374 # [TRASH]

// Head - Wizard Hats

// Dark Mage's Shade - iLvl 58
[QUALITY] == Legendary && [TYPE] == WizardHat && [LEVEL] == 58 # [ARMOR] < 394 # [TRASH]
// Storm Crow - iLvl 63
[QUALITY] == Legendary && [TYPE] == WizardHat && [LEVEL] == 63 # [ARMOR] < 374 # [TRASH]

// Shoulders - Pauldrons

// Death Watch Mantle - iLvl 58
[QUALITY] == Legendary && [TYPE] == Shoulder && [LEVEL] == 58 # [ARMORTOT] < 408 # [TRASH]
// Vile Ward - iLvl 63
[QUALITY] == Legendary && [TYPE] == Shoulder && [LEVEL] == 63 # [ARMORTOT] < 613 # [TRASH]

// Torso - Chest Armor

// Cindercoat - iLvl 60
[QUALITY] == Legendary && [TYPE] == Chest && [LEVEL] == 60 # [ARMOR] < 294 # [TRASH]
// Tyrael's Might - iLvl 63
[QUALITY] == Legendary && [TYPE] == Chest && [LEVEL] == 63 && [MS%] == 12 # [ARMOR] < 412 # [TRASH]
// Immortal King's Eternal Reign (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Chest && [LEVEL] == 63 && [STR] > 119 && [ARMORBONUS] > 240 # [ARMOR] < 412 # [TRASH]
// Inna's Vast Expanse (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Chest && [LEVEL] == 63 && [DEX] > 119 && [LIFE%] > 9 # [ARMOR] < 412 # [TRASH]
// Tal Rasha's Relentless Pursuit (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Chest && [LEVEL] == 63 && [INT] > 119 && [AS%] > 7 # [ARMOR] < 412 # [TRASH]
// Zunimassa's Marrow (set) - iLvl 63 - int
[QUALITY] == Legendary && [TYPE] == Chest && [LEVEL] == 63 && [INT] > 119 # [ARMOR] < 412 # [TRASH]
// Blackthorne's Surcoat (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Chest && [LEVEL] == 63 # [ARMOR] < 412 # [TRASH]

// Torso - Cloaks

// The Inquisitor - iLvl 63
[QUALITY] == Legendary && [TYPE] == Cloak && [LEVEL] == 63 && [MS%] == 12 # [ARMOR] < 374 # [TRASH]
// Natalya's Embrace (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Cloak && [LEVEL] == 63 # [ARMOR] < 374 # [TRASH]

// Wrists - Bracers

// Promise of Glory - iLvl 60
[QUALITY] == Legendary && [TYPE] == Bracer && [LEVEL] == 60 # [ARMOR] < 163 # [TRASH]
// Strongarm Bracers - iLvl 62
[QUALITY] == Legendary && [TYPE] == Bracer && [LEVEL] == 62 # [ARMORTOT] < 427 # [TRASH]
// Lacuni Prowlers - ilvl 63
[QUALITY] == Legendary && [TYPE] == Bracer && [LEVEL] == 63 # [ARMOR] < 228 # [TRASH]

// Hands - Gloves

// Gladiator Gauntlets - iLvl 61
[QUALITY] == Legendary && [TYPE] == Gloves && [LEVEL] == 61 # [ARMORTOT] < 454 # [TRASH]
// Frostburn Gauntlets - iLvl 62
[QUALITY] == Legendary && [TYPE] == Gloves && [LEVEL] == 62 # [ARMORTOT] < 509 # [TRASH]
// Imortal King's Irons (set) - iLvl 63 - NOTE: There is some weird error here causing it to always trash
[QUALITY] == Legendary && [TYPE] == Gloves && [LEVEL] == 63 && [CRIT%] > 8 && [REGEN] > 234 # [1] == 1 # [KEEP]
// Tasker and Theo - iLvl 63
[QUALITY] == Legendary && [TYPE] == Gloves && [LEVEL] == 63 # [ARMORTOT] < 568 # [TRASH]

// Waist - Belts

// Hellcat Waistguard - iLvl 61
[QUALITY] == Legendary && [TYPE] == Belt && [LEVEL] == 61 # [ARMOR] < 275 # [TRASH]
// The Witching Hour - iLvl 63
[QUALITY] == Legendary && [TYPE] == Belt && [LEVEL] == 63 && [AS%] > 7 # [ARMOR] < 275 # [TRASH]
// Blackthorne's Notched Belt (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Belt && [LEVEL] == 63 && [GF%] > 20 # [ARMORTOT] < 522 # [TRASH]
// Inna's Favor (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Belt && [LEVEL] == 63 && [HOLYDMG%] > 6 # [ARMORTOT] < 522 # [TRASH]
// Tal Rasha's Brace (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Belt && [LEVEL] == 63 # [ARMOR] < 275 # [TRASH]

// Waist - Mighty Belts

// Ageless Might - iLvl 61
[QUALITY] == Legendary && [TYPE] == MightyBelt && [LEVEL] == 61 # [ARMOR] < 294 # [TRASH]
// Immortal King's Tribal Binding (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == MightyBelt && [LEVEL] == 63 && [MAXFURY] > 12 # [ARMOR] < 332 # [TRASH]
// Lamentation - iLvl 63
[QUALITY] == Legendary && [TYPE] == MightyBelt && [LEVEL] == 63 # [ARMOR] < 322 # [TRASH]

// Legs - Pants

// Depth Diggers - iLvl 63
[QUALITY] == Legendary && [TYPE] == Legs && [LEVEL] == 63 && [MF%] > 18 && [GF%] > 20 # [ARMOR] < 412 # [TRASH]
// Inna's Temperance (set) - ilvl 63
[QUALITY] == Legendary && [TYPE] == Legs && [LEVEL] == 63 && [MS%] == 12 # [ARMOR] < 412 # [TRASH]
// Blackthorne's Jousting Mail (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Legs && [LEVEL] == 63 # [ARMOR] < 412 # [TRASH]

// Feet - Boots

// Fire Walkers - iLvl 62
[QUALITY] == Legendary && [TYPE] == Boots && [LEVEL] == 62 # [ARMOR] < 287 # [TRASH]
// Ice Climbers - iLvl 63
[QUALITY] == Legendary && [TYPE] == Boots && [LEVEL] == 63 && [SOCKETS] == 1 # [ARMOR] < 321 # [TRASH]
// Zunimassa's Trail (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Boots && [LEVEL] == 63 && [POISONDMG%] > 6 # [ARMOR] < 321 # [TRASH]
// Blackthore's Spurs (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Boots && [LEVEL] == 63 && [REGEN] > 234 # [ARMORTOT] < 568 # [TRASH]
// Immortal King's Stride (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Boots && [LEVEL] == 63 && [STR] > 89 && [VIT] > 89 # [ARMOR] < 321 # [TRASH]
// Natalya's Bloody Footprints (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Boots && [LEVEL] == 63 # [ARMORTOT] < 568 # [TRASH]

// ========= Off-Hand =========

// Off-Hand - Shields

// Ivory Tower - iLvl 61
[QUALITY] == Legendary && [TYPE] == Shield && [LEVEL] == 61 # [ARMOR] < 885 # [TRASH]
// Stormshield - iLvl 63
[QUALITY] == Legendary && [TYPE] == Shield && [LEVEL] == 63 # [ARMOR] < 1100 # [TRASH]

// Off-Hand - Mojos

// Thing of the deep - iLvl 62
[QUALITY] == Legendary && [TYPE] == Mojo && [LEVEL] == 62 # [MINDMG] < 49 && [MAXDMG] < 123 # [TRASH]
// Uhkapian Serpent - iLvl 63
[QUALITY] == Legendary && [TYPE] == Mojo && [LEVEL] == 63 && [CRIT%] > 8 # [MINDMG] < 57 && [MAXDMG] < 146 # [TRASH]
// Manajuma's Gory Fetch (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Mojo && [LEVEL] == 63 && [LIFE%] > 9 # [MINDMG] < 57 && [MAXDMG] < 146 # [TRASH]
// Zunimassa's String of Skulls (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Mojo && [LEVEL] == 63 # [MINDMG] < 57 && [MAXDMG] < 146 # [TRASH]

// Off-Hand - Orbs
// NOTE: The Oculus and Tal Rasha's Unwavering Glare have almost identical stat possibilities

// Triumvirate - iLvl 62
[QUALITY] == Legendary && [TYPE] == Orb && [LEVEL] == 62 # [MINDMG] < 49 && [MAXDMG] < 123 # [TRASH]
// Chantodo's Force (set) - iLvl 63 as
[QUALITY] == Legendary && [TYPE] == Orb && [LEVEL] == 63 && [AS%] > 7 # [MINDMG] < 57 && [MAXDMG] < 146 # [TRASH]
// The Oculus - iLvl 63
[QUALITY] == Legendary && [TYPE] == Orb && [LEVEL] == 63 # [MINDMG] < 57 && [MAXDMG] < 146 # [TRASH]
// Tal Rasha's Unwavering Glare (set) - iLvl 63
[QUALITY] == Legendary && [TYPE] == Orb && [LEVEL] == 63 # [MINDMG] < 57 && [MAXDMG] < 146 # [TRASH]

// Off-Hand - Quivers

// Dead Man's Legacy - iLvl 63
[QUALITY] == Legendary && [TYPE] == Quiver && [LEVEL] == 63 # [AS%] < 13 && [DEX] < 178 # [TRASH]

// ========= Jewlery =========

// Jewlery - Amulets
// Jewlery - Rings
 
Yup, here's my armor section, just tosses bottom 25% of armor rating, I'll be making this better soon. Something worth noting, IK gloves aren't being processed correctly yet, and it will want to throw away all of them, so they are currently set to keep all. Also will keep all Jewlery currently.

So this would go directly under the weapons section right? Also, is there any way to get it to salvage legendary items instead of selling? Brimstones would be worth several times what you would get by vending.
 
"The Three Hundredth Spear" crap legendary spear (at least this one was)

Shows up in log as [Spear_norm_unique_03-48] = (Trash)

But still in my bag after three town runs.

Yeah, currently appears to be an issue with selling legendaries, hopefully this is fixed soon (and/or the addition of salvage)

So this would go directly under the weapons section right? Also, is there any way to get it to salvage legendary items instead of selling? Brimstones would be worth several times what you would get by vending.

To your first question, yes, just make sure this goes between the weapons section and the line that keeps all legendaries.
As for salvaging, I agree, but I'm not sure, would like to be able to do this aswell
 
This is also happening to me, but only when I runas another windows user. I have three D3 clients running as different users, I also run the different DBs as the respective D3 windows users (but pointing to the same DB install directory).

I have been using multiple plugins (including Trinity of course, and Radsatom which also has multiple folders within the plugins folder) that all work fine with this setup for months, this is the first time I've encountered this. When I just take out the "runas" piece in the shortcut or use the my "main" logged in user...it works fine. Meaning it does not immediately crash as mentioned by Archone88.

I still can't get this to work with multiple windows uses like all the other plugins I've used...the only thing in the DB logs (on diagnostic) is:

Code:
[23:22:42.156 N] DemonbuddyBETA v1.0.1145.67 started
[23:22:43.675 N] Logging in...
[23:22:49.793 N] Attached to Diablo III with pid: 1812
[23:22:49.884 N] Flashing window
[23:22:53.219 D] Executable Path: C:\Demonbuddy\Demonbuddy.exe
[23:22:53.219 D] OS Architecture: AMD64
[23:22:53.223 D] OS: Windows 7 Service Pack 1 64-bit
[23:22:53.223 D] OS Language: English (United States)
[23:22:53.291 D] Reloading AssemblyLoader<Zeta.CommonBot.ICombat> - Initializing
[23:22:54.877 D] Reloading AssemblyLoader<Zeta.Common.Plugins.IPlugin> - Initializing

The only thing that stands out in the windows crash report is:

Code:
  Problem Signature 09:	System.IO.DirectoryNotFound

The plugin logs just has that all the rulesets were loaded:

Code:
...
04112012182013: initialized 45 itemrulesets!
 
Yeah, currently appears to be an issue with selling legendaries, hopefully this is fixed soon (and/or the addition of salvage)



To your first question, yes, just make sure this goes between the weapons section and the line that keeps all legendaries.
As for salvaging, I agree, but I'm not sure, would like to be able to do this aswell

This one should be easy!
find this and delete it.
Code:
// Make sure it's not legendary
            if (thisquality >= ItemQuality.Legendary)
                return false;
 
This one should be easy!
find this and delete it.
Code:
// Make sure it's not legendary
            if (thisquality >= ItemQuality.Legendary)
                return false;

Ah, thar she blows! I had a sneaking suspicion it was Giles, I just couldn't find the line (so much code in 1 file)
 
The whole instruction is this:

Code:
            // Make sure it's not legendary
            if (thisquality >= ItemQuality.Legendary)
                return false;
            GilesItemType thisGilesItemType = DetermineItemType(thisinternalname, thisdbitemtype, thisfollowertype);
            GilesBaseItemType thisGilesBaseType = DetermineBaseType(thisGilesItemType);

            switch (thisGilesBaseType)
            {
                case GilesBaseItemType.WeaponRange:
                case GilesBaseItemType.WeaponOneHand:
                case GilesBaseItemType.WeaponTwoHand:
                case GilesBaseItemType.Armor:
                case GilesBaseItemType.Offhand:
                case GilesBaseItemType.Jewelry:
                case GilesBaseItemType.FollowerItem:
                    return true;
                case GilesBaseItemType.Gem:
                case GilesBaseItemType.Misc:
                case GilesBaseItemType.Unknown:
                    return false;
            } // Switch giles base item type
            return false;
        }

So just removing that one bit at the top? Also, the one directly below that one seems to deal with salvaging and has a similar instruction regarding legendary items.


Code:
        // **********************************************************************************************
        // *****       Salvage Validation - Determines what should or should not be salvaged        *****
        // **********************************************************************************************

        private static bool GilesSalvageValidation(string thisinternalname, int thislevel, ItemQuality thisquality, ItemType thisdbitemtype, FollowerType thisfollowertype)
        {
            if (!settings.bSalvageJunk)
                return false;
            // Make sure it's not legendary
            if (thisquality >= ItemQuality.Legendary)
                return false;
            GilesItemType thisGilesItemType = DetermineItemType(thisinternalname, thisdbitemtype, thisfollowertype);
            GilesBaseItemType thisGilesBaseType = DetermineBaseType(thisGilesItemType);

            switch (thisGilesBaseType)
            {
                case GilesBaseItemType.WeaponRange:
                case GilesBaseItemType.WeaponOneHand:
                case GilesBaseItemType.WeaponTwoHand:
                case GilesBaseItemType.Armor:
                case GilesBaseItemType.Offhand:
                    if (thislevel >= 61 && thisquality >= ItemQuality.Magic1)
                    {
                        return true;
                    }
                    return false;
                case GilesBaseItemType.Jewelry:
                    if (thislevel >= 59 && thisquality >= ItemQuality.Magic1)
                    {
                        return true;
                    }
                    return false;
                case GilesBaseItemType.FollowerItem:
                    if (thislevel >= 60 && thisquality >= ItemQuality.Magic1)
                    {
                        return true;
                    }
                    return false;
                case GilesBaseItemType.Gem:
                case GilesBaseItemType.Misc:
                case GilesBaseItemType.Unknown:
                    return false;
            } // Switch giles base item type
            return false;
        }
 
Last edited:
The whole instruction is this:

Code:
            // Make sure it's not legendary
            if (thisquality >= ItemQuality.Legendary)
                return false;
            GilesItemType thisGilesItemType = DetermineItemType(thisinternalname, thisdbitemtype, thisfollowertype);
            GilesBaseItemType thisGilesBaseType = DetermineBaseType(thisGilesItemType);

            switch (thisGilesBaseType)
            {
                case GilesBaseItemType.WeaponRange:
                case GilesBaseItemType.WeaponOneHand:
                case GilesBaseItemType.WeaponTwoHand:
                case GilesBaseItemType.Armor:
                case GilesBaseItemType.Offhand:
                case GilesBaseItemType.Jewelry:
                case GilesBaseItemType.FollowerItem:
                    return true;
                case GilesBaseItemType.Gem:
                case GilesBaseItemType.Misc:
                case GilesBaseItemType.Unknown:
                    return false;
            } // Switch giles base item type
            return false;
        }

So just removing that one bit at the top? Also, the one directly below that one seems to deal with salvaging and has a similar instruction regarding legendary items.


Code:
        // **********************************************************************************************
        // *****       Salvage Validation - Determines what should or should not be salvaged        *****
        // **********************************************************************************************

        private static bool GilesSalvageValidation(string thisinternalname, int thislevel, ItemQuality thisquality, ItemType thisdbitemtype, FollowerType thisfollowertype)
        {
            if (!settings.bSalvageJunk)
                return false;
            // Make sure it's not legendary
            if (thisquality >= ItemQuality.Legendary)
                return false;
            GilesItemType thisGilesItemType = DetermineItemType(thisinternalname, thisdbitemtype, thisfollowertype);
            GilesBaseItemType thisGilesBaseType = DetermineBaseType(thisGilesItemType);

            switch (thisGilesBaseType)
            {
                case GilesBaseItemType.WeaponRange:
                case GilesBaseItemType.WeaponOneHand:
                case GilesBaseItemType.WeaponTwoHand:
                case GilesBaseItemType.Armor:
                case GilesBaseItemType.Offhand:
                    if (thislevel >= 61 && thisquality >= ItemQuality.Magic1)
                    {
                        return true;
                    }
                    return false;
                case GilesBaseItemType.Jewelry:
                    if (thislevel >= 59 && thisquality >= ItemQuality.Magic1)
                    {
                        return true;
                    }
                    return false;
                case GilesBaseItemType.FollowerItem:
                    if (thislevel >= 60 && thisquality >= ItemQuality.Magic1)
                    {
                        return true;
                    }
                    return false;
                case GilesBaseItemType.Gem:
                case GilesBaseItemType.Misc:
                case GilesBaseItemType.Unknown:
                    return false;
            } // Switch giles base item type
            return false;
        }

correct. although it may be unsafe if sometimes DB skipped interpreter when stash, which will cause Trinity to sell your precious legendary.
the safe way is to use interpreter again in this routine, but it will cause double check(we don't care about that, do we?)
 
correct. although it may be unsafe if sometimes DB skipped interpreter when stash, which will cause Trinity to sell your precious legendary.
the safe way is to use interpreter again in this routine, but it will cause double check(we don't care about that, do we?)

So instead of removing code, what if we change:

Code:
            if (thisquality >= ItemQuality.Legendary)
                return false;

To

Code:
            if (thisquality >= ItemQuality.Legendary)
                return true;
 
Also seems to be trashing Immortal King's Eternal Reign armor, tried it with three different ones all with good stats.
 
So instead of removing code, what if we change:

Code:
            if (thisquality >= ItemQuality.Legendary)
                return false;

To

Code:
            if (thisquality >= ItemQuality.Legendary)
                return true;

not like this, this will call more tragedy....
I think darkfriend will get the idea of how to make it, this will also help to get item salved.
 
not like this, this will call more tragedy....
I think darkfriend will get the idea of how to make it, this will also help to get item salved.

... i haven't tested the seling of legendarys ... but as i see it's an issue ...
... my primary goal was to keep changes in GilesTrinity.cs ... as minimal as possible to keep a low dependancy ...
... i will check the stuff later this day ... an put up a new version ...
 
... i haven't tested the seling of legendarys ... but as i see it's an issue ...
... my primary goal was to keep changes in GilesTrinity.cs ... as minimal as possible to keep a low dependancy ...
... i will check the stuff later this day ... an put up a new version ...
yeah. I find it uncomfortable to change the GilesCachedACDItem
 
Code:
// +--------------------------------------------------------------------------------------+
// |   __|  |  |    \     \ |   __|  __|  |      _ \   __| 
// |  (     __ |   _ \   .  |  (_ |  _|   |     (   | (_ | 
// | \___| _| _| _/  _\ _|\_| \___| ___| ____| \___/ \___|                                                        
// +--------------------------------------------------------------------------------------+
// | 08a:
// | - legendarys selling and salvaging now properly
// | - legendary rules .. and some structuring ... (unfinished)
// | - usining Bombastic version off GilesTrinity as base
// +--------------------------------------------------------------------------------------+

untested but should work out of the box ^^
 
Code:
// +--------------------------------------------------------------------------------------+
// |   __|  |  |    \     \ |   __|  __|  |      _ \   __| 
// |  (     __ |   _ \   .  |  (_ |  _|   |     (   | (_ | 
// | \___| _| _| _/  _\ _|\_| \___| ___| ____| \___/ \___|                                                        
// +--------------------------------------------------------------------------------------+
// | 08a:
// | - legendarys selling and salvaging now properly
// | - legendary rules .. and some structuring ... (unfinished)
// | - usining Bombastic version off GilesTrinity as base
// +--------------------------------------------------------------------------------------+

untested but should work out of the box ^^

I used a better method for this. which can also help interpreter salvage the legendary, if you would like to implement.
But I think it's terrible to keep so many unofficial version with so many adjustment.....
http://www.thebuddyforum.com/demonb...007-about-barbs-stupid-action-near-steps.html
 
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(2952,41) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(10106,83) : error CS1061: 'GilesTrinity.GilesTrinity.GilesCachedACDItem' does not contain a definition for 'DBItem' and no extension method 'DBItem' accepting a first argument of type 'GilesTrinity.GilesTrinity.GilesCachedACDItem' could be found (are you missing a using directive or an assembly reference?)
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(10350,36) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(10354,32) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(10420,40) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(10697,44) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(11051,44) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(11061,44) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(11098,32) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(11331,32) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(11332,32) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(15053,17) : warning CS0162: Unreachable code detected

Something tells me this is a BETA thing. Does 0.8 only work in DB Beta (haven't tried it)?
 
Last edited:
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(2952,41) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(10106,83) : error CS1061: 'GilesTrinity.GilesTrinity.GilesCachedACDItem' does not contain a definition for 'DBItem' and no extension method 'DBItem' accepting a first argument of type 'GilesTrinity.GilesTrinity.GilesCachedACDItem' could be found (are you missing a using directive or an assembly reference?)
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(10350,36) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(10354,32) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(10420,40) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(10697,44) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(11051,44) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(11061,44) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(11098,32) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(11331,32) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(11332,32) : warning CS0162: Unreachable code detected
[23:05:42.468 N] Compiler Error: e:\Portable Apps\Demonbuddy (Stable)\Plugins\GilesTrinity\GilesTrinity.cs(15053,17) : warning CS0162: Unreachable code detected

Something tells me this is a BETA thing. Does 0.8 only work in DB Beta (haven't tried it)?
In GilesTrinity.cs in 0.8 at line 10105 you have to switch:
Code:
            Interpreter.InterpreterAction action = interpreter.checkItem(thisitem.DBItem);
with
Code:
            Interpreter.InterpreterAction action = interpreter.checkItem(thisitem.ACDItem);
 
In GilesTrinity.cs in 0.8 at line 10105 you have to switch:
Code:
            Interpreter.InterpreterAction action = interpreter.checkItem(thisitem.DBItem);
with
Code:
            Interpreter.InterpreterAction action = interpreter.checkItem(thisitem.ACDItem);

Yeap, working fine now. Thanks.
 
Back
Top