فهرست منبع

Removed MD_NOCAST and MD_NORANDOMWALK from default clone mode
Added MD_NORANDOMWALK for slaveclone

Atemo 2 سال پیش
والد
کامیت
56d63d7eda
2فایلهای تغییر یافته به همراه3 افزوده شده و 1 حذف شده
  1. 2 0
      src/map/mob.cpp
  2. 1 1
      src/map/status.cpp

+ 2 - 0
src/map/mob.cpp

@@ -4055,6 +4055,8 @@ int mob_clone_spawn(map_session_data *sd, int16 m, int16 x, int16 y, const char
 		status->mode = mode;
 	else if (flag&1) //Friendly Character, remove looting.
 		status->mode = static_cast<enum e_mode>(status->mode&(~MD_LOOTER));
+	else if (flag&2) // Clone follows the creator, add MD_NORANDOMWALK
+		status->mode = static_cast<enum e_mode>(status->mode&MD_NORANDOMWALK);
 	status->hp = status->max_hp;
 	status->sp = status->max_sp;
 	memcpy(&db->vd, &sd->vd, sizeof(struct view_data));

+ 1 - 1
src/map/status.cpp

@@ -3667,7 +3667,7 @@ int status_calc_pc_sub(map_session_data* sd, uint8 opt)
 
 	// !FIXME: Most of these stuff should be calculated once, but how do I fix the memset above to do that? [Skotlex]
 	// Give them all modes except these (useful for clones)
-	base_status->mode = static_cast<e_mode>(MD_MASK&~(MD_STATUSIMMUNE|MD_IGNOREMELEE|MD_IGNOREMAGIC|MD_IGNORERANGED|MD_IGNOREMISC|MD_DETECTOR|MD_ANGRY|MD_TARGETWEAK));
+	base_status->mode = static_cast<e_mode>(MD_MASK&~(MD_STATUSIMMUNE|MD_IGNOREMELEE|MD_IGNOREMAGIC|MD_IGNORERANGED|MD_IGNOREMISC|MD_DETECTOR|MD_ANGRY|MD_TARGETWEAK|MD_NOCAST|MD_NORANDOMWALK));
 
 	base_status->size = (sd->class_&JOBL_BABY) ? SZ_SMALL : (((sd->class_&MAPID_BASEMASK) == MAPID_SUMMONER) ? battle_config.summoner_size : SZ_MEDIUM);
 	if (battle_config.character_size && pc_isriding(sd)) { // [Lupus]