Explorar el Código

Follow up r17094.(bugreport:7173)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17098 54d463be-8e91-2dee-dedb-b68131a5f0ec
rud0lp20 hace 12 años
padre
commit
e73613642c
Se han modificado 1 ficheros con 4 adiciones y 2 borrados
  1. 4 2
      src/map/status.c

+ 4 - 2
src/map/status.c

@@ -5789,7 +5789,7 @@ struct status_data *status_get_status_data(struct block_list *bl)
 		case BL_HOM: return &((TBL_HOM*)bl)->battle_status;
 		case BL_MER: return &((TBL_MER*)bl)->battle_status;
 		case BL_ELEM: return &((TBL_ELEM*)bl)->battle_status;
-		case BL_NPC: return &((TBL_NPC*)bl)->status;
+		case BL_NPC:  return ((mobdb_checkid(((TBL_NPC*)bl)->class_) == 0) ? &((TBL_NPC*)bl)->status : &dummy_status);
 		default:
 			return &dummy_status;
 	}
@@ -5805,7 +5805,7 @@ struct status_data *status_get_base_status(struct block_list *bl)
 		case BL_HOM: return &((TBL_HOM*)bl)->base_status;
 		case BL_MER: return &((TBL_MER*)bl)->base_status;
 		case BL_ELEM: return &((TBL_ELEM*)bl)->base_status;
-		case BL_NPC: return &((TBL_NPC*)bl)->status;
+		case BL_NPC:  return ((mobdb_checkid(((TBL_NPC*)bl)->class_) == 0) ? &((TBL_NPC*)bl)->status : NULL); 
 		default:
 			return NULL;
 	}
@@ -5823,6 +5823,8 @@ defType status_get_def(struct block_list *bl) {
 
 unsigned short status_get_speed(struct block_list *bl)
 {
+	if(bl->type==BL_NPC)//Only BL with speed data but no status_data [Skotlex] 
+		return ((struct npc_data *)bl)->speed; 
 	return status_get_status_data(bl)->speed;
 }