Resource icon

Ultima Odyssey 2019-03-12

No permission to download

andy1337

New Member
Jun 2, 2019
1
1
Hey guys, I had an issue with pack horses and not being able to reach their packs because of the new 'FriendsAvoidHeels' setting.
I really like the feature so I didn't want to set 'FriendsAvoidHeels' to false in the MyServerSettings.cs file.

So here's what I did to get the best of both worlds, feel free to scrutinize and improve:

in BaseAI.cs Method "WalkMobileRange" Starting on line 2587

C#:
public virtual bool WalkMobileRange( Mobile m, int iSteps, bool bRun, int iWantDistMin, int iWantDistMax )
        {
            int foll = 1;
            
            bool isNotPackAnimal = true;
            
            if ( m_Mobile is AerialServant ||
                 m_Mobile is HenchmanFamiliar ||
                 m_Mobile is FrankenPorter ||
                 m_Mobile is PackBeast ||
                 m_Mobile is GolemPorter ||
                 m_Mobile is PackHorse ||
                 m_Mobile is PackBear ||
                 m_Mobile is Elephant ||
                 m_Mobile is Grum ||
                 m_Mobile is HordeMinion ||
                 m_Mobile is Watcher ||
                 m_Mobile is Styguana )
            {
                isNotPackAnimal = false;
            }
            
            if ( MyServerSettings.FriendsAvoidHeels() && isNotPackAnimal && m_Mobile.Controlled && m_Mobile.ControlMaster == m )
            {
                if ( m_Mobile.FollowersMax < 6 ){ m_Mobile.FollowersMax = Utility.RandomMinMax( 6, 9 ); }
                iWantDistMin = m_Mobile.FollowersMax-5;
                iWantDistMax = iWantDistMin+1;
                foll = m_Mobile.FollowersMax-5;
            }
 
  • Haha
Reactions: sahisahi

Djeryv

Well-Known Member
Oct 2, 2014
517
159
Moved On...
Shard Name
Ultima Odyssey
Good catch, but I decided to add it to the main server package differently (I just updated it with these changes). In BaseAI.cs I just added this in italics...

if ( MyServerSettings.FriendsAvoidHeels() && m_Mobile.Controlled && !(m_Mobile.Backpack is StrongBackpack) && m_Mobile.ControlMaster == m )

...because pack animals are the only ones with a StrongBackpack so this extra check grabs all the possible pack animals. So you don't need that isNotPackAnimal check here.

Along with this, mounts are hard to "mount" if they are following too far behind you so if FriendsAvoidHeels is set to true...the distance you can mount a mount is 5 instead of 1 tile.

1579004275027.png
 
  • Haha
Reactions: sahisahi

Gadget2013

Well-Known Member
Jun 13, 2014
91
6
36
That's a very nice change! :) Thanks!
By the way, along the same lines, it's difficult to heal the mount or the tamed animal or whatever is following you at the maximum distance too, I have to issue "all stop" to get closer since they'll try to progressively get away from me when I approach them :) Not sure if that would be easy enough to tweak along these lines, haven't checked yet :)
 

Djeryv

Well-Known Member
Oct 2, 2014
517
159
Moved On...
Shard Name
Ultima Odyssey
I just changed the bandage.cs and uploaded a new package to increase the bandage range:

public static int Range = ( Server.Misc.MyServerSettings.FriendsAvoidHeels() ? 5 : 2 );

There can be "issues" with this in an MMORPG type game but a single player game I am fine with the range increase.
 
  • Haha
Reactions: sahisahi

Djeryv

Well-Known Member
Oct 2, 2014
517
159
Moved On...
Shard Name
Ultima Odyssey
I tied all of these changes to "FriendsAvoidHeels" being "true"...which will help people quickly turn off these changes if they want things back to UO "normal". I just like the way the followers follow me now as it feels more like Baldur's Gate.
 
  • Haha
Reactions: sahisahi

Finaltwist

Active Member
Sep 7, 2019
37
4
I just took down the blog because I plan to step away and pursue other interests. I have been doing UO shard emulator for almost 20 years so I should pick up a new hobby...although I will always be playing Odyssey since its mine. The main page here has been updated with the links to get the different packages. I think the project is mature as the last few months have been really small fixes and the users playing it often figure out how to fix it on their own.

...

I will lurk by once in awhile to see if bugs appear...and I may find them when I am playing...but my lurking will slowly decrease.

NOTE: The server package has an extra folder in it. This contains the source for RUNUO 2.2, a map editor, and map extractor, a gump editor, and UO Fiddler. All of these things I used to make the game. This is in case you feel like going off the rails and modding it more.
Oh wow, took a break from playing this but thought id check the blog today and found it empty.... could have left it on for us to read the entries! Its gives a good snapshot of what everything does etc. Thanks for the hard work, ill be downloading the latest versions and going my own way from here. I can't see anyone updating and adding content the way you have.

also the reddit is there to talk about odyssey
 

Djeryv

Well-Known Member
Oct 2, 2014
517
159
Moved On...
Shard Name
Ultima Odyssey
Everything is explained in game somewhere, and the last couple of entries were new quests and sailing-pirate stuff.
 

Gadget2013

Well-Known Member
Jun 13, 2014
91
6
36
I've been looking for the new quest scrolls for quite a while by the way, been to many places and dungeons in Sosaria, Lodoria, Umber Veil, Isles of the Dread, including many Difficult and Challenging ones, and I haven't seen a single one... Are they on those coded parchments or are they a separate thing? I haven't been decoding the parchments for a while, so that's maybe why I haven't seen those, but if they're a separate thing, is it normal that they are so rare? Or are they only available in very specific places that I haven't been to yet, perhaps? Just curious since I didn't expect they'd be so hard to find :)
 

Djeryv

Well-Known Member
Oct 2, 2014
517
159
Moved On...
Shard Name
Ultima Odyssey
Well...this is my last post here so here it goes...

Look in the DungeonLoot.cs file and in the book loot there is a QuestTake item that creates these journals for those quests. That is how rare they appear in loot so you would either need to make it less rare in the book loot or move it to a more common loot table.

The reason I have these as rare loot is because these quests are quite the money makers. If you have a strong character, and a bunch of rune books with every dungeon marked, then you can cash it pretty quickly. So it was a toss up on whether you consider these "quests" or "treasure". I consider them treasure and I didn't want to provide a mechanism where you can get these whenever you want.

Again, take care and the download links will remain. I have to unplug now and load up the truck.
 

Gadget2013

Well-Known Member
Jun 13, 2014
91
6
36
Ah, makes sense, Djeryv! Thanks a lot for the reply and thanks for being with us all this time! Take care and best of luck with everything! :)