• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Scoring Legendaries [Not trying to step on Giles' turf]

    Discussion in 'Archives' started by TPM, Oct 24, 2012.

    1. TPM

      TPM New Member

      Joined:
      Oct 24, 2012
      Messages:
      7
      Likes Received:
      0
      Trophy Points:
      0
      Since 1.0.5 hit, a lot of people want legendaries to be scored like rares for stash/trash. I have found an interim solution (until Giles releases it officially), but I need some help. Here is the code that needs to be removed in order for legendaries to be evaluated when stashing, it starts on line 10052 of "GilesTrinity.cs":

      Legendary scoring 01.JPG

      However, if you change even one letter (even in a comment section) of the "GilesTrinity.cs" code, when starting DB you immediately get lots of compiler errors, which is not normal... yes, I tried changing just one letter of the commented out part and this is what happened:

      Code:
      [20:17:53.989 N] DemonbuddyBETA v1.0.1103.45 started
      [20:17:55.788 N] Logging in...
      [20:17:57.856 N] Attached to Diablo III with pid: [not putting this on the internet :)]
      [20:17:57.880 N] Flashing window
      [20:18:01.602 N] Compiler Error: d:\[not putting this on the internet :)]\GilesTrinity.cs(29,18) : error CS0101: The namespace 'GilesTrinity' already contains a definition for 'GilesTrinity'
      [20:18:01.602 N] Compiler Error: d:\[not putting this on the internet :)]\GilesTrinity.cs(351,21) : error CS0102: The type 'GilesTrinity.GilesTrinity' already contains a definition for 'GilesItemType'
      [20:18:01.602 N] Compiler Error: d:\[not putting this on the internet :)]\GilesTrinity.cs(410,21) : error CS0102: The type 'GilesTrinity.GilesTrinity' already contains a definition for 'GilesBaseItemType'
      [20:18:01.602 N] Compiler Error: d:\[not putting this on the internet :)]\GilesTrinity.cs(425,21) : error CS0102: The type 'GilesTrinity.GilesTrinity' already contains a definition for 'GilesObjectType'
      [20:18:01.602 N] Compiler Error: d:\[not putting this on the internet :)]\GilesTrinity.cs(447,22) : error CS0102: The type 'GilesTrinity.GilesTrinity' already contains a definition for 'GilesPlayerCache'
      [20:18:01.602 N] Compiler Error: d:\[not putting this on the internet :)]\GilesTrinity.cs(490,22) : error CS0102: The type 'GilesTrinity.GilesTrinity' already contains a definition for 'GilesObject'
      [20:18:01.602 N] Compiler Error: d:\[not putting this on the internet :)]\GilesTrinity.cs(591,22) : error CS0102: The type 'GilesTrinity.GilesTrinity' already contains a definition for 'GilesCachedACDItem'
      etc...
      If anyone has a solution to this, then please share it so we can modify the line above and have legendaries evaluated like rares.

      P.S.
      Once again Giles, I am not trying to undermine you or anything, I am just trying to help the community with what I consider is a big concern at the moment. Also, I have not gone through the entire file obviously, so if the above is not a solution to the "legendary issue" then say so and I will wait patiently for your next release :)
       
    2. vd3

      vd3 New Member

      Joined:
      Jul 30, 2012
      Messages:
      40
      Likes Received:
      1
      Trophy Points:
      0
      Thats not the only line you should modify, that line will auto stash legendaries. You need only comment out the if statement concerning legendaries like this

      Code:
      //            if (thisitem.ThisQuality >= ItemQuality.Legendary)
      //            {
      //                if (bOutputItemScores) Log(thisitem.ThisRealName + " [" + thisitem.ThisInternalName + "] [" + TrueItemType.ToString() + "] = (autokeep legendaries)");
      //                return true;
      //            }
      To enable trinity to sell legendaries you need to find these lines

      Code:
              // **********************************************************************************************
              // *****      Sell Validation - Determines what should or should not be sold to vendor      *****
              // **********************************************************************************************
              private static bool GilesSellValidation(string thisinternalname, int thislevel, ItemQuality thisquality, ItemType thisdbitemtype, FollowerType thisfollowertype)
              {
                  // Check this isn't something we want to salvage
                  if (settings.bSalvageJunk)
                  {
                      if (GilesSalvageValidation(thisinternalname, thislevel, thisquality, thisdbitemtype, thisfollowertype))
                          return false;
                  }
                  // Make sure it's not legendary
                  if (thisquality >= ItemQuality.Legendary)
                      return false;
      and then just comment out the if (thisquality >= ItemQuality.Legendary) return false; part (by putting // at the beginning of the line).

      At least I think. And be very aware this could cause you to sell very valuable items! Do so at your own risk :D
       
      Last edited: Oct 24, 2012
    3. Coupons

      Coupons New Member

      Joined:
      Jul 29, 2012
      Messages:
      369
      Likes Received:
      3
      Trophy Points:
      0
      Yeah you're going to end up vendoring a LOT of crit/main stat lacuni prowlers dude. Might as well flush your wallet down the toilet.
       
    4. TPM

      TPM New Member

      Joined:
      Oct 24, 2012
      Messages:
      7
      Likes Received:
      0
      Trophy Points:
      0
      Thanks guys. Yes, I know this may sell a lot of valuable legendaries so it should be done at one's own risk. But it was interesting for me to go through the code and see how it can be done. And I missed the safe-check when actually selling to the vendor, I thought once the trash/stash routine was complete, everything else was sent to either vendor or salvage routine. Anyway, thanks again :)
       

    Share This Page