UW2_PRC8/_module/nss/setappearance2.nss
Jaysyn904 5197ad9a4d Initial upload
Initial upload
2023-09-25 20:24:01 -04:00

128 lines
2.9 KiB
Plaintext

//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);
}
}
}