summaryrefslogtreecommitdiff
path: root/npc/custom/eAAC_Scripts/kafraExpress/ke_stats.txt
diff options
context:
space:
mode:
authorVicious <Vicious@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-03-02 18:50:09 +0000
committerVicious <Vicious@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-03-02 18:50:09 +0000
commit430f60e0b89f43358026ff1a170ac8938a534244 (patch)
tree6094005321b26405258b47ce4a4de6a8ae33d806 /npc/custom/eAAC_Scripts/kafraExpress/ke_stats.txt
parent32ebde394d7762fdbb28ba9b5c3ce9a232292bb7 (diff)
downloadhercules-430f60e0b89f43358026ff1a170ac8938a534244.tar.gz
hercules-430f60e0b89f43358026ff1a170ac8938a534244.tar.bz2
hercules-430f60e0b89f43358026ff1a170ac8938a534244.tar.xz
hercules-430f60e0b89f43358026ff1a170ac8938a534244.zip
eACC scripts.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5429 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/custom/eAAC_Scripts/kafraExpress/ke_stats.txt')
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_stats.txt130
1 files changed, 130 insertions, 0 deletions
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_stats.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_stats.txt
new file mode 100644
index 000000000..1b83fdd79
--- /dev/null
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_stats.txt
@@ -0,0 +1,130 @@
+//===== eAthena Script =======================================
+//= Kafra Express - Stat/Reset Module
+//===== By: ==================================================
+//= Skotlex
+//===== Current Version: =====================================
+//= 2.2
+//===== Compatible With: =====================================
+//= eAthena SVN R3424+
+//===== Description: =========================================
+//= Part of the Kafra Express Script Package.
+//= Offers stat raising and Stat/Reset skills
+//===== Additional Comments: =================================
+//= See config.txt for configuration.
+//============================================================
+
+- script keInit_stats {
+OnInit: //Load Config
+ donpcevent "keConfig::OnLoadStats";
+ end;
+}
+
+function script F_keStats {
+
+ function SF_statRaise;
+
+ set @discount,callfunc("F_keCost",100,$@kest_discount);
+ do {
+ set @kmenu, select(
+ "- Return",
+ "- Raise Stats",
+ "- Reset Stats ("+$@kest_stResetCost+"z+"+$@kest_BaseLvCost+"/blv)",
+ "- Reset Skills ("+$@kest_skResetCost+"z+"+$@kest_JobLvCost+"/jlv)",
+ "- Reset Both ("+$@kest_resetCost+"z+"+$@kest_BothLvCost+"/lv)"
+ );
+ switch (@kmenu) {
+ case 2: //Stat raising
+ SF_statRaise();
+ set @cost, 0;
+ set @reset, 0;
+ break;
+ case 3: //Reset Stat
+ set @cost, $@kest_stResetCost+BaseLevel*$@kest_BaseLvCost;
+ set @reset, 1;
+ break;
+ case 4: //Reset Skills
+ set @cost, $@kest_skResetCost+(JobLevel+jobchange_level)*$@kest_JobLvCost;
+ set @reset, 2;
+ break;
+ case 5: //Reset Both
+ set @cost, $@kest_resetCost+(BaseLevel+JobLevel+jobchange_level)*$@kest_BothLvCost;
+ set @reset, 3;
+ break;
+ default: //Cancel
+ set @cost, 0;
+ set @reset, 0;
+ break;
+ }
+ if (@reset > 0) {
+ if (select("- Cancel","- Reset for "+(@cost*@discount/100)+"z") == 2) {
+ if (!(callfunc("F_keCharge",@cost,$@kest_discount,1))) {
+ callfunc "F_keIntro", e_an, "Sorry, you don't have enough Zeny.";
+ } else {
+ if (@reset&1)
+ ResetStatus;
+ if (@reset&2) {
+ if ($@kest_resetBasic)
+ ResetSkill;
+ else {
+ set @skill1,getskilllv(1);
+ ResetSkill;
+ skill 1,@skill1,0;
+ set SkillPoint,SkillPoint-@skill1;
+ }
+ }
+ emotion e_hmm;
+ }
+ }
+ }
+ } while (@kmenu > 1);
+ return;
+
+function SF_statRaise {
+ do {
+ set @submenu, select(
+ "- Return",
+ "- Raise Strength",
+ "- Raise Agility",
+ "- Raise Vitality",
+ "- Raise Intelligence",
+ "- Raise Dexterity",
+ "- Raise Luck"
+ );
+ switch (@submenu) {
+ case 2:
+ set @stat,bStr;
+ break;
+ case 3:
+ set @stat,bAgi;
+ break;
+ case 4:
+ set @stat,bVit;
+ break;
+ case 5:
+ set @stat,bInt;
+ break;
+ case 6:
+ set @stat,bDex;
+ break;
+ case 7:
+ set @stat,bLuk;
+ break;
+ default:
+ return;
+ }
+ input @qty;
+ if (@qty <1) {
+ callfunc "F_keIntro", e_swt, "I don't lower stats, try resetting them.";
+ } else if (@qty >100) {
+ callfunc "F_keIntro", e_swt2, "Sorry... I can only raise stats up to 100 at a time.";
+ } else {
+ do {
+ statusup @stat;
+ set @qty,@qty-1;
+ } while (@qty > 0);
+ emotion e_ok;
+ }
+ } while (@submenu > 1);
+}
+
+}