diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-03 15:00:02 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-03 15:00:02 +0000 |
commit | d8fd35ec71a88a56d3f93fff9ab54fbbd1e38c4a (patch) | |
tree | e4474f21f165c8fa81c72a705ec576ef6083bb51 /npc/custom/eAAC_Scripts/kafraExpress/ke_jobswap.txt | |
parent | 00fcc3fb3eb3fbe68ce72ba25b034a74f469290a (diff) | |
download | hercules-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.txt | 43 |
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;
|