diff --git a/src/map/mob.cpp b/src/map/mob.cpp index 52288912dd..f1c9de98c9 100644 --- a/src/map/mob.cpp +++ b/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(status->mode&(~MD_LOOTER)); + else if (flag&2) // Clone follows the creator, add MD_NORANDOMWALK + status->mode = static_cast(status->mode&MD_NORANDOMWALK); status->hp = status->max_hp; status->sp = status->max_sp; memcpy(&db->vd, &sd->vd, sizeof(struct view_data)); diff --git a/src/map/status.cpp b/src/map/status.cpp index eda439bb77..68b346ec45 100644 --- a/src/map/status.cpp +++ b/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(MD_MASK&~(MD_STATUSIMMUNE|MD_IGNOREMELEE|MD_IGNOREMAGIC|MD_IGNORERANGED|MD_IGNOREMISC|MD_DETECTOR|MD_ANGRY|MD_TARGETWEAK)); + base_status->mode = static_cast(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]