SphereCommunity
What specifically affects makesuccess? - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: General Help (/Forum-General-Help)
+--- Thread: What specifically affects makesuccess? (/Thread-What-specifically-affects-makesuccess)



What specifically affects makesuccess? - golfin - 11-16-2019 08:35 PM

PHP Code:
//makesuccess_1                    "Due to your poor skill, the item is of shoddy quality"
//makesuccess_2                    "You were barely able to make this item. It is of poor quality"
//makesuccess_3                    "You make the item, but it is of below average quality"
//makesuccess_4                    "The item is of above average quality"
//makesuccess_5                    "The item is of excellent quality"
//makesuccess_6                    "Due to your exceptional skill, the item is of superior quality" 

This is a selection from the msgs def file. these buzz are put on by players when they make an item. But, I'm interested in what determines that a particular sentence should be written. I want to script out the distribution of exp points of experience, but I don't know how makesuccess is done. Why sphere, say for example: makesuccess_5?


RE: What specifically affects makesuccess? - Coruja - 11-17-2019 09:09 AM

These messages are related to the <QUALITY> of crafted item
https://github.com/Sphereserver/Source/blob/dcc89a885d36f11693317af35fc157ae93dc8f3b/src/graysvr/CCharSkill.cpp#L1184

Note that the code first get the QUALITY value based on skill value using ((skill * 2) / 10) to get a result between 0~200, then it split 0~200 into 7 ranges (0~6) to apply some variance and convert to 0~200 again. So to replicate this final result on scripts maybe it will be something like this:

Code:
IF (<QUALITY> < 25)
  SYSMESSAGE <DEFMSG.makesuccess_1>    // shoddy
ELIF (<QUALITY> < 50)
  SYSMESSAGE <DEFMSG.makesuccess_2>    // poor
ELIF (<QUALITY> < 75)
  SYSMESSAGE <DEFMSG.makesuccess_3>    // below average
ELIF (<QUALITY> < 125)
  // There's no message for "average" quality
ELIF (<QUALITY> < 150)
  SYSMESSAGE <DEFMSG.makesuccess_4>    // above average
ELIF (<QUALITY> < 175)
  SYSMESSAGE <DEFMSG.makesuccess_5>    // excellent
ELSE
  SYSMESSAGE <DEFMSG.makesuccess_6>    // superior
ENDIF



RE: What specifically affects makesuccess? - golfin - 11-17-2019 04:54 PM

Interesting, I don't know this. Thanks, Coruja. I'll try to match it to the trigger ON=@Success of the skill.