Updated scripts to use MyPRCGetRacialType
Updated scripts to use MyPRCGetRacialType. Full compile.
This commit is contained in:
parent
8994c41256
commit
0b86a6485c
@ -11169,7 +11169,7 @@
|
|||||||
},
|
},
|
||||||
"Version": {
|
"Version": {
|
||||||
"type": "dword",
|
"type": "dword",
|
||||||
"value": 86
|
"value": 87
|
||||||
},
|
},
|
||||||
"Width": {
|
"Width": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
|
@ -2913,7 +2913,7 @@
|
|||||||
},
|
},
|
||||||
"Version": {
|
"Version": {
|
||||||
"type": "dword",
|
"type": "dword",
|
||||||
"value": 8
|
"value": 9
|
||||||
},
|
},
|
||||||
"Width": {
|
"Width": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
|
@ -555,7 +555,7 @@
|
|||||||
"Text": {
|
"Text": {
|
||||||
"type": "cexolocstring",
|
"type": "cexolocstring",
|
||||||
"value": {
|
"value": {
|
||||||
"0": "You turn to flee and hear the undead being behind you laughing riotously. Suddenly, you feel a supernatural force hurly you down to the bottom of the pyramid, and you know that you have failed these tests."
|
"0": "You turn to flee and hear the undead being behind you laughing riotously. Suddenly, you feel a supernatural force hurl you down to the bottom of the pyramid, and you know that you have failed these tests."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3462,6 +3462,21 @@
|
|||||||
"type": "int",
|
"type": "int",
|
||||||
"value": 1
|
"value": 1
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Name": {
|
||||||
|
"type": "cexostring",
|
||||||
|
"value": "PRC_PNP_SHIFTER_BONUS"
|
||||||
|
},
|
||||||
|
"Type": {
|
||||||
|
"type": "dword",
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"type": "int",
|
||||||
|
"value": 255
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
Binary file not shown.
BIN
_module/ncs/_inc_battlecry_.ncs
Normal file
BIN
_module/ncs/_inc_battlecry_.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/_inc_livingdead_.ncs
Normal file
BIN
_module/ncs/_inc_livingdead_.ncs
Normal file
Binary file not shown.
Binary file not shown.
BIN
_module/ncs/dmfi_dmw_inc.ncs
Normal file
BIN
_module/ncs/dmfi_dmw_inc.ncs
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
_module/ncs/j_inc_generic_ai.ncs
Normal file
BIN
_module/ncs/j_inc_generic_ai.ncs
Normal file
Binary file not shown.
BIN
_module/ncs/j_inc_seteffects.ncs
Normal file
BIN
_module/ncs/j_inc_seteffects.ncs
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
_module/ncs/ms_name_inc.ncs
Normal file
BIN
_module/ncs/ms_name_inc.ncs
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
_module/ncs/re_trsr_table.ncs
Normal file
BIN
_module/ncs/re_trsr_table.ncs
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -3,6 +3,7 @@
|
|||||||
//Created by: 69MEH69
|
//Created by: 69MEH69
|
||||||
|
|
||||||
#include "nw_i0_generic"
|
#include "nw_i0_generic"
|
||||||
|
#include "prc_inc_racial"
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
@ -16,7 +17,7 @@ void main()
|
|||||||
int nCurrent = GetCurrentHitPoints(oTarget);
|
int nCurrent = GetCurrentHitPoints(oTarget);
|
||||||
int nBase = GetMaxHitPoints(oTarget);
|
int nBase = GetMaxHitPoints(oTarget);
|
||||||
|
|
||||||
if(GetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
if(MyPRCGetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
||||||
{
|
{
|
||||||
if(nCurrent < nBase && !GetIsDead(oTarget))
|
if(nCurrent < nBase && !GetIsDead(oTarget))
|
||||||
{
|
{
|
||||||
@ -28,7 +29,7 @@ void main()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(GetRacialType(oTarget) != RACIAL_TYPE_UNDEAD)
|
else if(MyPRCGetRacialType(oTarget) != RACIAL_TYPE_UNDEAD)
|
||||||
{
|
{
|
||||||
if(nCurrent < nBase && !GetIsDead(oTarget))
|
if(nCurrent < nBase && !GetIsDead(oTarget))
|
||||||
{
|
{
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
///////////////////////////////////
|
///////////////////////////////////
|
||||||
|
|
||||||
#include "NW_I0_GENERIC"
|
#include "NW_I0_GENERIC"
|
||||||
|
#include "prc_inc_racial"
|
||||||
|
|
||||||
const int BattleCryChance = 15;
|
const int BattleCryChance = 15;
|
||||||
const int CombatCryChance = 20;
|
const int CombatCryChance = 20;
|
||||||
@ -83,7 +84,7 @@ void DoBattleCry()
|
|||||||
if (d100()<=BattleCryChance)
|
if (d100()<=BattleCryChance)
|
||||||
{
|
{
|
||||||
if (HasSpoken()) return;
|
if (HasSpoken()) return;
|
||||||
if ((GetRacialType(OBJECT_SELF) == RACIAL_TYPE_UNDEAD)&&(d100()<=CustomUndeadChance))
|
if ((MyPRCGetRacialType(OBJECT_SELF) == RACIAL_TYPE_UNDEAD)&&(d100()<=CustomUndeadChance))
|
||||||
{
|
{
|
||||||
DoUndeadChatter();
|
DoUndeadChatter();
|
||||||
}
|
}
|
||||||
@ -111,7 +112,7 @@ void DoCombatCry()
|
|||||||
if (d100()<=CombatCryChance)
|
if (d100()<=CombatCryChance)
|
||||||
{
|
{
|
||||||
if (HasSpoken()) return;
|
if (HasSpoken()) return;
|
||||||
if ((GetRacialType(OBJECT_SELF) == RACIAL_TYPE_UNDEAD)&&(d100()<=CustomUndeadChance))
|
if ((MyPRCGetRacialType(OBJECT_SELF) == RACIAL_TYPE_UNDEAD)&&(d100()<=CustomUndeadChance))
|
||||||
switch (d6()) //Turned undead :)
|
switch (d6()) //Turned undead :)
|
||||||
{
|
{
|
||||||
case 1 : ActionSpeakString(COLOR_YELLOW+"It Burns! It Burns!",TALKVOLUME_TALK); break;
|
case 1 : ActionSpeakString(COLOR_YELLOW+"It Burns! It Burns!",TALKVOLUME_TALK); break;
|
||||||
@ -137,7 +138,7 @@ void DoCombatCry()
|
|||||||
if (d100()<=CombatCryChance)
|
if (d100()<=CombatCryChance)
|
||||||
{
|
{
|
||||||
if (HasSpoken()) return;
|
if (HasSpoken()) return;
|
||||||
if ((GetRacialType(OBJECT_SELF) == RACIAL_TYPE_UNDEAD)&&(d100()<=CustomUndeadChance))
|
if ((MyPRCGetRacialType(OBJECT_SELF) == RACIAL_TYPE_UNDEAD)&&(d100()<=CustomUndeadChance))
|
||||||
switch (d6())
|
switch (d6())
|
||||||
{
|
{
|
||||||
DoUndeadChatter();
|
DoUndeadChatter();
|
||||||
@ -161,7 +162,7 @@ void DoDeathCry()
|
|||||||
if (d100()<=DeathCryChance)
|
if (d100()<=DeathCryChance)
|
||||||
{
|
{
|
||||||
if (HasSpoken()) return;
|
if (HasSpoken()) return;
|
||||||
if ((GetRacialType(OBJECT_SELF) == RACIAL_TYPE_UNDEAD)&&(d100()<=CustomUndeadChance))
|
if ((MyPRCGetRacialType(OBJECT_SELF) == RACIAL_TYPE_UNDEAD)&&(d100()<=CustomUndeadChance))
|
||||||
switch (d6())
|
switch (d6())
|
||||||
{
|
{
|
||||||
case 1 : ActionSpeakString(COLOR_RED+"Dead by dawn! Dead by dawn!",TALKVOLUME_TALK); break;
|
case 1 : ActionSpeakString(COLOR_RED+"Dead by dawn! Dead by dawn!",TALKVOLUME_TALK); break;
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
#include "prc_inc_racial"
|
||||||
|
|
||||||
const float fUnlifespan = 300.0;
|
const float fUnlifespan = 300.0;
|
||||||
|
|
||||||
string SpawnOf(object oSpawnKiller = OBJECT_INVALID)
|
string SpawnOf(object oSpawnKiller = OBJECT_INVALID)
|
||||||
@ -126,8 +128,8 @@ int UndeadCheck(object oMyKiller)
|
|||||||
int iPassed = 0;
|
int iPassed = 0;
|
||||||
int iSpawnVFX = VFX_FNF_SUMMON_UNDEAD;
|
int iSpawnVFX = VFX_FNF_SUMMON_UNDEAD;
|
||||||
object oMyKiller = GetLastKiller();
|
object oMyKiller = GetLastKiller();
|
||||||
int iRace = GetRacialType(OBJECT_SELF);
|
int iRace = MyPRCGetRacialType(OBJECT_SELF);
|
||||||
int iKillerRace = GetRacialType(oMyKiller);
|
int iKillerRace = MyPRCGetRacialType(oMyKiller);
|
||||||
int iKillerUndeadClass = GetLevelByClass(CLASS_TYPE_UNDEAD, oMyKiller);
|
int iKillerUndeadClass = GetLevelByClass(CLASS_TYPE_UNDEAD, oMyKiller);
|
||||||
object oLeft = GetItemInSlot(INVENTORY_SLOT_LEFTHAND,oMyKiller);
|
object oLeft = GetItemInSlot(INVENTORY_SLOT_LEFTHAND,oMyKiller);
|
||||||
object oRight = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oMyKiller);
|
object oRight = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oMyKiller);
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
#include "prc_inc_racial"
|
||||||
|
|
||||||
|
// void main (){}
|
||||||
// VOICE CONFIGURATION - NEW IN 1.07 and UP
|
// VOICE CONFIGURATION - NEW IN 1.07 and UP
|
||||||
|
|
||||||
// Set this to 0 if you want to DISABLE listening by NPCs for performance reasons.
|
// Set this to 0 if you want to DISABLE listening by NPCs for performance reasons.
|
||||||
@ -672,7 +675,7 @@ void SmokePipe(object oActivator)
|
|||||||
// Set height based on race and gender
|
// Set height based on race and gender
|
||||||
if (GetGender(oActivator) == GENDER_MALE)
|
if (GetGender(oActivator) == GENDER_MALE)
|
||||||
{
|
{
|
||||||
switch (GetRacialType(oActivator))
|
switch (MyPRCGetRacialType(oActivator))
|
||||||
{
|
{
|
||||||
case RACIAL_TYPE_HUMAN:
|
case RACIAL_TYPE_HUMAN:
|
||||||
case RACIAL_TYPE_HALFELF: fHeight = 1.7; fDistance = 0.12; break;
|
case RACIAL_TYPE_HALFELF: fHeight = 1.7; fDistance = 0.12; break;
|
||||||
@ -686,7 +689,7 @@ void SmokePipe(object oActivator)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// FEMALES
|
// FEMALES
|
||||||
switch (GetRacialType(oActivator))
|
switch (MyPRCGetRacialType(oActivator))
|
||||||
{
|
{
|
||||||
case RACIAL_TYPE_HUMAN:
|
case RACIAL_TYPE_HUMAN:
|
||||||
case RACIAL_TYPE_HALFELF: fHeight = 1.6; fDistance = 0.12; break;
|
case RACIAL_TYPE_HALFELF: fHeight = 1.6; fDistance = 0.12; break;
|
||||||
@ -712,7 +715,7 @@ void SmokePipe(object oActivator)
|
|||||||
// puff of smoke above and in front of head
|
// puff of smoke above and in front of head
|
||||||
AssignCommand(oActivator, ActionDoCommand(ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SMOKE_PUFF), lAboveHead)));
|
AssignCommand(oActivator, ActionDoCommand(ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SMOKE_PUFF), lAboveHead)));
|
||||||
// if female, turn head to left
|
// if female, turn head to left
|
||||||
if ((GetGender(oActivator) == GENDER_FEMALE) && (GetRacialType(oActivator) != RACIAL_TYPE_DWARF))
|
if ((GetGender(oActivator) == GENDER_FEMALE) && (MyPRCGetRacialType(oActivator) != RACIAL_TYPE_DWARF))
|
||||||
AssignCommand(oActivator, ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_LEFT, 1.0, 5.0));
|
AssignCommand(oActivator, ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_LEFT, 1.0, 5.0));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1093,7 +1096,7 @@ string dmwand_Inventory(object oEntity)
|
|||||||
|
|
||||||
string dmwand_Race(object oEntity)
|
string dmwand_Race(object oEntity)
|
||||||
{
|
{
|
||||||
switch (GetRacialType(oEntity))
|
switch (MyPRCGetRacialType(oEntity))
|
||||||
{
|
{
|
||||||
case RACIAL_TYPE_ABERRATION: return "Aberration"; break;
|
case RACIAL_TYPE_ABERRATION: return "Aberration"; break;
|
||||||
case RACIAL_TYPE_ALL: return "All"; break;
|
case RACIAL_TYPE_ALL: return "All"; break;
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include "dmfi_string_inc"
|
#include "dmfi_string_inc"
|
||||||
#include "dmfi_plchlishk_i"
|
#include "dmfi_plchlishk_i"
|
||||||
#include "dmfi_db_inc"
|
#include "dmfi_db_inc"
|
||||||
|
#include "prc_inc_racial"
|
||||||
|
|
||||||
const int DMFI_LOG_CONVERSATION = TRUE; // turn on or off logging of conversation text
|
const int DMFI_LOG_CONVERSATION = TRUE; // turn on or off logging of conversation text
|
||||||
|
|
||||||
@ -754,7 +755,7 @@ void SmokePipe(object oActivator)
|
|||||||
// Set height based on race and gender
|
// Set height based on race and gender
|
||||||
if (GetGender(oActivator) == GENDER_MALE)
|
if (GetGender(oActivator) == GENDER_MALE)
|
||||||
{
|
{
|
||||||
switch (GetRacialType(oActivator))
|
switch (MyPRCGetRacialType(oActivator))
|
||||||
{
|
{
|
||||||
case RACIAL_TYPE_HUMAN:
|
case RACIAL_TYPE_HUMAN:
|
||||||
case RACIAL_TYPE_HALFELF: fHeight = 1.7; fDistance = 0.12; break;
|
case RACIAL_TYPE_HALFELF: fHeight = 1.7; fDistance = 0.12; break;
|
||||||
@ -768,7 +769,7 @@ void SmokePipe(object oActivator)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// FEMALES
|
// FEMALES
|
||||||
switch (GetRacialType(oActivator))
|
switch (MyPRCGetRacialType(oActivator))
|
||||||
{
|
{
|
||||||
case RACIAL_TYPE_HUMAN:
|
case RACIAL_TYPE_HUMAN:
|
||||||
case RACIAL_TYPE_HALFELF: fHeight = 1.6; fDistance = 0.12; break;
|
case RACIAL_TYPE_HALFELF: fHeight = 1.6; fDistance = 0.12; break;
|
||||||
@ -794,7 +795,7 @@ void SmokePipe(object oActivator)
|
|||||||
// puff of smoke above and in front of head
|
// puff of smoke above and in front of head
|
||||||
AssignCommand(oActivator, ActionDoCommand(ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SMOKE_PUFF), lAboveHead)));
|
AssignCommand(oActivator, ActionDoCommand(ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SMOKE_PUFF), lAboveHead)));
|
||||||
// if female, turn head to left
|
// if female, turn head to left
|
||||||
if ((GetGender(oActivator) == GENDER_FEMALE) && (GetRacialType(oActivator) != RACIAL_TYPE_DWARF))
|
if ((GetGender(oActivator) == GENDER_FEMALE) && (MyPRCGetRacialType(oActivator) != RACIAL_TYPE_DWARF))
|
||||||
AssignCommand(oActivator, ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_LEFT, 1.0, 5.0));
|
AssignCommand(oActivator, ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_LEFT, 1.0, 5.0));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2571,7 +2572,7 @@ string TranslateCommonToLanguage(int iLang, string sText)
|
|||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
int GetDefaultRacialLanguage(object oPC, int iRename)
|
int GetDefaultRacialLanguage(object oPC, int iRename)
|
||||||
{
|
{
|
||||||
switch (GetRacialType(oPC))
|
switch (MyPRCGetRacialType(oPC))
|
||||||
{
|
{
|
||||||
case RACIAL_TYPE_DWARF: if (iRename) SetLocalString(oPC, "hls_MyLanguageName", "Dwarven");return 4; break;
|
case RACIAL_TYPE_DWARF: if (iRename) SetLocalString(oPC, "hls_MyLanguageName", "Dwarven");return 4; break;
|
||||||
case RACIAL_TYPE_ELF:
|
case RACIAL_TYPE_ELF:
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#include "prc_inc_racial"
|
||||||
//Smoking Function by Jason Robinson
|
//Smoking Function by Jason Robinson
|
||||||
location GetLocationAboveAndInFrontOf(object oPC, float fDist, float fHeight)
|
location GetLocationAboveAndInFrontOf(object oPC, float fDist, float fHeight)
|
||||||
{
|
{
|
||||||
@ -31,7 +32,7 @@ void SmokePipe(object oActivator)
|
|||||||
// Set height based on race and gender
|
// Set height based on race and gender
|
||||||
if (GetGender(oActivator) == GENDER_MALE)
|
if (GetGender(oActivator) == GENDER_MALE)
|
||||||
{
|
{
|
||||||
switch (GetRacialType(oActivator))
|
switch (MyPRCGetRacialType(oActivator))
|
||||||
{
|
{
|
||||||
case RACIAL_TYPE_HUMAN:
|
case RACIAL_TYPE_HUMAN:
|
||||||
case RACIAL_TYPE_HALFELF: fHeight = 1.7; fDistance = 0.12; break;
|
case RACIAL_TYPE_HALFELF: fHeight = 1.7; fDistance = 0.12; break;
|
||||||
@ -45,7 +46,7 @@ void SmokePipe(object oActivator)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// FEMALES
|
// FEMALES
|
||||||
switch (GetRacialType(oActivator))
|
switch (MyPRCGetRacialType(oActivator))
|
||||||
{
|
{
|
||||||
case RACIAL_TYPE_HUMAN:
|
case RACIAL_TYPE_HUMAN:
|
||||||
case RACIAL_TYPE_HALFELF: fHeight = 1.6; fDistance = 0.12; break;
|
case RACIAL_TYPE_HALFELF: fHeight = 1.6; fDistance = 0.12; break;
|
||||||
@ -71,7 +72,7 @@ void SmokePipe(object oActivator)
|
|||||||
// puff of smoke above and in front of head
|
// puff of smoke above and in front of head
|
||||||
AssignCommand(oActivator, ActionDoCommand(ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SMOKE_PUFF), lAboveHead)));
|
AssignCommand(oActivator, ActionDoCommand(ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SMOKE_PUFF), lAboveHead)));
|
||||||
// if female, turn head to left
|
// if female, turn head to left
|
||||||
if ((GetGender(oActivator) == GENDER_FEMALE) && (GetRacialType(oActivator) != RACIAL_TYPE_DWARF))
|
if ((GetGender(oActivator) == GENDER_FEMALE) && (MyPRCGetRacialType(oActivator) != RACIAL_TYPE_DWARF))
|
||||||
AssignCommand(oActivator, ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_LEFT, 1.0, 5.0));
|
AssignCommand(oActivator, ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_LEFT, 1.0, 5.0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,20 @@
|
|||||||
|
#include "prc_inc_racial"
|
||||||
int StartingConditional()
|
int StartingConditional()
|
||||||
{
|
{
|
||||||
int iResult;
|
int iResult;
|
||||||
|
|
||||||
iResult = (GetClassByPosition(1, OBJECT_SELF) == CLASS_TYPE_ARCANE_ARCHER || GetClassByPosition(2, OBJECT_SELF) == CLASS_TYPE_ARCANE_ARCHER || GetClassByPosition(3, OBJECT_SELF) == CLASS_TYPE_ARCANE_ARCHER || GetClassByPosition(3, OBJECT_SELF) == CLASS_TYPE_INVALID) && (GetRacialType(OBJECT_SELF) == RACIAL_TYPE_ELF || GetRacialType(OBJECT_SELF) == RACIAL_TYPE_HALFELF) && (GetBaseAttackBonus(OBJECT_SELF) >= 6) && (GetHasFeat(FEAT_WEAPON_FOCUS_LONGBOW, OBJECT_SELF) || GetHasFeat(FEAT_WEAPON_FOCUS_SHORTBOW, OBJECT_SELF)) && (GetHasFeat(FEAT_POINT_BLANK_SHOT, OBJECT_SELF)) && (GetLevelByClass(CLASS_TYPE_SORCERER, OBJECT_SELF) >= 1 || GetLevelByClass(CLASS_TYPE_WIZARD, OBJECT_SELF) >= 1) && (GetLevelByClass(CLASS_TYPE_ARCANE_ARCHER, OBJECT_SELF) != 40);
|
iResult = (GetClassByPosition(1, OBJECT_SELF) == CLASS_TYPE_ARCANE_ARCHER ||
|
||||||
|
GetClassByPosition(2, OBJECT_SELF) == CLASS_TYPE_ARCANE_ARCHER ||
|
||||||
|
GetClassByPosition(3, OBJECT_SELF) == CLASS_TYPE_ARCANE_ARCHER ||
|
||||||
|
GetClassByPosition(3, OBJECT_SELF) == CLASS_TYPE_INVALID) &&
|
||||||
|
(MyPRCGetRacialType(OBJECT_SELF) == RACIAL_TYPE_ELF ||
|
||||||
|
MyPRCGetRacialType(OBJECT_SELF) == RACIAL_TYPE_HALFELF) &&
|
||||||
|
(GetBaseAttackBonus(OBJECT_SELF) >= 6) &&
|
||||||
|
(GetHasFeat(FEAT_WEAPON_FOCUS_LONGBOW, OBJECT_SELF) ||
|
||||||
|
GetHasFeat(FEAT_WEAPON_FOCUS_SHORTBOW, OBJECT_SELF)) &&
|
||||||
|
(GetHasFeat(FEAT_POINT_BLANK_SHOT, OBJECT_SELF)) &&
|
||||||
|
(GetLevelByClass(CLASS_TYPE_SORCERER, OBJECT_SELF) >= 1 ||
|
||||||
|
GetLevelByClass(CLASS_TYPE_WIZARD, OBJECT_SELF) >= 1) &&
|
||||||
|
(GetLevelByClass(CLASS_TYPE_ARCANE_ARCHER, OBJECT_SELF) != 40);
|
||||||
return iResult;
|
return iResult;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,17 @@
|
|||||||
|
#include "prc_inc_racial"
|
||||||
|
|
||||||
int StartingConditional()
|
int StartingConditional()
|
||||||
{
|
{
|
||||||
int iResult;
|
int iResult;
|
||||||
|
|
||||||
iResult = (GetClassByPosition(1, OBJECT_SELF) == CLASS_TYPE_DWARVENDEFENDER || GetClassByPosition(2, OBJECT_SELF) == CLASS_TYPE_DWARVENDEFENDER || GetClassByPosition(3, OBJECT_SELF) == CLASS_TYPE_DWARVENDEFENDER || GetClassByPosition(3, OBJECT_SELF) == CLASS_TYPE_INVALID) && (GetHasFeat(FEAT_DODGE, OBJECT_SELF)) && (GetHasFeat(FEAT_TOUGHNESS, OBJECT_SELF)) && (GetLevelByClass(CLASS_TYPE_DWARVENDEFENDER, OBJECT_SELF) != 40) && (GetRacialType(OBJECT_SELF) == RACIAL_TYPE_DWARF) && (GetAlignmentLawChaos(OBJECT_SELF) == ALIGNMENT_LAWFUL);
|
iResult = (GetClassByPosition(1, OBJECT_SELF) == CLASS_TYPE_DWARVENDEFENDER ||
|
||||||
|
GetClassByPosition(2, OBJECT_SELF) == CLASS_TYPE_DWARVENDEFENDER ||
|
||||||
|
GetClassByPosition(3, OBJECT_SELF) == CLASS_TYPE_DWARVENDEFENDER ||
|
||||||
|
GetClassByPosition(3, OBJECT_SELF) == CLASS_TYPE_INVALID) &&
|
||||||
|
(GetHasFeat(FEAT_DODGE, OBJECT_SELF)) &&
|
||||||
|
(GetHasFeat(FEAT_TOUGHNESS, OBJECT_SELF)) &&
|
||||||
|
(GetLevelByClass(CLASS_TYPE_DWARVENDEFENDER, OBJECT_SELF) != 40)
|
||||||
|
&& (MyPRCGetRacialType(OBJECT_SELF) == RACIAL_TYPE_DWARF)
|
||||||
|
&& (GetAlignmentLawChaos(OBJECT_SELF) == ALIGNMENT_LAWFUL);
|
||||||
return iResult;
|
return iResult;
|
||||||
}
|
}
|
||||||
|
@ -314,7 +314,7 @@ void main()
|
|||||||
// Min. Amount of Rounds between each breath use. See readme for counter defaults. Def: 3
|
// Min. Amount of Rounds between each breath use. See readme for counter defaults. Def: 3
|
||||||
|
|
||||||
// Default checks for dragon flying automatic turning on of flying.
|
// Default checks for dragon flying automatic turning on of flying.
|
||||||
if(GetLevelByClass(CLASS_TYPE_DRAGON) || GetRacialType(OBJECT_SELF) == RACIAL_TYPE_DRAGON)
|
if(GetLevelByClass(CLASS_TYPE_DRAGON) || MyPRCGetRacialType(OBJECT_SELF) == RACIAL_TYPE_DRAGON)
|
||||||
{
|
{
|
||||||
SetSpawnInCondition(AI_FLAG_COMBAT_FLYING, AI_COMBAT_MASTER);
|
SetSpawnInCondition(AI_FLAG_COMBAT_FLYING, AI_COMBAT_MASTER);
|
||||||
// This turns ON combat flying. I think anything winged looks A-OK. See readme for info.
|
// This turns ON combat flying. I think anything winged looks A-OK. See readme for info.
|
||||||
|
@ -1729,7 +1729,7 @@ int AI_EquipAndAttack()
|
|||||||
// Monk levels
|
// Monk levels
|
||||||
nMonkLevels = GetLevelByClass(CLASS_TYPE_MONK);
|
nMonkLevels = GetLevelByClass(CLASS_TYPE_MONK);
|
||||||
if(!nMonkLevels) nMonkLevels = 1;
|
if(!nMonkLevels) nMonkLevels = 1;
|
||||||
nTargetCreatureRace = GetRacialType(GlobalMeleeTarget);//done later.
|
nTargetCreatureRace = MyPRCGetRacialType(GlobalMeleeTarget);//done later.
|
||||||
nTargetAlignment = GetAlignmentGoodEvil(GlobalMeleeTarget);
|
nTargetAlignment = GetAlignmentGoodEvil(GlobalMeleeTarget);
|
||||||
// Now, monk, can it be done...
|
// Now, monk, can it be done...
|
||||||
if((!GetIsObjectValid(oEquipped) ||
|
if((!GetIsObjectValid(oEquipped) ||
|
||||||
@ -2637,7 +2637,7 @@ int AI_AttemptGrenadeThrowing(object oTarget)
|
|||||||
// We have a valid item grenade. We then throw it (or attempt to!)
|
// We have a valid item grenade. We then throw it (or attempt to!)
|
||||||
// - Check holy grenade not firing Versus non-undead
|
// - Check holy grenade not firing Versus non-undead
|
||||||
if(ItemHostRanged == SPELL_GRENADE_HOLY &&
|
if(ItemHostRanged == SPELL_GRENADE_HOLY &&
|
||||||
GetRacialType(oTarget) != RACIAL_TYPE_UNDEAD)
|
MyPRCGetRacialType(oTarget) != RACIAL_TYPE_UNDEAD)
|
||||||
{
|
{
|
||||||
// Stop as they are not undead
|
// Stop as they are not undead
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -4487,7 +4487,7 @@ int AI_AttemptHealingSelf()
|
|||||||
|
|
||||||
// Determine what we should heal at...
|
// Determine what we should heal at...
|
||||||
int nPercent = GetBoundriedAIInteger(AI_HEALING_US_PERCENT, 50, 100, 1);
|
int nPercent = GetBoundriedAIInteger(AI_HEALING_US_PERCENT, 50, 100, 1);
|
||||||
int nRace = GetRacialType(OBJECT_SELF);
|
int nRace = MyPRCGetRacialType(OBJECT_SELF);
|
||||||
|
|
||||||
// What % are we at? It is GlobalOurPercentHP
|
// What % are we at? It is GlobalOurPercentHP
|
||||||
// Are we under the right %?
|
// Are we under the right %?
|
||||||
@ -4654,7 +4654,7 @@ int AI_AttemptCureCondition()
|
|||||||
while(GetIsObjectValid(oHeal) && GetDistanceToObject(oHeal) <= 20.0)
|
while(GetIsObjectValid(oHeal) && GetDistanceToObject(oHeal) <= 20.0)
|
||||||
{
|
{
|
||||||
// Don't target undead
|
// Don't target undead
|
||||||
if(GetRacialType(oHeal) != RACIAL_TYPE_UNDEAD)
|
if(MyPRCGetRacialType(oHeal) != RACIAL_TYPE_UNDEAD)
|
||||||
{
|
{
|
||||||
// Go through possible effects in priority order.
|
// Go through possible effects in priority order.
|
||||||
nEffectHex = GetLocalInt(oHeal, AI_EFFECT_HEX);
|
nEffectHex = GetLocalInt(oHeal, AI_EFFECT_HEX);
|
||||||
@ -4985,7 +4985,7 @@ int AI_AttemptHealingAlly()
|
|||||||
oLoopTarget = GetLocalObject(OBJECT_SELF, ARRAY_ALLIES_RANGE_SEEN + IntToString(nCnt));
|
oLoopTarget = GetLocalObject(OBJECT_SELF, ARRAY_ALLIES_RANGE_SEEN + IntToString(nCnt));
|
||||||
while(GetIsObjectValid(oLoopTarget))
|
while(GetIsObjectValid(oLoopTarget))
|
||||||
{
|
{
|
||||||
if(GetRacialType(oLoopTarget) != RACIAL_TYPE_CONSTRUCT &&
|
if(MyPRCGetRacialType(oLoopTarget) != RACIAL_TYPE_CONSTRUCT &&
|
||||||
(GetAssociateType(oLoopTarget) == ASSOCIATE_TYPE_NONE || bSummonHeal == TRUE))
|
(GetAssociateType(oLoopTarget) == ASSOCIATE_TYPE_NONE || bSummonHeal == TRUE))
|
||||||
{
|
{
|
||||||
// We do actually not ALWAYS use the nearest dead person, nor
|
// We do actually not ALWAYS use the nearest dead person, nor
|
||||||
@ -5013,7 +5013,7 @@ int AI_AttemptHealingAlly()
|
|||||||
// Did we find someone to heal?
|
// Did we find someone to heal?
|
||||||
if(nChosenPercentHitPoints > 0)
|
if(nChosenPercentHitPoints > 0)
|
||||||
{
|
{
|
||||||
int nAllyHealRace = GetRacialType(oAllyToHeal);
|
int nAllyHealRace = MyPRCGetRacialType(oAllyToHeal);
|
||||||
// Undead - negative energy heals!
|
// Undead - negative energy heals!
|
||||||
if(nAllyHealRace == RACIAL_TYPE_UNDEAD)
|
if(nAllyHealRace == RACIAL_TYPE_UNDEAD)
|
||||||
{
|
{
|
||||||
@ -5817,7 +5817,7 @@ int AI_AttemptFeatTurning()
|
|||||||
if(!GetIsFriend(oTarget))
|
if(!GetIsFriend(oTarget))
|
||||||
{
|
{
|
||||||
nHD = GetHitDice(oTarget) + GetTurnResistanceHD(oTarget);
|
nHD = GetHitDice(oTarget) + GetTurnResistanceHD(oTarget);
|
||||||
nRacial = GetRacialType(oTarget);
|
nRacial = MyPRCGetRacialType(oTarget);
|
||||||
// Planar creatures add spell resistance (don't bother if can't turn them)
|
// Planar creatures add spell resistance (don't bother if can't turn them)
|
||||||
if(nRacial == RACIAL_TYPE_OUTSIDER && bOutsider)
|
if(nRacial == RACIAL_TYPE_OUTSIDER && bOutsider)
|
||||||
{
|
{
|
||||||
@ -7386,7 +7386,7 @@ H [Crumble] - Constructs only.
|
|||||||
{
|
{
|
||||||
// If we are undead, we make sure we leave at least 1 for our own healing.
|
// If we are undead, we make sure we leave at least 1 for our own healing.
|
||||||
if(GlobalNormalSpellsNoEffectLevel < 6 &&
|
if(GlobalNormalSpellsNoEffectLevel < 6 &&
|
||||||
(GetRacialType(OBJECT_SELF) != RACIAL_TYPE_UNDEAD ||
|
(MyPRCGetRacialType(OBJECT_SELF) != RACIAL_TYPE_UNDEAD ||
|
||||||
GetHasSpell(SPELL_HARM) >= 2))
|
GetHasSpell(SPELL_HARM) >= 2))
|
||||||
{
|
{
|
||||||
// Harm
|
// Harm
|
||||||
@ -10077,12 +10077,12 @@ H X [Aura of Glory] - +4 Char, and allies get +4 VS Fear effects.
|
|||||||
{
|
{
|
||||||
// This is natural AC, and only for undead. Cast it on ourselves, or
|
// This is natural AC, and only for undead. Cast it on ourselves, or
|
||||||
// our summoned undead monster.
|
// our summoned undead monster.
|
||||||
if(GetRacialType(OBJECT_SELF) == RACIAL_TYPE_UNDEAD)
|
if(MyPRCGetRacialType(OBJECT_SELF) == RACIAL_TYPE_UNDEAD)
|
||||||
{
|
{
|
||||||
// Stone bones - cast if we do not have a natural armor AC spell.
|
// Stone bones - cast if we do not have a natural armor AC spell.
|
||||||
if(AI_ActionCastSpell(SPELL_STONE_BONES, OBJECT_SELF, 12, FALSE)) return TRUE;
|
if(AI_ActionCastSpell(SPELL_STONE_BONES, OBJECT_SELF, 12, FALSE)) return TRUE;
|
||||||
}
|
}
|
||||||
else if(GetRacialType(GlobalBuffAlly) == RACIAL_TYPE_UNDEAD)
|
else if(MyPRCGetRacialType(GlobalBuffAlly) == RACIAL_TYPE_UNDEAD)
|
||||||
{
|
{
|
||||||
// Stone bones - cast if we do not have a natural armor AC spell.
|
// Stone bones - cast if we do not have a natural armor AC spell.
|
||||||
if(AI_ActionCastSpell(SPELL_STONE_BONES, GlobalBuffAlly, 12, FALSE)) return TRUE;
|
if(AI_ActionCastSpell(SPELL_STONE_BONES, GlobalBuffAlly, 12, FALSE)) return TRUE;
|
||||||
@ -13712,7 +13712,7 @@ int AI_SetUpAllObjects(object oInputBackup)
|
|||||||
GlobalSpellTargetCurrentHitPoints = GetCurrentHitPoints(GlobalSpellTarget);
|
GlobalSpellTargetCurrentHitPoints = GetCurrentHitPoints(GlobalSpellTarget);
|
||||||
// This is one of the most important.
|
// This is one of the most important.
|
||||||
GlobalSeenSpell = GetObjectSeen(GlobalSpellTarget);
|
GlobalSeenSpell = GetObjectSeen(GlobalSpellTarget);
|
||||||
GlobalSpellTargetRace = GetRacialType(GlobalSpellTarget);
|
GlobalSpellTargetRace = MyPRCGetRacialType(GlobalSpellTarget);
|
||||||
// Range
|
// Range
|
||||||
GlobalSpellTargetRange = GetDistanceToObject(GlobalSpellTarget);
|
GlobalSpellTargetRange = GetDistanceToObject(GlobalSpellTarget);
|
||||||
|
|
||||||
@ -13879,7 +13879,7 @@ int AI_AttemptHostileSkills()
|
|||||||
GetSpawnInCondition(AI_FLAG_OTHER_COMBAT_FORCE_EMPATHY, AI_OTHER_COMBAT_MASTER))
|
GetSpawnInCondition(AI_FLAG_OTHER_COMBAT_FORCE_EMPATHY, AI_OTHER_COMBAT_MASTER))
|
||||||
{
|
{
|
||||||
iEmpathyDC = 20;
|
iEmpathyDC = 20;
|
||||||
iRace = GetRacialType(GlobalMeleeTarget);
|
iRace = MyPRCGetRacialType(GlobalMeleeTarget);
|
||||||
// we add 4 (to make DC 24 + HD) if a special animal. R_T_ANIMAL is DC 20
|
// we add 4 (to make DC 24 + HD) if a special animal. R_T_ANIMAL is DC 20
|
||||||
if(iRace == RACIAL_TYPE_BEAST || iRace == RACIAL_TYPE_MAGICAL_BEAST)
|
if(iRace == RACIAL_TYPE_BEAST || iRace == RACIAL_TYPE_MAGICAL_BEAST)
|
||||||
{
|
{
|
||||||
@ -14034,7 +14034,7 @@ int AI_AttemptFeatCombatHostile()
|
|||||||
if(!GetItemHasItemProperty(oPrimaryWeapon, ITEM_PROPERTY_ON_HIT_PROPERTIES))
|
if(!GetItemHasItemProperty(oPrimaryWeapon, ITEM_PROPERTY_ON_HIT_PROPERTIES))
|
||||||
{
|
{
|
||||||
// Bless weapon
|
// Bless weapon
|
||||||
if(GetRacialType(GlobalMeleeTarget) == RACIAL_TYPE_UNDEAD)
|
if(MyPRCGetRacialType(GlobalMeleeTarget) == RACIAL_TYPE_UNDEAD)
|
||||||
{
|
{
|
||||||
// Bless weapon. Level 1 (Paladin). +1 Attack Bonus, +2d6 Damage to melee weapon VS undead
|
// Bless weapon. Level 1 (Paladin). +1 Attack Bonus, +2d6 Damage to melee weapon VS undead
|
||||||
if(AI_ActionCastSpell(SPELL_BLESS_WEAPON, oPrimaryWeapon, 11, FALSE)) return TRUE;
|
if(AI_ActionCastSpell(SPELL_BLESS_WEAPON, oPrimaryWeapon, 11, FALSE)) return TRUE;
|
||||||
|
@ -28,6 +28,9 @@
|
|||||||
///////////////////////// [Include - Set Effects] ////////////////////////////*/
|
///////////////////////// [Include - Set Effects] ////////////////////////////*/
|
||||||
|
|
||||||
#include "J_INC_CONSTANTS"
|
#include "J_INC_CONSTANTS"
|
||||||
|
#include "prc_inc_racial"
|
||||||
|
|
||||||
|
//void main (){}
|
||||||
|
|
||||||
// List (use Global to not conflict with the nwscript.nss!)
|
// List (use Global to not conflict with the nwscript.nss!)
|
||||||
const int GlobalEffectUncommandable = 0x00000001;// Stun. Sleep. Fear. Turning. Paralsis. Petrify.
|
const int GlobalEffectUncommandable = 0x00000001;// Stun. Sleep. Fear. Turning. Paralsis. Petrify.
|
||||||
@ -458,7 +461,7 @@ void AI_SetEffectsOnTarget(object oTarget = OBJECT_SELF)
|
|||||||
eCheck = GetNextEffect(oTarget);
|
eCheck = GetNextEffect(oTarget);
|
||||||
}
|
}
|
||||||
// If undead, set some immunities by default
|
// If undead, set some immunities by default
|
||||||
if(GetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
if(MyPRCGetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
||||||
{
|
{
|
||||||
AI_SetWeHaveSpellsEffect(GlobalHasDeathWardSpell);
|
AI_SetWeHaveSpellsEffect(GlobalHasDeathWardSpell);
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
|
|
||||||
// All constants.
|
// All constants.
|
||||||
#include "J_INC_SETWEAPONS"
|
#include "J_INC_SETWEAPONS"
|
||||||
|
#include "prc_inc_racial"
|
||||||
// Set weapons
|
// Set weapons
|
||||||
// - Constants file is in this
|
// - Constants file is in this
|
||||||
|
|
||||||
@ -654,7 +655,7 @@ void AI_SetTurningLevel()
|
|||||||
void AI_SetMaybeFearless()
|
void AI_SetMaybeFearless()
|
||||||
{
|
{
|
||||||
// Cirtain races are immune to fear
|
// Cirtain races are immune to fear
|
||||||
switch(GetRacialType(OBJECT_SELF))
|
switch(MyPRCGetRacialType(OBJECT_SELF))
|
||||||
{
|
{
|
||||||
case RACIAL_TYPE_CONSTRUCT:
|
case RACIAL_TYPE_CONSTRUCT:
|
||||||
case RACIAL_TYPE_DRAGON:
|
case RACIAL_TYPE_DRAGON:
|
||||||
|
@ -55,6 +55,7 @@
|
|||||||
//
|
//
|
||||||
//
|
//
|
||||||
//////////////////////////////////////////////////////////////////////////////*/
|
//////////////////////////////////////////////////////////////////////////////*/
|
||||||
|
#include "prc_inc_racial"
|
||||||
|
|
||||||
//void main (){}
|
//void main (){}
|
||||||
|
|
||||||
@ -339,7 +340,7 @@ void ms_Nomenclature(object oNPC = OBJECT_SELF)
|
|||||||
string ms_RandomFirstName(object oNPC = OBJECT_SELF)
|
string ms_RandomFirstName(object oNPC = OBJECT_SELF)
|
||||||
{
|
{
|
||||||
int Gender = GetGender(oNPC);
|
int Gender = GetGender(oNPC);
|
||||||
int Race = GetRacialType(oNPC);
|
int Race = MyPRCGetRacialType(oNPC);
|
||||||
|
|
||||||
string Name;
|
string Name;
|
||||||
|
|
||||||
@ -385,7 +386,7 @@ string ms_RandomFirstName(object oNPC = OBJECT_SELF)
|
|||||||
|
|
||||||
string ms_RandomLastName(object oNPC = OBJECT_SELF)
|
string ms_RandomLastName(object oNPC = OBJECT_SELF)
|
||||||
{
|
{
|
||||||
int Race = GetRacialType(oNPC);
|
int Race = MyPRCGetRacialType(oNPC);
|
||||||
|
|
||||||
string Name;
|
string Name;
|
||||||
|
|
||||||
|
@ -314,7 +314,7 @@ void main()
|
|||||||
// Min. Amount of Rounds between each breath use. See readme for counter defaults. Def: 3
|
// Min. Amount of Rounds between each breath use. See readme for counter defaults. Def: 3
|
||||||
|
|
||||||
// Default checks for dragon flying automatic turning on of flying.
|
// Default checks for dragon flying automatic turning on of flying.
|
||||||
if(GetLevelByClass(CLASS_TYPE_DRAGON) || GetRacialType(OBJECT_SELF) == RACIAL_TYPE_DRAGON)
|
if(GetLevelByClass(CLASS_TYPE_DRAGON) || MyPRCGetRacialType(OBJECT_SELF) == RACIAL_TYPE_DRAGON)
|
||||||
{
|
{
|
||||||
SetSpawnInCondition(AI_FLAG_COMBAT_FLYING, AI_COMBAT_MASTER);
|
SetSpawnInCondition(AI_FLAG_COMBAT_FLYING, AI_COMBAT_MASTER);
|
||||||
// This turns ON combat flying. I think anything winged looks A-OK. See readme for info.
|
// This turns ON combat flying. I think anything winged looks A-OK. See readme for info.
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
//:://////////////////////////////////////////////
|
//:://////////////////////////////////////////////
|
||||||
#include "69_hench_lib"
|
#include "69_hench_lib"
|
||||||
#include "NW_I0_SPELLS"
|
#include "NW_I0_SPELLS"
|
||||||
|
#include "prc_inc_racial"
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
//Declare major variables
|
//Declare major variables
|
||||||
@ -39,7 +40,7 @@ void main()
|
|||||||
object oArea = GetArea(oTarget);
|
object oArea = GetArea(oTarget);
|
||||||
int nCHP = GetLocalInt(oArea, "nCHP" +sTag);
|
int nCHP = GetLocalInt(oArea, "nCHP" +sTag);
|
||||||
//Check if the target is an undead
|
//Check if the target is an undead
|
||||||
if(GetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
if(MyPRCGetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
||||||
{
|
{
|
||||||
//Fire cast spell at event for the specified target
|
//Fire cast spell at event for the specified target
|
||||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_LAY_ON_HANDS));
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_LAY_ON_HANDS));
|
||||||
|
@ -32,6 +32,7 @@ Of course you don't have to use this method - its optional.
|
|||||||
//:://////////////////////////////////////////////
|
//:://////////////////////////////////////////////
|
||||||
#include "x2_inc_switches"
|
#include "x2_inc_switches"
|
||||||
#include "x2_inc_spellhook"
|
#include "x2_inc_spellhook"
|
||||||
|
#include "prc_inc_racial"
|
||||||
|
|
||||||
//Belker
|
//Belker
|
||||||
void SmokeClaw(object oTarget, int nDC, int nRounds);
|
void SmokeClaw(object oTarget, int nDC, int nRounds);
|
||||||
@ -607,8 +608,8 @@ int GetIsLiving(object oTarget)
|
|||||||
int bAlive;
|
int bAlive;
|
||||||
|
|
||||||
//Constructs & Undead
|
//Constructs & Undead
|
||||||
if(GetRacialType(oTarget) == RACIAL_TYPE_CONSTRUCT ||
|
if(MyPRCGetRacialType(oTarget) == RACIAL_TYPE_CONSTRUCT ||
|
||||||
GetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
MyPRCGetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
||||||
{
|
{
|
||||||
return bAlive = FALSE;
|
return bAlive = FALSE;
|
||||||
}
|
}
|
||||||
|
@ -319,7 +319,7 @@ void main()
|
|||||||
// Min. Amount of Rounds between each breath use. See readme for counter defaults. Def: 3
|
// Min. Amount of Rounds between each breath use. See readme for counter defaults. Def: 3
|
||||||
|
|
||||||
// Default checks for dragon flying automatic turning on of flying.
|
// Default checks for dragon flying automatic turning on of flying.
|
||||||
if(GetLevelByClass(CLASS_TYPE_DRAGON) || GetRacialType(OBJECT_SELF) == RACIAL_TYPE_DRAGON)
|
if(GetLevelByClass(CLASS_TYPE_DRAGON) || MyPRCGetRacialType(OBJECT_SELF) == RACIAL_TYPE_DRAGON)
|
||||||
{
|
{
|
||||||
SetSpawnInCondition(AI_FLAG_COMBAT_FLYING, AI_COMBAT_MASTER);
|
SetSpawnInCondition(AI_FLAG_COMBAT_FLYING, AI_COMBAT_MASTER);
|
||||||
// This turns ON combat flying. I think anything winged looks A-OK. See readme for info.
|
// This turns ON combat flying. I think anything winged looks A-OK. See readme for info.
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
|
#include "prc_inc_racial"
|
||||||
//#include "journal_include"
|
//#include "journal_include"
|
||||||
#include "pqj_inc"
|
#include "pqj_inc"
|
||||||
|
|
||||||
|
|
||||||
void GivePCWands(object oPC)
|
void GivePCWands(object oPC)
|
||||||
{
|
{
|
||||||
// items to be give to new players
|
// items to be give to new players
|
||||||
@ -38,7 +40,7 @@ void GiveLangTokens(object oPC)
|
|||||||
// Give race based language tokens
|
// Give race based language tokens
|
||||||
// TODO: Expand for PRC races.
|
// TODO: Expand for PRC races.
|
||||||
|
|
||||||
if( GetRacialType(oPC) == RACIAL_TYPE_ELF )
|
if( MyPRCGetRacialType(oPC) == RACIAL_TYPE_ELF )
|
||||||
{
|
{
|
||||||
// DelayCommand(0.5, AdjustReputation(oPC, GetObjectByTag("FACTION_ATHAS_SILVERHAND"), 90)); // Adjust faction reputation
|
// DelayCommand(0.5, AdjustReputation(oPC, GetObjectByTag("FACTION_ATHAS_SILVERHAND"), 90)); // Adjust faction reputation
|
||||||
|
|
||||||
@ -49,7 +51,7 @@ void GiveLangTokens(object oPC)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( GetRacialType(oPC) == RACIAL_TYPE_HALFELF )
|
if( MyPRCGetRacialType(oPC) == RACIAL_TYPE_HALFELF )
|
||||||
{
|
{
|
||||||
if ( GetItemPossessedBy(oPC, "hlslang_1") == OBJECT_INVALID )
|
if ( GetItemPossessedBy(oPC, "hlslang_1") == OBJECT_INVALID )
|
||||||
{
|
{
|
||||||
@ -58,7 +60,7 @@ void GiveLangTokens(object oPC)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( GetRacialType(oPC) == RACIAL_TYPE_DWARF )
|
if( MyPRCGetRacialType(oPC) == RACIAL_TYPE_DWARF )
|
||||||
{
|
{
|
||||||
// DelayCommand(0.5, AdjustReputation(oPC, GetObjectByTag("ATHAS_FACTION_KLED"), 90)); // Adjust faction reputation
|
// DelayCommand(0.5, AdjustReputation(oPC, GetObjectByTag("ATHAS_FACTION_KLED"), 90)); // Adjust faction reputation
|
||||||
|
|
||||||
@ -69,7 +71,7 @@ void GiveLangTokens(object oPC)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( GetRacialType(oPC) == RACIAL_TYPE_HALFLING )
|
if( MyPRCGetRacialType(oPC) == RACIAL_TYPE_HALFLING )
|
||||||
{
|
{
|
||||||
if ( GetItemPossessedBy(oPC, "hlslang_3") == OBJECT_INVALID )
|
if ( GetItemPossessedBy(oPC, "hlslang_3") == OBJECT_INVALID )
|
||||||
{
|
{
|
||||||
@ -78,7 +80,7 @@ void GiveLangTokens(object oPC)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( GetRacialType(oPC) == 199 ) // Air Genasi
|
if( MyPRCGetRacialType(oPC) == 199 ) // Air Genasi
|
||||||
{
|
{
|
||||||
SetColor ( oPC, COLOR_CHANNEL_SKIN, 020);
|
SetColor ( oPC, COLOR_CHANNEL_SKIN, 020);
|
||||||
|
|
||||||
@ -88,7 +90,7 @@ void GiveLangTokens(object oPC)
|
|||||||
CreateItemOnObject("hlslang_101", oPC);
|
CreateItemOnObject("hlslang_101", oPC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if( GetRacialType(oPC) == 200 ) // Earth Genasi
|
if( MyPRCGetRacialType(oPC) == 200 ) // Earth Genasi
|
||||||
{
|
{
|
||||||
SetColor ( oPC, COLOR_CHANNEL_SKIN, 118);
|
SetColor ( oPC, COLOR_CHANNEL_SKIN, 118);
|
||||||
|
|
||||||
@ -98,7 +100,7 @@ void GiveLangTokens(object oPC)
|
|||||||
CreateItemOnObject("hlslang_102", oPC);
|
CreateItemOnObject("hlslang_102", oPC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if( GetRacialType(oPC) == 202 ) // Fire Genasi
|
if( MyPRCGetRacialType(oPC) == 202 ) // Fire Genasi
|
||||||
{
|
{
|
||||||
SetColor ( oPC, COLOR_CHANNEL_SKIN, 103);
|
SetColor ( oPC, COLOR_CHANNEL_SKIN, 103);
|
||||||
|
|
||||||
@ -108,7 +110,7 @@ void GiveLangTokens(object oPC)
|
|||||||
CreateItemOnObject("hlslang_104", oPC);
|
CreateItemOnObject("hlslang_104", oPC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if( GetRacialType(oPC) == 205 ) // Water Genasi
|
if( MyPRCGetRacialType(oPC) == 205 ) // Water Genasi
|
||||||
{
|
{
|
||||||
SetColor ( oPC, COLOR_CHANNEL_SKIN, 141);
|
SetColor ( oPC, COLOR_CHANNEL_SKIN, 141);
|
||||||
|
|
||||||
|
@ -75,8 +75,10 @@
|
|||||||
// - This will spawn treasure based on chests placed in the module. See "x0_i0_treasure" for more information.
|
// - This will spawn treasure based on chests placed in the module. See "x0_i0_treasure" for more information.
|
||||||
|
|
||||||
// This is required for all spawn in options!
|
// This is required for all spawn in options!
|
||||||
|
#include "prc_inc_racial"
|
||||||
#include "J_INC_SPAWNIN"
|
#include "J_INC_SPAWNIN"
|
||||||
|
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
/************************ [Important Spawn Settings] **************************/
|
/************************ [Important Spawn Settings] **************************/
|
||||||
@ -314,7 +316,7 @@ void main()
|
|||||||
// Min. Amount of Rounds between each breath use. See readme for counter defaults. Def: 3
|
// Min. Amount of Rounds between each breath use. See readme for counter defaults. Def: 3
|
||||||
|
|
||||||
// Default checks for dragon flying automatic turning on of flying.
|
// Default checks for dragon flying automatic turning on of flying.
|
||||||
if(GetLevelByClass(CLASS_TYPE_DRAGON) || GetRacialType(OBJECT_SELF) == RACIAL_TYPE_DRAGON)
|
if(GetLevelByClass(CLASS_TYPE_DRAGON) || MyPRCGetRacialType(OBJECT_SELF) == RACIAL_TYPE_DRAGON)
|
||||||
{
|
{
|
||||||
SetSpawnInCondition(AI_FLAG_COMBAT_FLYING, AI_COMBAT_MASTER);
|
SetSpawnInCondition(AI_FLAG_COMBAT_FLYING, AI_COMBAT_MASTER);
|
||||||
// This turns ON combat flying. I think anything winged looks A-OK. See readme for info.
|
// This turns ON combat flying. I think anything winged looks A-OK. See readme for info.
|
||||||
|
@ -28,17 +28,19 @@ or in a module is very subjective. Some will consider this amount far too gener
|
|||||||
and some too greedy.
|
and some too greedy.
|
||||||
*/
|
*/
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
#include "prc_inc_racial"
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
if(d100()>66) return;
|
if(d100()>66) return;
|
||||||
object oCreature = OBJECT_SELF;
|
object oCreature = OBJECT_SELF;
|
||||||
object oMarker;
|
object oMarker;
|
||||||
if(GetRacialType(oCreature) == RACIAL_TYPE_ANIMAL
|
if(MyPRCGetRacialType(oCreature) == RACIAL_TYPE_ANIMAL
|
||||||
|| GetRacialType(oCreature) == RACIAL_TYPE_VERMIN) return;
|
|| MyPRCGetRacialType(oCreature) == RACIAL_TYPE_VERMIN) return;
|
||||||
float fChallengeFactor = GetChallengeRating(oCreature) * 30.0;
|
float fChallengeFactor = GetChallengeRating(oCreature) * 30.0;
|
||||||
float fFactor = IntToFloat(Random(5) + 2);
|
float fFactor = IntToFloat(Random(5) + 2);
|
||||||
int iTreasure = FloatToInt(fChallengeFactor / fFactor);
|
int iTreasure = FloatToInt(fChallengeFactor / fFactor);
|
||||||
int iType = GetRacialType(oCreature);
|
int iType = MyPRCGetRacialType(oCreature);
|
||||||
CreateItemOnObject("NW_IT_GOLD001", oCreature, iTreasure);
|
CreateItemOnObject("NW_IT_GOLD001", oCreature, iTreasure);
|
||||||
if(iType == RACIAL_TYPE_UNDEAD || iType == RACIAL_TYPE_ABERRATION)
|
if(iType == RACIAL_TYPE_UNDEAD || iType == RACIAL_TYPE_ABERRATION)
|
||||||
oMarker = CreateItemOnObject("NW_IT_MSMLMISC21", oCreature, 1);
|
oMarker = CreateItemOnObject("NW_IT_MSMLMISC21", oCreature, 1);
|
||||||
|
@ -4,11 +4,13 @@ Custom Treasure Table for use with the BESIE
|
|||||||
Random Encounter Package by Ray Miller
|
Random Encounter Package by Ray Miller
|
||||||
*/
|
*/
|
||||||
////////////////////////////////////////////////////
|
////////////////////////////////////////////////////
|
||||||
|
#include "prc_inc_racial"
|
||||||
////////////////////////////////////////////////////
|
////////////////////////////////////////////////////
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
//Note: This statement causes the script to exclude animals from this treasure table.
|
//Note: This statement causes the script to exclude animals from this treasure table.
|
||||||
if(GetRacialType(OBJECT_SELF) == RACIAL_TYPE_ANIMAL) return;
|
if(MyPRCGetRacialType(OBJECT_SELF) == RACIAL_TYPE_ANIMAL) return;
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
object oCreature = OBJECT_SELF;
|
object oCreature = OBJECT_SELF;
|
||||||
float fChance;
|
float fChance;
|
||||||
|
@ -9,6 +9,10 @@ and will not compile on its own.
|
|||||||
////////////////////////////////////////////////////
|
////////////////////////////////////////////////////
|
||||||
////////////////////////////////////////////////////
|
////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "prc_inc_racial"
|
||||||
|
|
||||||
|
//::void main(){}
|
||||||
|
|
||||||
float fCRFactor = GetChallengeRating(OBJECT_SELF) / 20.0;
|
float fCRFactor = GetChallengeRating(OBJECT_SELF) / 20.0;
|
||||||
|
|
||||||
object GiveMoney(object oCreature = OBJECT_SELF)
|
object GiveMoney(object oCreature = OBJECT_SELF)
|
||||||
@ -16,12 +20,12 @@ object GiveMoney(object oCreature = OBJECT_SELF)
|
|||||||
if(d100()>66) return OBJECT_INVALID;
|
if(d100()>66) return OBJECT_INVALID;
|
||||||
object oObject = OBJECT_INVALID;
|
object oObject = OBJECT_INVALID;
|
||||||
object oMarker;
|
object oMarker;
|
||||||
if(GetRacialType(oCreature) == RACIAL_TYPE_ANIMAL
|
if(MyPRCGetRacialType(oCreature) == RACIAL_TYPE_ANIMAL
|
||||||
|| GetRacialType(oCreature) == RACIAL_TYPE_VERMIN) return OBJECT_INVALID;
|
|| MyPRCGetRacialType(oCreature) == RACIAL_TYPE_VERMIN) return OBJECT_INVALID;
|
||||||
float fChallengeFactor = GetChallengeRating(oCreature) * 30.0;
|
float fChallengeFactor = GetChallengeRating(oCreature) * 30.0;
|
||||||
float fFactor = IntToFloat(Random(5) + 2);
|
float fFactor = IntToFloat(Random(5) + 2);
|
||||||
int iTreasure = FloatToInt(fChallengeFactor / fFactor);
|
int iTreasure = FloatToInt(fChallengeFactor / fFactor);
|
||||||
int iType = GetRacialType(oCreature);
|
int iType = MyPRCGetRacialType(oCreature);
|
||||||
oObject = CreateItemOnObject("NW_IT_GOLD001", oCreature, iTreasure);
|
oObject = CreateItemOnObject("NW_IT_GOLD001", oCreature, iTreasure);
|
||||||
if(iType == RACIAL_TYPE_UNDEAD || iType == RACIAL_TYPE_ABERRATION)
|
if(iType == RACIAL_TYPE_UNDEAD || iType == RACIAL_TYPE_ABERRATION)
|
||||||
oMarker = CreateItemOnObject("NW_IT_MSMLMISC21", oCreature, 1);
|
oMarker = CreateItemOnObject("NW_IT_MSMLMISC21", oCreature, 1);
|
||||||
@ -44,7 +48,7 @@ object GiveHealing(object oCreature = OBJECT_SELF)
|
|||||||
object oObject = OBJECT_INVALID;
|
object oObject = OBJECT_INVALID;
|
||||||
|
|
||||||
//Note: This statement causes the script to exclude animals from this treasure table.
|
//Note: This statement causes the script to exclude animals from this treasure table.
|
||||||
if(GetRacialType(oCreature) != RACIAL_TYPE_ANIMAL){
|
if(MyPRCGetRacialType(oCreature) != RACIAL_TYPE_ANIMAL){
|
||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
int END;
|
int END;
|
||||||
float fChance;
|
float fChance;
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
//:://////////////////////////////////////////////
|
//:://////////////////////////////////////////////
|
||||||
//:: VFX Pass By:
|
//:: VFX Pass By:
|
||||||
#include "X0_I0_SPELLS" // * this is the new spells include for expansion packs
|
#include "X0_I0_SPELLS" // * this is the new spells include for expansion packs
|
||||||
|
#include "prc_inc_racial"
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
@ -25,35 +26,35 @@ void main()
|
|||||||
{
|
{
|
||||||
/*Minor*/ case 431: spellsInflictTouchAttack(1, 0, 1, 246, VFX_IMP_HEALING_G, nSpellID);
|
/*Minor*/ case 431: spellsInflictTouchAttack(1, 0, 1, 246, VFX_IMP_HEALING_G, nSpellID);
|
||||||
nCure = 1;
|
nCure = 1;
|
||||||
if(GetIsHenchmanDying(oTarget) && GetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
if(GetIsHenchmanDying(oTarget) && MyPRCGetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
||||||
{
|
{
|
||||||
SetLocalInt(oArea, "nCHP" +sTag, nCHP + nCure);
|
SetLocalInt(oArea, "nCHP" +sTag, nCHP + nCure);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
/*Light*/ case 432: case 609: spellsInflictTouchAttack(d8(), 5, 8, 246, VFX_IMP_HEALING_G, nSpellID);
|
/*Light*/ case 432: case 609: spellsInflictTouchAttack(d8(), 5, 8, 246, VFX_IMP_HEALING_G, nSpellID);
|
||||||
nCure = d8(1);
|
nCure = d8(1);
|
||||||
if(GetIsHenchmanDying(oTarget) && GetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
if(GetIsHenchmanDying(oTarget) && MyPRCGetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
||||||
{
|
{
|
||||||
SetLocalInt(oArea, "nCHP" +sTag, nCHP + nCure);
|
SetLocalInt(oArea, "nCHP" +sTag, nCHP + nCure);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
/*Moderate*/ case 433: case 610: spellsInflictTouchAttack(d8(2), 10, 16, 246, VFX_IMP_HEALING_G, nSpellID);
|
/*Moderate*/ case 433: case 610: spellsInflictTouchAttack(d8(2), 10, 16, 246, VFX_IMP_HEALING_G, nSpellID);
|
||||||
nCure = d8(2);
|
nCure = d8(2);
|
||||||
if(GetIsHenchmanDying(oTarget) && GetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
if(GetIsHenchmanDying(oTarget) && MyPRCGetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
||||||
{
|
{
|
||||||
SetLocalInt(oArea, "nCHP" +sTag, nCHP + nCure);
|
SetLocalInt(oArea, "nCHP" +sTag, nCHP + nCure);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
/*Serious*/ case 434: case 611: spellsInflictTouchAttack(d8(3), 15, 24, 246, VFX_IMP_HEALING_G, nSpellID);
|
/*Serious*/ case 434: case 611: spellsInflictTouchAttack(d8(3), 15, 24, 246, VFX_IMP_HEALING_G, nSpellID);
|
||||||
nCure = d8(3);
|
nCure = d8(3);
|
||||||
if(GetIsHenchmanDying(oTarget) && GetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
if(GetIsHenchmanDying(oTarget) && MyPRCGetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
||||||
{
|
{
|
||||||
SetLocalInt(oArea, "nCHP" +sTag, nCHP + nCure);
|
SetLocalInt(oArea, "nCHP" +sTag, nCHP + nCure);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
/*Critical*/ case 435: case 612: spellsInflictTouchAttack(d8(4), 20, 32, 246, VFX_IMP_HEALING_G, nSpellID);
|
/*Critical*/ case 435: case 612: spellsInflictTouchAttack(d8(4), 20, 32, 246, VFX_IMP_HEALING_G, nSpellID);
|
||||||
nCure = d8(4);
|
nCure = d8(4);
|
||||||
if(GetIsHenchmanDying(oTarget) && GetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
if(GetIsHenchmanDying(oTarget) && MyPRCGetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
||||||
{
|
{
|
||||||
SetLocalInt(oArea, "nCHP" +sTag, nCHP + nCure);
|
SetLocalInt(oArea, "nCHP" +sTag, nCHP + nCure);
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "x0_i0_spells"
|
#include "x0_i0_spells"
|
||||||
|
#include "prc_inc_racial"
|
||||||
|
|
||||||
|
|
||||||
void DoBeholderPetrify(int nDuration,object oSource, object oTarget, int nSpellID);
|
void DoBeholderPetrify(int nDuration,object oSource, object oTarget, int nSpellID);
|
||||||
@ -75,7 +76,7 @@ void main()
|
|||||||
SignalEvent(oTarget,EventSpellCastAt(OBJECT_SELF,GetSpellId(),TRUE));
|
SignalEvent(oTarget,EventSpellCastAt(OBJECT_SELF,GetSpellId(),TRUE));
|
||||||
fDelay = 0.0f; //old -- GetSpellEffectDelay(GetLocation(oTarget),OBJECT_SELF);
|
fDelay = 0.0f; //old -- GetSpellEffectDelay(GetLocation(oTarget),OBJECT_SELF);
|
||||||
|
|
||||||
int iTargetRace = GetRacialType(oTarget);
|
int iTargetRace = MyPRCGetRacialType(oTarget);
|
||||||
|
|
||||||
if ((nSpell == 786) && (
|
if ((nSpell == 786) && (
|
||||||
((!GetIsPlayableRacialType(oTarget))
|
((!GetIsPlayableRacialType(oTarget))
|
||||||
|
Binary file not shown.
@ -2,7 +2,7 @@
|
|||||||
"__data_type": "UTC ",
|
"__data_type": "UTC ",
|
||||||
"Appearance_Head": {
|
"Appearance_Head": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
"value": 22
|
"value": 3
|
||||||
},
|
},
|
||||||
"Appearance_Type": {
|
"Appearance_Type": {
|
||||||
"type": "word",
|
"type": "word",
|
||||||
@ -110,7 +110,7 @@
|
|||||||
},
|
},
|
||||||
"Color_Hair": {
|
"Color_Hair": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
"value": 11
|
"value": 123
|
||||||
},
|
},
|
||||||
"Color_Skin": {
|
"Color_Skin": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
@ -118,11 +118,11 @@
|
|||||||
},
|
},
|
||||||
"Color_Tattoo1": {
|
"Color_Tattoo1": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
"value": 1
|
"value": 152
|
||||||
},
|
},
|
||||||
"Color_Tattoo2": {
|
"Color_Tattoo2": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
"value": 1
|
"value": 152
|
||||||
},
|
},
|
||||||
"Comment": {
|
"Comment": {
|
||||||
"type": "cexostring",
|
"type": "cexostring",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user