Browse Source

Fixes an issue with clones receiving 1 damage (#7670)

* Fixes #7579.
* Adds an extra conditional check for reducing Green Aura type mobs to ignore cloned monsters.
Thanks to @vietlubu and @Lemongrass3110!
Aleos 2 years ago
parent
commit
65200eba50
1 changed files with 2 additions and 1 deletions
  1. 2 1
      src/map/mob.cpp

+ 2 - 1
src/map/mob.cpp

@@ -4047,7 +4047,7 @@ int mob_clone_spawn(map_session_data *sd, int16 m, int16 x, int16 y, const char
 		status->lhw.atk2= status->dex + status->lhw.atk + status->lhw.atk2; //Max ATK
 		status->lhw.atk2= status->dex + status->lhw.atk + status->lhw.atk2; //Max ATK
 		status->lhw.atk = status->dex; //Min ATK
 		status->lhw.atk = status->dex; //Min ATK
 	}
 	}
-	if (mode) //User provided mode.
+	if (mode > MD_NONE) //User provided mode.
 		status->mode = mode;
 		status->mode = mode;
 	else if (flag&1) //Friendly Character, remove looting.
 	else if (flag&1) //Friendly Character, remove looting.
 		status->mode = static_cast<enum e_mode>(status->mode&(~MD_LOOTER));
 		status->mode = static_cast<enum e_mode>(status->mode&(~MD_LOOTER));
@@ -4205,6 +4205,7 @@ int mob_clone_spawn(map_session_data *sd, int16 m, int16 x, int16 y, const char
 	if (!md) return 0; //Failed?
 	if (!md) return 0; //Failed?
 
 
 	md->special_state.clone = 1;
 	md->special_state.clone = 1;
+	md->damagetaken = 100; // Avoid Green Aura reduction calculation.
 
 
 	if (master_id || flag || duration) { //Further manipulate crafted char.
 	if (master_id || flag || duration) { //Further manipulate crafted char.
 		if (flag&1) //Friendly Character
 		if (flag&1) //Friendly Character