Ultima Odyssey

Ultima Odyssey 2020-06-23

No permission to download

Djeryv

Squire
Oct 2, 2014
278
128
43
Moved On...
Shard Name
Ultima Odyssey
Odyssey doesn't support the old client anymore. If one were to try and use it, people would be floating in the air when riding many mounts and the containers wouldn't work right. It has been a ClassicUO only game for most of the year now.
 

Psin

Citizen
May 11, 2020
2
0
1
Odyssey doesn't support the old client anymore. If one were to try and use it, people would be floating in the air when riding many mounts and the containers wouldn't work right. It has been a ClassicUO only game for most of the year now.
Thank you for continuing to develop Odyssey. Awesome work! I just switched over to ClassicUO and Razor, and they work great and the game seems refreshed! It'll be fun to build my scripts in Razor.
 

phoenixmog

Citizen
Sep 14, 2020
13
0
1
Bug Report. Protection and Arch protection are applying negative buffs reducing armor and resist instead of increasing them.
 

Djeryv

Squire
Oct 2, 2014
278
128
43
Moved On...
Shard Name
Ultima Odyssey
Bug Report. Protection and Arch protection are applying negative buffs reducing armor and resist instead of increasing them.
It is supposed to...

/* Players under the protection spell effect can no longer have their spells "disrupted" when hit.
* Players under the protection spell have decreased physical resistance stat value (-15 + (Inscription/20),
* a decreased "resisting spells" skill value by -35 + (Inscription/20),
* and a slower casting speed modifier (technically, a negative "faster cast speed") of 2 points.
* The protection spell has an indefinite duration, becoming active when cast, and deactivated when re-cast.
* Reactive Armor, Protection, and Magic Reflection will stay on—even after logging out,
* even after dying—until you “turn them off” by casting them again.
*/
 

phoenixmog

Citizen
Sep 14, 2020
13
0
1
I had noticed you removed the Bulk Order deed timer to allow completion of large BOD's easier (since you need the smalls to complete them). I took this a step farther and modified the bulk order deed so if you try to add the large bulk order to itself, it will generate the smalls it needs. This helps on a solo server to save time.
Add this code at line 205, or replace with the full file attached

C#:
                else if (o == this) {
                    
                    LargeBulkEntry entry = null;
                    
                    for ( int i = 0; i < m_Entries.Length; ++i )
                    {
                        if (o is LargeSmithBOD){
                            SmallSmithBOD SmallBOD = new SmallSmithBOD();
                            SmallBOD.Type = m_Entries[i].Details.Type;
                            SmallBOD.Number = m_Entries[i].Details.Number;
                            SmallBOD.AmountMax = this.AmountMax;
                            SmallBOD.Graphic = m_Entries[i].Details.Graphic;
                            SmallBOD.Material = this.Material;
                            SmallBOD.RequireExceptional = this.RequireExceptional;
                            from.AddToBackpack(SmallBOD);

                        } else if (o is LargeTailorBOD) {
                            SmallTailorBOD SmallBOD = new SmallTailorBOD();
                            SmallBOD.Type = m_Entries[i].Details.Type;
                            SmallBOD.Number = m_Entries[i].Details.Number;
                            SmallBOD.AmountMax = this.AmountMax;
                            SmallBOD.Graphic = m_Entries[i].Details.Graphic;
                            SmallBOD.Material = this.Material;
                            SmallBOD.RequireExceptional = this.RequireExceptional;                       
                            from.AddToBackpack(SmallBOD);

                        }
                    }

                }
 

Attachments

phoenixmog

Citizen
Sep 14, 2020
13
0
1
Here is another little bug fix. This one is kinda stupid, but it bothered me. When you resurrect with Reactive Armor or Protection on the buff remains but the icon is removed from buff window. This caused me some confusion a few times now, so I decided to fix it. This patch is 3 files. Updates to the Reactive armor, Protection and Player Mobiles. On resurrection the buff icons will be reapplied if the spells are still active on your character.

Once again code blocks and complete files provided. The line may be slightly different as I may have adjusted whitespace when debugging these additions
Protection.cs Add about line 99
Code:
        public static void SetBuffIcons(Mobile m ) {
            object[] mods = (object[])m_Table[m];
            if (mods != null) {
                int physloss = -15 + (int) (m.Skills[SkillName.Inscribe].Value / 20);
                int resistloss = -35 + (int) (m.Skills[SkillName.Inscribe].Value / 20);
                string args = String.Format("{0}\t{1}", physloss, resistloss);
                BuffInfo.AddBuff(m, new BuffInfo(BuffIcon.Protection, 1075814, 1075815, args.ToString()));
            }
        }
ReactiveArmor.cs Add about 141
Code:
        public static void SetBuffIcons(Mobile m ) {
            ResistanceMod[] mods = (ResistanceMod[])m_Table[m];
            if (mods != null) {
                int physresist = 15 + (int)(m.Skills[SkillName.Inscribe].Value / 20);
                string args = String.Format("{0}\t{1}\t{2}\t{3}\t{4}", physresist, 5, 5, 5, 5);
                BuffInfo.AddBuff(m, new BuffInfo(BuffIcon.ReactiveArmor, 1075812, 1075813, args.ToString()));
            }
        }
PlayerMobile.cs add at 2301
Code:
            if ( Core.AOS ){
                ProtectionSpell.SetBuffIcons(this);
                ReactiveArmorSpell.SetBuffIcons(this);
            }
 

Attachments

phoenixmog

Citizen
Sep 14, 2020
13
0
1
I can't figure out how to edit my last post but I forgot to add in these two lines in the playermobile on the code in post (it's in the attached playermobile.cs)
On line 11
Code:
using Server.Spells.First;
using Server.Spells.Second;
 

phoenixmog

Citizen
Sep 14, 2020
13
0
1
I've been really enjoying the game so far. Thanks for creating a really unique experience!
Post automatically merged:

Hey Djeryv, I found a better way to presist the buff icon through death after looking at the function for the BuffIcons. (Was going to add an icon for when you self ressurect, and when you magic reflect yourself). It's a smaller modification to only the spell and no change the player mobile. Would you like me to post the updated code or do you want to leave in the previous change?
Post automatically merged:

Hey Djeryv, I found a better way to presist the buff icon through death after looking at the function for the BuffIcons. (Was going to add an icon for when you self ressurect, and when you magic reflect yourself). It's a smaller modification to only the spell and no change the player mobile. Would you like me to post the updated code or do you want to leave in the previous change?

Apparently there is a flag to just keep the buff icons through death. It's a single line edit to both spells instead of modifying the player mobile and adding in extra checks. I think it's much cleaner.
Post automatically merged:

Here is the reverted player mobile and updated spell files for the cleaner solution. Sorry I jumped the gun posting the last modification.

There consist of a single line of code change on both spells
ReactiveArmor.cs on line 86
Code:
                        BuffInfo.AddBuff(Caster, new BuffInfo(BuffIcon.ReactiveArmor, 1075812, 1075813, args.ToString(),true));
Protection.cs on line 82
Code:
                BuffInfo.AddBuff(target, new BuffInfo(BuffIcon.Protection, 1075814, 1075815, args.ToString(),true));
There toggle a flag that keeps the buff icons through death.
 

Attachments

Last edited:

phoenixmog

Citizen
Sep 14, 2020
13
0
1
Next up is a change to the soul orbs. Mainly because I would forget if i had one and died being ressed a couple times. It grants a buff window icon with a countdown until your res from the soul orb. Upon res it removes the buff. I also added particle effects for good measure since I like them.

Two small modifications to SoulOrb.cs

Line 78 add
Code:
                    BuffInfo.AddBuff( owner, new BuffInfo( BuffIcon.GiftOfLife, 1015222,TimeSpan.FromSeconds(30), owner, String.Format("You will resurrect within 30 seconds of your death"),true ) );
Line 98-End of function Change to:
Code:
                owner.Resurrect();
                owner.FixedEffect( 0x376A, 10, 16, Server.Items.CharacterDatabase.GetMySpellHue( owner, 0 ), 0 );
                Server.Misc.Death.Penalty( owner, false );
                BuffInfo.RemoveBuff(owner, BuffIcon.GiftOfLife);
                arp.Delete();
As always full file is attached.
 

Attachments

phoenixmog

Citizen
Sep 14, 2020
13
0
1
Hey Djeryv,

I had a question about how you intended meditation to work with the higher stat and mana pools. The original equation for med is chance = (50 + (( skillVal - ( m.ManaMax - m.Mana ) ) * 2)) / 100; which means once you exceed 100 mana (50 int) your chance of successfully medding at GM meditation is below 0 once you use more than 100 mana. (At the point where you'd want to med)

A Change to
Code:
double chance = (50 + (( skillVal - ( m.Mana / m.ManaMax ) ) * 2)) / 100;
would put the max value returned by the missing mana back to a scale of 1-100 on the meditation check allowing the skill to be useful again once over 100 max mana.

If you intended the meditation to become only passive mana reg than it's a completely different conversation! Let me know what you think!
 

Djeryv

Squire
Oct 2, 2014
278
128
43
Moved On...
Shard Name
Ultima Odyssey
I had no intent, nor bothered to mess with, Meditation or Focus so they function currently out of the box during the time that version of RunUO came out. I will probably incorporate this for the reasons you stated.
 

Finaltwist

Squire
Sep 7, 2019
445
124
43
Looks like all good changes phoenix!
Will be applying those to adventures as well - thanks for sharing your work!
 

Djeryv

Squire
Oct 2, 2014
278
128
43
Moved On...
Shard Name
Ultima Odyssey
This is a client and server update that fixes a couple of small map issues in Lodor, and also has a new color scheme for Vordo's Dungeon as I fell out of love with that dark blue I used back in 2015. Dire wolves can now be ridden and are set to new appearances to look more dire. All of phoenixmog's suggested script tweaks have been implemented as well. I fixed a house I found to dismount you when you were outside of it by 1 tile. Altered stealth use of sneak attacks to not be easy or over powered. Fixed an exploit with the camping dungeon room.
 

phoenixmog

Citizen
Sep 14, 2020
13
0
1
I'm testing an update to all the custom spells to make them scale off increased spell damage. Since there isn't a simple way to set the flags for all the custom classes and spells this might be a slow one to be released. I just want to verify it works as intended before releasing it, but it's the standard formula used for standard mage spells, and I don't anticipate any issues.

I'll be testing the Jedi and Syth tonight as I already know how to unlock them in game (and I've been making code modifications without spoiling how to unlock things)

Would you prefer a single large dump of all the spell updates or each class as I test them?
 

Djeryv

Squire
Oct 2, 2014
278
128
43
Moved On...
Shard Name
Ultima Odyssey
Would you prefer a single large dump of all the spell updates or each class as I test them?
You can do it all at once in zip file here. I want to be sure what is changed before committing. There were comments about Jedi/Syth stuff not reacting from extra spell damage and I left it out of the equation because those are supposed to be psionic abilities per the lore and not magical in nature.