diff options
author | Jared Adams <jaxad0127@gmail.com> | 2009-09-18 15:49:51 -0600 |
---|---|---|
committer | Jared Adams <jaxad0127@gmail.com> | 2009-09-18 15:49:51 -0600 |
commit | 41075d30353cd42588975cfbc8a21a69911ad4cc (patch) | |
tree | 8a7ae1fa652da465079e22167d419e1c663cf0c1 /src/map/pc.c | |
parent | b3939b91deda8081c5b144109829599b05e81272 (diff) | |
download | tmwa-41075d30353cd42588975cfbc8a21a69911ad4cc.tar.gz tmwa-41075d30353cd42588975cfbc8a21a69911ad4cc.tar.bz2 tmwa-41075d30353cd42588975cfbc8a21a69911ad4cc.tar.xz tmwa-41075d30353cd42588975cfbc8a21a69911ad4cc.zip |
Replace basic skill with three new skills
We want to handle skills differently that eAthena was made too. All new skills are leveled by NPCs instead of using the job sysetm. Also fixes some bugs.
Diffstat (limited to 'src/map/pc.c')
-rw-r--r-- | src/map/pc.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index acec322..7d083d1 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -881,7 +881,7 @@ static int pc_calc_skillpoint(struct map_session_data* sd) for(i=1;i<MAX_SKILL;i++){ if( (skill = pc_checkskill(sd,i)) > 0) { - if(!(skill_get_inf2(i)&0x01) || battle_config.quest_skill_learn) { + if(skill_get_inf2(i)&0x01) { if(!sd->status.skill[i].flag) skill_point += skill; else if(sd->status.skill[i].flag > 2 && sd->status.skill[i].flag != 13) { @@ -997,6 +997,7 @@ int pc_calc_skilltree(struct map_session_data *sd) } } + /*Comment this out for now, as we manage skills differently for(i=0;i<MAX_SKILL;i++) if (i < TMW_MAGIC || i > TMW_MAGIC_END){ // [Fate] This hack gets TMW magic working and persisted without bothering about the skill tree. if (sd->status.skill[i].flag != 13) sd->status.skill[i].id=0; @@ -1005,6 +1006,7 @@ int pc_calc_skilltree(struct map_session_data *sd) sd->status.skill[i].flag=0; // flag��0�ɂ��Ă��� } } + */ if (battle_config.gm_allskill > 0 && pc_isGM(sd) >= battle_config.gm_allskill){ // �S�ẴX�L�� @@ -4761,8 +4763,8 @@ int pc_skillup(struct map_session_data *sd,int skill_num) if( sd->status.skill_point>0 && sd->status.skill[skill_num].id!=0 && - sd->status.skill[skill_num].lv < skill_get_max(skill_num) - && (skill_num < TMW_MAGIC || skill_num > TMW_MAGIC_END)) // [Fate] Hack: Prevent exploit for raising magic levels + sd->status.skill[skill_num].lv < skill_get_max(skill_num) && + skill_get_inf2(skill_num) & 0x01) { sd->status.skill[skill_num].lv++; sd->status.skill_point--; @@ -4811,7 +4813,7 @@ int pc_allskillup(struct map_session_data *sd) } else { for(i=0;(id=skill_tree[s][c][i].id)>0;i++){ - if(sd->status.skill[id].id==0 && (!(skill_get_inf2(id)&0x01) || battle_config.quest_skill_learn) ) + if(sd->status.skill[id].id==0 && skill_get_inf2(id)&0x01 ) sd->status.skill[id].lv=skill_get_max(id); } } @@ -4969,8 +4971,8 @@ int pc_resetskill(struct map_session_data* sd) for(i=1;i<MAX_SKILL;i++){ if( (skill = pc_checkskill(sd,i)) > 0) { - if(!(skill_get_inf2(i)&0x01) || battle_config.quest_skill_learn) { - if(!sd->status.skill[i].flag && !QUEST_SKILL(i)) + if(skill_get_inf2(i)&0x01) { + if(!sd->status.skill[i].flag) sd->status.skill_point += skill; else if(sd->status.skill[i].flag > 2 && sd->status.skill[i].flag != 13) { sd->status.skill_point += (sd->status.skill[i].flag - 2); |