summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-04-17 17:39:10 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-04-17 17:39:10 +0000
commit7861b2339ecd483eb36014edad057c2b7b196ba5 (patch)
treec3d64b2b0f5792f63ccc734da29ca8b2c408dd9f
parent88974c1a2b1c270e1a835875c4134d26516da271 (diff)
downloadhercules-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.c2
-rw-r--r--src/map/skill.c4
-rw-r--r--src/map/unit.c1
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