소스 검색

Added a missing break; in pc_setstat, messing up LUK increasing (see r13460) (bugreport:2697).
Corrected clif_bladestop(), void function returning a value (see r13471) (bugreport:2698).
Fixed npcs with touch area not stopping walk timers (see r6516) (bugreport:2700).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13480 54d463be-8e91-2dee-dedb-b68131a5f0ec

ultramage 16 년 전
부모
커밋
47fad03c47
3개의 변경된 파일6개의 추가작업 그리고 5개의 파일을 삭제
  1. 1 1
      src/map/clif.c
  2. 4 3
      src/map/npc.c
  3. 1 1
      src/map/pc.c

+ 1 - 1
src/map/clif.c

@@ -5961,7 +5961,7 @@ void clif_bladestop(struct block_list *src, int dst_id, int active)
 {
 	unsigned char buf[32];
 
-	nullpo_retr(0, src);
+	nullpo_retv(src);
 
 	WBUFW(buf,0)=0x1d1;
 	WBUFL(buf,2)=src->id;

+ 4 - 3
src/map/npc.c

@@ -761,11 +761,12 @@ int npc_touch_areanpc(struct map_session_data* sd, int m, int x, int y)
 
 			snprintf(name, ARRAYLENGTH(name), "%s::OnTouch", map[m].npc[i]->exname); // It goes here too. exname being the unique identifier. [Lance]
 
-			if( npc_event(sd,name,0)>0 ) {
-				pc_stop_walking(sd,1); //Make it stop walking!
+			if( npc_event(sd,name,0) > 0 )
+			{// failed to run OnTouch event, so just click the npc
 				npc_click(sd,map[m].npc[i]);
 			}
-			//aFree(name);
+
+			pc_stop_walking(sd,1); //Make it stop walking!
 			break;
 		}
 	}

+ 1 - 1
src/map/pc.c

@@ -4611,7 +4611,7 @@ static int pc_setstat(struct map_session_data* sd, int type, int val)
 	case SP_VIT: sd->status.vit = val; break;
 	case SP_INT: sd->status.int_ = val; break;
 	case SP_DEX: sd->status.dex = val; break;
-	case SP_LUK: sd->status.luk = val;
+	case SP_LUK: sd->status.luk = val; break;
 	default:
 		return -1;
 	}