1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Fixed Exploit - rare stuff drop and bonded pets

Discussion in 'Bug Reports' started by LordFenris, Dec 7, 2017.

  1. LordFenris
    Offline

    LordFenris Member

    Joined:
    Jul 21, 2014
    Messages:
    162
    Likes Received:
    4
    Hello.

    In the current code, we found a gap, resulting in the ability to quickly obtain rare items in the game. For example, the following creatures give you the chance to receive:
    High Plains Boura - Boura Tail Shield
    Stone Slith - Stone Slith Claw
    Raptor - Raptor Claw

    When killing them, there is a certain percentage to get them - but there is a small catch here,
    because each of these mobs can be tamed. If we bound such a pet and we will kill him and resurrect again and again, etc. then such a drop chance still exists.

    With a veterinary macro on High Plains Boura (Resistance + Mind blast and so, on in a circle) after 5h our tester received 3 Boura Tail Shield.

    In my opinion - it should not be possible to acquire a rare items (and any other) from bounded (tamed) pets.
     
    #1 LordFenris, Dec 7, 2017
    Last edited: Dec 7, 2017
  2. Tasanar
    Offline

    Tasanar Well-Known Member

    Joined:
    Oct 16, 2014
    Messages:
    2,606
    Likes Received:
    78
    Lowland Boura and Ruddy Boura too.

    Also there is code in place for the Lowland Boura to get the shield but I do not see where that would be triggered?
    --- Double Post Merged, Dec 7, 2017 ---
    I will have a fix for this in the PR shortly.
    --- Double Post Merged, Dec 7, 2017 ---
    https://github.com/ServUO/ServUO/pulls
    --- Double Post Merged, Dec 7, 2017 ---
    @Dexter_Lexia

    In response to the redundant checks.

    I only did it that way because across the code I have seen it done both ways.

    Is there one way that is better than the other?

    IE:


    if (Controlled)
    return;

    VS


    if (!Controlled && Utility.RandomDouble() < 0.03)
    c.DropItem(new LuckyCoin());


    I would almost remove the top value and just add the !Controlled
     
  3. Dexter_Lexia
    Offline

    Moderator ServUO Developer

    Joined:
    Jul 3, 2014
    Messages:
    2,401
    Likes Received:
    109
    Either way, it's just good habit not to have both in there as redundant checks.
     
  4. Dexter_Lexia
    Offline

    Moderator ServUO Developer

    Joined:
    Jul 3, 2014
    Messages:
    2,401
    Likes Received:
    109
    If you use return, be mindful of any code that won't be executed after the return.
     
  5. Tasanar
    Offline

    Tasanar Well-Known Member

    Joined:
    Oct 16, 2014
    Messages:
    2,606
    Likes Received:
    78
    Yeah I like just adding each (!Controlled)
     
  6. Dexter_Lexia
    Offline

    Moderator ServUO Developer

    Joined:
    Jul 3, 2014
    Messages:
    2,401
    Likes Received:
    109
    Very good, approved and merged. Thank you sir!
     
    • Two Thumbs Up Two Thumbs Up x 1
Similar Threads: Exploit rare
Forum Title Date
Archived Bug Reports Vendor Search - Map teleportation exploit. Jul 29, 2017
Archived Bug Reports HUGE exploit with Heartwood quests and ANY quest giver that uses the Mondain legacy quest system Jun 24, 2017
Archived Bug Reports smith BOD reward exploit Jun 13, 2017
Archived Bug Reports Fish Monger Exploit Jun 12, 2017
Archived Bug Reports bard masteries exploit Feb 20, 2017
Archived Bug Reports Despise Region Exploit Bug Feb 18, 2017
Archived Bug Reports Players still exploiting roof Feb 5, 2017