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

Fixed Necromancer's Familiars stick to playermobile

Discussion in 'Archived Bug Reports' started by RedDragon, Dec 23, 2013.

  1. RedDragon
    Offline

    RedDragon Member

    Joined:
    Dec 19, 2013
    Messages:
    34
    Likes Received:
    1
    Hello people.

    Necromancer's familiar (summon)
    stick to the playermobile

    if you attack someone, the summon don't move to attack
    but if the objetive is near, the summon attack.
     
  2. Ravenwolfe
    Offline

    Moderator ServUO Developer

    Joined:
    Sep 7, 2013
    Messages:
    1,102
    Likes Received:
    117
    Can you give a bit more detail on this? Some of the familiars are not supposed to attack such as the wisp. Others should attack only what the player attacks. None of them should be able to be commanded.
     
    • Like Like x 1
  3. Hank
    Offline

    Hank Active Member

    Joined:
    Nov 14, 2013
    Messages:
    972
    Likes Received:
    152
    I know what you're talking about RedDragon but i can't find any information on the net to back up the exact way that necromancy pets are supposed to behave. They have always felt a little quirky on all the shards i have played. I just know it is as you describe, if you get near an enemy the familar will attack it. Only attacking from a distance wont cause the familiar to run up at it. The only thing that leads me to believe this is the correct way it's supposed to work is that in the description of the summon familiar spell it says the caster has no direct control over the summon. "The familiar cannot be given orders and only one can be maintained at a time."
     
  4. RedDragon
    Offline

    RedDragon Member

    Joined:
    Dec 19, 2013
    Messages:
    34
    Likes Received:
    1
     
    • Helpful Helpful x 1
  5. Ravenwolfe
    Offline

    Moderator ServUO Developer

    Joined:
    Sep 7, 2013
    Messages:
    1,102
    Likes Received:
    117
    Thanks, I see what you mean now. I will see if I can figure some things out.

    I still play on EA, so I will see how they act on there.
     
    #5 Ravenwolfe, Dec 25, 2013
    Last edited: Dec 25, 2013
    • Like Like x 1
  6. Ravenwolfe
    Offline

    Moderator ServUO Developer

    Joined:
    Sep 7, 2013
    Messages:
    1,102
    Likes Received:
    117
    Well, just did some testing on EA and they are working exactly like they do on EA.

    They only attack when the monster is engaged in direct melee with the player , they do not wander away from the player. They are a bit more jumpy in ServUO (looks like their follow speeds are set a bit high when in combat) but they are working as they should.

    If you want them to behave differently, its an easy change in basefamiliar.cs but this is not a bug and should not be changed for the distro release of ServUO (unless we want to tweak the speeds a bit?)
     
    • Like Like x 2
  7. RedDragon
    Offline

    RedDragon Member

    Joined:
    Dec 19, 2013
    Messages:
    34
    Likes Received:
    1
    Ravenwolfe are you sure that this familiar don't have a mental problem? :(
     
  8. Ravenwolfe
    Offline

    Moderator ServUO Developer

    Joined:
    Sep 7, 2013
    Messages:
    1,102
    Likes Received:
    117
    @RedDragon - Well, they do have a mental problem in that they look spastic, but their general behavior is proper. However, if you want them to look a bit cleaner in their actions, you change the OnThink method of basefamiliar.cs to look like this:

    Code (C#):
    1. public override void OnThink()
    2. {
    3. Mobile master = ControlMaster;
    4.  
    5. if (Deleted)
    6. {
    7. return;
    8. }
    9.  
    10. if (master == null || master.Deleted)
    11. {
    12. DropPackContents();
    13. EndRelease(null);
    14. return;
    15. }
    16.  
    17. RangeCheck();
    18.  
    19. if (m_LastHidden != master.Hidden)
    20. {
    21. Hidden = m_LastHidden = master.Hidden;
    22. }
    23.  
    24. if (AIObject != null && AIObject.WalkMobileRange(master, 5, true, 1, 1))
    25. {
    26. if ((master.Combatant !=null) && (InRange(master.Combatant, 1)))
    27. {
    28. Warmode = master.Warmode;
    29.     Combatant = master.Combatant;
    30. CurrentSpeed = 0.10;
    31. }
    32.  
    33. if ((master.Combatant !=null) && (!InRange(master.Combatant, 1)))
    34. {
    35. Warmode = false;
    36.     FocusMob = Combatant = null;
    37. CurrentSpeed = 0.01;
    38. }
    39.  
    40. if (master.Combatant == null)
    41. {
    42. Warmode = false;
    43.     FocusMob = Combatant = null;
    44. CurrentSpeed = 0.01;
    45. }
    46.  
    47. }
    48. else
    49. {
    50. Warmode = false;
    51. FocusMob = Combatant = null;
    52.  
    53. CurrentSpeed = .01;
    54. }
    55. }
    I found this made their actions much smoother but preserved the EA style behavior. In fact, it looked exactly like my testing on the EA server.

    @Insanity @Milva - again, this is not truly a bug, but this change does make the behavior more EA accurate and could be a good fix for the distro version of ServUO if you want.
     
    • Two Thumbs Up Two Thumbs Up x 1
  9. Milva
    Offline

    Admin Moderator

    Joined:
    Mar 3, 2013
    Messages:
    3,421
    Likes Received:
    385
    Thanks, lets see what the developer's think about this :)
     
  10. Toriad
    Offline

    Toriad Shard Owner

    Joined:
    Mar 4, 2013
    Messages:
    86
    Likes Received:
    35
    I made the changes ravenwolfe and tested them. SIGNIFICANT improvement. Thanks!