From 7861b2339ecd483eb36014edad057c2b7b196ba5 Mon Sep 17 00:00:00 2001 From: skotlex Date: Tue, 17 Apr 2007 17:39:10 +0000 Subject: - The gain exp from resurrection config will now only work when the revived player has yet to reach the last level (since otherwise it can give quite a lot of exp since the last level exp just keeps piling up) - Corrected unit_canmove so you can't move if you are vending. - Corrected npc_click so it won't let you click on hidden npcs. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10281 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/npc.c | 2 +- src/map/skill.c | 4 ++-- src/map/unit.c | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/map/npc.c b/src/map/npc.c index c028a7ca4..8e9182beb 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -1178,7 +1178,7 @@ int npc_click(struct map_session_data *sd,struct npc_data *nd) if ((nd = npc_checknear(sd,&nd->bl)) == NULL) return 1; //Hidden/Disabled npc. - if (nd->class_ < 0 || nd->sc.option&OPTION_INVISIBLE) + if (nd->class_ < 0 || nd->sc.option&(OPTION_INVISIBLE|OPTION_HIDE)) return 1; switch(nd->bl.subtype) { diff --git a/src/map/skill.c b/src/map/skill.c index 08e0f518a..385ef35f9 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3479,11 +3479,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in { int exp = 0,jexp = 0; int lv = dstsd->status.base_level - sd->status.base_level, jlv = dstsd->status.job_level - sd->status.job_level; - if(lv > 0) { + if(lv > 0 && pc_nextbaseexp(dstsd)) { exp = (int)((double)dstsd->status.base_exp * (double)lv * (double)battle_config.resurrection_exp / 1000000.); if (exp < 1) exp = 1; } - if(jlv > 0) { + if(jlv > 0 && pc_nextjobexp(dstsd)) { jexp = (int)((double)dstsd->status.job_exp * (double)lv * (double)battle_config.resurrection_exp / 1000000.); if (jexp < 1) jexp = 1; } diff --git a/src/map/unit.c b/src/map/unit.c index d8be6cc78..1e152b24a 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -706,6 +706,7 @@ int unit_can_move(struct block_list *bl) if (sd && ( pc_issit(sd) || + sd->vender_id || sd->state.blockedmove )) return 0; //Can't move -- cgit v1.2.3-70-g09d2