//Note The if statements are to ensure they don't pick //an invisible appearance. void main() { object oPC = GetPCSpeaker(); object oPlayer = oPC; int nAppearanceType = GetAppearanceType(oPC) + 1; //DMs can choose any appearance! if(GetIsDM(oPC)) { SendMessageToPC(oPC, "The previous Index Number = " + IntToString(GetAppearanceType(oPC))); SendMessageToPC(oPC, "The current Index Number = " + IntToString(nAppearanceType)); SetCreatureAppearanceType(oPC, nAppearanceType); } else { if (nAppearanceType == 38) { nAppearanceType = 51; } else if (nAppearanceType == 61) { nAppearanceType = 62; } else if (nAppearanceType == 72) { nAppearanceType = 73; } else if (nAppearanceType == 78) { nAppearanceType = 82; } else if (nAppearanceType == 298) { nAppearanceType = 299; } else if (nAppearanceType == 307) { nAppearanceType = 352; } else if (nAppearanceType == 366) { nAppearanceType = 367; } else if (nAppearanceType == 371) { nAppearanceType = 374; } else if (nAppearanceType == 392) { nAppearanceType = 393; } else if (nAppearanceType == 404) { nAppearanceType = 406; } else if (nAppearanceType == 418) { nAppearanceType = 419; } else if (nAppearanceType == 420) { nAppearanceType = 423; } else if (nAppearanceType == 425) { nAppearanceType = 426; } else if (nAppearanceType == 451) { nAppearanceType = 459; } else if (nAppearanceType == 461) { nAppearanceType = 462; } else if (nAppearanceType == 463) { nAppearanceType = 464; } else if (nAppearanceType == 468) { nAppearanceType = 469; } else if (nAppearanceType == 473) { nAppearanceType = 474; } else if (nAppearanceType >= 481) { nAppearanceType = 1; //Start Over! } SetCreatureAppearanceType(oPC, nAppearanceType); } //Clear the reputation of the PC just in case changing appearace changes faction! if(GetIsPC(oPlayer)) { AssignCommand(oPlayer, ClearAllActions()); //Clear Reputation of PC if (GetStandardFactionReputation(STANDARD_FACTION_COMMONER, oPlayer) <= 10) { SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad SetStandardFactionReputation(STANDARD_FACTION_COMMONER, 80, oPlayer); } if (GetStandardFactionReputation(STANDARD_FACTION_MERCHANT, oPlayer) <= 10) { SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad SetStandardFactionReputation(STANDARD_FACTION_MERCHANT, 80, oPlayer); } if (GetStandardFactionReputation(STANDARD_FACTION_DEFENDER, oPlayer) <= 10) { SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad SetStandardFactionReputation(STANDARD_FACTION_DEFENDER, 80, oPlayer); } } }