summaryrefslogtreecommitdiff
path: root/src/map/pc.c
diff options
context:
space:
mode:
authorInkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-06-03 15:30:11 +0000
committerInkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-06-03 15:30:11 +0000
commit69f88875ae6da9a4d0f192ecc1812972c58c0400 (patch)
tree888309d649db05b8623682324b2bb0a257babc89 /src/map/pc.c
parentbf45f06c19fde93a3e3699e0ca400909392ce02b (diff)
downloadhercules-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.c14
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) )