Index: Daodan/src/Daodan_Cheater.c
===================================================================
--- Daodan/src/Daodan_Cheater.c	(revision 453)
+++ Daodan/src/Daodan_Cheater.c	(revision 454)
@@ -126,9 +126,10 @@
 		case cheat_shinobi:
 		{
-			Character* player = (Character*)*((char**)(ONgGameState + GSA_player));
+			Character* player = (Character*)*((void**)(ONgGameState + GSA_player));
 			if (player->MaxHealth == 1)
 			{
 				player->Health = cheat_oldhealth;
 				player->MaxHealth = cheat_oldmaxhealth;
+				player->Flags = player->Flags & ~(chr_bossshield | chr_weaponimmune);
 				return 0;
 			}
@@ -139,4 +140,5 @@
 				player->Health = 1;
 				player->MaxHealth = 1;
+				player->Flags = player->Flags | chr_bossshield | chr_weaponimmune;
 				return 1;
 			}
