Added Elite Troll creature
Added Elite Troll creature.
This commit is contained in:
parent
edb3ec4afe
commit
b2c9230e9b
@ -6353,7 +6353,7 @@
|
|||||||
},
|
},
|
||||||
"Version": {
|
"Version": {
|
||||||
"type": "dword",
|
"type": "dword",
|
||||||
"value": 16
|
"value": 17
|
||||||
},
|
},
|
||||||
"Width": {
|
"Width": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
|
@ -646,6 +646,13 @@
|
|||||||
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
|
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 5,
|
||||||
|
"Comment": {
|
||||||
|
"type": "cexostring",
|
||||||
|
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"__struct_id": 5,
|
"__struct_id": 5,
|
||||||
"Comment": {
|
"Comment": {
|
||||||
|
@ -19316,6 +19316,68 @@
|
|||||||
"type": "float",
|
"type": "float",
|
||||||
"value": 5.497299194335938
|
"value": 5.497299194335938
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 5,
|
||||||
|
"Appearance": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
"Description": {
|
||||||
|
"type": "cexolocstring",
|
||||||
|
"value": {}
|
||||||
|
},
|
||||||
|
"HasMapNote": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"LinkedTo": {
|
||||||
|
"type": "cexostring",
|
||||||
|
"value": ""
|
||||||
|
},
|
||||||
|
"LocalizedName": {
|
||||||
|
"id": 14817,
|
||||||
|
"type": "cexolocstring",
|
||||||
|
"value": {
|
||||||
|
"0": "SP_SN04_SA_SR20M05_SD20M16_RW_PC05_RG010M005_DS2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"MapNote": {
|
||||||
|
"type": "cexolocstring",
|
||||||
|
"value": {}
|
||||||
|
},
|
||||||
|
"MapNoteEnabled": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
"Tag": {
|
||||||
|
"type": "cexostring",
|
||||||
|
"value": "RA_TROLL002"
|
||||||
|
},
|
||||||
|
"TemplateResRef": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "sp_waypoint"
|
||||||
|
},
|
||||||
|
"XOrientation": {
|
||||||
|
"type": "float",
|
||||||
|
"value": 0.0
|
||||||
|
},
|
||||||
|
"XPosition": {
|
||||||
|
"type": "float",
|
||||||
|
"value": 59.86631393432617
|
||||||
|
},
|
||||||
|
"YOrientation": {
|
||||||
|
"type": "float",
|
||||||
|
"value": 1.0
|
||||||
|
},
|
||||||
|
"YPosition": {
|
||||||
|
"type": "float",
|
||||||
|
"value": 58.00840759277344
|
||||||
|
},
|
||||||
|
"ZPosition": {
|
||||||
|
"type": "float",
|
||||||
|
"value": 4.999994277954102
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -7048,6 +7048,25 @@
|
|||||||
"value": "troll004"
|
"value": "troll004"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"CR": {
|
||||||
|
"type": "float",
|
||||||
|
"value": 6.0
|
||||||
|
},
|
||||||
|
"FACTION": {
|
||||||
|
"type": "cexostring",
|
||||||
|
"value": "Hostile"
|
||||||
|
},
|
||||||
|
"NAME": {
|
||||||
|
"type": "cexostring",
|
||||||
|
"value": "Troll, Elite [RA]: 06 HD"
|
||||||
|
},
|
||||||
|
"RESREF": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "ra_troll002"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"__struct_id": 0,
|
"__struct_id": 0,
|
||||||
"CR": {
|
"CR": {
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -18,31 +18,33 @@ void main()
|
|||||||
|
|
||||||
string sResRef = GetResRef(oNPC);
|
string sResRef = GetResRef(oNPC);
|
||||||
|
|
||||||
effect eSleep = EffectSleep();
|
effect eSleep = EffectSleep();
|
||||||
|
|
||||||
//:: Handles troll regen
|
//:: Handles troll regen
|
||||||
if(sResRef == "ra_troll001" || sResRef == "TROLL_FEDORLA")
|
if(sResRef == "ra_troll001"
|
||||||
{
|
|| sResRef == "ra_troll002"
|
||||||
if(GetLocalInt(oNPC, "nSubDual") > 0)
|
|| sResRef == "TROLL_FEDORLA")
|
||||||
{
|
{
|
||||||
SetLocalInt(oNPC, "nSubDual", GetLocalInt(oNPC, "nSubDual") - 5);
|
if(GetLocalInt(oNPC, "nSubDual") > 0)
|
||||||
|
{
|
||||||
|
SetLocalInt(oNPC, "nSubDual", GetLocalInt(oNPC, "nSubDual") - 5);
|
||||||
|
|
||||||
if(GetLocalInt(oNPC, "nSubDual") < GetCurrentHitPoints(oNPC))
|
if(GetLocalInt(oNPC, "nSubDual") < GetCurrentHitPoints(oNPC))
|
||||||
{
|
{
|
||||||
RemoveEffect(oNPC, eSleep);
|
RemoveEffect(oNPC, eSleep);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(GetLocalInt(oNPC, "nSubDual") > GetCurrentHitPoints(oNPC))
|
if(GetLocalInt(oNPC, "nSubDual") > GetCurrentHitPoints(oNPC))
|
||||||
{
|
{
|
||||||
SpeakString("I am still unconscious!");
|
SpeakString("I am still unconscious!");
|
||||||
SetIsDestroyable(FALSE, TRUE, TRUE);
|
SetIsDestroyable(FALSE, TRUE, TRUE);
|
||||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSleep, OBJECT_SELF, 6.5f);
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSleep, OBJECT_SELF, 6.5f);
|
||||||
}
|
}
|
||||||
|
|
||||||
SpeakString("My Subdual is now " + IntToString(GetLocalInt(oNPC, "nSubDual")));
|
//SpeakString("My Subdual is now " + IntToString(GetLocalInt(oNPC, "nSubDual")));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//:: Equips best armor
|
//:: Equips best armor
|
||||||
if ((!GetIsInCombat(oNPC) && (GetItemInSlot(INVENTORY_SLOT_CHEST) == OBJECT_INVALID)))
|
if ((!GetIsInCombat(oNPC) && (GetItemInSlot(INVENTORY_SLOT_CHEST) == OBJECT_INVALID)))
|
||||||
|
@ -13,12 +13,12 @@
|
|||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
int nTotalDamage = GetTotalDamageDealt();
|
int nTotalDamage = GetTotalDamageDealt();
|
||||||
int nFireDamage = 0;
|
int nFireDamage = 0;
|
||||||
int nAcidDamage = 0;
|
int nAcidDamage = 0;
|
||||||
int nTotalHP = GetMaxHitPoints(OBJECT_SELF);
|
int nTotalHP = GetMaxHitPoints(OBJECT_SELF);
|
||||||
|
|
||||||
string sResRef = GetResRef(OBJECT_SELF);
|
string sResRef = GetResRef(OBJECT_SELF);
|
||||||
|
|
||||||
effect eSleep = EffectSleep();
|
effect eSleep = EffectSleep();
|
||||||
effect eSlow = EffectSlow();
|
effect eSlow = EffectSlow();
|
||||||
@ -33,71 +33,73 @@ void main()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//:: Handles troll regen
|
//:: Handles troll regen
|
||||||
if(sResRef == "ra_troll001" || sResRef == "TROLL_FEDORLA")
|
if(sResRef == "ra_troll001"
|
||||||
{
|
|| sResRef == "ra_troll002"
|
||||||
DelayCommand(0.0f, SpeakString("Max/Total HP: " + IntToString(nTotalHP)));
|
|| sResRef == "TROLL_FEDORLA")
|
||||||
|
{
|
||||||
|
DelayCommand(0.0f, SpeakString("Max/Total HP: " + IntToString(nTotalHP)));
|
||||||
|
|
||||||
if(GetDamageDealtByType(DAMAGE_TYPE_FIRE) != -1)
|
if(GetDamageDealtByType(DAMAGE_TYPE_FIRE) != -1)
|
||||||
{
|
{
|
||||||
nFireDamage = GetDamageDealtByType(DAMAGE_TYPE_FIRE);
|
nFireDamage = GetDamageDealtByType(DAMAGE_TYPE_FIRE);
|
||||||
//DelayCommand(0.0f, SpeakString("Fire Damage: " + IntToString(nFireDamage)));
|
//DelayCommand(0.0f, SpeakString("Fire Damage: " + IntToString(nFireDamage)));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(GetDamageDealtByType(DAMAGE_TYPE_ACID) != -1)
|
if(GetDamageDealtByType(DAMAGE_TYPE_ACID) != -1)
|
||||||
{
|
{
|
||||||
nAcidDamage = GetDamageDealtByType(DAMAGE_TYPE_ACID);
|
nAcidDamage = GetDamageDealtByType(DAMAGE_TYPE_ACID);
|
||||||
//DelayCommand(0.0f, SpeakString("Acid Damage: " + IntToString(nAcidDamage)));
|
//DelayCommand(0.0f, SpeakString("Acid Damage: " + IntToString(nAcidDamage)));
|
||||||
}
|
}
|
||||||
|
|
||||||
int nNoRegen = nFireDamage + nAcidDamage;
|
int nNoRegen = nFireDamage + nAcidDamage;
|
||||||
int nSubDmg = nTotalDamage - nNoRegen;
|
int nSubDmg = nTotalDamage - nNoRegen;
|
||||||
|
|
||||||
//DelayCommand(0.0f, SpeakString("Real damage this attack: " + IntToString(nNoRegen)));
|
//DelayCommand(0.0f, SpeakString("Real damage this attack: " + IntToString(nNoRegen)));
|
||||||
|
|
||||||
SetLocalInt(OBJECT_SELF, "NoRegen", nNoRegen + GetLocalInt(OBJECT_SELF, "NoRegen"));
|
SetLocalInt(OBJECT_SELF, "NoRegen", nNoRegen + GetLocalInt(OBJECT_SELF, "NoRegen"));
|
||||||
|
|
||||||
nNoRegen = GetLocalInt(OBJECT_SELF, "NoRegen");
|
nNoRegen = GetLocalInt(OBJECT_SELF, "NoRegen");
|
||||||
|
|
||||||
//DelayCommand(0.0f, SpeakString("Actual Damage Stored: " + IntToString(nNoRegen)));
|
//DelayCommand(0.0f, SpeakString("Actual Damage Stored: " + IntToString(nNoRegen)));
|
||||||
|
|
||||||
effect eHeal = EffectHeal(nSubDmg);
|
effect eHeal = EffectHeal(nSubDmg);
|
||||||
//DelayCommand(0.0f, SpeakString("Subdual damage healed: " + IntToString(nSubDmg)));
|
//DelayCommand(0.0f, SpeakString("Subdual damage healed: " + IntToString(nSubDmg)));
|
||||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, OBJECT_SELF, 0.0f);
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, OBJECT_SELF, 0.0f);
|
||||||
|
|
||||||
int nCurrentHP = GetCurrentHitPoints(OBJECT_SELF);
|
int nCurrentHP = GetCurrentHitPoints(OBJECT_SELF);
|
||||||
DelayCommand(0.0f, SpeakString("Current HP: " + IntToString(nCurrentHP)));
|
//DelayCommand(0.0f, SpeakString("Current HP: " + IntToString(nCurrentHP)));
|
||||||
|
|
||||||
if ((nTotalHP - nNoRegen) < nCurrentHP)
|
if ((nTotalHP - nNoRegen) < nCurrentHP)
|
||||||
{
|
{
|
||||||
nCurrentHP = nTotalHP - nNoRegen;
|
nCurrentHP = nTotalHP - nNoRegen;
|
||||||
//DelayCommand(0.0f, SpeakString("Setting HP to: " + IntToString(nCurrentHP)));
|
//DelayCommand(0.0f, SpeakString("Setting HP to: " + IntToString(nCurrentHP)));
|
||||||
SetCurrentHitPoints(OBJECT_SELF, nCurrentHP);
|
SetCurrentHitPoints(OBJECT_SELF, nCurrentHP);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(GetLocalInt(OBJECT_SELF, "nSubDual") <= GetCurrentHitPoints(OBJECT_SELF))
|
if(GetLocalInt(OBJECT_SELF, "nSubDual") <= GetCurrentHitPoints(OBJECT_SELF))
|
||||||
{
|
{
|
||||||
SetLocalInt(OBJECT_SELF, "nSubDual", nSubDmg + GetLocalInt(OBJECT_SELF, "nSubDual"));
|
SetLocalInt(OBJECT_SELF, "nSubDual", nSubDmg + GetLocalInt(OBJECT_SELF, "nSubDual"));
|
||||||
}
|
}
|
||||||
|
|
||||||
int nSD = GetLocalInt(OBJECT_SELF, "nSubDual");
|
int nSD = GetLocalInt(OBJECT_SELF, "nSubDual");
|
||||||
|
|
||||||
//DelayCommand(0.0f, SpeakString("SD: " + IntToString(nSD)));
|
//DelayCommand(0.0f, SpeakString("SD: " + IntToString(nSD)));
|
||||||
//DelayCommand(0.0f, SpeakString("CH: " + IntToString(nCurrentHP)));
|
//DelayCommand(0.0f, SpeakString("CH: " + IntToString(nCurrentHP)));
|
||||||
//DelayCommand(0.0f, SpeakString("NoRegen: " + IntToString(nNoRegen)));
|
//DelayCommand(0.0f, SpeakString("NoRegen: " + IntToString(nNoRegen)));
|
||||||
|
|
||||||
if(nSD > GetCurrentHitPoints(OBJECT_SELF))
|
if(nSD > GetCurrentHitPoints(OBJECT_SELF))
|
||||||
{
|
{
|
||||||
//SpeakString("I am unconscious!");
|
//SpeakString("I am unconscious!");
|
||||||
SetIsDestroyable(FALSE, TRUE, TRUE);
|
SetIsDestroyable(FALSE, TRUE, TRUE);
|
||||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSleep, OBJECT_SELF, 6.0f);
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSleep, OBJECT_SELF, 6.0f);
|
||||||
}
|
}
|
||||||
else if(nSD == GetCurrentHitPoints(OBJECT_SELF))
|
else if(nSD == GetCurrentHitPoints(OBJECT_SELF))
|
||||||
{
|
{
|
||||||
//SpeakString("I am staggered!");
|
//SpeakString("I am staggered!");
|
||||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSlow, OBJECT_SELF, 6.0f);
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSlow, OBJECT_SELF, 6.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//:: Execute the CODI AI NPC OnDamaged script
|
//:: Execute the CODI AI NPC OnDamaged script
|
||||||
ExecuteScript("no_ai_dam", OBJECT_SELF);
|
ExecuteScript("no_ai_dam", OBJECT_SELF);
|
||||||
|
Binary file not shown.
783
_module/utc/ra_troll002.utc.json
Normal file
783
_module/utc/ra_troll002.utc.json
Normal file
@ -0,0 +1,783 @@
|
|||||||
|
{
|
||||||
|
"__data_type": "UTC ",
|
||||||
|
"Appearance_Type": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 165
|
||||||
|
},
|
||||||
|
"BodyBag": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 5
|
||||||
|
},
|
||||||
|
"Cha": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 13
|
||||||
|
},
|
||||||
|
"ChallengeRating": {
|
||||||
|
"type": "float",
|
||||||
|
"value": 6.0
|
||||||
|
},
|
||||||
|
"ClassList": {
|
||||||
|
"type": "list",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"__struct_id": 2,
|
||||||
|
"Class": {
|
||||||
|
"type": "int",
|
||||||
|
"value": 22
|
||||||
|
},
|
||||||
|
"ClassLevel": {
|
||||||
|
"type": "short",
|
||||||
|
"value": 6
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Comment": {
|
||||||
|
"type": "cexostring",
|
||||||
|
"value": "Troll [RA]: 06 HD\r\n\r\nMonster Manual I, pg. 247"
|
||||||
|
},
|
||||||
|
"Con": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 10
|
||||||
|
},
|
||||||
|
"Conversation": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "cv_charmed"
|
||||||
|
},
|
||||||
|
"CRAdjust": {
|
||||||
|
"type": "int",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"CurrentHitPoints": {
|
||||||
|
"type": "short",
|
||||||
|
"value": 48
|
||||||
|
},
|
||||||
|
"DecayTime": {
|
||||||
|
"type": "dword",
|
||||||
|
"value": 10000
|
||||||
|
},
|
||||||
|
"Deity": {
|
||||||
|
"type": "cexostring",
|
||||||
|
"value": ""
|
||||||
|
},
|
||||||
|
"Description": {
|
||||||
|
"type": "cexolocstring",
|
||||||
|
"value": {
|
||||||
|
"0": "This big, bipedal creature is about one and a half times as tall as a human but very thin. It has long and ungainly arms and legs The legs end in great three-toed feet, the arms in wide, powerful hands with sharpened claws. The hide is rubbery, and its hair is thick and ropy, and seems to writhe with its own energy."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Dex": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 8
|
||||||
|
},
|
||||||
|
"Disarmable": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
"Equip_ItemList": {
|
||||||
|
"type": "list",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"__struct_id": 16384,
|
||||||
|
"EquippedRes": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "nw_it_crewpsp005"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 32768,
|
||||||
|
"EquippedRes": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "nw_it_crewpsp005"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 65536,
|
||||||
|
"EquippedRes": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "nw_it_crewps005"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"FactionID": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
"FeatList": {
|
||||||
|
"type": "list",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 3112
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 2898
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 5195
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 22774
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 2468
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 2919
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 4717
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 4095
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 4092
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 22
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 2884
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 354
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 1089
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 3415
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 2285
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 4742
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 24070
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 4235
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 2569
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 1,
|
||||||
|
"Feat": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 289
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"FirstName": {
|
||||||
|
"type": "cexolocstring",
|
||||||
|
"value": {
|
||||||
|
"0": "Troll, Elite [RA]: 06 HD"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"fortbonus": {
|
||||||
|
"type": "short",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"Gender": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"GoodEvil": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"HitPoints": {
|
||||||
|
"type": "short",
|
||||||
|
"value": 48
|
||||||
|
},
|
||||||
|
"Int": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 14
|
||||||
|
},
|
||||||
|
"Interruptable": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
"IsImmortal": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"IsPC": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"LastName": {
|
||||||
|
"type": "cexolocstring",
|
||||||
|
"value": {
|
||||||
|
"0": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"LawfulChaotic": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"Lootable": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"MaxHitPoints": {
|
||||||
|
"type": "short",
|
||||||
|
"value": 84
|
||||||
|
},
|
||||||
|
"NaturalAC": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 5
|
||||||
|
},
|
||||||
|
"NoPermDeath": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
"PaletteID": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 37
|
||||||
|
},
|
||||||
|
"PerceptionRange": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 10
|
||||||
|
},
|
||||||
|
"Phenotype": {
|
||||||
|
"type": "int",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"Plot": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"PortraitId": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 1301
|
||||||
|
},
|
||||||
|
"Race": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 231
|
||||||
|
},
|
||||||
|
"refbonus": {
|
||||||
|
"type": "short",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"ScriptAttacked": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "ra_ai_attacked"
|
||||||
|
},
|
||||||
|
"ScriptDamaged": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "ra_ai_ondamaged"
|
||||||
|
},
|
||||||
|
"ScriptDeath": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "ra_ai_ondeath"
|
||||||
|
},
|
||||||
|
"ScriptDialogue": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "ra_ai_onconverse"
|
||||||
|
},
|
||||||
|
"ScriptDisturbed": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "ra_ai_ondisturb"
|
||||||
|
},
|
||||||
|
"ScriptEndRound": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "ra_ai_endcmbtrnd"
|
||||||
|
},
|
||||||
|
"ScriptHeartbeat": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "ra_ai_heartbeat"
|
||||||
|
},
|
||||||
|
"ScriptOnBlocked": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "ra_ai_onblocked"
|
||||||
|
},
|
||||||
|
"ScriptOnNotice": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "ra_ai_onpercept"
|
||||||
|
},
|
||||||
|
"ScriptRested": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "ra_ai_onrested"
|
||||||
|
},
|
||||||
|
"ScriptSpawn": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "ra_ai_onspawn"
|
||||||
|
},
|
||||||
|
"ScriptSpellAt": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "ra_ai_onspelled"
|
||||||
|
},
|
||||||
|
"ScriptUserDefine": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "ra_ai_userdef"
|
||||||
|
},
|
||||||
|
"SkillList": {
|
||||||
|
"type": "list",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 9
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Rank": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"SoundSetFile": {
|
||||||
|
"type": "word",
|
||||||
|
"value": 92
|
||||||
|
},
|
||||||
|
"SpecAbilityList": {
|
||||||
|
"type": "list",
|
||||||
|
"value": []
|
||||||
|
},
|
||||||
|
"StartingPackage": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 84
|
||||||
|
},
|
||||||
|
"Str": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 12
|
||||||
|
},
|
||||||
|
"Subrace": {
|
||||||
|
"type": "cexostring",
|
||||||
|
"value": "Giant"
|
||||||
|
},
|
||||||
|
"Tag": {
|
||||||
|
"type": "cexostring",
|
||||||
|
"value": "RA_TROLL002"
|
||||||
|
},
|
||||||
|
"Tail_New": {
|
||||||
|
"type": "dword",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"TemplateList": {
|
||||||
|
"type": "list",
|
||||||
|
"value": []
|
||||||
|
},
|
||||||
|
"TemplateResRef": {
|
||||||
|
"type": "resref",
|
||||||
|
"value": "ra_troll002"
|
||||||
|
},
|
||||||
|
"VarTable": {
|
||||||
|
"type": "list",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Name": {
|
||||||
|
"type": "cexostring",
|
||||||
|
"value": "SET_NAME"
|
||||||
|
},
|
||||||
|
"Type": {
|
||||||
|
"type": "dword",
|
||||||
|
"value": 3
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"type": "cexostring",
|
||||||
|
"value": "Troll"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Name": {
|
||||||
|
"type": "cexostring",
|
||||||
|
"value": "SPAWN_TYPE"
|
||||||
|
},
|
||||||
|
"Type": {
|
||||||
|
"type": "dword",
|
||||||
|
"value": 3
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"type": "cexostring",
|
||||||
|
"value": "no_spn_ftr"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__struct_id": 0,
|
||||||
|
"Name": {
|
||||||
|
"type": "cexostring",
|
||||||
|
"value": "FAST_HEALING"
|
||||||
|
},
|
||||||
|
"Type": {
|
||||||
|
"type": "dword",
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"type": "int",
|
||||||
|
"value": 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"WalkRate": {
|
||||||
|
"type": "int",
|
||||||
|
"value": 7
|
||||||
|
},
|
||||||
|
"willbonus": {
|
||||||
|
"type": "short",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"Wings_New": {
|
||||||
|
"type": "dword",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"Wis": {
|
||||||
|
"type": "byte",
|
||||||
|
"value": 15
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user