浏览代码

* Quick fix for crash when blessing a mob.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/renewal@14943 54d463be-8e91-2dee-dedb-b68131a5f0ec
flaviojs 13 年之前
父节点
当前提交
45a7620f6b
共有 1 个文件被更改,包括 9 次插入6 次删除
  1. 9 6
      src/map/status.c

+ 9 - 6
src/map/status.c

@@ -3021,13 +3021,16 @@ void status_calc_bl_main(struct block_list *bl, enum scb_flag flag)
 		status->matk_min = status_base_matk_min(status);
 		status->matk_max = status_base_matk_max(status);
 
-		// iRO Wiki states as of 2011/02/24:
-		// Status MATK = floor(Base Level/4 + INT + INT/2 + DEX/5 + LUK/3) 
-		status->status_matk = status_get_lv(bl)/4 + status->int_ + status->int_/2 + status->dex/5 + status->luk/3;
-		wmatk = sd->weapon_matk + sd->battle_status.rhw.atk2 + sd->equipment_matk;
+		if( sd )
+		{
+			// iRO Wiki states as of 2011/02/24:
+			// Status MATK = floor(Base Level/4 + INT + INT/2 + DEX/5 + LUK/3) 
+			status->status_matk = status_get_lv(bl)/4 + status->int_ + status->int_/2 + status->dex/5 + status->luk/3;
+			wmatk = sd->weapon_matk + sd->battle_status.rhw.atk2 + sd->equipment_matk;
 
-		if( index >= 0 && sd->inventory_data[index] && sd->inventory_data[index]->type == IT_WEAPON )
-			wlv = sd->inventory_data[index]->wlv;
+			if( index >= 0 && sd->inventory_data[index] && sd->inventory_data[index]->type == IT_WEAPON )
+				wlv = sd->inventory_data[index]->wlv;
+		}
 
 		// Variance = ± 0.1 * Weapon Level * Base Weapon MATK 
 		// Used in a lot of magical attack calculations still.