Updated PRC8 version. Hathran can now select an ethran as a cohort. Preliminary Circle Magic work done. Added Choke Hold, Pain Touch, Ki Shout, Great Ki Shout, Freezing the Lifeblood, Falling Star Strikea nd Unbalancing Strike feats. Warforged get Immunity Energy Drain, not Immunity: Ability Drain. Forsakers can use alchemical items. Added VectorToPerpendicular(). Added GetIsAlchemical(). Added GenerateRandomName(). Added _DoChokeHold(). Updated Shaman bonus feat list. Updated fighter bonus feat lists. Added Favored of the Companions to the Vow of Poverty bonus feat list. Ur-Priest can't enter RKV, BFZ or Thrall of Orcus.
74 lines
2.8 KiB
Plaintext
74 lines
2.8 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Summon Cohort
|
|
//:: Cohort
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
Summons a Rashemen Barbarian as a Hathran cohort
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Sir Attilla
|
|
//:: Created On: January 3 , 2004
|
|
//:: Modified By: Stratovarius, bugfixes.
|
|
//:://////////////////////////////////////////////
|
|
#include "inc_persist_loca"
|
|
#include "prc_class_const"
|
|
|
|
void main()
|
|
{
|
|
effect eVis = EffectVisualEffect(VFX_FNF_SUMMON_GATE);
|
|
string sSummon;
|
|
int i = 1;
|
|
object oHench = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, OBJECT_SELF, i);
|
|
|
|
while (GetIsObjectValid(oHench))
|
|
{
|
|
if (GetStringLeft(GetResRef(oHench), 8) == "prc_hath_")
|
|
{
|
|
FloatingTextStringOnCreature("You already have a Rashemi Cohort", OBJECT_SELF, FALSE);
|
|
return;
|
|
}
|
|
i += 1;
|
|
oHench = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, OBJECT_SELF, i);
|
|
}
|
|
|
|
int nClass = GetLevelByClass(CLASS_TYPE_HATHRAN, OBJECT_SELF);
|
|
int nCohortType = GetPersistantLocalInt(OBJECT_SELF, "PRC_HATHRAN_COHORT_TYPE");
|
|
|
|
if(nCohortType == 1) // Ethran
|
|
{
|
|
if (nClass > 27) sSummon = "prc_hath_ethrn10";
|
|
else if (nClass > 24) sSummon = "prc_hath_ethrn09";
|
|
else if (nClass > 21) sSummon = "prc_hath_ethrn08";
|
|
else if (nClass > 18) sSummon = "prc_hath_ethrn07";
|
|
else if (nClass > 15) sSummon = "prc_hath_ethrn06";
|
|
else if (nClass > 12) sSummon = "prc_hath_ethrn05";
|
|
else if (nClass > 9) sSummon = "prc_hath_ethrn04";
|
|
else if (nClass > 6) sSummon = "prc_hath_ethrn03";
|
|
else if (nClass > 3) sSummon = "prc_hath_ethrn02";
|
|
else if (nClass > 0) sSummon = "prc_hath_ethrn01";
|
|
}
|
|
else // Default Rashemi Barbarian
|
|
{
|
|
if (nClass > 27) sSummon = "prc_hath_rash10";
|
|
else if (nClass > 24) sSummon = "prc_hath_rash9";
|
|
else if (nClass > 21) sSummon = "prc_hath_rash8";
|
|
else if (nClass > 18) sSummon = "prc_hath_rash7";
|
|
else if (nClass > 15) sSummon = "prc_hath_rash6";
|
|
else if (nClass > 12) sSummon = "prc_hath_rash5";
|
|
else if (nClass > 9) sSummon = "prc_hath_rash4";
|
|
else if (nClass > 6) sSummon = "prc_hath_rash3";
|
|
else if (nClass > 3) sSummon = "prc_hath_rash2";
|
|
else if (nClass > 0) sSummon = "prc_hath_rash";
|
|
}
|
|
|
|
object oCreature = CreateObject(OBJECT_TYPE_CREATURE, sSummon, GetSpellTargetLocation());
|
|
int nMaxHenchmen = GetMaxHenchmen();
|
|
SetMaxHenchmen(99);
|
|
AddHenchman(OBJECT_SELF, oCreature);
|
|
SetMaxHenchmen(nMaxHenchmen);
|
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, GetSpellTargetLocation());
|
|
}
|
|
|
|
|
|
|