Resource icon

Ultima Adventures - Based on Ultima Odyssey June 09

No permission to download

Finaltwist

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

June 09 update

Server and client updated to June 09 version. download latest client and server in the download google drive.

Changelog since last post:
June 1
- updated sosaria map to the latest version of the odyssey maps... all changes ported (that i could find)
- killing a guard will now give you a kill
- killing a red: you can now carve up the corpse and drag the head on a guard for a gold/karma reward!
- added bounties given by guards for ALL human enemies... carve them up and drop a head on a...
Read the rest of this update entry...
 

Finaltwist

Squire
Sep 7, 2019
345
94
43
also, i discovered that henchmen are spawns based on the player's stats and skills - this is an issue for characters over 700 skillcap (like the alien on vanilla odyssey) or on our fork. so they have been tweaked to adjust for that eventuality. also, they healed whenever they moved, attacked/got attacked... and they healed 100% of the damage on a simple check for skills. this has been tweaked so they can now only heal every 5 seconds and the damage healed it random as well, like a player healing.

this change is live in the server and not in the last offline package.
also tweaked it so guildmaster vendors sell more of everything. being part of a guild should have advantages other than fast skillgain and slightly lower prices.
on adventures, npc prices are randomized within a range as well, and prices refresh on regular intervals. so it pays to shop for a deal.
 

WizardTim

Citizen
Mar 21, 2019
28
15
28
also, i discovered that henchmen are spawns based on the player's stats and skills - this is an issue for characters over 700 skillcap (like the alien on vanilla odyssey) or on our fork. so they have been tweaked to adjust for that eventuality.
How does this code in Odyssey "not" prevent that?

C#:
int nCap = (int)(from.Skills.Cap/100);
    if ( nCap > 100 ){ nCap = 100; }
int nTotal = from.SkillsTotal;
    if ( nTotal > (nCap*100) ){ nTotal = nCap*100; }
 

Finaltwist

Squire
Sep 7, 2019
345
94
43
How does this code in Odyssey "not" prevent that?

C#:
int nCap = (int)(from.Skills.Cap/100);
    if ( nCap > 100 ){ nCap = 100; }
int nTotal = from.SkillsTotal;
    if ( nTotal > (nCap*100) ){ nTotal = nCap*100; }
have a skillcap of 100,000 and someone with 3000 total skills.
do the math and compare to 700 skills and 700 cap

although not an issue for you (other than the alien race), its was for us.
the insta-healing check whenever they moved/attacked/gotattacked was also quite OP...
Post automatically merged:

i've chosen to limit the henchmen's spawn potential to statcap only, and added a bandage timer. i can share if you want to see the code.
 

WizardTim

Citizen
Mar 21, 2019
28
15
28
Even the alien race doesn't break it. Look at the code. if nCap is > 100 then set it to 100 so it can't go higher. Same with nTotal. It can't go above anyone with over 1,000 skill points.
 

Finaltwist

Squire
Sep 7, 2019
345
94
43
the intent is to achieve a 0-100 value for nskills - however hard to do when cap could be anything
Post automatically merged:

sure, might not be an issue for you, but you can see how in our case it skewed things heavily
Post automatically merged:

i saw a henchman go 1 on 1 with a balron and realized something was off :)
 

WizardTim

Citizen
Mar 21, 2019
28
15
28
And that Odyssey code there doesn't let it go above 100 no matter what character you have. Even if you have 100,000 skill points it can't go above 1,000.

if ( nCap > 100 ){ nCap = 100; }

This stops it from being 101, 102, 103, etc.
 

Finaltwist

Squire
Sep 7, 2019
345
94
43
700 totalskills, 700 cap
nskills = 100

3000 totalskills, 100,000 cap
nskills = 300

Sorry going off of memory since you didn't post the nskills calc, so its either 1 to 3 or 100 to 300
Post automatically merged:

sorry... thats 1 to 30.. anyways you get my point.
:D
 

WizardTim

Citizen
Mar 21, 2019
28
15
28
If nCap cannot go above 100, and nTotal cannot go above 1,000, then there isn't an issue like you described. No matter how many skill points a character has. It is impossible. This tiny bit of Odyssey code doesn't let a henchman have over 100 in any skill.

C#:
int nCap = (int)(from.Skills.Cap/100);
    if ( nCap > 100 ){ nCap = 100; }
int nTotal = from.SkillsTotal;
    if ( nTotal > (nCap*100) ){ nTotal = nCap*100; }

int nSkills = nTotal / nCap;
 

Finaltwist

Squire
Sep 7, 2019
345
94
43
int nCap = (int)(from.Skills.Cap/100);
e.g. 100,000 / 100 = 1000

if ( nCap > 100 ){ nCap = 100; }
so ncap = 100

int nTotal = from.SkillsTotal;
e.g. ntotal = 3000

if ( nTotal > (nCap*100) ){ nTotal = nCap*100; }
e.g. if (3000 > (100*100 // e.g. 10,000) // does not apply here, 3000 is lower than 10000


int nSkills = nTotal / nCap;
e.g. nskills = 3000 / 1000

or = 3

now, do the same equiations with 700 skills, 700 cap and youll see a different value than 3. actually as players gain skills in adventures, they can theoreticlly have up to 6500 skill pts... so the difference can be very great.
Post automatically merged:

also the lack of a healing timer really made them even more op than the skills issue.
healing 100 of damage over 90% of the time whenever they move/attack/get attacked was crazy fast.
Post automatically merged:

besides... if you don't agree with me, create a char with a 3000 skill total, 100,000 skillcap and create a henchmen. see for yourself. it can solo a balron.
Post automatically merged:

anyways we fixed the issue, im happy to share the code with you but knowing you i don't think you'll be interested in what we've done :/
 

WizardTim

Citizen
Mar 21, 2019
28
15
28
Are you even reading the code? I am getting the feeling you are not.

Are you aware that 10,000 skill points equates to 1,000 whole skill points in game? Do you know how these values work? Your examples show otherwise. Your example has a character with 300 whole skill points as seen in game (or 3,000 points used in coding).

3000/100 = 30. So your henchman will have a 30 in their appropriate skills. The nCap is 100, not 1,000 because that is impossible.
 

Finaltwist

Squire
Sep 7, 2019
345
94
43
im glad you came to discuss this in adventures thread wizard, glad you think the system is great the way it is. like i said, having a henchman fighter solo a balron was an sig things werent great on my end. but heh to each their own. I walked through the example above line by line for you, not sure i can do more.

always a real pleasure to talk to you wizard.
 

WizardTim

Citizen
Mar 21, 2019
28
15
28
You still haven't proved me wrong, other than your poor use of math and coding.

Are you even reading the code? I am getting the feeling you are not.

Are you aware that 10,000 skill points equates to 1,000 whole skill points in game? Do you know how these values work? Your examples show otherwise. Your example has a character with 300 whole skill points as seen in game (or 3,000 points used in coding).

3000/100 = 30. So your henchman will have a 30 in their appropriate skills. The nCap is 100, not 1,000 because that is impossible.
You can't even defend this without the classic "shut up because". I hope the rest of your changes are better coded.
 

Finaltwist

Squire
Sep 7, 2019
345
94
43
Have a nice day wizard! I'm not sure i want to bother convincing you, i have better things to do with my time :D
Post automatically merged:

just try it and see... if you want.

the insta-heal was the main issue too, we fixed that - happy to share with you
 

Finaltwist

Squire
Sep 7, 2019
345
94
43
There's no need to be condescending. I've done my best to stay civil with you, even despite your poor attitude towards me. Again, throw a rock at a puddle of mud, you just get dirty, so i'm happy to end the convo here.

I indicated what the issue was - perhaps i only saw the hechman fight the balron alone, and the timelords dragons alone and it was all in my imagination. Even if it was, there's still no reason to be a poor sport and insult people.

:)
 
  • Like
Reactions: cholofett

WizardTim

Citizen
Mar 21, 2019
28
15
28
I guess when people are wrong that have that oh crap embarrassment moment where you either admit it or hope everyone forgets about it. That would explain the evidence you provided with fake values. But it was really classy of you to say by Odyssey is broke when it isn't. The math is in the code right in front of your face, but you put fake values in there to make a point. Good work.
 

Finaltwist

Squire
Sep 7, 2019
345
94
43
that is true, i am.

now i am curious to know how this is wrong:

int nCap = (int)(from.Skills.Cap/100);
e.g. 100,000 / 100 = 1000

if ( nCap > 100 ){ nCap = 100; }
so ncap = 100

int nTotal = from.SkillsTotal;
e.g. ntotal = 3000

if ( nTotal > (nCap*100) ){ nTotal = nCap*100; }
e.g. if (3000 > (100*100 // e.g. 10,000) // does not apply here, 3000 is lower than 10000


int nSkills = nTotal / nCap;
e.g. nskills = 3000 / 100

or = 30

Maybe you'd be more willing to help djeryv? i realized i did a mistake, used /1000 at the end when it should have been 100. still doesnt change the issue.
Post automatically merged:

wizardtim can be very condescending and downright insulting sometimes. i have a thick skin, went through a divorce so nothing he can do will get to me :)