Browse Source

Don't set the md->state.copy_master_mode if master_id check fails.

Jittapan Pluemsumran 9 years ago
parent
commit
08e26c9de9
1 changed files with 3 additions and 2 deletions
  1. 3 2
      src/map/script.c

+ 3 - 2
src/map/script.c

@@ -17173,7 +17173,6 @@ BUILDIN_FUNC(setunitdata)
 			case UMOB_DEX: md->status.dex = (unsigned short)value; status_calc_misc(bl, &md->status, md->level); break;
 			case UMOB_LUK: md->status.luk = (unsigned short)value; status_calc_misc(bl, &md->status, md->level); break;
 			case UMOB_SLAVECPYMSTRMD:
-				md->state.copy_master_mode = value > 0 ? 1 : 0;
 				if (value > 0) {
 					if (!md->master_id) {
 						ShowWarning("buildin_setunitdata: Trying to set UMOB_SLAVECPYMSTRMD on mob without master!\n");
@@ -17181,7 +17180,9 @@ BUILDIN_FUNC(setunitdata)
 					}
 					TBL_MOB *md2 = map_id2md(md->master_id);
 					md->status.mode = md2->status.mode;
-				}
+					md->state.copy_master_mode = 1;
+				} else
+					md->state.copy_master_mode = 0;
 				break;
 			case UMOB_DMGIMMUNE: md->ud.immune_attack = (bool)value > 0 ? 1 : 0; break;
 			case UMOB_ATKRANGE: md->status.rhw.range = (unsigned short)value; break;