The following warnings occurred:
Warning [2] Use of undefined constant SAPI_NAME - assumed 'SAPI_NAME' (this will throw an Error in a future version of PHP) - Line: 3388 - File: inc/functions.php PHP 7.4.33-nmm6 (Linux)
File Line Function
/inc/functions.php 3388 errorHandler->error
/showthread.php 116 build_archive_link
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm6 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/inc/functions.php 3324 build_forum_breadcrumb
/showthread.php 195 build_forum_breadcrumb
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm6 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/showthread.php 195 build_forum_breadcrumb






Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
STAT_STR STAT_DEX STAT_INT ?
Author Message
x77x
Master
**

Posts: 488
Likes Given: 0
Likes Received: 15 in 15 posts
Joined: Mar 2012
Reputation: -4



Post: #1
STAT_STR STAT_DEX STAT_INT ?
what do these actually do?

Code:
[SKILL 30]
KEY=Poisoning
TITLE=Assassin
PROMPT_MSG=To what do you wish to apply the poison?
FAIL_MSG=You fail to apply a sufficient dose of poison to it.
STAT_STR=15
STAT_INT=40
STAT_DEX=40
BONUS_STR=0
BONUS_DEX=20
BONUS_INT=80
SKILL_STAT=80
ADV_RATE=500,250,10


STAT_STR=15
STAT_INT=40
STAT_DEX=40
BONUS_STR=0
BONUS_DEX=20
BONUS_INT=80
SKILL_STAT=80

some top secret hardcoded formula?

Dragons of Time 2000-2020
http://dragonsoftime.com
11-19-2016 04:23 AM
Find all posts by this user Like Post Quote this message in a reply
Anarch Cassius
Master
**

Posts: 273
Likes Given: 19
Likes Received: 10 in 9 posts
Joined: Mar 2012
Reputation: 2



Post: #2
RE: STAT_STR STAT_DEX STAT_INT ?
Not secret. It's based on one of the oldest mechanics in UO: tying stats to skills.

Quote:STAT_STR=80 // You will tend toward these stat vals if you use this skill a lot.
BONUS_STATS=10 // What percent of the skill success is based on stat levels. = 10%
BONUS_STR=80 // % of each stat toward success at skill

So STAT_* values are the rate at which using the skill increases the relevant stat.

BONUS_ values are the bonus to the skill you get from the relevant stat. Despite the text saying 'percent' these seem to be weights that just happened to use a 100 scale.

"SKILL_STAT" does not appear in later versions of Sphere. BONUS_STAT does and is the total bonus from all stats put together.

Code:
BONUS_STR=40
BONUS_DEX=60
BONUS_INT=0
BONUS_STATS=50

This means the skill gets up to 5.0% bonus**, derived more from Dex than Str.

When you click "Show Real Values" the client GUI hides the bonus from stats described here.

Now the one problem with the whole system, you might have noticed there is no function for a scripter to pull the current 'unreal' value including bonuses from stats.

I wrote this to do so, now it was written around 55i or something so you may need to alter it but it shows you the basic formula.

Code:
[FUNCTION SKILLMOD]
FLOAT.SKILLMODCALC=<fval (<STR>*<serv.SKILL.<ARGS>.bonus_str>)+(<DEX>*<serv.SKILL.<ARGS>.bonus_dex>)+(<INT>*<serv.SKILL.<ARGS>.bonus_int>)>
FLOAT.SKILLMODCALC *= <serv.SKILL.<ARGS>.bonus_stats>
FLOAT.SKILLMODCALC /= 1000
RETURN <eval <FLOAT.SKILLMODCALC>/1000000>

**Rather if 100 were the actual maximum for each stat you would get up to a 5.0% bonus. If a stat can go higher the maximum will increase proportionately.

Current Projects: Necromancy SCP overhaul. Custom Faction AI/System. Imbuing.
(This post was last modified: 02-05-2017 08:50 AM by Anarch Cassius.)
02-05-2017 08:49 AM
Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)