diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-04-17 17:39:10 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-04-17 17:39:10 +0000 |
commit | 7861b2339ecd483eb36014edad057c2b7b196ba5 (patch) | |
tree | c3d64b2b0f5792f63ccc734da29ca8b2c408dd9f | |
parent | 88974c1a2b1c270e1a835875c4134d26516da271 (diff) | |
download | hercules-7861b2339ecd483eb36014edad057c2b7b196ba5.tar.gz hercules-7861b2339ecd483eb36014edad057c2b7b196ba5.tar.bz2 hercules-7861b2339ecd483eb36014edad057c2b7b196ba5.tar.xz hercules-7861b2339ecd483eb36014edad057c2b7b196ba5.zip |
- 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
-rw-r--r-- | src/map/npc.c | 2 | ||||
-rw-r--r-- | src/map/skill.c | 4 | ||||
-rw-r--r-- | src/map/unit.c | 1 |
3 files changed, 4 insertions, 3 deletions
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 |