XuN
Sphere Developer
Posts: 852
Likes Given: 102
Likes Received: 156 in 119 posts
Joined: Jul 2013
Reputation: 30
|
RE: Easy skill gain and exaggerated stats gain
This is how statgain works, I will use str as example however all 3 stats are checked after @SkillGain (even if there is no skillgain):
local.stat=<str>
local.cap=<serv.skill.<action>.bonus_str> //gets max bonus_stat from the succeeding skill.
local.difficulty = <muldiv <local.stat>,1000,<local.cap>>
local.chance =<eval 100000 / <f_Value_GetLinear <local.difficulty>,<local.cap>,<serv.skill.<action>.values>> > // f_Value_GetLinear function is inside sphere_combat, it get's the actual 'point' in which you really are in the ADV_RATE or VALUES, so if you have ADV_RATE=1.0,50.0,90,0 and your skill is at 99.0 you'll get as return something close to 88.7~.
if (<local.chance < 1 )
return 0
endif
local.roll=<r1000>
local.decrease=<stat_decrease> //just internal function checking if any stat must decrease, ex: passed the cap of stat, of total stats, etc. and automatically decrease that stat, its also returns 1 if the stat gain is allowed to happen regardless of the stat's decrease.
if (<local.roll> <= <local.chance> && <local.decrease>)
gained your stat point!
endif
EDIT: Forgot the most important for you: change your BONUS_STATS to 100, this should make you have more gains.
(This post was last modified: 05-02-2015 06:39 PM by XuN.)
|
|
05-02-2015 06:37 PM |
|
The following 1 user Likes XuN's post:1 user Likes XuN's post
AmpereJoule (05-02-2015)
|
AmpereJoule
Journeyman
Posts: 59
Likes Given: 7
Likes Received: 0 in 0 posts
Joined: Dec 2012
Reputation: 0
|
RE: Easy skill gain and exaggerated stats gain
(05-02-2015 06:37 PM)XuN Wrote: This is how statgain works, I will use str as example however all 3 stats are checked after @SkillGain (even if there is no skillgain):
local.stat=<str>
local.cap=<serv.skill.<action>.bonus_str> //gets max bonus_stat from the succeeding skill.
local.difficulty = <muldiv <local.stat>,1000,<local.cap>>
local.chance =<eval 100000 / <f_Value_GetLinear <local.difficulty>,<local.cap>,<serv.skill.<action>.values>> > // f_Value_GetLinear function is inside sphere_combat, it get's the actual 'point' in which you really are in the ADV_RATE or VALUES, so if you have ADV_RATE=1.0,50.0,90,0 and your skill is at 99.0 you'll get as return something close to 88.7~.
if (<local.chance < 1 )
return 0
endif
local.roll=<r1000>
local.decrease=<stat_decrease> //just internal function checking if any stat must decrease, ex: passed the cap of stat, of total stats, etc. and automatically decrease that stat, its also returns 1 if the stat gain is allowed to happen regardless of the stat's decrease.
if (<local.roll> <= <local.chance> && <local.decrease>)
gained your stat point!
endif
EDIT: Forgot the most important for you: change your BONUS_STATS to 100, this should make you have more gains.
Thank you Xun and Darksun84.
So, can I say that:
"ADV_RATE=1.0,1.0,1.0" in each sphere_skill_*nameOfSkill*.scp will make the players grow/change stats easy and even if the skill is 100.0 ??
------------x---------- (what is writen below may be unecessary)
To Xun:
Thank you Xun, but I thought the most important was "local.chance" and learning about ADV_RATE and VALUES.
What I understood was: If i put ADV_RATE as "Darksun84" said (ADV_RATE=1.0,1.0,1.0) the player will gain stats even if he gets 100.0 of the skill he is using.
Is my tought right? Will it work?
(Notice that I did not use VALUES anywhere)
|
|
05-02-2015 11:14 PM |
|
|