SphereServer BugTracker - SphereServer
View Issue Details
0001482SphereServernew feature requestpublic03-08-08 05:3514-12-13 19:32
Coruja 
khaos 
normalminorN/A
closedno change required 
 
 
08-02-2008
None
None
0001482: SKILLGAIN function change
On revision:
11-12-04, Furio
- Added: SKILLGAIN function to call internal sphere skillgain function. Args are
  skill to gain and difficulty (0 to 100).

To make this function more confident on gain skill using Sphere calcs, I suggest a change in this function :)
SKILLGAIN skill, adv_rate

Instead of this:
SKILLGAIN Healing 20
It will work like this:
SKILLGAIN Healing 10,50,100

Using this method, the function will use the skill adv_rate to calculate the gain rate, ppl will can use <SERV.SKILL.66.ADV_RATE> on the function, and everything will be gained using default sphere method.
No tags attached.
Issue History
03-08-08 05:35CorujaNew Issue
03-08-08 05:35CorujaNightly Version => 08-02-2008
03-08-08 05:35CorujaExperimental Flags => None
03-08-08 05:35CorujaOption Flags => None
07-08-08 08:54dzhonyNote Added: 0000041
07-08-08 18:22Admin BladeCraftNote Added: 0000042
07-08-08 18:33CorujaNote Added: 0000043
07-08-08 19:45MrSugarCubeStatusnew => closed
07-08-08 19:45MrSugarCubeNote Added: 0000044
07-08-08 19:45MrSugarCubeResolutionopen => no change required
07-08-08 19:52CorujaStatusclosed => feedback
07-08-08 19:52CorujaResolutionno change required => reopened
07-08-08 19:52CorujaNote Added: 0000045
07-08-08 19:53CorujaNote Edited: 0000045
07-08-08 19:54CorujaNote Edited: 0000045
14-12-13 19:32khaosNote Added: 0001824
14-12-13 19:32khaosStatusfeedback => closed
14-12-13 19:32khaosAssigned To => khaos
14-12-13 19:32khaosResolutionreopened => no change required

Notes
(0000041)
dzhony   
07-08-08 08:54   
Agree ... I've encountered many problems with difficulty settings on various skillgain functions in crafting, and if the difficulty is high enough, low skills can not be trained - and vice versa. This suggestion Coruja explains should solve such problems :)
(0000042)
Admin BladeCraft   
07-08-08 18:22   
I would much rather it take a number argument with a 1/# chance to gain. That way we can set it to 0 and have it auto gain or 100 and have it do a 1/100. This would allow us to make our own "formula" on how it should proceed based on anything we want, including a slope effect such as the adv_rate.

I agree that the current skillgain function is not useable. I had to make my own and I know others have as well.
(0000043)
Coruja   
07-08-08 18:33   
Make your own skillgain function is easy, but you can't make a exactly sphere skillgain function, no one knows this gain method.
SKILLGAIN magery 100 will raise the skill. But there's a difference: it will give 100% chance to raise the skill no matter if the player magery is 0.0 or 666.2.
Using SKILLGAIN magery 10,50,200 is the same of SKILLGAIN magery 1.0,5.0,20.0 used on sphere_skills.scp, and the sphere will use internal formula to calc the gain chance. So, ppl will just have to use the skill adv_rate and it will act like an "normal" skillgain.
SKILLGAIN magery <SERV.SKILL.666.ADV_RATE>

And with both methods ppl will can customize the gain rate using own formula, but the new method is more efficient and allow ppl to do a more confident skillgain using the default sphere calc formula.
(0000044)
MrSugarCube   
07-08-08 19:45   
What you're proposing is simply an override to a skill's ADV_RATE, which you can do already with 'SERV.SKILL.x.ADV_RATE=yyy'.

A difficulty is required to vary the rate of skill gain (i.e. the difference between crafting a simple item vs a complex item), you can't simply remove or ignore it. Internally the character's ACTDIFF (minimum skill level required for skill success) is normally used as the skill gain difficulty, which should give you an idea to what kind of value is 'normal' for the difficulty.
(0000045)
Coruja   
07-08-08 19:52   
(edited on: 07-08-08 19:54)
Sorry reopen this issue, I just wanna tell that using this new method is 6746746874% more efficient than using the regular skillgain function. Why? Because using this, ppl will can change skills adv_rate and the function will continue using the skill rate. It's usefull on POWER HOUR system (that automatically change all skills adv_rate [hard rates] to 1,1,1 [easy rates] every day at 8:00am to 9:00am, and after this period the adv_rate goes to the 'normal' value again) :D

(0001824)
khaos   
14-12-13 19:32   
Functionality already exists to do everything asked. Comments from MrSugarCube explain this. Soft coding the skills can also be done for skillgain.

Please do not reopen this thread unless there is a real issue.