1006 lines
45 KiB
Plaintext
1006 lines
45 KiB
Plaintext
//:: ds_enf_genasi.nss
|
|
/*
|
|
* Checks that PC Genasis are using an appropriate
|
|
* skin & hair color for their racialtype & set
|
|
* them to an appropriate color if not.
|
|
*
|
|
*/
|
|
|
|
#include "prc_inc_racial"
|
|
|
|
int CheckAirGenasiSkin(object oPC);
|
|
int CheckAirGenasiHair(object oPC);
|
|
void RndAirGenasiSkin(object oPC);
|
|
void RndAirGenasiHair(object oPC);
|
|
int CheckEarthGenasiSkin(object oPC);
|
|
int CheckEarthGenasiHair(object oPC);
|
|
void RndEarthGenasiSkin(object oPC);
|
|
void RndEarthGenasiHair(object oPC);
|
|
int CheckFireGenasiSkin(object oPC);
|
|
int CheckFireGenasiHair(object oPC);
|
|
void RndFireGenasiSkin(object oPC);
|
|
void RndFireGenasiHair(object oPC);
|
|
int CheckWaterGenasiSkin(object oPC);
|
|
int CheckWaterGenasiHair(object oPC);
|
|
void RndWaterGenasiSkin(object oPC);
|
|
void RndWaterGenasiHair(object oPC);
|
|
int CheckMagmaGenasiSkin(object oPC);
|
|
int CheckMagmaGenasiHair(object oPC);
|
|
void RndMagmaGenasiSkin(object oPC);
|
|
void RndMagmaGenasiHair(object oPC);
|
|
int CheckRainGenasiSkin(object oPC);
|
|
int CheckRainGenasiHair(object oPC);
|
|
void RndRainGenasiSkin(object oPC);
|
|
void RndRainGenasiHair(object oPC);
|
|
int CheckSiltGenasiSkin(object oPC);
|
|
int CheckSiltGenasiHair(object oPC);
|
|
void RndSiltGenasiSkin(object oPC);
|
|
void RndSiltGenasiHair(object oPC);
|
|
int CheckSunGenasiSkin(object oPC);
|
|
int CheckSunGenasiHair(object oPC);
|
|
void RndSunGenasiSkin(object oPC);
|
|
void RndSunGenasiHair(object oPC);
|
|
|
|
void main ()
|
|
{
|
|
object oPC = OBJECT_SELF;
|
|
|
|
//:: Check & fix Air Genasi Skin Color Channel
|
|
if ( GetRacialType(oPC) == RACIAL_TYPE_AIR_GEN && CheckAirGenasiSkin(oPC) != TRUE)
|
|
{
|
|
RndAirGenasiSkin(oPC);
|
|
}
|
|
|
|
//:: Check & fix Air Genasi Hair Color Channel
|
|
if ( GetRacialType(oPC) == RACIAL_TYPE_AIR_GEN && CheckAirGenasiHair(oPC) != TRUE)
|
|
{
|
|
RndAirGenasiHair(oPC);
|
|
}
|
|
|
|
//:: Check & fix Earth Genasi Skin Color Channel
|
|
if ( GetRacialType(oPC) == RACIAL_TYPE_EARTH_GEN && CheckEarthGenasiSkin(oPC) != TRUE)
|
|
{
|
|
RndEarthGenasiSkin(oPC);
|
|
}
|
|
|
|
//:: Check & fix Earth Genasi Hair Color Channel
|
|
if ( GetRacialType(oPC) == RACIAL_TYPE_EARTH_GEN && CheckEarthGenasiHair(oPC) != TRUE)
|
|
{
|
|
RndEarthGenasiHair(oPC);
|
|
}
|
|
|
|
//:: Check & fix Fire Genasi Skin Color Channel
|
|
if ( GetRacialType(oPC) == RACIAL_TYPE_FIRE_GEN && CheckFireGenasiSkin(oPC) != TRUE)
|
|
{
|
|
RndFireGenasiSkin(oPC);
|
|
}
|
|
|
|
//:: Check & fix Fire Genasi Hair Color Channel
|
|
if ( GetRacialType(oPC) == RACIAL_TYPE_FIRE_GEN && CheckFireGenasiHair(oPC) != TRUE)
|
|
{
|
|
RndFireGenasiHair(oPC);
|
|
}
|
|
|
|
//:: Check & fix Water Genasi Skin Color Channel
|
|
if ( GetRacialType(oPC) == RACIAL_TYPE_WATER_GEN && CheckWaterGenasiSkin(oPC) != TRUE)
|
|
{
|
|
RndWaterGenasiSkin(oPC);
|
|
}
|
|
|
|
//:: Check & fix Water Genasi Hair Color Channel
|
|
if ( GetRacialType(oPC) == RACIAL_TYPE_WATER_GEN && CheckWaterGenasiHair(oPC) != TRUE)
|
|
{
|
|
RndWaterGenasiHair(oPC);
|
|
}
|
|
|
|
//:: Check & fix Magma Genasi Skin Color Channel
|
|
if ( GetRacialType(oPC) == RACIAL_TYPE_MAGMA_GEN && CheckMagmaGenasiSkin(oPC) != TRUE)
|
|
{
|
|
RndMagmaGenasiSkin(oPC);
|
|
}
|
|
|
|
//:: Check & fix Magma Genasi Hair Color Channel
|
|
if ( GetRacialType(oPC) == RACIAL_TYPE_MAGMA_GEN && CheckMagmaGenasiHair(oPC) != TRUE)
|
|
{
|
|
RndMagmaGenasiHair(oPC);
|
|
}
|
|
|
|
//:: Check & fix Rain Genasi Skin Color Channel
|
|
if ( GetRacialType(oPC) == RACIAL_TYPE_RAIN_GEN && CheckRainGenasiSkin(oPC) != TRUE)
|
|
{
|
|
RndRainGenasiSkin(oPC);
|
|
}
|
|
|
|
//:: Check & fix Rain Genasi Hair Color Channel
|
|
if ( GetRacialType(oPC) == RACIAL_TYPE_RAIN_GEN && CheckRainGenasiHair(oPC) != TRUE)
|
|
{
|
|
RndRainGenasiHair(oPC);
|
|
}
|
|
|
|
//:: Check & fix Silt Genasi Skin Color Channel
|
|
if ( GetRacialType(oPC) == RACIAL_TYPE_SILT_GEN && CheckSiltGenasiSkin(oPC) != TRUE)
|
|
{
|
|
RndSiltGenasiSkin(oPC);
|
|
}
|
|
|
|
//:: Check & fix Silt Genasi Hair Color Channel
|
|
if ( GetRacialType(oPC) == RACIAL_TYPE_SILT_GEN && CheckSiltGenasiHair(oPC) != TRUE)
|
|
{
|
|
RndSiltGenasiHair(oPC);
|
|
}
|
|
|
|
//:: Check & fix Sun Genasi Skin Color Channel
|
|
if ( GetRacialType(oPC) == RACIAL_TYPE_SUN_GEN && CheckSunGenasiSkin(oPC) != TRUE)
|
|
{
|
|
RndSunGenasiSkin(oPC);
|
|
}
|
|
|
|
//:: Check & fix Sun Genasi Hair Color Channel
|
|
if ( GetRacialType(oPC) == RACIAL_TYPE_SUN_GEN && CheckSunGenasiHair(oPC) != TRUE)
|
|
{
|
|
RndSunGenasiHair(oPC);
|
|
}
|
|
|
|
}
|
|
|
|
//:: Checks for valid Air Genasi skin color channel
|
|
int CheckAirGenasiSkin(object oPC)
|
|
{
|
|
//:: Get the skin color channel
|
|
int nSkinColor = GetColor(oPC, COLOR_CHANNEL_SKIN);
|
|
|
|
//:: Check if the skin color channel is within any of the specified ranges
|
|
return (nSkinColor >= 20 && nSkinColor <= 23) ||
|
|
(nSkinColor == 40) ||
|
|
(nSkinColor >= 50 && nSkinColor <= 51) ||
|
|
(nSkinColor >= 132 && nSkinColor <= 133) ||
|
|
(nSkinColor >= 136 && nSkinColor <= 137) ||
|
|
(nSkinColor >= 140 && nSkinColor <= 141) ||
|
|
(nSkinColor >= 148 && nSkinColor <= 149) ||
|
|
(nSkinColor == 164) ||
|
|
(nSkinColor == 166);
|
|
}
|
|
|
|
//:: Checks for valid Air Genasi hair color channel
|
|
int CheckAirGenasiHair(object oPC)
|
|
{
|
|
//:: Get the hair color channel
|
|
int nHairColor = GetColor(oPC, COLOR_CHANNEL_HAIR);
|
|
|
|
//:: Check if the hair color channel is within any of the specified ranges
|
|
return (nHairColor >= 16 && nHairColor <= 35) ||
|
|
(nHairColor == 44) ||
|
|
(nHairColor == 46) ||
|
|
(nHairColor == 54) ||
|
|
(nHairColor == 56) ||
|
|
(nHairColor == 57) ||
|
|
(nHairColor == 70) ||
|
|
(nHairColor >= 77 && nHairColor <= 79) ||
|
|
(nHairColor >= 82 && nHairColor <= 84) ||
|
|
(nHairColor >= 128 && nHairColor <= 150) ||
|
|
(nHairColor >= 163 && nHairColor <= 171);
|
|
}
|
|
|
|
// Function to randomly set oPC's skin color channel for Air Genasi
|
|
void RndAirGenasiSkin(object oPC)
|
|
{
|
|
// Get a random number
|
|
int randomNum = Random(9);
|
|
|
|
// Map the random number to a skin color value
|
|
int randomSkinColor;
|
|
|
|
if (randomNum == 0) randomSkinColor = 20 + Random(4); // Range 20-23
|
|
else if (randomNum == 1) randomSkinColor = 40;
|
|
else if (randomNum == 2) randomSkinColor = 50 + Random(2); // Range 50-51
|
|
else if (randomNum == 3) randomSkinColor = 132 + Random(2); // Range 132-133
|
|
else if (randomNum == 4) randomSkinColor = 136 + Random(2); // Range 136-137
|
|
else if (randomNum == 5) randomSkinColor = 140 + Random(2); // Range 140-141
|
|
else if (randomNum == 6) randomSkinColor = 148 + Random(2); // Range 148-149
|
|
else if (randomNum == 7) randomSkinColor = 164;
|
|
else if (randomNum == 8) randomSkinColor = 166;
|
|
|
|
// Set the random skin color value for oPC
|
|
SetColor(oPC, COLOR_CHANNEL_SKIN, randomSkinColor);
|
|
}
|
|
|
|
// Function to randomly set oPC's hair color channel for Air Genasi
|
|
void RndAirGenasiHair(object oPC)
|
|
{
|
|
// Get a random number
|
|
int randomNum = Random(11);
|
|
|
|
// Map the random number to a hair color value
|
|
int randomHairColor;
|
|
|
|
if (randomNum == 0) randomHairColor = Random(20) + 16; // Range 16-35
|
|
else if (randomNum == 1) randomHairColor = 44; // Single value
|
|
else if (randomNum == 2) randomHairColor = 46; // Single value
|
|
else if (randomNum == 3) randomHairColor = 54; // Single value
|
|
else if (randomNum == 4) randomHairColor = 56; // Single value
|
|
else if (randomNum == 5) randomHairColor = 57; // Single value
|
|
else if (randomNum == 6) randomHairColor = 70; // Single value
|
|
else if (randomNum == 7) randomHairColor = Random(3) + 77; // Range 77-79
|
|
else if (randomNum == 8) randomHairColor = Random(3) + 82; // Range 82-84
|
|
else if (randomNum == 9) randomHairColor = Random(23) + 128; // Range 128-150
|
|
else if (randomNum == 10) randomHairColor = Random(9) + 163; // Range 163-171
|
|
|
|
// Set the random hair color value for oPC
|
|
SetColor(oPC, COLOR_CHANNEL_HAIR, randomHairColor);
|
|
}
|
|
|
|
//:: Checks for valid Earth Genasi skin color channel
|
|
int CheckEarthGenasiSkin(object oPC)
|
|
{
|
|
//:: Get the skin color channel
|
|
int nSkinColor = GetColor(oPC, COLOR_CHANNEL_SKIN);
|
|
|
|
//:: Check if the skin color channel is within any of the specified ranges
|
|
return (nSkinColor >= 3 && nSkinColor <= 7) ||
|
|
(nSkinColor == 11) ||
|
|
(nSkinColor >= 14 && nSkinColor <= 15) ||
|
|
(nSkinColor >= 18 && nSkinColor <= 19) ||
|
|
(nSkinColor >= 21 && nSkinColor <= 23) ||
|
|
(nSkinColor >= 28 && nSkinColor <= 31) ||
|
|
(nSkinColor == 35) ||
|
|
(nSkinColor >= 37 && nSkinColor <= 39) ||
|
|
(nSkinColor >= 42 && nSkinColor <= 43) ||
|
|
(nSkinColor == 57) ||
|
|
(nSkinColor == 60) ||
|
|
(nSkinColor == 63) ||
|
|
(nSkinColor >= 74 && nSkinColor <= 79) ||
|
|
(nSkinColor >= 80 && nSkinColor <= 87) ||
|
|
(nSkinColor >= 103 && nSkinColor <= 127) ||
|
|
(nSkinColor >= 130 && nSkinColor <= 135) ||
|
|
(nSkinColor >= 155 && nSkinColor <= 157) ||
|
|
(nSkinColor >= 167 && nSkinColor <= 174);
|
|
}
|
|
|
|
//:: Checks for valid Earth Genasi hair color channel
|
|
int CheckEarthGenasiHair(object oPC)
|
|
{
|
|
//:: Get the hair color channel
|
|
int nHairColor = GetColor(oPC, COLOR_CHANNEL_HAIR);
|
|
|
|
//:: Check if the hair color channel is within any of the specified ranges
|
|
return (nHairColor >= 0 && nHairColor <= 3) ||
|
|
(nHairColor == 7) ||
|
|
(nHairColor >= 13 && nHairColor <= 15) ||
|
|
(nHairColor == 19) ||
|
|
(nHairColor == 23) ||
|
|
(nHairColor >= 27 && nHairColor <= 31) ||
|
|
(nHairColor == 35) ||
|
|
(nHairColor >= 37 && nHairColor <= 39) ||
|
|
(nHairColor == 41) ||
|
|
(nHairColor == 43) ||
|
|
(nHairColor == 47) ||
|
|
(nHairColor == 49) ||
|
|
(nHairColor == 57) ||
|
|
(nHairColor == 60) ||
|
|
(nHairColor == 63) ||
|
|
(nHairColor >= 69 && nHairColor <= 71) ||
|
|
(nHairColor >= 74 && nHairColor <= 79) ||
|
|
(nHairColor >= 80 && nHairColor <= 86) ||
|
|
(nHairColor >= 96 && nHairColor <= 135) ||
|
|
(nHairColor >= 148 && nHairColor <= 159) ||
|
|
(nHairColor >= 165 && nHairColor <= 174);
|
|
}
|
|
|
|
// Function to randomly set oPC's skin color channel for Earth Genasi
|
|
void RndEarthGenasiSkin(object oPC)
|
|
{
|
|
// Get a random number
|
|
int randomNum = Random(18);
|
|
|
|
// Map the random number to a skin color value
|
|
int randomSkinColor;
|
|
|
|
if (randomNum == 0) randomSkinColor = Random(5) + 3; // Range 3-7
|
|
else if (randomNum == 1) randomSkinColor = 11; // Range 11
|
|
else if (randomNum == 2) randomSkinColor = Random(2) + 14; // Range 14-15
|
|
else if (randomNum == 3) randomSkinColor = Random(2) + 18; // Range 18-19
|
|
else if (randomNum == 4) randomSkinColor = Random(3) + 21; // Range 21-23
|
|
else if (randomNum == 5) randomSkinColor = Random(4) + 28; // Range 28-31
|
|
else if (randomNum == 6) randomSkinColor = 35; // Range 35
|
|
else if (randomNum == 7) randomSkinColor = Random(3) + 37; // Range 37-39
|
|
else if (randomNum == 8) randomSkinColor = Random(2) + 42; // Range 42-43
|
|
else if (randomNum == 9) randomSkinColor = 57; // Range 57
|
|
else if (randomNum == 10) randomSkinColor = 60; // Range 60
|
|
else if (randomNum == 11) randomSkinColor = 63; // Range 63
|
|
else if (randomNum == 12) randomSkinColor = Random(6) + 74; // Range 74-79
|
|
else if (randomNum == 13) randomSkinColor = Random(8) + 80; // Range 80-87
|
|
else if (randomNum == 14) randomSkinColor = Random(25) + 103; // Range 103-127
|
|
else if (randomNum == 15) randomSkinColor = Random(6) + 130; // Range 130-135
|
|
else if (randomNum == 16) randomSkinColor = Random(3) + 155; // Range 155-157
|
|
else if (randomNum == 17) randomSkinColor = Random(8) + 167; // Range 167-174
|
|
|
|
// Set the random skin color value for oPC
|
|
SetColor(oPC, COLOR_CHANNEL_SKIN, randomSkinColor);
|
|
}
|
|
|
|
// Function to randomly set oPC's hair color channel for Earth Genasi
|
|
void RndEarthGenasiHair(object oPC)
|
|
{
|
|
// Get a random number
|
|
int randomNum = Random(99);
|
|
|
|
// Map the random number to a hair color value
|
|
int randomHairColor;
|
|
|
|
if (randomNum >= 0 && randomNum <= 3) randomHairColor = Random(4); // Range 0-3
|
|
else if (randomNum == 4) randomHairColor = 7;
|
|
else if (randomNum >= 5 && randomNum <= 7) randomHairColor = Random(3) + 13; // Range 13-15
|
|
else if (randomNum == 8) randomHairColor = 19;
|
|
else if (randomNum == 9) randomHairColor = 23;
|
|
else if (randomNum >= 10 && randomNum <= 14) randomHairColor = Random(5) + 27; // Range 27-31
|
|
else if (randomNum == 15) randomHairColor = 35;
|
|
else if (randomNum >= 16 && randomNum <= 18) randomHairColor = Random(3) + 37; // Range 37-39
|
|
else if (randomNum == 19) randomHairColor = 41;
|
|
else if (randomNum == 20) randomHairColor = 43;
|
|
else if (randomNum == 21) randomHairColor = 47;
|
|
else if (randomNum == 22) randomHairColor = 49;
|
|
else if (randomNum == 23) randomHairColor = 57;
|
|
else if (randomNum == 24) randomHairColor = 60;
|
|
else if (randomNum == 25) randomHairColor = 63;
|
|
else if (randomNum >= 26 && randomNum <= 28) randomHairColor = Random(3) + 69; // Range 69-71
|
|
else if (randomNum >= 29 && randomNum <= 33) randomHairColor = Random(5) + 74; // Range 74-79
|
|
else if (randomNum >= 34 && randomNum <= 40) randomHairColor = Random(7) + 80; // Range 80-86
|
|
else if (randomNum >= 41 && randomNum <= 79) randomHairColor = Random(39) + 96; // Range 96-134
|
|
else if (randomNum >= 80 && randomNum <= 99) randomHairColor = Random(20) + 148; // Range 148-167
|
|
|
|
// Set the random hair color value for oPC
|
|
SetColor(oPC, COLOR_CHANNEL_HAIR, randomHairColor);
|
|
}
|
|
|
|
//:: Checks for valid Fire Genasi skin color channel
|
|
int CheckFireGenasiSkin(object oPC)
|
|
{
|
|
//:: Get the skin color channel
|
|
int nSkinColor = GetColor(oPC, COLOR_CHANNEL_SKIN);
|
|
|
|
//:: Check if the skin color channel is within any of the specified ranges
|
|
return (nSkinColor >= 4 && nSkinColor <= 7) ||
|
|
(nSkinColor >= 12 && nSkinColor <= 15) ||
|
|
(nSkinColor >= 18 && nSkinColor <= 19) ||
|
|
(nSkinColor >= 22 && nSkinColor <= 23) ||
|
|
(nSkinColor >= 27 && nSkinColor <= 31) ||
|
|
(nSkinColor >= 42 && nSkinColor <= 47) ||
|
|
(nSkinColor == 57) ||
|
|
(nSkinColor == 60) ||
|
|
(nSkinColor == 63) ||
|
|
(nSkinColor >= 64 && nSkinColor <= 67) ||
|
|
(nSkinColor >= 73 && nSkinColor <= 75) ||
|
|
(nSkinColor == 79) ||
|
|
(nSkinColor == 81) ||
|
|
(nSkinColor >= 83 && nSkinColor <= 103) ||
|
|
(nSkinColor >= 112 && nSkinColor <= 119) ||
|
|
(nSkinColor >= 123 && nSkinColor <= 127) ||
|
|
(nSkinColor >= 131 && nSkinColor <= 135) ||
|
|
(nSkinColor >= 156 && nSkinColor <= 162) ||
|
|
(nSkinColor >= 167 && nSkinColor <= 171) ||
|
|
(nSkinColor == 173);
|
|
}
|
|
|
|
//:: Checks for valid Fire Genasi hair color channel
|
|
int CheckFireGenasiHair(object oPC)
|
|
{
|
|
//:: Get the hair color channel
|
|
int nHairColor = GetColor(oPC, COLOR_CHANNEL_HAIR);
|
|
|
|
//:: Check if the hair color channel is within any of the specified ranges
|
|
return (nHairColor >= 1 && nHairColor <= 7) ||
|
|
(nHairColor == 15) ||
|
|
(nHairColor == 23) ||
|
|
(nHairColor == 31) ||
|
|
(nHairColor == 47) ||
|
|
(nHairColor >= 48 && nHairColor <= 49) ||
|
|
(nHairColor >= 51 && nHairColor <= 55) ||
|
|
(nHairColor == 57) ||
|
|
(nHairColor == 60) ||
|
|
(nHairColor == 63) ||
|
|
(nHairColor >= 64 && nHairColor <= 65) ||
|
|
(nHairColor >= 74 && nHairColor <= 75) ||
|
|
(nHairColor == 79) ||
|
|
(nHairColor >= 84 && nHairColor <= 103) ||
|
|
(nHairColor >= 112 && nHairColor <= 115) ||
|
|
(nHairColor >= 118 && nHairColor <= 119) ||
|
|
(nHairColor >= 123 && nHairColor <= 127) ||
|
|
(nHairColor >= 131 && nHairColor <= 135) ||
|
|
(nHairColor >= 155 && nHairColor <= 159) ||
|
|
(nHairColor == 165) ||
|
|
(nHairColor == 167) ||
|
|
(nHairColor == 171) ||
|
|
(nHairColor >= 173 && nHairColor <= 175);
|
|
}
|
|
|
|
// Function to randomly set oPC's skin color channel for Fire Genasi
|
|
void RndFireGenasiSkin(object oPC)
|
|
{
|
|
// Get a random number
|
|
int randomNum = Random(87);
|
|
|
|
// Map the random number to a skin color value
|
|
int randomSkinColor;
|
|
|
|
if (randomNum >= 0 && randomNum <= 3) randomSkinColor = Random(4) + 4; // Range 4-7
|
|
else if (randomNum >= 4 && randomNum <= 7) randomSkinColor = Random(4) + 12; // Range 12-15
|
|
else if (randomNum >= 8 && randomNum <= 9) randomSkinColor = Random(2) + 18; // Range 18-19
|
|
else if (randomNum >= 10 && randomNum <= 11) randomSkinColor = Random(2) + 22; // Range 22-23
|
|
else if (randomNum >= 12 && randomNum <= 16) randomSkinColor = Random(5) + 27; // Range 27-31
|
|
else if (randomNum >= 17 && randomNum <= 22) randomSkinColor = Random(6) + 42; // Range 42-47
|
|
else if (randomNum == 23) randomSkinColor = 57;
|
|
else if (randomNum == 24) randomSkinColor = 60;
|
|
else if (randomNum == 25) randomSkinColor = 63;
|
|
else if (randomNum >= 26 && randomNum <= 29) randomSkinColor = Random(4) + 64; // Range 64-67
|
|
else if (randomNum >= 30 && randomNum <= 32) randomSkinColor = Random(3) + 73; // Range 73-75
|
|
else if (randomNum == 33) randomSkinColor = 79;
|
|
else if (randomNum == 34) randomSkinColor = 81;
|
|
else if (randomNum >= 35 && randomNum <= 55) randomSkinColor = Random(21) + 83; // Range 83-103
|
|
else if (randomNum >= 56 && randomNum <= 63) randomSkinColor = Random(8) + 112; // Range 112-119
|
|
else if (randomNum >= 64 && randomNum <= 68) randomSkinColor = Random(5) + 123; // Range 123-127
|
|
else if (randomNum >= 69 && randomNum <= 73) randomSkinColor = Random(5) + 131; // Range 131-135
|
|
else if (randomNum >= 74 && randomNum <= 80) randomSkinColor = Random(7) + 156; // Range 156-162
|
|
else if (randomNum >= 81 && randomNum <= 85) randomSkinColor = Random(5) + 167; // Range 167-171
|
|
else if (randomNum == 86) randomSkinColor = 173;
|
|
|
|
// Set the random skin color value for oPC
|
|
SetColor(oPC, COLOR_CHANNEL_SKIN, randomSkinColor);
|
|
}
|
|
|
|
// Function to randomly set oPC's hair color channel for Fire Genasi
|
|
void RndFireGenasiHair(object oPC)
|
|
{
|
|
// Get a random number
|
|
int randomNum = Random(73);
|
|
|
|
// Map the random number to a hair color value
|
|
int randomHairColor;
|
|
|
|
if (randomNum >= 0 && randomNum <= 6) randomHairColor = Random(7) + 1; // Range 1-7
|
|
else if (randomNum == 7) randomHairColor = 15;
|
|
else if (randomNum == 8) randomHairColor = 23;
|
|
else if (randomNum == 9) randomHairColor = 31;
|
|
else if (randomNum == 10) randomHairColor = 47;
|
|
else if (randomNum >= 11 && randomNum <= 12) randomHairColor = Random(2) + 48; // Range 48-49
|
|
else if (randomNum >= 13 && randomNum <= 17) randomHairColor = Random(5) + 51; // Range 51-55
|
|
else if (randomNum == 18) randomHairColor = 57;
|
|
else if (randomNum == 19) randomHairColor = 60;
|
|
else if (randomNum == 20) randomHairColor = 63;
|
|
else if (randomNum >= 21 && randomNum <= 22) randomHairColor = Random(2) + 64; // Range 64-65
|
|
else if (randomNum >= 23 && randomNum <= 24) randomHairColor = Random(2) + 74; // Range 74-75
|
|
else if (randomNum == 25) randomHairColor = 79;
|
|
else if (randomNum >= 26 && randomNum <= 45) randomHairColor = Random(20) + 84; // Range 84-103
|
|
else if (randomNum >= 46 && randomNum <= 49) randomHairColor = Random(4) + 112; // Range 112-115
|
|
else if (randomNum >= 50 && randomNum <= 51) randomHairColor = Random(2) + 118; // Range 118-119
|
|
else if (randomNum >= 52 && randomNum <= 56) randomHairColor = Random(5) + 123; // Range 123-127
|
|
else if (randomNum >= 57 && randomNum <= 61) randomHairColor = Random(5) + 131; // Range 131-135
|
|
else if (randomNum >= 62 && randomNum <= 66) randomHairColor = Random(5) + 155; // Range 155-159
|
|
else if (randomNum == 67) randomHairColor = 165;
|
|
else if (randomNum == 68) randomHairColor = 167;
|
|
else if (randomNum == 69) randomHairColor = 171;
|
|
else if (randomNum >= 70 && randomNum <= 72) randomHairColor = Random(3) + 173; // Range 173-175
|
|
|
|
// Set the random hair color value for oPC
|
|
SetColor(oPC, COLOR_CHANNEL_HAIR, randomHairColor);
|
|
}
|
|
|
|
//:: Checks for valid Water Genasi hair color channel
|
|
int CheckWaterGenasiSkin(object oPC)
|
|
{
|
|
//:: Get the hair color channel
|
|
int nSkinColor = GetColor(oPC, COLOR_CHANNEL_SKIN);
|
|
|
|
//:: Check if the Skin color channel is within any of the specified ranges
|
|
return (nSkinColor >= 16 && nSkinColor <= 23) ||
|
|
(nSkinColor >= 28 && nSkinColor <= 31) ||
|
|
(nSkinColor >= 32 && nSkinColor <= 43) ||
|
|
(nSkinColor >= 48 && nSkinColor <= 53) ||
|
|
(nSkinColor == 60) ||
|
|
(nSkinColor >= 69 && nSkinColor <= 86) ||
|
|
(nSkinColor >= 104 && nSkinColor <= 114) ||
|
|
(nSkinColor >= 124 && nSkinColor <= 127) ||
|
|
(nSkinColor >= 132 && nSkinColor <= 143) ||
|
|
(nSkinColor >= 148 && nSkinColor <= 153) ||
|
|
(nSkinColor == 165) ||
|
|
(nSkinColor >= 169 && nSkinColor <= 171);
|
|
}
|
|
|
|
//:: Checks for valid Water Genasi hair color channel
|
|
int CheckWaterGenasiHair(object oPC)
|
|
{
|
|
//:: Get the hair color channel
|
|
int nHairColor = GetColor(oPC, COLOR_CHANNEL_HAIR);
|
|
|
|
//:: Check if the hair color channel is within any of the specified ranges
|
|
return (nHairColor >= 16 && nHairColor <= 47) ||
|
|
(nHairColor >= 67 && nHairColor <= 86) ||
|
|
(nHairColor >= 104 && nHairColor <= 115) ||
|
|
(nHairColor >= 121 && nHairColor <= 127) ||
|
|
(nHairColor >= 132 && nHairColor <= 143) ||
|
|
(nHairColor >= 148 && nHairColor <= 153) ||
|
|
(nHairColor == 165) ||
|
|
(nHairColor == 167) ||
|
|
(nHairColor >= 169 && nHairColor <= 171) ||
|
|
(nHairColor == 173);
|
|
}
|
|
|
|
//:: Function to randomly set oPC's skin color channel for Water Genasi
|
|
void RndWaterGenasiSkin(object oPC)
|
|
{
|
|
// Get a random number
|
|
int randomNum = Random(86);
|
|
|
|
// Map the random number to a skin color value
|
|
int randomSkinColor;
|
|
|
|
if (randomNum >= 0 && randomNum <= 7) randomSkinColor = Random(8) + 16; // Range 16-23
|
|
else if (randomNum >= 8 && randomNum <= 11) randomSkinColor = Random(4) + 28; // Range 28-31
|
|
else if (randomNum >= 12 && randomNum <= 23) randomSkinColor = Random(12) + 32; // Range 32-43
|
|
else if (randomNum >= 24 && randomNum <= 29) randomSkinColor = Random(6) + 48; // Range 48-53
|
|
else if (randomNum == 30) randomSkinColor = 60;
|
|
else if (randomNum >= 31 && randomNum <= 48) randomSkinColor = Random(18) + 69; // Range 69-86
|
|
else if (randomNum >= 49 && randomNum <= 59) randomSkinColor = Random(11) + 104; // Range 104-114
|
|
else if (randomNum >= 60 && randomNum <= 63) randomSkinColor = Random(4) + 124; // Range 124-127
|
|
else if (randomNum >= 64 && randomNum <= 75) randomSkinColor = Random(12) + 132; // Range 132-143
|
|
else if (randomNum >= 76 && randomNum <= 81) randomSkinColor = Random(6) + 148; // Range 148-153
|
|
else if (randomNum == 82) randomSkinColor = 165;
|
|
else if (randomNum >= 83 && randomNum <= 85) randomSkinColor = Random(3) + 169; // Range 169-171
|
|
|
|
// Set the random skin color value for oPC
|
|
SetColor(oPC, COLOR_CHANNEL_SKIN, randomSkinColor);
|
|
}
|
|
|
|
//:: Function to randomly set oPC's hair color channel for Water Genasi
|
|
void RndWaterGenasiHair(object oPC)
|
|
{
|
|
// Get a random number
|
|
int randomNum = Random(95);
|
|
|
|
// Map the random number to a hair color value
|
|
int randomHairColor;
|
|
|
|
if (randomNum >= 0 && randomNum <= 31) randomHairColor = Random(32) + 16; // Range 16-47
|
|
else if (randomNum >= 32 && randomNum <= 51) randomHairColor = Random(20) + 67; // Range 67-86
|
|
else if (randomNum >= 52 && randomNum <= 63) randomHairColor = Random(12) + 104; // Range 104-115
|
|
else if (randomNum >= 64 && randomNum <= 70) randomHairColor = Random(7) + 121; // Range 121-127
|
|
else if (randomNum >= 71 && randomNum <= 82) randomHairColor = Random(12) + 132; // Range 132-143
|
|
else if (randomNum >= 83 && randomNum <= 88) randomHairColor = Random(6) + 148; // Range 148-153
|
|
else if (randomNum == 89) randomHairColor = 165;
|
|
else if (randomNum == 90) randomHairColor = 167;
|
|
else if (randomNum >= 91 && randomNum <= 93) randomHairColor = Random(3) + 169; // Range 169-171
|
|
else if (randomNum == 94) randomHairColor = 173;
|
|
|
|
// Set the random hair color value for oPC
|
|
SetColor(oPC, COLOR_CHANNEL_HAIR, randomHairColor);
|
|
}
|
|
|
|
//:: Checks for valid Magma Genasi skin color channel
|
|
int CheckMagmaGenasiSkin(object oPC)
|
|
{
|
|
//:: Get the skin color channel
|
|
int nSkinColor = GetColor(oPC, COLOR_CHANNEL_SKIN);
|
|
|
|
//:: Check if the skin color channel is within any of the specified ranges
|
|
return (nSkinColor == 7) ||
|
|
(nSkinColor >= 13 && nSkinColor <= 15) ||
|
|
(nSkinColor >= 18 && nSkinColor <= 19) ||
|
|
(nSkinColor >= 28 && nSkinColor <= 31) ||
|
|
(nSkinColor >= 41 && nSkinColor <= 45) ||
|
|
(nSkinColor == 57) ||
|
|
(nSkinColor == 60) ||
|
|
(nSkinColor >= 63 && nSkinColor <= 65) ||
|
|
(nSkinColor >= 87 && nSkinColor <= 91) ||
|
|
(nSkinColor >= 96 && nSkinColor <= 103) ||
|
|
(nSkinColor >= 112 && nSkinColor <= 115) ||
|
|
(nSkinColor >= 118 && nSkinColor <= 119) ||
|
|
(nSkinColor >= 122 && nSkinColor <= 127) ||
|
|
(nSkinColor >= 131 && nSkinColor <= 135) ||
|
|
(nSkinColor >= 158 && nSkinColor <= 159) ||
|
|
(nSkinColor == 165) ||
|
|
(nSkinColor == 167) ||
|
|
(nSkinColor == 171) ||
|
|
(nSkinColor == 173);
|
|
}
|
|
|
|
// Function to check for valid hair color channel for Magma Genasi
|
|
int CheckMagmaGenasiHair(object oPC)
|
|
{
|
|
// Get the hair color channel
|
|
int nHairColor = GetColor(oPC, COLOR_CHANNEL_HAIR);
|
|
|
|
// Check if the hair color channel is within any of the specified ranges
|
|
return (nHairColor >= 3 && nHairColor <= 7) ||
|
|
(nHairColor == 15) ||
|
|
(nHairColor >= 22 && nHairColor <= 23) ||
|
|
(nHairColor == 27) ||
|
|
(nHairColor >= 30 && nHairColor <= 31) ||
|
|
(nHairColor == 47) ||
|
|
(nHairColor == 51) ||
|
|
(nHairColor == 53) ||
|
|
(nHairColor == 55) ||
|
|
(nHairColor == 57) ||
|
|
(nHairColor == 60) ||
|
|
(nHairColor >= 63 && nHairColor <= 65) ||
|
|
(nHairColor >= 74 && nHairColor <= 75) ||
|
|
(nHairColor >= 84 && nHairColor <= 103) ||
|
|
(nHairColor >= 111 && nHairColor <= 115) ||
|
|
(nHairColor == 119) ||
|
|
(nHairColor >= 126 && nHairColor <= 127) ||
|
|
(nHairColor >= 133 && nHairColor <= 135) ||
|
|
(nHairColor >= 158 && nHairColor <= 159) ||
|
|
(nHairColor == 165) ||
|
|
(nHairColor == 167) ||
|
|
(nHairColor == 171) ||
|
|
(nHairColor == 173);
|
|
}
|
|
|
|
// Function to randomly set oPC's skin color channel for Magma Genasi
|
|
void RndMagmaGenasiSkin(object oPC)
|
|
{
|
|
// Get a random number
|
|
int randomNum = Random(58);
|
|
|
|
// Map the random number to a skin color value
|
|
int randomSkinColor;
|
|
|
|
if (randomNum == 0) randomSkinColor = 7;
|
|
else if (randomNum >= 1 && randomNum <= 3) randomSkinColor = Random(3) + 13; // Range 13-15
|
|
else if (randomNum >= 4 && randomNum <= 5) randomSkinColor = Random(2) + 18; // Range 18-19
|
|
else if (randomNum >= 6 && randomNum <= 9) randomSkinColor = Random(4) + 28; // Range 28-31
|
|
else if (randomNum >= 10 && randomNum <= 14) randomSkinColor = Random(5) + 41; // Range 41-45
|
|
else if (randomNum == 15) randomSkinColor = 57;
|
|
else if (randomNum == 16) randomSkinColor = 60;
|
|
else if (randomNum >= 17 && randomNum <= 19) randomSkinColor = Random(3) + 63; // Range 63-65
|
|
else if (randomNum >= 20 && randomNum <= 24) randomSkinColor = Random(5) + 87; // Range 87-91
|
|
else if (randomNum >= 25 && randomNum <= 32) randomSkinColor = Random(8) + 96; // Range 96-103
|
|
else if (randomNum >= 33 && randomNum <= 36) randomSkinColor = Random(4) + 112; // Range 112-115
|
|
else if (randomNum >= 37 && randomNum <= 38) randomSkinColor = Random(2) + 118; // Range 118-119
|
|
else if (randomNum >= 39 && randomNum <= 44) randomSkinColor = Random(6) + 122; // Range 122-127
|
|
else if (randomNum >= 45 && randomNum <= 49) randomSkinColor = Random(5) + 131; // Range 131-135
|
|
else if (randomNum >= 50 && randomNum <= 51) randomSkinColor = Random(2) + 158; // Range 158-159
|
|
else if (randomNum == 52) randomSkinColor = 165;
|
|
else if (randomNum == 53) randomSkinColor = 167;
|
|
else if (randomNum == 54) randomSkinColor = 171;
|
|
else if (randomNum == 55) randomSkinColor = 173;
|
|
|
|
// Set the random skin color value for oPC
|
|
SetColor(oPC, COLOR_CHANNEL_SKIN, randomSkinColor);
|
|
}
|
|
|
|
// Function to randomly set oPC's hair color channel for Magma Genasi
|
|
void RndMagmaGenasiHair(object oPC)
|
|
{
|
|
// Get a random number
|
|
int randomNum = Random(64);
|
|
|
|
// Map the random number to a hair color value
|
|
int randomHairColor;
|
|
|
|
if (randomNum >= 0 && randomNum <= 4) randomHairColor = Random(5) + 3; // Range 3-7
|
|
else if (randomNum == 5) randomHairColor = 15; // Single value
|
|
else if (randomNum >= 6 && randomNum <= 7) randomHairColor = Random(2) + 22; // Range 22-23
|
|
else if (randomNum == 8) randomHairColor = 27; // Single value
|
|
else if (randomNum >= 9 && randomNum <= 10) randomHairColor = Random(2) + 30; // Range 30-31
|
|
else if (randomNum == 11) randomHairColor = 47; // Single value
|
|
else if (randomNum == 12) randomHairColor = 51; // Single value
|
|
else if (randomNum == 13) randomHairColor = 53; // Single value
|
|
else if (randomNum == 14) randomHairColor = 55; // Single value
|
|
else if (randomNum == 15) randomHairColor = 57; // Single value
|
|
else if (randomNum == 16) randomHairColor = 60; // Single value
|
|
else if (randomNum >= 17 && randomNum <= 19) randomHairColor = Random(3) + 63; // Range 63-65
|
|
else if (randomNum >= 20 && randomNum <= 21) randomHairColor = Random(2) + 74; // Range 74-75
|
|
else if (randomNum >= 22 && randomNum <= 46) randomHairColor = Random(20) + 84; // Range 84-103
|
|
else if (randomNum >= 47 && randomNum <= 51) randomHairColor = Random(5) + 111; // Range 111-115
|
|
else if (randomNum == 52) randomHairColor = 119; // Single value
|
|
else if (randomNum >= 53 && randomNum <= 54) randomHairColor = Random(2) + 126; // Range 126-127
|
|
else if (randomNum >= 55 && randomNum <= 57) randomHairColor = Random(3) + 133; // Range 133-135
|
|
else if (randomNum >= 58 && randomNum <= 59) randomHairColor = Random(2) + 158; // Range 158-159
|
|
else if (randomNum == 60) randomHairColor = 165; // Single value
|
|
else if (randomNum == 61) randomHairColor = 167; // Single value
|
|
else if (randomNum == 62) randomHairColor = 171; // Single value
|
|
else if (randomNum == 63) randomHairColor = 173; // Single value
|
|
|
|
// Set the random hair color value for oPC
|
|
SetColor(oPC, COLOR_CHANNEL_HAIR, randomHairColor);
|
|
}
|
|
|
|
//:: Checks for valid Rain Genasi skin color channel
|
|
int CheckRainGenasiSkin(object oPC)
|
|
{
|
|
//:: Get the skin color channel
|
|
int nSkinColor = GetColor(oPC, COLOR_CHANNEL_SKIN);
|
|
|
|
//:: Check if the skin color channel is within any of the specified ranges
|
|
return (nSkinColor >= 16 && nSkinColor <= 23) ||
|
|
(nSkinColor == 28) ||
|
|
(nSkinColor >= 40 && nSkinColor <= 42) ||
|
|
(nSkinColor >= 48 && nSkinColor <= 51) ||
|
|
(nSkinColor >= 76 && nSkinColor <= 79) ||
|
|
(nSkinColor >= 81 && nSkinColor <= 84) ||
|
|
(nSkinColor >= 112 && nSkinColor <= 114) ||
|
|
(nSkinColor >= 121 && nSkinColor <= 126) ||
|
|
(nSkinColor >= 132 && nSkinColor <= 143) ||
|
|
(nSkinColor >= 148 && nSkinColor <= 151) ||
|
|
(nSkinColor == 165) ||
|
|
(nSkinColor >= 167 && nSkinColor <= 169) ||
|
|
(nSkinColor == 171);
|
|
}
|
|
|
|
// Function to check for valid hair color channel for Rain Genasi
|
|
int CheckRainGenasiHair(object oPC)
|
|
{
|
|
// Get the hair color channel
|
|
int nHairColor = GetColor(oPC, COLOR_CHANNEL_HAIR);
|
|
|
|
// Check if the hair color channel is within any of the specified ranges
|
|
return (nHairColor >= 16 && nHairColor <= 35) ||
|
|
(nHairColor >= 69 && nHairColor <= 86) ||
|
|
(nHairColor >= 112 && nHairColor <= 115) ||
|
|
(nHairColor >= 124 && nHairColor <= 127) ||
|
|
(nHairColor >= 132 && nHairColor <= 143) ||
|
|
(nHairColor >= 148 && nHairColor <= 153) ||
|
|
(nHairColor == 165) ||
|
|
(nHairColor >= 167 && nHairColor <= 169) ||
|
|
(nHairColor == 171);
|
|
}
|
|
|
|
// Function to randomly set oPC's skin color channel for Rain Genasi
|
|
void RndRainGenasiSkin(object oPC)
|
|
{
|
|
// Get a random number
|
|
int randomNum = Random(52);
|
|
|
|
// Map the random number to a skin color value
|
|
int randomSkinColor;
|
|
|
|
if (randomNum >= 0 && randomNum <= 7) randomSkinColor = Random(8) + 16; // Range 16-23
|
|
else if (randomNum == 8) randomSkinColor = 28; // Single value
|
|
else if (randomNum >= 9 && randomNum <= 11) randomSkinColor = Random(3) + 40; // Range 40-42
|
|
else if (randomNum >= 12 && randomNum <= 15) randomSkinColor = Random(4) + 48; // Range 48-51
|
|
else if (randomNum >= 16 && randomNum <= 19) randomSkinColor = Random(4) + 76; // Range 76-79
|
|
else if (randomNum >= 20 && randomNum <= 23) randomSkinColor = Random(4) + 81; // Range 81-84
|
|
else if (randomNum >= 24 && randomNum <= 26) randomSkinColor = Random(3) + 112; // Range 112-114
|
|
else if (randomNum >= 27 && randomNum <= 32) randomSkinColor = Random(6) + 121; // Range 121-126
|
|
else if (randomNum >= 33 && randomNum <= 44) randomSkinColor = Random(12) + 132; // Range 132-143
|
|
else if (randomNum >= 45 && randomNum <= 48) randomSkinColor = Random(4) + 148; // Range 148-151
|
|
else if (randomNum == 49) randomSkinColor = 165; // Single value
|
|
else if (randomNum >= 50 && randomNum <= 51) randomSkinColor = Random(3) + 167; // Range 167-169
|
|
else if (randomNum == 52) randomSkinColor = 171; // Single value
|
|
else randomSkinColor = 0; // Default case
|
|
|
|
// Set the random skin color value for oPC
|
|
SetColor(oPC, COLOR_CHANNEL_SKIN, randomSkinColor);
|
|
}
|
|
|
|
// Function to randomly set oPC's hair color channel for Rain Genasi
|
|
void RndRainGenasiHair(object oPC)
|
|
{
|
|
// Get a random number
|
|
int randomNum = Random(68);
|
|
|
|
// Map the random number to a hair color value
|
|
int randomHairColor;
|
|
|
|
if (randomNum >= 0 && randomNum <= 19) randomHairColor = Random(20) + 16; // Range 16-35
|
|
else if (randomNum >= 20 && randomNum <= 37) randomHairColor = Random(18) + 69; // Range 69-86
|
|
else if (randomNum >= 38 && randomNum <= 41) randomHairColor = Random(4) + 112; // Range 112-115
|
|
else if (randomNum >= 42 && randomNum <= 45) randomHairColor = Random(4) + 124; // Range 124-127
|
|
else if (randomNum >= 46 && randomNum <= 57) randomHairColor = Random(12) + 132; // Range 132-143
|
|
else if (randomNum >= 58 && randomNum <= 63) randomHairColor = Random(6) + 148; // Range 148-153
|
|
else if (randomNum == 64) randomHairColor = 165; // Single value
|
|
else if (randomNum >= 65 && randomNum <= 67) randomHairColor = Random(3) + 167; // Range 167-169
|
|
else if (randomNum == 68) randomHairColor = 171; // Single value
|
|
else randomHairColor = 0; // Default case
|
|
|
|
// Set the random hair color value for oPC
|
|
SetColor(oPC, COLOR_CHANNEL_HAIR, randomHairColor);
|
|
}
|
|
|
|
//:: Checks for valid Silt Genasi skin color channel
|
|
int CheckSiltGenasiSkin(object oPC)
|
|
{
|
|
//:: Get the skin color channel
|
|
int nSkinColor = GetColor(oPC, COLOR_CHANNEL_SKIN);
|
|
|
|
//:: Check if the skin color channel is within any of the specified ranges
|
|
return (nSkinColor >= 39 && nSkinColor <= 47) ||
|
|
(nSkinColor == 60) ||
|
|
(nSkinColor >= 66 && nSkinColor <= 67) ||
|
|
(nSkinColor >= 74 && nSkinColor <= 75) ||
|
|
(nSkinColor >= 84 && nSkinColor <= 86) ||
|
|
(nSkinColor >= 92 && nSkinColor <= 95) ||
|
|
(nSkinColor >= 108 && nSkinColor <= 111) ||
|
|
(nSkinColor >= 112 && nSkinColor <= 115) ||
|
|
(nSkinColor >= 120 && nSkinColor <= 127) ||
|
|
(nSkinColor >= 154 && nSkinColor <= 155) ||
|
|
(nSkinColor == 172) ||
|
|
(nSkinColor == 174);
|
|
}
|
|
|
|
// Function to check for valid hair color channel for Silt Genasi
|
|
int CheckSiltGenasiHair(object oPC)
|
|
{
|
|
// Get the hair color channel
|
|
int nHairColor = GetColor(oPC, COLOR_CHANNEL_HAIR);
|
|
|
|
// Check if the hair color channel is within any of the specified ranges
|
|
return (nHairColor >= 7 && nHairColor <= 11) ||
|
|
(nHairColor >= 24 && nHairColor <= 31) ||
|
|
(nHairColor >= 40 && nHairColor <= 43) ||
|
|
(nHairColor >= 54 && nHairColor <= 55) ||
|
|
(nHairColor == 58) ||
|
|
(nHairColor == 60) ||
|
|
(nHairColor >= 66 && nHairColor <= 67) ||
|
|
(nHairColor >= 74 && nHairColor <= 75) ||
|
|
(nHairColor >= 84 && nHairColor <= 86) ||
|
|
(nHairColor >= 92 && nHairColor <= 95) ||
|
|
(nHairColor >= 104 && nHairColor <= 111) ||
|
|
(nHairColor >= 112 && nHairColor <= 115) ||
|
|
(nHairColor >= 120 && nHairColor <= 127) ||
|
|
(nHairColor >= 130 && nHairColor <= 131) ||
|
|
(nHairColor >= 154 && nHairColor <= 157) ||
|
|
(nHairColor == 167) ||
|
|
(nHairColor == 172);
|
|
}
|
|
|
|
// Function to randomly set oPC's skin color channel for Silt Genasi
|
|
void RndSiltGenasiSkin(object oPC)
|
|
{
|
|
// Get a random number
|
|
int randomNum = Random(58);
|
|
|
|
// Map the random number to a skin color value
|
|
int randomSkinColor;
|
|
|
|
if (randomNum >= 0 && randomNum <= 7) randomSkinColor = Random(9) + 39; // Range 39-47
|
|
else if (randomNum == 8) randomSkinColor = 60; // Range 60
|
|
else if (randomNum >= 9 && randomNum <= 10) randomSkinColor = Random(2) + 66; // Range 66-67
|
|
else if (randomNum >= 11 && randomNum <= 12) randomSkinColor = Random(2) + 74; // Range 74-75
|
|
else if (randomNum >= 13 && randomNum <= 15) randomSkinColor = Random(3) + 84; // Range 84-86
|
|
else if (randomNum >= 16 && randomNum <= 19) randomSkinColor = Random(4) + 92; // Range 92-95
|
|
else if (randomNum >= 20 && randomNum <= 23) randomSkinColor = Random(4) + 108; // Range 108-111
|
|
else if (randomNum >= 24 && randomNum <= 29) randomSkinColor = Random(6) + 112; // Range 112-115
|
|
else if (randomNum >= 30 && randomNum <= 41) randomSkinColor = Random(12) + 120; // Range 120-127
|
|
else if (randomNum >= 42 && randomNum <= 55) randomSkinColor = Random(14) + 154; // Range 154-157
|
|
else if (randomNum == 56) randomSkinColor = 172; // Single value
|
|
else if (randomNum == 57) randomSkinColor = 174; // Single value
|
|
|
|
// Set the random skin color value for oPC
|
|
SetColor(oPC, COLOR_CHANNEL_SKIN, randomSkinColor);
|
|
}
|
|
|
|
// Function to randomly set oPC's hair color channel for Silt Genasi
|
|
void RndSiltGenasiHair(object oPC)
|
|
{
|
|
// Get a random number
|
|
int randomNum = Random(80);
|
|
|
|
// Map the random number to a hair color value
|
|
int randomHairColor;
|
|
|
|
if (randomNum >= 0 && randomNum <= 4) randomHairColor = Random(5) + 7; // Range 7-11
|
|
else if (randomNum >= 5 && randomNum <= 18) randomHairColor = Random(8) + 24; // Range 24-31
|
|
else if (randomNum >= 19 && randomNum <= 20) randomHairColor = Random(2) + 40; // Range 40-43
|
|
else if (randomNum >= 21 && randomNum <= 22) randomHairColor = Random(2) + 54; // Range 54-55
|
|
else if (randomNum == 23) randomHairColor = 58; // Single value
|
|
else if (randomNum == 24) randomHairColor = 60; // Single value
|
|
else if (randomNum >= 25 && randomNum <= 26) randomHairColor = Random(2) + 66; // Range 66-67
|
|
else if (randomNum >= 27 && randomNum <= 28) randomHairColor = Random(2) + 74; // Range 74-75
|
|
else if (randomNum >= 29 && randomNum <= 31) randomHairColor = Random(3) + 84; // Range 84-86
|
|
else if (randomNum >= 32 && randomNum <= 35) randomHairColor = Random(4) + 92; // Range 92-95
|
|
else if (randomNum >= 36 && randomNum <= 47) randomHairColor = Random(12) + 104; // Range 104-111
|
|
else if (randomNum >= 48 && randomNum <= 59) randomHairColor = Random(12) + 112; // Range 112-115
|
|
else if (randomNum >= 60 && randomNum <= 71) randomHairColor = Random(12) + 120; // Range 120-127
|
|
else if (randomNum >= 72 && randomNum <= 73) randomHairColor = Random(2) + 130; // Range 130-131
|
|
else if (randomNum >= 74 && randomNum <= 77) randomHairColor = Random(4) + 154; // Range 154-157
|
|
else if (randomNum == 78) randomHairColor = 167; // Single value
|
|
else if (randomNum == 79) randomHairColor = 172; // Single value
|
|
|
|
// Set the random hair color value for oPC
|
|
SetColor(oPC, COLOR_CHANNEL_HAIR, randomHairColor);
|
|
}
|
|
|
|
// Function to check for valid skin color channel for Sun Genasi
|
|
int CheckSunGenasiSkin(object oPC)
|
|
{
|
|
// Get the skin color channel
|
|
int nSkinColor = GetColor(oPC, COLOR_CHANNEL_SKIN);
|
|
|
|
// Check if the skin color channel is within any of the specified ranges
|
|
return (nSkinColor >= 0 && nSkinColor <= 14) ||
|
|
(nSkinColor >= 24 && nSkinColor <= 27) ||
|
|
(nSkinColor >= 54 && nSkinColor <= 55) ||
|
|
(nSkinColor >= 57 && nSkinColor <= 59) ||
|
|
(nSkinColor == 66) ||
|
|
(nSkinColor >= 87 && nSkinColor <= 95) ||
|
|
(nSkinColor >= 116 && nSkinColor <= 117) ||
|
|
(nSkinColor >= 128 && nSkinColor <= 129) ||
|
|
(nSkinColor >= 154 && nSkinColor <= 159) ||
|
|
(nSkinColor == 167) ||
|
|
(nSkinColor == 172) ||
|
|
(nSkinColor == 175);
|
|
}
|
|
|
|
// Function to check for valid hair color channel for Sun Genasi
|
|
int CheckSunGenasiHair(object oPC)
|
|
{
|
|
// Get the hair color channel
|
|
int nHairColor = GetColor(oPC, COLOR_CHANNEL_HAIR);
|
|
|
|
// Check if the hair color channel is within any of the specified ranges
|
|
return (nHairColor >= 8 && nHairColor <= 15) ||
|
|
(nHairColor >= 42 && nHairColor <= 47) ||
|
|
(nHairColor == 56) ||
|
|
(nHairColor == 58) ||
|
|
(nHairColor >= 65 && nHairColor <= 67) ||
|
|
(nHairColor >= 74 && nHairColor <= 75) ||
|
|
(nHairColor >= 84 && nHairColor <= 95) ||
|
|
(nHairColor >= 100 && nHairColor <= 103) ||
|
|
(nHairColor >= 154 && nHairColor <= 163) ||
|
|
(nHairColor == 167) ||
|
|
(nHairColor == 172) ||
|
|
(nHairColor >= 173 && nHairColor <= 175);
|
|
}
|
|
|
|
// Function to randomly set oPC's skin color channel for Sun Genasi
|
|
void RndSunGenasiSkin(object oPC)
|
|
{
|
|
// Get a random number
|
|
int randomNum = Random(43);
|
|
|
|
// Map the random number to a skin color value
|
|
int randomSkinColor;
|
|
|
|
if (randomNum >= 0 && randomNum <= 14) randomSkinColor = Random(15); // Range 0-14
|
|
else if (randomNum >= 15 && randomNum <= 18) randomSkinColor = Random(4) + 24; // Range 24-27
|
|
else if (randomNum >= 19 && randomNum <= 20) randomSkinColor = Random(2) + 54; // Range 54-55
|
|
else if (randomNum >= 21 && randomNum <= 23) randomSkinColor = Random(2) + 57; // Range 57-59
|
|
else if (randomNum == 24) randomSkinColor = 66; // Range 66
|
|
else if (randomNum >= 25 && randomNum <= 32) randomSkinColor = Random(9) + 87; // Range 87-95
|
|
else if (randomNum >= 33 && randomNum <= 34) randomSkinColor = Random(2) + 116; // Range 116-117
|
|
else if (randomNum >= 35 && randomNum <= 36) randomSkinColor = Random(2) + 128; // Range 128-129
|
|
else if (randomNum >= 37 && randomNum <= 40) randomSkinColor = Random(5) + 154; // Range 154-159
|
|
else if (randomNum == 41) randomSkinColor = 167; // Single value
|
|
else if (randomNum == 42) randomSkinColor = 172; // Single value
|
|
else if (randomNum == 43) randomSkinColor = 175; // Single value
|
|
|
|
// Set the random skin color value for oPC
|
|
SetColor(oPC, COLOR_CHANNEL_SKIN, randomSkinColor);
|
|
}
|
|
|
|
// Function to randomly set oPC's hair color channel for Sun Genasi
|
|
void RndSunGenasiHair(object oPC)
|
|
{
|
|
// Get a random number
|
|
int randomNum = Random(73);
|
|
|
|
// Map the random number to a hair color value
|
|
int randomHairColor;
|
|
|
|
if (randomNum >= 0 && randomNum <= 6) randomHairColor = Random(8) + 16; // Range 16-23
|
|
else if (randomNum == 7) randomHairColor = 28; // Single value
|
|
else if (randomNum >= 8 && randomNum <= 10) randomHairColor = Random(3) + 40; // Range 40-42
|
|
else if (randomNum >= 11 && randomNum <= 14) randomHairColor = Random(4) + 48; // Range 48-51
|
|
else if (randomNum >= 15 && randomNum <= 18) randomHairColor = Random(4) + 76; // Range 76-79
|
|
else if (randomNum >= 19 && randomNum <= 21) randomHairColor = Random(4) + 81; // Range 81-84
|
|
else if (randomNum >= 22 && randomNum <= 24) randomHairColor = Random(3) + 112; // Range 112-114
|
|
else if (randomNum >= 25 && randomNum <= 30) randomHairColor = Random(6) + 121; // Range 121-126
|
|
else if (randomNum >= 31 && randomNum <= 42) randomHairColor = Random(12) + 132; // Range 132-143
|
|
else if (randomNum >= 43 && randomNum <= 46) randomHairColor = Random(4) + 148; // Range 148-151
|
|
else if (randomNum == 47) randomHairColor = 165; // Single value
|
|
else if (randomNum >= 48 && randomNum <= 50) randomHairColor = Random(3) + 167; // Range 167-169
|
|
else if (randomNum == 51) randomHairColor = 171; // Single value
|
|
else if (randomNum == 52) randomHairColor = 173; // Single value
|
|
else if (randomNum >= 53 && randomNum <= 61) randomHairColor = Random(9) + 174; // Range 174-182
|
|
else if (randomNum >= 62 && randomNum <= 64) randomHairColor = Random(3) + 187; // Range 187-189
|
|
else if (randomNum == 65) randomHairColor = 194; // Single value
|
|
else if (randomNum == 66) randomHairColor = 195; // Single value
|
|
else if (randomNum >= 67 && randomNum <= 70) randomHairColor = Random(4) + 199; // Range 199-202
|
|
else if (randomNum == 71) randomHairColor = 208; // Single value
|
|
else if (randomNum == 72) randomHairColor = 213; // Single value
|
|
else if (randomNum == 73) randomHairColor = 215; // Single value
|
|
|
|
// Set the random hair color value for oPC
|
|
SetColor(oPC, COLOR_CHANNEL_HAIR, randomHairColor);
|
|
}
|