Преглед на файлове

- 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://svn.code.sf.net/p/rathena/svn/trunk@10281 54d463be-8e91-2dee-dedb-b68131a5f0ec

skotlex преди 18 години
родител
ревизия
3ef8c87261
променени са 3 файла, в които са добавени 4 реда и са изтрити 3 реда
  1. 1 1
      src/map/npc.c
  2. 2 2
      src/map/skill.c
  3. 1 0
      src/map/unit.c

+ 1 - 1
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) {

+ 2 - 2
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;
 					}

+ 1 - 0
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