diff options
author | glighta <glighta@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-12-05 05:12:45 +0000 |
---|---|---|
committer | glighta <glighta@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-12-05 05:12:45 +0000 |
commit | 012bd2da191b99c55d7a4be9cb3685cfd56c3919 (patch) | |
tree | 56c7cd563a6cd0fd1680a79adbcf2b8cb6a8e3f1 /src/map/pc.c | |
parent | 60a426c0742b3e7d8c5b557c7578df6eeeea377b (diff) | |
download | hercules-012bd2da191b99c55d7a4be9cb3685cfd56c3919.tar.gz hercules-012bd2da191b99c55d7a4be9cb3685cfd56c3919.tar.bz2 hercules-012bd2da191b99c55d7a4be9cb3685cfd56c3919.tar.xz hercules-012bd2da191b99c55d7a4be9cb3685cfd56c3919.zip |
- Re-committed r16969/trunk/src/ (tid:74924).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16993 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/pc.c')
-rw-r--r-- | src/map/pc.c | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 59709cdf1..25ef846ae 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -4187,23 +4187,7 @@ int pc_useitem(struct map_session_data *sd,int n) if (nameid != ITEMID_NAUTHIZ && sd->sc.opt1 > 0 && sd->sc.opt1 != OPT1_STONEWAIT && sd->sc.opt1 != OPT1_BURNING) return 0; - if( sd->sc.count){ - if((nameid == ITEMID_NAUTHIZ) && ( //bugreport 6751 - sd->sc.data[SC_FREEZE] || - sd->sc.data[SC_STUN] || - sd->sc.data[SC_DEEPSLEEP] || - sd->sc.data[SC_STONE] || - sd->sc.data[SC_CRYSTALIZE] - ) - ){ - sd->sc.opt1 = 0; //remove option and status to allow skill - status_change_end(&sd->bl,SC_FREEZE,INVALID_TIMER); - status_change_end(&sd->bl,SC_STUN,INVALID_TIMER); - status_change_end(&sd->bl,SC_DEEPSLEEP,INVALID_TIMER); - status_change_end(&sd->bl,SC_STONE,INVALID_TIMER); - status_change_end(&sd->bl,SC_CRYSTALIZE,INVALID_TIMER); - } //let us continue - else if( + if (sd->sc.count && ( sd->sc.data[SC_BERSERK] || sd->sc.data[SC__BLOODYLUST] || (sd->sc.data[SC_GRAVITATION] && sd->sc.data[SC_GRAVITATION]->val3 == BCT_SELF) || sd->sc.data[SC_TRICKDEAD] || @@ -4212,9 +4196,8 @@ int pc_useitem(struct map_session_data *sd,int n) sd->sc.data[SC__MANHOLE] || sd->sc.data[SC_KAGEHUMI] || (sd->sc.data[SC_NOCHAT] && sd->sc.data[SC_NOCHAT]->val1&MANNER_NOITEM) - ) + )) return 0; - } //Prevent mass item usage. [Skotlex] if( DIFF_TICK(sd->canuseitem_tick, tick) > 0 || @@ -6517,14 +6500,18 @@ int pc_dead(struct map_session_data *sd,struct block_list *src) // Clear anything NPC-related when you die and was interacting with one. if (sd->npc_id) { - if (sd->state.using_fake_npc) + if (sd->state.using_fake_npc) { + clif_clearunit_single(sd->npc_id, CLR_OUTSIGHT, sd->fd); sd->state.using_fake_npc = 0; + } if (sd->state.menu_or_input) sd->state.menu_or_input = 0; if (sd->npc_menu) sd->npc_menu = 0; - - npc_event_dequeue(sd); + + sd->npc_id = 0; + if (sd->st && sd->st->state != END) + sd->st->state = END; } npc_script_event(sd,NPCE_DIE); |