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 'Archived Bug Reports' started by LordFenris, Dec 7, 2017.

  1. LordFenris
    Offline

    LordFenris Member

    Joined:
    Jul 21, 2014
    Messages:
    287
    Likes Received:
    6
    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

    Moderator

    Joined:
    Oct 16, 2014
    Messages:
    3,618
    Likes Received:
    85
    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:
    3,130
    Likes Received:
    131
    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:
    3,130
    Likes Received:
    131
    If you use return, be mindful of any code that won't be executed after the return.
     
  5. Tasanar
    Offline

    Moderator

    Joined:
    Oct 16, 2014
    Messages:
    3,618
    Likes Received:
    85
    Yeah I like just adding each (!Controlled)
     
  6. Dexter_Lexia
    Offline

    Moderator ServUO Developer

    Joined:
    Jul 3, 2014
    Messages:
    3,130
    Likes Received:
    131
    Very good, approved and merged. Thank you sir!
     
    • Two Thumbs Up Two Thumbs Up x 1
Similar Threads: Exploit rare
Forum Title Date
Script Support Bounty System ''exploit'' Jan 12, 2018
Archived Bug Reports Exploit with blackthorns dungeon Jan 10, 2018
Archived Bug Reports Stealing from monsters - a bug and possible exploit Jan 10, 2018
Archived Bug Reports Huge exploit with quests Jan 4, 2018
Archived Bug Reports Terrible housing bug / potential exploit since last publish Dec 22, 2017
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