Ultima Adventures - Based on Ultima Odyssey

Ultima Adventures - Based on Ultima Odyssey 1.04

No permission to download

Finaltwist

Squire
Sep 7, 2019
440
124
43
im also expanding on the evil curse taking over the land... in the server the evil is now slowly gaining as players aren't actively pushing it back enough. here's a spoiler of what im adding next:

1594310288061.png

the strength and power of the new mob will be directly related to the curselevel
All his stats, and even his abilities will kick in if the evil is over a certain range. at high evil he will be unbeatable - this will force players to fight the evil together before he can be taken on.

He and his minions will also spawn randomly using the randomencounters engine we have been using to spawn reds/blues once the evil level hits a certain threshold. the all the lands will be affected if the evil is left unchecked.

hopefully this helps create a feeling of dread/evil/excitement that is lacking in "loot-finding" UO nowadays.
 
Last edited:
  • Like
Reactions: BrecMadak

Julzjuice

Citizen
Nov 23, 2018
4
2
3
52
Hey!

Im sorry to ask but I am super new when it comes to servUO and UO in general. I played the original Odyssey a lot and I was about to try this expansion but for the life of me I just can figure out to install it.

Where could I find instructions on how to install this fork? Theyre super unclear to a noob like me. There are 4 files in the drop box with different dates. Some are server files and some are the client. I guess I need to extract one of the server file and one of the client file?

I was able to install Odyssey without issues but this is not working for me :(

Thanks in advance for the help.

Edit: When I try to load ultima-adventures with RunUO.exe its always giving me errors:


RunUO - [www.runuo.com] Version 2.1, Build 7469.17042
Core: Running on .NET Framework Version 4.0.30319
Core: Optimizing for 8 64-bit processors
Scripts: Compiling C# scripts...done (0 errors, 0 warnings)
Scripts: Skipping VB.NET Scripts...done (use -vb to enable)
Scripts: Verifying...done (7667 items, 1725 mobiles) (0.89 seconds)
Loading convo fragments... Done.
Regions: Loading...Warning: double SpawnEntry ID '4774'
Warning: double SpawnEntry ID '4775'
Warning: double SpawnEntry ID '4774'
Warning: double SpawnEntry ID '4775'
done
World: Loading...tiledata.mul was not found
Make sure your Scripts/Misc/DataPath.cs is properly configured
After pressing return an exception will be thrown and the server will terminate
An error was encountered while loading a saved object
- Type: Server.Mobiles.Townsperson
- Serial: 0x00013D4C
Delete the object? (y/n)

Maybe this can help?
 
  • Like
Reactions: Finaltwist

Finaltwist

Squire
Sep 7, 2019
440
124
43
Heya - that's because the fork is really something we're building for the online server - I post the server (complete with save) every month or so for people to help with the development. If you don't want to bother with updating and scripting and programming then you should just extract everything to your C drive and run classicuo.bat and join us on the server.

should be C:\Ultima-Adventures

you can also join the discord, ill send you the link privately.
Post automatically merged:

Just added the gravedigger NPC - a summonable npc that will fetch your corpse for you - useful when you died deep in a dungeon and don't want to bother going back... will cost you 30k however so its very pricey!
Post automatically merged:

also just added animal taming bulk orders to the game - still initial implementation however, rewards need to be tweaked
Post automatically merged:

on the server today:

1594665021940.png
 
Last edited:

EmptyBasket

Citizen
Jul 13, 2020
1
0
1
First off, Finaltwist and Djeryv, thanks for the awesome UO experience. It's really great to be able to play a world that feels like an actually populated UO server, even while on a laptop disconnected from the Internet. Everything has been working great, but I've come across one (minor) issue below.


Version: Offline server, July 3rd archive
Issue: On a new character, when I attempt to join my first NPC guild (I've checked Warrior and Blacksmith) the initial cost is 8000 gold. Is that a change that snuck past the change log or possibly a bug?
 

Finaltwist

Squire
Sep 7, 2019
440
124
43
unsure really... i haven't touched guilds in a long while

i really should get the new version out - tons has already changed since july 3rd - bug fixes, tweaks, etc etc. including the new dungeon too...
ill get to it soon, promise!
Post automatically merged:

we just added the animal taming bods and they work great. forces players to go out and explore!
Post automatically merged:

to your comment: i started editing odyssey a loooong time ago, before i made this fork available at all... might have been one of those changes.
 
  • Like
Reactions: EmptyBasket

Finaltwist

Squire
Sep 7, 2019
440
124
43
I'm going to be updating the offline package soon... there have been some major changes to the game (more than i can list). for one, i just woke up this morning and thought it was ridiculous that all the fame/karma values were static figures just entered in each mobile's script. so i devised a dynamic system that calculates the karma/fame of a creature based on its attributes/skills and anything else i could think of (poison ability, breath damage, etc).

also, the curse system has been tested live now for 2 weeks and has undergone some major math changes... the system is pretty robust now. e.g. when players die the evil was able to defeat a good player, and so the evil increases.

there are many more changes i will list here when i update the offline. everything is live on the server right now.
Post automatically merged:

for anyone interested, here is the code which calculates the karma/fame. it applies diminishing returns to ensure that creatures with massive HP don't get overboard.

C#:
        if ( !(this is BasePerson) && !(this is BaseVendor) && !(this is Townsperson) && !(this is PlayerVendor) && !(this.Blessed) && this.FightMode != FightMode.None && !(this is Citizens) )
            {
                double modifier = 0;
                
                if (this.AI == AIType.AI_Mage || this.AI == AIType.AI_NecroMage)
                    modifier= 1 + (( this.Skills[SkillName.Magery].Value + this.Skills[SkillName.EvalInt].Value ) / 200.0);
                else
                    modifier= 1 + (( this.Skills[SkillName.Wrestling].Value + this.Skills[SkillName.Tactics].Value ) / 200.0);
        
                if (this.CanHeal)
                    modifier += this.Skills[SkillName.Healing].Value / 200.0;
                
                if (this.HasBreath)
                    modifier += (double)this.BreathComputeDamage() / 100.0;
                    
                if (this.HitPoison != null)
                {
                    if (this.HitPoison == Poison.Lethal)
                        modifier += 0.4;
                    else if (this.HitPoison == Poison.Greater)
                        modifier += 0.25;
                    else
                        modifier += 0.10;
                }
                
                if (this.IsParagon)
                    modifier *= 2;
                        
                double resistances = ( ((double)this.PoisonResistSeed + (double)this.PhysicalResistanceSeed + (double)this.FireResistSeed + (double)this.ColdResistSeed + (double)this.EnergyResistSeed) / 350.0 );
                double thisprice =  ( ( ( ( (this.RawStr + this.RawDex + this.RawInt + this.HitsMax) * this.DamageMax) / 10 ) * resistances) * modifier * 1.5 );

                //diminishing returns to prevent -60,000 karma mobs
                double final = 0;

                if (thisprice < 1000)
                    final = thisprice;               
                else
                {   
                    while ( thisprice > 0 )
                    {
                        if (thisprice > 1000)
                        {
                            thisprice -= 1000;
                            final += 1000;
                            thisprice *= 0.95;
                        }
                        else
                        {
                            final += thisprice * .95;
                            thisprice = 0;
                        }
                    }
                }

                if (this.Karma < 0 )
                    this.Karma = -((int)final);
                else
                    this.Karma = (int)final;
                
                this.Fame = (int)final;   

            }
 
Last edited:

Finaltwist

Squire
Sep 7, 2019
440
124
43
changes that a live in the server:
July 21
- Hopefully changed it so tamed animals won't attack their owners with breath area attack (unless the tame is directly attacking the owner)
- changed it so tamed pets won't passively reveal their owners (unless they are attacking the owner)
- big revamp of the curse today - looks like too much credit was given when killing high end enemies. I reduced the rate at which the doomcurse can be decreased (now that our players are more powerful and killing more than skeletons). To balance this, i reduced the rate at which the curse increases. Also, did another pass of the math to ensure things are working as intended
- fixed crash with the serpent pillars
- players dying will now affect the curse - a good player dying will raise the curse (the evil has been able to defeat the forces of good!)
- the fame/karma value of ALL mobs was a static fixed value just arbitrarily placed in every mobile's script. ive changed it so its dynamic now, based on the mobile's attributes. tested skaleton/lichclord/balron/drake/primevaldragon and the fame/karma values seem to work very well. for example, lichlords were -15k karama before.. they are -4k now (they are easy after all)... now the values make much more sense.
- Added what i call spammervendors - npc's that sell unusual items (some buy them) and deal in unusual items. they are meant to simulate the spammers that used to sit in brit bank selling/buying wares.
- I've changed the calculations for pet leveling to make it easier to level them. it will still be a challenge but the way it was before made it nearly impossible to bring a pet to breeding level. e.g. a dragon would have to kill 600 other dragons just to get from level 9 to level 10. Reduced.
- Just implemented Colored equipment names. we've added it to the server. now equipment names will have a hue indicated (very roughly) how many attributes and the quality of the item. note that this system isn't perfect, but should help to sort out the crap from the quality when in a dungeon. https://www.servuo.com/archive/colored-equipment-names.404/
- Breath damage maximum has been increased, so beware!
- Stealing pedestals have been made significantly harder now - damage from flametraps and failing to steal the chests have gone up ksignificantly.
- changed the luck calculation to make getting artifacts a little harder... was common for someone to get 2-3 per dungeon run before...

also working on: achievement system, adding xp orbs to the game - when a mob dies it will have a chance of dropping an orb that when walked over will give a chance of a gain in a random skill.
Post automatically merged:

the overall intent is to make the game gradually harder at higher tier areas. the game was too easy before for a gm character decked with artefacts. we have added new aura effects and other abilitites to the server, and will begin implementing them to the mobs gradually. e.g. a bullrush ability that some animals might have - run towards you and inflict damage.
Post automatically merged:

im also working on a new adaptable mob type - one that will change its AI based on the circumstances - when a player is far with high health, hit with magery, if the player is far with low health, rush in and use melee for example.

I'm not satisfied with the based AIs in the game, we've added a few new AIs to odyssey (necromage, magery2, omniai, magery2) which each give their own styles to the mobs... but i want something that ties them all together into a formidable foe.
 
Last edited:

shadwar

Citizen
Jul 4, 2020
2
0
1
- Added what i call spammervendors - npc's that sell unusual items (some buy them) and deal in unusual items. they are meant to simulate the spammers that used to sit in brit bank selling/buying wares.
Good, good. :D Looking for offline version.
 

Finaltwist

Squire
Sep 7, 2019
440
124
43
the world is really coming alive now - ill be adding to those vendors items that typical players would sell at a bank, ethys, rares, bod rewards, etc. they will just be VERY pricey.

I want the world to feel like a populated shard, but remain a world that can be played with low population.

If i had the time, id even program the possibility of them scamming you hahaha.
 

Finaltwist

Squire
Sep 7, 2019
440
124
43
been waiting to post the offline package because i wanted the evil system to work as intended. ive been fixing it up until yesterday. the math is stronger each pass, and now it accurately scales with the players activities quite well. we've also added quite a few more things since i last posted here too - and im working on a mega baseclass - red players have our reds, blues have guards, and now evil players will have the cursed - servants of the evil lord that will help negative karma characters, and prove a VERY difficult challenge to anyone who encounters them.

oh and i just changed the bank this morning... i felt like crafters didn't have a common public area (like mages/thiefs, etc). so i added this
1595860724797.png
 
  • Like
Reactions: bleef

Finaltwist

Squire
Sep 7, 2019
440
124
43
Finaltwist updated Ultima Adventures - Based on Ultima Odyssey with a new update entry:

MASSIVE update, content, features, tweaks... too much to list

Here is the latest server state - with the latest save. Note that if you're not using the save, at least do the spawngen method to get the mobiles. I highly recommend using the save here since there is lots of content that won't be present if you just update the scripts and use spawngen.

DOWNLOAD the AUGUST 3rd version. I highly recommend you get the classicuo launcher

major features:
working DOOM gauntlet
evil/good curse is balanced and re-tweaked (massive update to the algo)
new...
Read the rest of this update entry...
 
  • Like
Reactions: bleef and Sygun

Finaltwist

Squire
Sep 7, 2019
440
124
43
Finaltwist updated Ultima Adventures - Based on Ultima Odyssey with a new update entry:

Animation updates, map fixes, and new content

We are in process of populating Darkmoor, a land for evil players (all cities are evil, and mobs are positive karma).
As such, we've done some changes to the client - changed some of the mobile animations (unicorn changed to look better per the version here on servuo, frenzied ostards are back in!, children added, new mobs as well)
We've also added new art (from outland's client), new decor, items, statues, walls, etc.

many o fthese new mobs haven't been implemented yet, this download is...
Read the rest of this update entry...
 

Veryance

Citizen
Aug 2, 2020
3
0
1
Sorry if this is answered already I have tried searching and various things. I notice there is no thread now for Odyssey which is what I'm using.

I would like to remove or increase the player skill cap and stat cap and I am having an issue with the skills being wiped to 0.

Things I have tried:

- updating data/scripts/system/misc/charactercreation.cs and when I make a new character they have 0 skills (even when choosing a template) I did recompile after making this change even though I assumed I did not need to.


newChar.StatCap = 300;
newChar.Skills.Cap = 100000;


- I have used "[global set SkillsCap "skill cap number" where playermobile = where " as the admin on my character and upon save or restart they get reset to 0

- I have used admin properties command to change stat and skills directly and they become wiped to zero.

Any additional trouble shooting steps or places to look would be much appreciated.

Thank You.
 

Djeryv

Squire
Oct 2, 2014
275
128
43
Moved On...
Shard Name
Ultima Odyssey
Sorry if this is answered already I have tried searching and various things. I notice there is no thread now for Odyssey which is what I'm using.
There is a thread for my vanilla Ultima Odyssey, but it sounds like you should try Ultima Adventures instead as there is no skill cap as far as I understand. The original Ultima Odyssey strictly adheres to the stat and skill caps as well as the quests that go along with enhancing them.
 
  • Like
Reactions: Veryance

Bonaccorso

Rookie
Mar 1, 2019
90
13
8
32
Guys, could you please tell me how can I install it on the Odyssey? I didn't find any guide :-(
Post automatically merged:

I created UO folder, extracted the atchive there, run RunUO - and get errors.
Post automatically merged:

Error is exactly this:
"
An error was encountered while loading a saved object
- Type: Server.Mobiles.Townsperson
- Serial: 0x00013D4C
Delete the object? (y/n)
"
 
Last edited:

Finaltwist

Squire
Sep 7, 2019
440
124
43
Well, the populating of the new Darkmoor lands is going along well, thanks to some fantastic help from one of the players on the server. This will be a truly unique land geared for evil playstyles. systems are being changed and updated daily now - i decided to add a new system to the game yesterday to make stealing a viable option in player versus monster: the ability to steal from basecreatures, regardless if they have a backpack or not. This means a thief can now stealth through dungeons and steal from the mobs he finds as he progresses along the dungeon. the loot is dependent on the mob's fame level, which is now entirely dynamic.

Standardizing fame/karma calculation on spawning a creature has also allowed me to standardize loot generation - before the loot was determined by a line in the mob's script. theres just no way to go over all the scripts and check to see if they are consistent with the mob's strengths. so now the loot is spawned dynamically, based on the creature's newly assessed fame.

I have also fixed a number of issues in the loot tables, where low level loot could have high end quivers/instruments for example, and a number of other changes that just make the loot more interested. my goal is to reduce the amount of loot a player has to shift through. we did add colored item titles which helps make looting easier, but there was just too much! so now, less crappy loot to shift through. If you see an item on a body, its likely better than it was before, but there is less items.

my player also just found a pair of rare white panthers, glass cannons that deal tons of damage but don't have good resists. will be training them and breeding them :D
panthers.JPG
Post automatically merged:

Guys, could you please tell me how can I install it on the Odyssey? I didn't find any guide :-(
Post automatically merged:

I created UO folder, extracted the atchive there, run RunUO - and get errors.
Post automatically merged:

Error is exactly this:
"
An error was encountered while loading a saved object
- Type: Server.Mobiles.Townsperson
- Serial: 0x00013D4C
Delete the object? (y/n)
"
you are using odyssey (because the folder you are extracting to is c:\UO - adventures extracts to c:\ultima-adventures).
if you are downloading adventures, extract it with the folder found in the archive - should be c:\ultima-adventures.

also, you might just be better off playing on the server my friend, that way you never have to worry about updating :D
 
Last edited:

Bonaccorso

Rookie
Mar 1, 2019
90
13
8
32
you are using odyssey (because the folder you are extracting to is c:\UO - adventures extracts to c:\ultima-adventures).
if you are downloading adventures, extract it with the folder found in the archive - should be c:\ultima-adventures.

also, you might just be better off playing on the server my friend, that way you never have to worry about updating :D
Thanks! This evening I'll try both - extracting to proper folder and launching from there, and also playing on your server :) How do I connect to you via the client in your package?
 
  • Like
Reactions: Finaltwist

Finaltwist

Squire
Sep 7, 2019
440
124
43
Thanks! This evening I'll try both - extracting to proper folder and launching from there, and also playing on your server :) How do I connect to you via the client in your package?
ah great! if you play the server then you should join our discord - you'll have lots of questions and players will be there to help.
I'll message you the discord link privately.

to play the server: download the latest package, extract to c:\
run ultima-adventures\classicuo.exe (it might crash the first time, just close and re-open)
login!

(optional)
download classicuo launcher and use that instead since its much more stable
Post automatically merged:

updated the resource info since it was a little outdated.
 
  • Like
Reactions: Bonaccorso