summaryrefslogtreecommitdiff
path: root/npc/custom/eAAC_Scripts/kafraExpress/ke_jobswap.txt
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-03 15:00:02 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-03 15:00:02 +0000
commitd8fd35ec71a88a56d3f93fff9ab54fbbd1e38c4a (patch)
treee4474f21f165c8fa81c72a705ec576ef6083bb51 /npc/custom/eAAC_Scripts/kafraExpress/ke_jobswap.txt
parent00fcc3fb3eb3fbe68ce72ba25b034a74f469290a (diff)
downloadhercules-d8fd35ec71a88a56d3f93fff9ab54fbbd1e38c4a.tar.gz
hercules-d8fd35ec71a88a56d3f93fff9ab54fbbd1e38c4a.tar.bz2
hercules-d8fd35ec71a88a56d3f93fff9ab54fbbd1e38c4a.tar.xz
hercules-d8fd35ec71a88a56d3f93fff9ab54fbbd1e38c4a.zip
- Modified yet again SC_SILENCE after iRO tests from Entwined on IRC. Silence now ONLY blocks skills from being used, it will not stop on-going casts.
- Updated status_cast_cancel to also include silence (so the cast bar is cancelled if you are silenced during it) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8098 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/custom/eAAC_Scripts/kafraExpress/ke_jobswap.txt')
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_jobswap.txt43
1 files changed, 26 insertions, 17 deletions
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_jobswap.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_jobswap.txt
index ee2d7b79f..3a5add8fd 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_jobswap.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_jobswap.txt
@@ -3,9 +3,9 @@
//===== By: ==================================================
//= Skotlex
//===== Current Version: =====================================
-//= 3.1
+//= 3.4
//===== Compatible With: =====================================
-//= eAthena SVN R3424+
+//= eAthena SVN R7896+
//===== Description: =========================================
//= Part of the Kafra Express Script Package.
//= Enables job changing among classes of the same 'type'
@@ -183,55 +183,55 @@ function SF_switch {
switch (@kmenu)
{
case 2: //ALCHEMIST
- if (SF_swapJob(callfunc("GF_getJobId", Job_Alchem, Upper),@cost,@preserve) == 0)
+ if (SF_swapJob(callfunc("GF_getJobId", Job_Alchem, Upper),@cost,@preserve))
return 0;
break;
case 3: //ASSASSIN
- if (SF_swapJob(callfunc("GF_getJobId", Job_Assassin, Upper),@cost,@preserve) == 0)
+ if (SF_swapJob(callfunc("GF_getJobId", Job_Assassin, Upper),@cost,@preserve))
return 0;
break;
case 4: //BARD
- if (SF_swapJob(callfunc("GF_getJobId", Job_Bard, Upper),@cost,@preserve) == 0)
+ if (SF_swapJob(callfunc("GF_getJobId", Job_Bard, Upper),@cost,@preserve))
return 0;
break;
case 5: //BLACKSMITH
- if (SF_swapJob(callfunc("GF_getJobId", Job_Blacksmith, Upper),@cost,@preserve) == 0)
+ if (SF_swapJob(callfunc("GF_getJobId", Job_Blacksmith, Upper),@cost,@preserve))
return 0;
break;
case 6: //CRUSADER
- if (SF_swapJob(callfunc("GF_getJobId", Job_Crusader, Upper),@cost,@preserve) == 0)
+ if (SF_swapJob(callfunc("GF_getJobId", Job_Crusader, Upper),@cost,@preserve))
return 0;
break;
case 7: //DANCER
- if (SF_swapJob(callfunc("GF_getJobId", Job_Dancer, Upper),@cost,@preserve) == 0)
+ if (SF_swapJob(callfunc("GF_getJobId", Job_Dancer, Upper),@cost,@preserve))
return 0;
break;
case 8: //HUNTER
- if (SF_swapJob(callfunc("GF_getJobId", Job_Hunter, Upper),@cost,@preserve) == 0)
+ if (SF_swapJob(callfunc("GF_getJobId", Job_Hunter, Upper),@cost,@preserve))
return 0;
break;
case 9: //KNIGHT
- if (SF_swapJob(callfunc("GF_getJobId", Job_Knight, Upper),@cost,@preserve) == 0)
+ if (SF_swapJob(callfunc("GF_getJobId", Job_Knight, Upper),@cost,@preserve))
return 0;
break;
case 10: //MONK
- if (SF_swapJob(callfunc("GF_getJobId", Job_Monk, Upper),@cost,@preserve) == 0)
+ if (SF_swapJob(callfunc("GF_getJobId", Job_Monk, Upper),@cost,@preserve))
return 0;
break;
case 11: //PRIEST
- if (SF_swapJob(callfunc("GF_getJobId", Job_Priest, Upper),@cost,@preserve) == 0)
+ if (SF_swapJob(callfunc("GF_getJobId", Job_Priest, Upper),@cost,@preserve))
return 0;
break;
case 12: //ROGUE
- if (SF_swapJob(callfunc("GF_getJobId", Job_Rogue, Upper),@cost,@preserve) == 0)
+ if (SF_swapJob(callfunc("GF_getJobId", Job_Rogue, Upper),@cost,@preserve))
return 0;
break;
case 13: //SAGE
- if (SF_swapJob(callfunc("GF_getJobId", Job_Sage, Upper),@cost,@preserve) == 0)
+ if (SF_swapJob(callfunc("GF_getJobId", Job_Sage, Upper),@cost,@preserve))
return 0;
break;
case 14: //WIZARD
- if (SF_swapJob(callfunc("GF_getJobId", Job_Wizard, Upper),@cost,@preserve) == 0)
+ if (SF_swapJob(callfunc("GF_getJobId", Job_Wizard, Upper),@cost,@preserve))
return 0;
break;
}
@@ -296,8 +296,16 @@ function SF_swapJob {
}
set @basic, getSkilllv(1);
+ set @preserve, skillpointcount() -JobLevel -@basic +@newjoblv; //Preserve holds the final amount of SkillPoints you should have.
+
+ if (@preserve < 0) {
+ callfunc "F_keIntro", e_gasp, "You need "+(-@preserve)+" more skill points to change class!";
+ return 0;
+ }
+
set @thisJoblevel, JobLevel;
resetSkill;
+
//Set previous job as needed.
if ($@kejs_revertPolicy) {
set kej_prev_job, Class;
@@ -311,10 +319,10 @@ function SF_swapJob {
setlook 7,0;
jobchange @newjobId, 0;
skill 1,@basic,0;
- set SkillPoint, SkillPoint-@thisJoblevel+1-@basic;
-
set JobLevel, @newjoblv;
+ set SkillPoint, @preserve;
setoption(0);
+ sc_end -1;
callfunc "F_keCharge",getarg(2),$@kejs_swapDiscount,1;
emotion e_ok;
@@ -366,6 +374,7 @@ function SF_revertJob {
set kej_prev_joblv, @thisJobLv;
set kej_prev_skills, @skill;
setoption(0);
+ sc_end -1;
if ($@kejs_announce)
announce strcharinfo(0)+" has changed from "+callfunc ("GF_getJobName",@thisJobId)+" to "+@newjob$+"...",16;