Today our neighbours released the Pin System -- or so we thought. We were all excited about the feature, and I started to work on porting it to Hercules as soon as I could, only to find out it wasn't fully functional after I was done porting it. I should've taken the "Beta" in their commit log more seriously. I didn't want to throw the effort I spent on making the feature "Hercules Renewal'd" so I've commit it, disabled by default, we'll enable the feature once we manage to get around the decryption issue that causes the dial results to differ from what was inputed by the player. Is it all this blog entry holds? No. I'd like to mention the modifications I've made to the system -- besides porting to the renewal format.
Hercules'd
pincode_changetime - the setting that controls how much time must elapse in order to require the user to change their pin next time they login, on rAthena it is seconds and I thought it was way too precise (whos gonna force their users to change their pin every few seconds? -- I thought.) I've changed it to minutes. Besides that I've also modified how the setting itself works, on rAthena the setting is, in my opinion, poorly employed. on rAthena the setting is applied when saving the time of when the pin code was changed, this way, say, if a server changes this setting from 6 months to say 1 month, all users who had previously changed their pins would still renewal it on the next 6 months regardless. on Hercules only the time of the last change is saved, and the setting is employed when the user logins, making users who've previously changed their pins still be subject to the current setting regardless of what it was at the time they changed their pins, making it consistent.
Hercules'd
pincode_changetime - the setting that controls how much time must elapse in order to require the user to change their pin next time they login, on rAthena it is seconds and I thought it was way too precise (whos gonna force their users to change their pin every few seconds? -- I thought.) I've changed it to minutes. Besides that I've also modified how the setting itself works, on rAthena the setting is, in my opinion, poorly employed. on rAthena the setting is applied when saving the time of when the pin code was changed, this way, say, if a server changes this setting from 6 months to say 1 month, all users who had previously changed their pins would still renewal it on the next 6 months regardless. on Hercules only the time of the last change is saved, and the setting is employed when the user logins, making users who've previously changed their pins still be subject to the current setting regardless of what it was at the time they changed their pins, making it consistent.