diff options
author | Inkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-06-03 15:30:11 +0000 |
---|---|---|
committer | Inkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-06-03 15:30:11 +0000 |
commit | 69f88875ae6da9a4d0f192ecc1812972c58c0400 (patch) | |
tree | 888309d649db05b8623682324b2bb0a257babc89 /src/map/pc.c | |
parent | bf45f06c19fde93a3e3699e0ca400909392ce02b (diff) | |
download | hercules-69f88875ae6da9a4d0f192ecc1812972c58c0400.tar.gz hercules-69f88875ae6da9a4d0f192ecc1812972c58c0400.tar.bz2 hercules-69f88875ae6da9a4d0f192ecc1812972c58c0400.tar.xz hercules-69f88875ae6da9a4d0f192ecc1812972c58c0400.zip |
* Some clean ups on autocast and itemskill code. (see topic:220921 for some info)
- Autocasted Teleport now skips the menu.
- Fixed nullpo info when defensive autocasts are triggered. (follow up to r13815)
- Fixed Warp portal used in item script never worked.
- Item skills now bypass skill delay check.
- Implemented SM_SELFPROVOKE.
- Updated item db using 'itemskill' for some items.
* Basic skills will never be reset.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13841 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/pc.c')
-rw-r--r-- | src/map/pc.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index cbee0b000..0b658b90b 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -3487,10 +3487,7 @@ int pc_useitem(struct map_session_data *sd,int n) //Since most delay-consume items involve using a "skill-type" target cursor, //perform a skill-use check before going through. [Skotlex] //resurrection was picked as testing skill, as a non-offensive, generic skill, it will do. - if (sd->inventory_data[n]->flag.delay_consume && ( - sd->ud.skilltimer != -1 || - DIFF_TICK(tick, sd->ud.canact_tick) < 0 || - !status_check_skilluse(&sd->bl, &sd->bl, ALL_RESURRECTION, 0))) + if( sd->inventory_data[n]->flag.delay_consume && ( sd->ud.skilltimer != -1 || !status_check_skilluse(&sd->bl, &sd->bl, ALL_RESURRECTION, 0) ) ) return 0; sd->itemid = sd->status.inventory[n].nameid; @@ -5147,7 +5144,7 @@ int pc_resetskill(struct map_session_data* sd, int flag) if( inf2&(INF2_WEDDING_SKILL|INF2_SPIRIT_SKILL) ) //Avoid reseting wedding/linker skills. continue; - // Don't reset trick dead if not a novice/baby + // Don't reset trick dead if not a novice/baby if( i == NV_TRICKDEAD && (sd->class_&MAPID_UPPERMASK) != MAPID_NOVICE && (sd->class_&MAPID_UPPERMASK) != MAPID_BABY ) { sd->status.skill[i].lv = 0; @@ -5155,6 +5152,13 @@ int pc_resetskill(struct map_session_data* sd, int flag) continue; } + if( i == NV_BASIC && (sd->class_&MAPID_UPPERMASK) != MAPID_NOVICE && (sd->class_&MAPID_UPPERMASK) != MAPID_BABY ) + { // Official server does not include Basic Skill to be resetted. [Jobbie] + sd->status.skill[i].lv = 9; + sd->status.skill[i].flag = 0; + continue; + } + if( inf2&INF2_QUEST_SKILL && !battle_config.quest_skill_learn ) { //Only handle quest skills in a special way when you can't learn them manually if( battle_config.quest_skill_reset && !(flag&2) ) |