Index: Daodan/src/Daodan_Cheater.c
===================================================================
--- Daodan/src/Daodan_Cheater.c	(revision 452)
+++ Daodan/src/Daodan_Cheater.c	(revision 453)
@@ -2,4 +2,5 @@
 
 #include "Oni.h"
+#include "Oni_Character.h"
 
 #include "Daodan.h"
@@ -7,33 +8,70 @@
 
 oniCheatCode DDr_CheatTable[] = {
-	{ "shapeshifter",   "Change Characters Enabled", "Change Characters Disabled", cheat_shapeshifter  },
-	{ "liveforever",    "Invincibility Enabled",     "Invincibility Disabled",     cheat_liveforever   },
-	{ "touchofdeath",   "Omnipotence Enabled",       "Omnipotence Disabled",       cheat_touchofdeath  },
-	{ "canttouchthis",  "Unstoppable Enabled",       "Unstoppable Disabled",       cheat_canttouchthis },
-	{ "fatloot",        "Fat Loot Received",         NULL,                         cheat_fatloot       },
-	{ "glassworld",     "Glass Furniture Enabled",   "Glass Furniture Disabled",   0x05 },
-	{ "winlevel",       "Instantly Win Level",       NULL,                         0x06 },
-	{ "loselevel",      "Instantly Lose Level",      NULL,                         0x07 },
-	{ "bighead",        "Big Head Enabled",          "Big Head Disabled",          0x08 },
-	{ "minime",         "Mini Mode Enabled",         "Mini Mode Disabled",         0x09 },
-	{ "superammo",      "Super Ammo Mode Enabled",   "Super Ammo Mode Disabled",   0x0a },
-	{ "thedayismine",   "Developer Access Enabled",  "Developer Access Disabled",  cheat_thedayismine  },
-	{ "reservoirdogs",  "Last Man Standing Enabled", "Last Man Standing Disabled", 0x0c },
-	{ "roughjustice",   "Gatling Guns Enabled",      "Gatling Guns Disabled",      0x0d },
-	{ "chenille",       "Daodan Power Enabled",      "Daodan Power Disabled",      0x0e },
-	{ "behemoth",       "Godzilla Mode Enabled",     "Godzilla Mode Disabled",     0x0f },
-	{ "elderrune",      "Regeneration Enabled",      "Regeneration Disabled",      0x10 },
-	{ "moonshadow",     "Phase Cloak Enabled",       "Phase Cloak Disabled",       0x11 },
-	{ "munitionfrenzy", "Weapons Locker Created",    NULL,                         0x12 },
-	{ "fistsoflegend",  "Fists Of Legend Enabled",   "Fists Of Legend Disabled",   0x13 },
-	{ "killmequick",    "Ultra Mode Enabled",        "Ultra Mode Disabled",        0x14 },
-	{ "carousel",       "Slow Motion Enabled",       "Slow Motion Disabled",       0x15 },
-	{ "bigbadboss",     "Boss Shield Enabled",       "Boss Shield Disabled",       cheat_bigbadboss    },
-	{ "bulletproof",    "Force Field Enabled",       "Force Field Disabled",       cheat_bulletproof   },
-	{ "kangaroo",       "Kangaroo Jump Enabled",     "Kangaroo Jump Disabled",     cheat_kangaroo      },
-	{ "marypoppins",    "Jet Pack Mode Enabled",     "Jet Pack Mode Disabled",     cheat_marypoppins   },
-	{ "x",              "Developer Access Enabled",  "Developer Access Disabled",  cheat_x             },
+	{ "shapeshifter",   "Change Characters Enabled",       "Change Characters Disabled", cheat_shapeshifter   },
+	{ "liveforever",    "Invincibility Enabled",           "Invincibility Disabled",     cheat_liveforever    },
+	{ "touchofdeath",   "Omnipotence Enabled",             "Omnipotence Disabled",       cheat_touchofdeath   },
+	{ "canttouchthis",  "Unstoppable Enabled",             "Unstoppable Disabled",       cheat_canttouchthis  },
+	{ "fatloot",        "Fat Loot Received",               NULL,                         cheat_fatloot        },
+	{ "glassworld",     "Glass Furniture Enabled",         "Glass Furniture Disabled",   cheat_glassworld     },
+	{ "winlevel",       "Instantly Win Level",             NULL,                         cheat_winlevel       },
+	{ "loselevel",      "Instantly Lose Level",            NULL,                         cheat_loselevel      },
+	{ "bighead",        "Big Head Enabled",                "Big Head Disabled",          cheat_bighead        },
+	{ "minime",         "Mini Mode Enabled",               "Mini Mode Disabled",         cheat_minime         },
+	{ "superammo",      "Super Ammo Mode Enabled",         "Super Ammo Mode Disabled",   cheat_superammo      },
+	{ "thedayismine",   "Developer Access Enabled",        "Developer Access Disabled",  cheat_thedayismine   },
+	{ "reservoirdogs",  "Last Man Standing Enabled",       "Last Man Standing Disabled", cheat_reservoirdogs  },
+	{ "roughjustice",   "Gatling Guns Enabled",            "Gatling Guns Disabled",      cheat_roughjustice   },
+	{ "chenille",       "Daodan Power Enabled",            "Daodan Power Disabled",      cheat_chenille       },
+	{ "behemoth",       "Godzilla Mode Enabled",           "Godzilla Mode Disabled",     cheat_behemoth       },
+	{ "elderrune",      "Regeneration Enabled",            "Regeneration Disabled",      cheat_elderrune      },
+	{ "moonshadow",     "Phase Cloak Enabled",             "Phase Cloak Disabled",       cheat_moonshadow     },
+	{ "munitionfrenzy", "Weapons Locker Created",          NULL,                         cheat_munitionfrenzy },
+	{ "fistsoflegend",  "Fists Of Legend Enabled",         "Fists Of Legend Disabled",   cheat_fistsoflegend  },
+	{ "killmequick",    "Ultra Mode Enabled",              "Ultra Mode Disabled",        cheat_killmequick    },
+	{ "carousel",       "Slow Motion Enabled",             "Slow Motion Disabled",       cheat_carousel       },
+	{ "bigbadboss",     "Boss Shield Enabled",             "Boss Shield Disabled",       cheat_bigbadboss     },
+	{ "bulletproof",    "Force Field Enabled",             "Force Field Disabled",       cheat_bulletproof    },
+	{ "kangaroo",       "Kangaroo Jump Enabled",           "Kangaroo Jump Disabled",     cheat_kangaroo       },
+	{ "marypoppins",    "Jet Pack Mode Enabled",           "Jet Pack Mode Disabled",     cheat_marypoppins    },
+	{ "buddha",         "Unkillable Enabled",              "Unkillable Disabled",        cheat_buddha         },
+	{ "shinobi",        "Ninja Mode Enabled (good luck!)", "Ninja Mode Disabled",        cheat_shinobi        },
+	{ "x",              "Developer Access Enabled",        "Developer Access Disabled",  cheat_x              },
+	{ "testcheat",      "Testing...",                      "",                           cheat_testcheat      },
 	{0}
 };
+
+// Just copied all these defines from the old daodan, they were originaly from SFeLi's code.
+
+#define GSA_camera        (0x00000080)
+#define GSA_player        (0x000000AC)
+#define GSA_carousel      (0x00000104) /* char */
+#define GSA_slowmotimer   (0x00000108)
+#define GSA_splashscreen  (0x00000118) /* char */
+
+#define CHR_flags         (0x00000004)
+#define CHR_flags2        (0x00000008)
+#define CHR_oncc          (0x0000000C)
+#define CHR_team          (0x00000012) /* short */
+#define CHR_name          (0x00000014) /* char[32] */
+#define CHR_scalemodel    (0x00000034)
+#define CHR_weapon1       (0x00000194)
+#define CHR_weapon2       (0x00000198)
+#define CHR_weapon3       (0x0000019C)
+#define CHR_shield_curr   (0x000001B6) /* short */
+#define CHR_shield        (0x000001B8) /* short */
+#define CHR_phasecloak    (0x000001BA) /* short */
+#define CHR_stats_kills   (0x00001670)
+#define CHR_stats_damage  (0x00001674)
+
+#define ONCC_jet_accel    (0x00000010) /* float */
+#define ONCC_jet_timer    (0x00000016) /* short */
+#define ONCC_height1      (0x00000018) /* float */
+#define ONCC_height2      (0x0000001C) /* float */
+#define ONCC_bodysize_min (0x00000C58) /* float */
+#define ONCC_bodysize_max (0x00000C8C) /* float */
+
+uint16_t cheat_oldshield = 0;
+int32_t cheat_oldhealth = 0;
+int32_t cheat_oldmaxhealth = 0;
 
 uint8_t ONICALL DDrCheater(uint32_t cheat)
@@ -41,4 +79,74 @@
 	switch (cheat)
 	{
+		case cheat_bigbadboss:
+		{
+			char* player = *((char**)(ONgGameState + GSA_player));
+			if (*(unsigned int*)(player + CHR_flags) & chr_bossshield)
+			{
+				*(unsigned int*)(player + CHR_flags) = *(unsigned int*)(player + CHR_flags) & ~chr_bossshield;
+				return 0;
+			}
+			else
+			{
+				*(unsigned int*)(player + CHR_flags) = *(unsigned int*)(player + CHR_flags) | chr_bossshield;
+				return 1;
+			}
+		}
+		case cheat_bulletproof:
+		{
+			char* player = *((char**)(ONgGameState + GSA_player));
+			if (*(unsigned int*)(player + CHR_flags) & chr_weaponimmune)
+			{
+				*(unsigned int*)(player + CHR_flags) = *(unsigned int*)(player + CHR_flags) & ~chr_weaponimmune;
+				*(unsigned short*)(player + CHR_shield) = cheat_oldshield;
+				return 0;
+			}
+			else
+			{
+				*(unsigned int*)(player + CHR_flags) = *(unsigned int*)(player + CHR_flags) | chr_weaponimmune;
+				cheat_oldshield = *(unsigned short*)(player + CHR_shield);
+				*(unsigned short*)(player + CHR_shield) = 100;
+				return 1;
+			}
+		}
+		case cheat_buddha:
+		{
+			char* player = *((char**)(ONgGameState + GSA_player));
+			if (*(unsigned int*)(player + CHR_flags) & chr_unkillable)
+			{
+				*(unsigned int*)(player + CHR_flags) = *(unsigned int*)(player + CHR_flags) & ~chr_unkillable;
+				return 0;
+			}
+			else
+			{
+				*(unsigned int*)(player + CHR_flags) = *(unsigned int*)(player + CHR_flags) | chr_unkillable;
+				return 1;
+			}
+		}
+		case cheat_shinobi:
+		{
+			Character* player = (Character*)*((char**)(ONgGameState + GSA_player));
+			if (player->MaxHealth == 1)
+			{
+				player->Health = cheat_oldhealth;
+				player->MaxHealth = cheat_oldmaxhealth;
+				return 0;
+			}
+			else
+			{
+				cheat_oldhealth = player->Health;
+				cheat_oldmaxhealth = player->MaxHealth;
+				player->Health = 1;
+				player->MaxHealth = 1;
+				return 1;
+			}
+			
+		}
+		case cheat_testcheat:
+		{
+			char* player = *((char**)(ONgGameState + GSA_player));
+			*(unsigned int*)(player + CHR_flags) = *(unsigned int*)(player + CHR_flags) | chr_noncombatant;
+			return 1;
+		}
 		case cheat_x:
 			return ONrCheater(cheat_thedayismine);
Index: Daodan/src/Daodan_Cheater.h
===================================================================
--- Daodan/src/Daodan_Cheater.h	(revision 452)
+++ Daodan/src/Daodan_Cheater.h	(revision 453)
@@ -38,5 +38,8 @@
 		cheat_kangaroo,
 		cheat_marypoppins,
+		cheat_buddha,
+		cheat_shinobi,
 		cheat_x,
+		cheat_testcheat,
 };
 
Index: Daodan/src/Oni_Character.h
===================================================================
--- Daodan/src/Oni_Character.h	(revision 452)
+++ Daodan/src/Oni_Character.h	(revision 453)
@@ -541,4 +541,25 @@
 };
 
+typedef enum {
+	chr_isplayer          = 1 << 0,
+	chr_randomskin        = 1 << 1,
+	chr_notprespawned     = 1 << 2,
+	chr_noncombatant      = 1 << 3,
+	chr_multispawnable    = 1 << 4,
+	chr_unkillable        = 1 << 5,
+	chr_superammo         = 1 << 6,
+	chr_omniscient        = 1 << 8,
+	chr_haslsi            = 1 << 9,
+	chr_boss              = 1 << 10,
+	chr_upgradedifficulty = 1 << 11,
+	chr_noautodrop        = 1 << 12,
+	chr_dontaim           = 1 << 13,
+	chr_nocollision       = 1 << 17,
+	chr_noshadow          = 1 << 24,
+	chr_invincible        = 1 << 25,
+	chr_bossshield        = 1 << 30,
+	chr_weaponimmune      = 1 << 31,
+} chr_flags;
+/*
 enum {
 chr_isplayer			=		0x00000001,	//is player character
@@ -556,4 +577,5 @@
 chr_noautodrop			=		0x00001000,	//uses drop fields instead of has fields on death
 }; //
+*/
 int16_t ONICALL ONrGameState_NewCharacter(CharacterObject* CHAR, void* AISA, void* flag, int* list_location);
 int32_t* ONICALL ONrGetActiveCharacter(void* CharacterPtr);
