2025/05/27 Early Update
Fixed errant domains showing up as epic bonus feats in several class lists. Allow Lasher's Improved Trip to allow FEATOR entry Vae School. Updated filends. Add ProcessPreparedSpellLevel() by TiredByFirelight. Endure Exposure should allow multiple castings. Updated Bloodclaw Master's Scent ability. Avalanche of Blades should stop after the first miss now.
This commit is contained in:
parent
8a034b0da0
commit
7f50d2f498
@ -82,7 +82,7 @@
|
||||
78 FEAT_EPIC_TOUGHNESS_8 761 1 11 0
|
||||
79 FEAT_EPIC_TOUGHNESS_9 762 1 11 0
|
||||
80 FEAT_EPIC_TOUGHNESS_10 763 1 11 0
|
||||
81 FEAT_EPIC_REFLEXES 4058 1 11 0
|
||||
81 FEAT_EPIC_REFLEXES 585 1 11 0
|
||||
82 FEAT_EPIC_SKILL_FOCUS_RIDE 3038 1 11 0
|
||||
83 FEAT_EPIC_SKILL_FOCUS_JUMP 3040 1 11 0
|
||||
84 FEAT_EPIC_SKILL_FOCUS_SENSE_MOTIVE 3042 1 11 0
|
||||
|
@ -173,7 +173,7 @@
|
||||
169 FocusedSpellPenetrAbj 3135 1 2 0
|
||||
170 FEAT_EPIC_LEADERSHIP 4366 1 2 0
|
||||
171 FEAT_LEGENDARY_COMMANDER 4367 1 2 0
|
||||
172 FEAT_EPIC_PROWESS 4056 1 2 0
|
||||
172 FEAT_EPIC_PROWESS 584 1 2 0
|
||||
173 FEAT_EPIC_REPUTATION 586 1 2 0
|
||||
174 FAST_HEALING_1 4145 1 2 0
|
||||
175 FAST_HEALING_2 4146 1 2 0
|
||||
|
@ -45,7 +45,7 @@
|
||||
41 FEAT_EPIC_SUPERIOR_INITIATIVE 753 1 -1 0
|
||||
42 FEAT_EPIC_PERFECT_HEALTH 747 1 -1 0
|
||||
43 FEAT_Improved_ManyShot 3350 1 -1 0
|
||||
44 FEAT_EPIC_PROWESS 4056 1 -1 0
|
||||
44 FEAT_EPIC_PROWESS 584 1 -1 0
|
||||
45 FAST_HEALING_1 4145 1 -1 0
|
||||
46 FAST_HEALING_2 4146 1 -1 0
|
||||
47 FAST_HEALING_3 4147 1 -1 0
|
||||
|
@ -126,7 +126,7 @@
|
||||
122 FEAT_EPIC_MONK 971 3 21 0
|
||||
123 FEAT_EPIC_BLINDING_SPEED 491 1 -1 1
|
||||
124 LegendaryWrestler 5173 1 -1 0
|
||||
125 FEAT_EPIC_PROWESS 4056 1 -1 0
|
||||
125 FEAT_EPIC_PROWESS 584 1 -1 0
|
||||
126 FAST_HEALING_1 4145 1 -1 0
|
||||
127 FAST_HEALING_2 4146 1 -1 0
|
||||
128 FAST_HEALING_3 4147 1 -1 0
|
||||
|
@ -74,8 +74,8 @@
|
||||
70 FEAT_MANYSHOT 3306 1 -1 1
|
||||
71 FEAT_IMP_MANYSHOT 3350 1 -1 1
|
||||
72 FEAT_LINGERING_DAMAGE 3099 1 -1 0
|
||||
73 FEAT_EPIC_PROWESS 4056 1 -1 0
|
||||
74 FEAT_EPIC_REFLEXES 4058 1 -1 0
|
||||
73 FEAT_EPIC_PROWESS 584 1 -1 0
|
||||
74 FEAT_EPIC_REFLEXES 585 1 -1 0
|
||||
75 FEAT_EPIC_GREAT_DEXTERITY_1 784 1 -1 0
|
||||
76 FEAT_EPIC_GREAT_DEXTERITY_2 785 1 -1 0
|
||||
77 FEAT_EPIC_GREAT_DEXTERITY_3 786 1 -1 0
|
||||
|
@ -250,8 +250,8 @@
|
||||
246 Epic_RebindSoulmeld_Heart 9011 1 -1 1
|
||||
247 Epic_RebindSoulmeld_Soul 9012 1 -1 1
|
||||
248 Epic_RebindSoulmeld_Totem 9013 1 -1 1
|
||||
249 FEAT_EPIC_PROWESS 4056 1 -1 0
|
||||
250 FEAT_EPIC_REFLEXES 4058 1 -1 0
|
||||
249 FEAT_EPIC_PROWESS 584 1 -1 0
|
||||
250 FEAT_EPIC_REFLEXES 585 1 -1 0
|
||||
251 FEAT_EPIC_ENERGY_RESISTANCE_COLD_1 533 1 -1 0
|
||||
252 FEAT_EPIC_ENERGY_RESISTANCE_COLD_2 534 1 -1 0
|
||||
253 FEAT_EPIC_ENERGY_RESISTANCE_COLD_3 535 1 -1 0
|
||||
|
@ -110,7 +110,7 @@
|
||||
106 FEAT_EPIC_BLINDING_SPEED 491 1 -1 1
|
||||
107 FEAT_EPIC_SUPERIOR_INITIATIVE 753 1 -1 0
|
||||
108 FEAT_EPIC_DODGE 856 1 -1 0
|
||||
109 FEAT_EPIC_PROWESS 4056 1 -1 0
|
||||
109 FEAT_EPIC_PROWESS 584 1 -1 0
|
||||
110 FAST_HEALING_1 4145 1 -1 0
|
||||
111 FAST_HEALING_2 4146 1 -1 0
|
||||
112 FAST_HEALING_3 4147 1 -1 0
|
||||
|
@ -91,8 +91,8 @@
|
||||
87 FEAT_EPIC_SKILL_FOCUS_BLUFF 917 1 -1 0
|
||||
88 FEAT_EPIC_SKILL_FOCUS_INTIMIDATE 918 1 -1 0
|
||||
89 FEAT_LINGERING_DAMAGE 3099 1 -1 0
|
||||
90 FEAT_EPIC_PROWESS 4056 1 -1 0
|
||||
91 FEAT_EPIC_REFLEXES 4058 1 -1 0
|
||||
90 FEAT_EPIC_PROWESS 584 1 -1 0
|
||||
91 FEAT_EPIC_REFLEXES 585 1 -1 0
|
||||
92 FEAT_EPIC_SKILL_FOCUS_RIDE 3038 1 -1 0
|
||||
93 FEAT_EPIC_SKILL_FOCUS_JUMP 3040 1 -1 0
|
||||
94 FEAT_EPIC_SKILL_FOCUS_SENSE_MOTIVE 3042 1 -1 0
|
||||
|
@ -46,4 +46,20 @@
|
||||
42 ImpCrit_Whip FEATOR 995 ****
|
||||
43 ImpCrit_Mindblade FEATOR 3614 ****
|
||||
44 ImpCrit_Trident FEATOR 1074 ****
|
||||
45 ScriptVar VAR PRC_AllowLgDr 0
|
||||
45 IMP_CRIT_LIGHT_LANCE FEATOR 24649 0
|
||||
46 IMP_CRIT_HEAVY_PICK FEATOR 24650 0
|
||||
47 IMP_CRIT_LIGHT_PICK FEATOR 24651 0
|
||||
48 IMP_CRIT_SAI FEATOR 24652 0
|
||||
49 IMP_CRIT_NUNCHAKU FEATOR 24653 0
|
||||
50 IMP_CRIT_FALCHION FEATOR 24654 0
|
||||
51 IMP_CRIT_SAP FEATOR 24655 0
|
||||
52 IMP_CRIT_KATAR FEATOR 24656 0
|
||||
53 IMP_CRIT_HEAVY_MACE FEATOR 24657 0
|
||||
54 IMP_CRIT_MAUL FEATOR 24658 0
|
||||
55 IMP_CRIT_DBL_SCIMITAR FEATOR 24659 0
|
||||
56 IMP_CRIT_GOAD FEATOR 24660 0
|
||||
57 IMP_CRIT_ELVEN_LIGHTBLADE FEATOR 24701 0
|
||||
58 IMP_CRIT_ELVEN_COURTBLADE FEATOR 24717 0
|
||||
59 IMP_CRIT_EAGLE_CLAW FEATOR 24725 0
|
||||
60 IMP_CRIT_ELVEN_THINBLADE FEATOR 24709 0
|
||||
61 ScriptVar VAR PRC_AllowLgDr 0
|
||||
|
@ -5286,7 +5286,7 @@
|
||||
5282 ProfaneAgony 16834997 16834998 ife_prfnlflch **** **** **** **** **** **** **** **** 294 **** 0 0 1 **** **** 3792 **** 0.5 -1 **** **** 310 313 **** **** **** **** **** **** **** FEAT_SMITE_UNDEAD 6 1 **** **** **** **** 0 1
|
||||
5283 DivineIntercession 16834995 16834996 ife_telep_manag **** **** **** **** **** **** **** **** 294 **** 0 0 1 **** **** 3791 **** 0.5 -1 **** **** 324 323 **** **** **** **** **** **** **** FEAT_SMITE_UNDEAD 6 1 **** **** **** **** 0 1
|
||||
5284 InlindlSchool 16834993 16834994 ife_X2DCrtWhip **** **** **** 13 **** **** **** **** 389 42 **** **** 1 **** **** 2723 **** **** -1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_INLINDL_SCHOOL 2 **** **** **** **** **** 0 0
|
||||
5285 VaeSchool 16834991 16834992 ife_X2WpCh 7 **** **** **** **** **** **** **** 2807 993 **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNAP_KICK **** **** **** **** **** **** **** 0
|
||||
5285 VaeSchool 16834991 16834992 ife_X2WpCh 7 **** **** **** **** **** **** **** 993 **** **** **** 1 **** **** **** **** **** **** **** **** 2807 4079 **** **** **** **** **** **** **** FEAT_SNAP_KICK **** **** **** **** **** **** **** 0
|
||||
5286 ThreeMountains 16834989 16834990 ife_X2DiviWrth **** 13 **** **** **** **** **** **** 2806 6 **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNAP_KICK **** **** **** **** **** **** **** 0
|
||||
5287 SpinningHalberd 16834987 16834988 ife_X2CritDHalb **** **** **** **** **** **** **** **** 112 **** 0 0 1 **** **** 2724 **** 0.5 -1 **** **** 41 374 **** **** **** **** **** **** **** FEAT_SMITE_UNDEAD 6 1 **** **** **** **** 0 1
|
||||
5288 HighSwordLowAxe 16834985 16834986 ife_wepspec_Dax **** **** **** **** **** **** **** **** 2807 41 0 0 1 **** **** 2793 **** 0.5 -1 **** **** **** **** **** **** **** **** **** **** **** FEAT_SMITE_UNDEAD 6 1 **** **** **** **** 0 1
|
||||
|
@ -6,19 +6,19 @@
|
||||
2 gender 2
|
||||
3 portraits 1100
|
||||
4 skills 50
|
||||
5 cls_feat_* 600
|
||||
5 cls_feat_* 3090
|
||||
6 cls_skill_* 50
|
||||
7 cls_psipw_* 180
|
||||
8 feat 26001
|
||||
9 cls_pres_* 25
|
||||
8 feat 26500
|
||||
9 cls_pres_* 70
|
||||
10 hen_familiar 20
|
||||
11 hen_companion 30
|
||||
12 domains 70
|
||||
13 soundset 450
|
||||
14 spells 19400
|
||||
14 spells 20000
|
||||
15 appearance 500
|
||||
16 wingmodel 10
|
||||
17 tailmodel 10
|
||||
18 race_feat_* 30
|
||||
18 race_feat_* 70
|
||||
19 ireq_* 50
|
||||
20 item_to_ireq 700
|
||||
|
@ -86,6 +86,7 @@ void CheckNewSpellbooks(object oPC);
|
||||
void NewSpellbookSpell(int nClass, int nSpellbookType, int nMetamagic = METAMAGIC_NONE, int bInstantSpell = FALSE);
|
||||
void CastSpontaneousSpell(int nClass, int bInstantSpell = FALSE);
|
||||
void CastPreparedSpell(int nClass, int nMetamagic = METAMAGIC_NONE, int bInstantSpell = FALSE);
|
||||
void ProcessPreparedSpellLevel(object oPC, int nClass, int nSpellLevel, int nLevel, int nAbility, string sClass, string sFile, string sArrayName, int nSpellbookType, object oSkin);
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
/* Constants */
|
||||
@ -859,8 +860,41 @@ void SetupSpells(object oPC, int nClass)
|
||||
|
||||
// For spontaneous spellbooks, set up an array that tells how many spells of each level they can cast
|
||||
// And add casting feats for each spell known to the caster's hide
|
||||
if(nSpellbookType == SPELLBOOK_TYPE_SPONTANEOUS) //:: Fixed by TiredByFirelight
|
||||
{
|
||||
// Spell slots
|
||||
int nSpellLevel, nSlots;
|
||||
for(nSpellLevel = 0; nSpellLevel <= 9; nSpellLevel++)
|
||||
{
|
||||
nSlots = GetSlotCount(nLevel, nSpellLevel, nAbility, nClass, oPC);
|
||||
persistant_array_set_int(oPC, sArrayName, nSpellLevel, nSlots);
|
||||
}
|
||||
|
||||
if(nSpellbookType == SPELLBOOK_TYPE_SPONTANEOUS)
|
||||
int i;
|
||||
for(i = 0; i < persistant_array_get_size(oPC, "Spellbook" + sClass); i++)
|
||||
{ //adding feats
|
||||
SpontaneousSpellSetupLoop(oPC, nClass, sFile, oSkin, i);
|
||||
}
|
||||
}// end if - Spontaneous spellbook
|
||||
|
||||
// For prepared spellbooks, add spell uses and use feats according to spells memorised list
|
||||
else if(nSpellbookType == SPELLBOOK_TYPE_PREPARED && !GetIsBioSpellCastClass(nClass))
|
||||
{
|
||||
int nSpellLevel, nSlot, nSlots, nSpellbookID;
|
||||
string sArrayName2, sIDX;
|
||||
|
||||
// clearing existing spells
|
||||
persistant_array_delete(oPC, sArrayName);
|
||||
|
||||
for(nSpellLevel = 0; nSpellLevel <= 9; nSpellLevel++)
|
||||
{
|
||||
//Delay of 0.01, to ensure it runs after persistant_array_delete() which is a lot of 0.0 delay commands, but before other spellbook stuff
|
||||
DelayCommand(0.01, ProcessPreparedSpellLevel(oPC, nClass, nSpellLevel, nLevel, nAbility, sClass, sFile, sArrayName, nSpellbookType, oSkin));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* if(nSpellbookType == SPELLBOOK_TYPE_SPONTANEOUS)
|
||||
{
|
||||
// Spell slots
|
||||
int nSpellLevel, nSlots;
|
||||
@ -910,7 +944,27 @@ void SetupSpells(object oPC, int nClass)
|
||||
}
|
||||
}
|
||||
}
|
||||
} */
|
||||
|
||||
void ProcessPreparedSpellLevel(object oPC, int nClass, int nSpellLevel, int nLevel, int nAbility, string sClass, string sFile, string sArrayName, int nSpellbookType, object oSkin)
|
||||
{
|
||||
string sArrayName2 = "Spellbook" + IntToString(nSpellLevel) + "_" + sClass;
|
||||
string sIDX = "SpellbookIDX" + IntToString(nSpellLevel) + "_" + sClass;
|
||||
int nSlots = GetSlotCount(nLevel, nSpellLevel, nAbility, nClass, oPC);
|
||||
int nSlot;
|
||||
for(nSlot = 0; nSlot < nSlots; nSlot++)
|
||||
{
|
||||
int nSpellbookID = persistant_array_get_int(oPC, sArrayName2, nSlot);
|
||||
if(nSpellbookID != 0)
|
||||
{
|
||||
AddSpellUse(oPC, nSpellbookID, nClass, sFile, sArrayName, nSpellbookType, oSkin,
|
||||
StringToInt(Get2DACache(sFile, "FeatID", nSpellbookID)),
|
||||
StringToInt(Get2DACache(sFile, "IPFeatID", nSpellbookID)),
|
||||
sIDX);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CheckAndRemoveFeat(object oHide, itemproperty ipFeat)
|
||||
{
|
||||
|
@ -26,6 +26,63 @@ void main()
|
||||
{
|
||||
if (!PreInvocationCastCode()) return;
|
||||
|
||||
object oCaster = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
int nCasterLevel = GetInvokerLevel(oCaster, GetInvokingClass());
|
||||
int bValid = FALSE;
|
||||
int nBPIndex = 0;
|
||||
int nBPTIndex = 0;
|
||||
|
||||
int bValidTarget = FALSE;
|
||||
int bValidCaster = FALSE;
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_ELEMENTAL_PROTECTION);
|
||||
|
||||
//Add to array on target of breaths they're protected from
|
||||
|
||||
if(!array_exists(oTarget, "BreathProtected"))
|
||||
array_create(oTarget, "BreathProtected");
|
||||
|
||||
while(!bValidTarget)
|
||||
{
|
||||
if(array_get_object(oTarget, "BreathProtected", nBPIndex) == OBJECT_INVALID)
|
||||
{
|
||||
array_set_object(oTarget, "BreathProtected", nBPIndex, oCaster);
|
||||
bValidTarget = TRUE;
|
||||
}
|
||||
else
|
||||
nBPIndex++;
|
||||
}
|
||||
|
||||
if(!array_exists(oCaster, "BreathProtectTargets"))
|
||||
array_create(oCaster, "BreathProtectTargets");
|
||||
|
||||
while(!bValidCaster)
|
||||
{
|
||||
if(array_get_object(oCaster, "BreathProtectTargets", nBPTIndex) == OBJECT_INVALID)
|
||||
{
|
||||
array_set_object(oCaster, "BreathProtectTargets", nBPTIndex, oTarget);
|
||||
if(DEBUG) DoDebug("Storing target: " + GetName(oTarget));
|
||||
bValidCaster = TRUE;
|
||||
}
|
||||
else
|
||||
nBPTIndex++;
|
||||
}
|
||||
|
||||
//add to array on caster of targets protected by their spell for resting cleanup
|
||||
|
||||
if(!array_exists(oCaster, "BreathProtectTargets"))
|
||||
array_create(oCaster, "BreathProtectTargets");
|
||||
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
DispelMonitor(oCaster, oTarget, INVOKE_ENDURE_EXPOSURE);
|
||||
}
|
||||
|
||||
|
||||
/* void main()
|
||||
{
|
||||
if (!PreInvocationCastCode()) return;
|
||||
|
||||
object oCaster = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
int nCasterLevel = GetInvokerLevel(oCaster, GetInvokingClass());
|
||||
@ -73,6 +130,7 @@ void main()
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
DispelMonitor(oCaster, oTarget, INVOKE_ENDURE_EXPOSURE);
|
||||
}
|
||||
*/
|
||||
|
||||
void DispelMonitor(object oCaster, object oTarget, int nSpellID)
|
||||
{
|
||||
|
@ -56,6 +56,28 @@ void RendingClaws(object oInitiator, object oTarget)
|
||||
}
|
||||
|
||||
void Scent(object oInitiator)
|
||||
{
|
||||
effect eTest = GetFirstEffect(oInitiator);
|
||||
while (GetIsEffectValid(eTest))
|
||||
{
|
||||
if (GetEffectTag(eTest) == "BCM_SCENT_ACTIVE")
|
||||
return;
|
||||
eTest = GetNextEffect(oInitiator);
|
||||
}
|
||||
|
||||
effect eLink;
|
||||
effect eScent;
|
||||
|
||||
eScent = EffectLinkEffects(EffectSkillIncrease(SKILL_SPOT, 4), EffectSkillIncrease(SKILL_LISTEN, 4));
|
||||
eLink = EffectLinkEffects(eScent, EffectSkillIncrease(SKILL_SEARCH, 4));
|
||||
eLink = EffectLinkEffects(eLink, EffectBonusFeat(FEAT_KEEN_SENSE));
|
||||
eLink = TagEffect(eLink, "BCM_SCENT_ACTIVE");
|
||||
eLink = UnyieldingEffect(eLink);
|
||||
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oInitiator);
|
||||
}
|
||||
|
||||
/* void Scent(object oInitiator)
|
||||
{
|
||||
object oSkin = GetPCSkin(oInitiator);
|
||||
|
||||
@ -65,7 +87,7 @@ void Scent(object oInitiator)
|
||||
IPSafeAddItemProperty(oSkin, ItemPropertyBonusFeat(IP_CONST_FEAT_KEEN_SENSES), 0.0f, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
||||
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eScent, oInitiator);
|
||||
}
|
||||
} */
|
||||
|
||||
void main()
|
||||
{
|
||||
|
@ -57,6 +57,32 @@ void main()
|
||||
}
|
||||
|
||||
void Owieowieowowow(object oInitiator, object oTarget, int nHit, int nPenalty)
|
||||
{
|
||||
if (GetLocalInt(oInitiator, "SupernalAttack")) nPenalty += 1;
|
||||
|
||||
if (nHit == 1)
|
||||
{
|
||||
effect eNone;
|
||||
PerformAttack(oTarget, oInitiator, eNone, 0.0, nPenalty, 0, 0, "Avalanche of Blades Hit", "Avalanche of Blades Miss");
|
||||
|
||||
// Check result of attack
|
||||
if (GetLocalInt(oTarget, "PRCCombat_StruckByAttack"))
|
||||
{
|
||||
nPenalty -= 4;
|
||||
if (GetLocalInt(oInitiator, "SupernalAttack")) nPenalty -= 1;
|
||||
|
||||
// Continue the loop only on hit
|
||||
DelayCommand(0.1, Owieowieowowow(oInitiator, oTarget, 1, nPenalty));
|
||||
|
||||
DelayCommand(3.0, DeleteLocalInt(oTarget, "PRCCombat_StruckByAttack"));
|
||||
}
|
||||
// No else block: if the attack missed, don't queue another call
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* void Owieowieowowow(object oInitiator, object oTarget, int nHit, int nPenalty)
|
||||
{
|
||||
if (GetLocalInt(oInitiator, "SupernalAttack")) nPenalty += 1;
|
||||
if(nHit == 1)
|
||||
@ -74,4 +100,4 @@ void Owieowieowowow(object oInitiator, object oTarget, int nHit, int nPenalty)
|
||||
//Again! Again!
|
||||
DelayCommand(0.1, Owieowieowowow(oInitiator, oTarget, nHit, nPenalty));
|
||||
}
|
||||
}
|
||||
} */
|
Binary file not shown.
@ -25418,7 +25418,7 @@ Use: Automatic.</entry>
|
||||
<entry id="50432" lang="en" sex="m">Aura of Menace</entry>
|
||||
<entry id="50433" lang="en" sex="m">Type of Feat: Racial
|
||||
Prerequisite: Race-Specific.
|
||||
Specifics: The creature has a righteous aura around it. Any creature that fails its will save(DC:16+Cha) is shaken.
|
||||
Specifics: The creature has a righteous aura around it. Any creature that fails its will save is shaken. THe DC of the will save is calculated as follows: 10 (Base) + 2 (Racial Bonus) + 3 (1/2 Outsider HD) + Charisma bonus.
|
||||
Use: Selected.</entry>
|
||||
<entry id="50434" lang="en" sex="m">Hound Archon Aid</entry>
|
||||
<entry id="50435" lang="en" sex="m">Hound Archon Detect Evil</entry>
|
||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user