Resource icon

Ultima Adventures - Based on Ultima Odyssey June 09

No permission to download

Symm

Citizen
Mar 5, 2019
1
1
3
29
wizardtim had the wonderful thought of rating this resource one out of 5 stars. anyone who is using it and enjoying it might also want to leave a rating ... :D
Post automatically merged:

discord invite sent privately!
Can you please send an invite here as well? Thanks!
 
  • Like
Reactions: Finaltwist

Finaltwist

Squire
Sep 7, 2019
348
95
43
Latest changes which are currently live on the server:
Post automatically merged:

June 14
- thanks to some amazing constructive and positive feedback given by WizardTim, we have now made it so any style of play will have unlimited skillcap. Thanks for bringing that to our attention WizardTim!
- Casino is now open! Look for the door from the Inn - we will be adding games as time progresses
- sarth library now has usable bookshelves to store books in! IT's a great place for us to collect all the books int he game and create a public library
- The animal broker can now appraise a pet's value and purchase pets based on a complex calculation that takes into account a pet's maxdamage, resistances,stats, hits, tamingskill required and control slots required. you can use this to compare two of the same types of pets against each other. required some complex math, Wizardtim would be proud of me.
- Corpses will now no longer have weight limits (dump you crap in them when in a dungeon please!)
- tweaked reds to make them more challenging (again) - blues as well
- revised widdow's keep to make it more challenging... zombies are now more dangerous.
- zombies can now drop a special unique armor set
- Added a compeltely new revised Monster Gauntlet in Ambrosia! Has menus now, allows you to pick which spawn you want, and had some special rewards if you're locky. It also keeps a tally of all persons who complete the gauntlet (score and time to complete). Also, you can't die playing the gauntlet - you just teleport out, so try it!
- added studybooks and original OSI books to the librarian searches.
- completely revamped librarian drop rates. as it was before, a powerscroll had the same chance of being found as a magery spellbook :/ now, rewards have different difficulties.
- changes were made to the way the AFK command works! Instead of the bland *is AFK[TIME]* message you see now, you will now see a randomized sentence. Also, gaining a skill will now remove the AFK status. If youre macroing, the player is doing an action :)
- Changes were made to begging! You can now received up to 600gp a shot from begging, and the amount is determined by you LACK OF karma/fame... the closer you are to 0 fame/karma the more likely you are to get 600gp. ALSO.. you can now beg other players!! and if they have gold, they will give you some on a successful check!
- Minotaur labyrinth spawns now have a special effect to counteract persons who use the maze hedges in order to not get hit a single time by any of the monsters, minotaurs have a chance of dropping item bless deeds, and slayer stones.
- The virus at widow's keep may now go airborne (wear a mask!),
- Carving a red's body should now no longer cause karma loss
- changed how tamables follow you... they used to stop when out of sight range and you had to double back and get them... this should now be dramatically improved.
- Trash barrels will now "talk trash" when you put an item in them! Try it out! They will say randomized insults to brighten up your day.
- fixed an issue where dynamicbooks spawns empty
- changed how stealth attacks damage was calculated... in odyssey they can do up to 4x damage at gm hiding and stealth. at 60 damage (with damage increase) this can result in 240hp hits, on top of weapon abilities and spells like enemy of one in chiv. reduced this to a random range now between 133% and 240% damage.
Post automatically merged:

example of random trash talk
1592840714292.png
 
Last edited:
  • Love
  • Like
Reactions: bleef and Exale

rhasce

Squire
Jan 10, 2017
215
10
18
38
Shard Name
play.uoquest.com
Is it ok to open a public live server on this? since yours is private?
 

Djeryv

Squire
Oct 2, 2014
221
98
43
Moved On...
Shard Name
Ultima Odyssey
- thanks to some amazing constructive and positive feedback given by WizardTim, we have now made it so any style of play will have unlimited skillcap.
I am not sure where this came from, but I wanted to pop in here to mention something. The reason WizardTim knows what is going on with me is because he works for the same company I do. This week I am in the home office so I stopped by his office to chat for a bit. To cut to the end of the story, I suggested he stop coming to this site and to just call my cell when he finds an issue to fix. He won't be trashing your posts anymore.
 

rhasce

Squire
Jan 10, 2017
215
10
18
38
Shard Name
play.uoquest.com
I am not sure where this came from, but I wanted to pop in here to mention something. The reason WizardTim knows what is going on with me is because he works for the same company I do. This week I am in the home office so I stopped by his office to chat for a bit. To cut to the end of the story, I suggested he stop coming to this site and to just call my cell when he finds an issue to fix. He won't be trashing your posts anymore.
Just reply to say hello Djeryv hope you all good.
Post automatically merged:

Is it ok to open a public live server on this? since yours is private?
Or maybe I can play if you invite? I mean I dont want to be competition if you even care for that
 

Djeryv

Squire
Oct 2, 2014
221
98
43
Moved On...
Shard Name
Ultima Odyssey
Just reply to say hello Djeryv hope you all good.
All is good and hello again.

Or maybe I can play if you invite? I mean I dont want to be competition if you even care for that
This isn't competitive. It is just a pocket-universe "Ultima Online" for everyone and anyone so get the version you want and run with it if you really want your own server. That is what these are here for.
 
  • Love
Reactions: rhasce

Finaltwist

Squire
Sep 7, 2019
348
95
43
I am not sure where this came from, but I wanted to pop in here to mention something. The reason WizardTim knows what is going on with me is because he works for the same company I do. This week I am in the home office so I stopped by his office to chat for a bit. To cut to the end of the story, I suggested he stop coming to this site and to just call my cell when he finds an issue to fix. He won't be trashing your posts anymore.
someone rated the resource 1 stars out of five. im sorry but only one person has been on my case and that's tim... so it was a reasonable assumption to think that the negative review was his. if it is not, i am happy to apologize.
 

Finaltwist

Squire
Sep 7, 2019
348
95
43
Just reply to say hello Djeryv hope you all good.
Post automatically merged:


Or maybe I can play if you invite? I mean I dont want to be competition if you even care for that
I'll pm you!

Can't stop you from doing whatever you want with the freely available package my friend!

That's being said, if you're interested in playing with others you should join us. we have about 8 consistent players now and if anyone wants to participate in the development we are happy to have you (just have to get to know you first!)

We have completely redone the underworld map and are currently porting all Odyssey underworld content to this new map. the map will also include large areas which will provide ample room for more content to be added.
Post automatically merged:

1593005324155.png

here's an example of what the new map will offer...
1593005387537.png
 
Last edited:
  • Like
Reactions: bleef

Finaltwist

Squire
Sep 7, 2019
348
95
43
Well!!! Doom gauntlet went live today on the server! The gauntlet runs good, and all loot has been updated, so doing the gauntlet should be quite rewarding.

Also, the dark father now brings a curse to the world, which all players can help fight by killing evil beings throughout the lands! the curse grows each day, and killing an evil being reduces it.

Also, a new type of item has been introduced: morphing armors that allow you to take on the power of the enemies they comes from, and their form. Each morphing armor has a special ability based on the mobile that spawns it. these are extremely rare, but quite fun to play! Ravage enemies as a Minotaur, or even as the dark father himself! This is a series of items based on megabosses that i will be expanding on going forward.

It's live on the server, but Soon come to the offline people! We are also mostly done populating the new underworld, with a new city populated by drow elves to service people who live there.

Lots to come - the new map will also be continually added to, as there is lots of room for new content now - the entire ilshenar map content has been condensed into a smaller area based on the termur map.

1593296266125.png

1593296286604.png
 
  • Like
Reactions: bleef

Finaltwist

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

new underworld update

here is the latest copy of the server that we are currently playing on, for those who want to integrate into their offline servers, or just test out things in order to help implement new features. Note that I've moved away from the C:\uo folder, and instead just extract the ultima-adventures to the c:\ drive and you should be good to go.

The server has grown, and players contribute to the development daily, so much that's here still has to be ironed out and improved. it is very much a...
Read the rest of this update entry...
Post automatically merged:

posted the latest server/client - uploading now.
note that if you don't use the save provided much of the content won't be there and will need to be added manually. if you want to do this i can help here.
also note that my main focus is on updating and improving the game as it is on the server for the players there... the update is just a copy of the server.
 
Last edited:

Finaltwist

Squire
Sep 7, 2019
348
95
43
so ive been putting my head down and cruching numbers for the last 2 days. we've implemented a "dark father curse" which affect gate/recall travel as the dark father corrupts the aether. turns out that killing negative karma enemies reduces his hold on the land, and the curse, giving players a direct way of affecting the curse itself.

the release sent to the offline server had many bugs which have been fixed, but i also didn't like the idea of increasing the curse by a fixed amount every day... soo.... i put my head down and came up with a dynamic curse calculation that takes into account 3 day moving averages and the rate by which the curse went up or down. In other words, if NO ONE kills a monster for a few days, the rate of change will even to 0, and if the curst goes up by too much, the curse level might actually decrease to help the players out. The system is much more dynamic now - if players rock the house and kill tons of enemies, the rate of change of curse will increase to adapt to the players' activities.

After doing this, i realized i had implemented an investment bag that allowed players to earn interest on gold they put in. well... that also is a pretty bland dynamic... earning a fixed interest regardless of what goes on in the world... sooo... i put my head down and came up with an investment algorythm that takes into account the dark father's curse! If times are good and the curse is low, returns should be stable and good (the economy is doing well), but if times are dangerous and the curse is high, you might lose on your investment. Also, i made it so the higher returns are earned (if you are lucky) during times of high risk.

Here is how the investment is calculated for example:
C#:
// Checking on investments       
                Console.WriteLine( "investment check" );
                World.Broadcast( 0, true, "Investments calculated for the day!" );

                double risklevel = AetherGlobe.DoomCurse / 10000; // lower is better

                if (AetherGlobe.olddoomcurse != 0)
                    double rateofreturn = Math.Abs(( AetherGlobe.DoomCurse - AetherGlobe.olddoomcurse) / AetherGlobe.olddoomcurse) ; // how much did the curse change by?
                else
                    double rateofreturn = risklevel;

                double multiplier = 1;
                int randomize = Utility.RandomMinMax( 0, 3 );
                
                if (AetherGlobe.DoomCurse == 0) // things are good in the lands, investments will do well
                {
                    mutliplier *= 2;
                    if (AetherGlobe.olddoomcurse == 0 ) // two days in a row, jackpot!
                    {
                        multiplier *= 5;
                        rateofreturn = 0.5;  // since rateofreturn would be 0 from above
                    }
                }

                if (Utility.RandomDouble() > risklevel ) //random check to see if rateofreturn should be increased or decreased by the risk factor
                    rateofreturn *= 1 + ( 1 - risklevel);
                else
                    rateofreturn /= 1 + ( 1 - risklevel);
                
                if (risklevel > 0.50 && (Utility.RandomDouble() < risklevel) ) // what were people thinking??? investing when risk level was high?!?!?!
                {
                    if ( ( AetherGlobe.olddoomcurse - AetherGlobe.DoomCurse ) < 0 )
                        rateofreturn *= 5;
                    else
                        rateofreturn /= 5;
                    
                    if ( (AetherGlobe.olddoomcurse / 10000) > 0.50 && ( Utility.RandomDouble() < ( AetherGlobe.olddoomcurse / 10000 ) ) ) // was also risk yesterday! this person is putting his balls on the coals!
                    {
                        multiplier = 1; // resets multiplier
                        rateofreturn = 0; // loose it all
                    }
                    else
                        multiplier *= 20; // taking risks can have its rewards
                }
                else
                    multiplier *= 5; // taking risks has its returns!

                if (multiplier > 1 && rateofreturn == 0)
                    rateofreturn = 1; // lucky strike for taking risks during dangerous times
                    
                rateofreturn *= multiplier; // final result

                ArrayList bankBoxes = new ArrayList(); // start check on investments
                foreach( Item bb in World.Items.Values )
                {

                    if ( bb is BankBox )
                    {
                            bankBoxes.Add( bb );
                    }
                }

                foreach( BankBox ibb in bankBoxes )
                {

                        double interest = 0;
                        int interestint = 0;
                        
                        foreach( Item item in ibb.Items )
                        {

                            if( item is InterestBag )
                            {
        
                                List<Item> ItemsInBag = item.Items;
                                for( int z = 0; z < ItemsInBag.Count; z++ )
                                {
                                    Item inBag = ItemsInBag[z];

                                    if( inBag is InvestmentCheck ) // found an investment, make the changes!
                                    {
                                        if (rateofreturn == 0)
                                            ((InvestmentCheck)inBag).Worth = 0; // lose it all
                                        
                                        interest = ((InvestmentCheck)inBag).Worth * ( 1 + rateofreturn );
                                        interestint = Convert.ToInt32(interest);
                                        
                                        if ( (AetherGlobe.changeint > 0) && interestint >= 1)
                                        {
                                            ((InvestmentCheck)inBag).Worth += interestint;
                                            //LoggingFunctions.LogInvestments( m, interestint, true );
                                        }
                                        if ( (AetherGlobe.changeint < 0) && interestint >= 1)
                                        {
                                            ((InvestmentCheck)inBag).Worth -= interestint;   
                                            //LoggingFunctions.LogInvestments( m, interestint, false );
                                        }
                                        
                                    }
                                }
                            }
                        }
                }           
                Console.WriteLine( "rateofreturn was" + rateofreturn + " and doomcurse was " + AetherGlobe.DoomCurse );               
//end
i inked this to the daily task manager djeryv put up, so it runs daily.

also, the taskmanager daily ran either every 24 hours, or whenever the server was restarted... i found that if i restarted the server many times a day, i would be running the daily tasks multiple times a day. I therefore added a simple "datelastrun" variable that the system checks before running the daily tasks. This way the tasks are only run once a day regardless how many times i restart, or if i leave the server up.

this is all on server, not on the offline package.
Post automatically merged:

Also, as an added bonus, ive made it so negative karma characters have a MUCH LOWER chance of suffering the dark father's curse. HE is evil after all and so is a negative karma character. to make things fun, i also made it so killing a POSITIVE KARMA mob HELPS the dark father's curse increase! Now, negative karma characters can make things harder for the good guys by killing positive karma mobs (purple mobs, etc)

hence begins the war between good and evil....
 
Last edited:
  • Like
Reactions: bleef

Finaltwist

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

July 03 version

Hi all, i know it' only been a few days since my last post here, but there have been some major changes in teh server and i thought it warranted an update to this release. The release includes a number of different elements - namely around the evil curse taking over the land.

- the math has been reworked and works much more as intended now - when players fight evil evil fights back
- there is an investment bag which allows you to invest your money - be careful as the investment returns...
Read the rest of this update entry...
 

Finaltwist

Squire
Sep 7, 2019
348
95
43
I find that the new evil curse mechanic is really quite interesting - UO is in essence a game of good vs evil, and I really felt like the only thing missing from the game was a sense of "epic adventure". Instead of focusing on loot and artefacts, i felt the game should have something more for players to aim for. The evil curse mechanic does that to some degree. Now, an evil has taken over the lands - its up to whoever is playing to fight it, or help it.

I tied in the evil curse "risklevel" to many game systems - monster HP (the more evil in the lands, the harder the monsters), mob gold drops (the harder the monsters, the more gold they drop), NPC prices (the lower the evil, the better the economy and the lower the prices).

We are also looking at tying it into the random encounter system which randomly spawns mobs based on where you are/time of day etc. We want to make it risky for someone to travel off the roads, we want to add an element of surprise to the game that keeps players on their toes. People love the random blue/red mobs that act just like player characters. They say it keeps the game feeling alive - that's important for a low population/solo game.

I hope that the evil curse plaguing the land will bring a new mechanic to the game and give it a sense of epic adventure. A player can choose to help the evil or fight it, with benefits and drawbacks to both approaches. going forward, the evil curse can be tied into any game system - luck for example, cast success, skillgain success, etc. At high evil, a negative karma might gain skill easier, or a good character might gain easier when evil is low.

I am still tweaking the evil curse change rate. its a complex system now that remembers past success or failure in fighting the evil and adjusts the change rate accordingly.
 

Finaltwist

Squire
Sep 7, 2019
348
95
43
hmm... the client crashes?
no one on the server has had this issue... try logging on to the server and trying to talk to him there?

also, we used to have many npc conversation based crashes, are you running the latest version?
 

Geppino

Citizen
Jun 4, 2015
6
0
1
49
hmm... the client crashes?
no one on the server has had this issue... try logging on to the server and trying to talk to him there?

also, we used to have many npc conversation based crashes, are you running the latest version?
Yes, i'm running version 03/07/2020. It chrashes when I ask for exploration, Victories, Gossip, and recent deaths. It seem to work when i ask for deeds or murder (first and last option).
 

Finaltwist

Squire
Sep 7, 2019
348
95
43
hmm! I'll pass it around to see if there's a particular issue.

I am currently working on a new dungeon below the widow's keep, with a quest and very unique champ spawn
Post automatically merged:

It's not just me! there are a few people working on the server - not sure if they want to be named or not but it is very much a team effort.

also, if you both want to contribute... we are looking for new lore (books, etc) for the various elements of the game... write something and i'll add it!