Added CCOH and missing areas Changed some areas to be craftable, Fixed some on death issues, Fixed the Gaurd
102 lines
4.5 KiB
Plaintext
102 lines
4.5 KiB
Plaintext
// Vampire ability to tell another Vampire's lineage (maker)
|
|
// By David Beoulve
|
|
void vamp_lineage(object oPC, object oTarget)
|
|
{
|
|
string Lineage = GetCampaignString("Vampire","Lineage",oTarget);
|
|
string Lineage1 = GetCampaignString("Vampire","Lineage_1",oTarget);
|
|
string Lineage2 = GetCampaignString("Vampire","Lineage_2",oTarget);
|
|
string Lineage3 = GetCampaignString("Vampire","Lineage_3",oTarget);
|
|
string Lineage4 = GetCampaignString("Vampire","Lineage_4",oTarget);
|
|
|
|
PrintString("vamp_lineage: PC=" + GetName(oPC) + "| Target=" + GetName(oTarget));
|
|
PrintString("vamp_lineage: Lineage of Target=" + GetName(oTarget) + " is " + Lineage + ".");
|
|
PrintString("vamp_lineage: L1="+Lineage1+" | L2="+Lineage2+" | L3="+Lineage3+" | L4="+Lineage4+".");
|
|
|
|
if (GetIsObjectValid(oTarget))
|
|
{ // All we know it that it's valid.
|
|
if (GetIsPC(oTarget))
|
|
{ // okay, it's a PC...
|
|
if (GetSubRace(oTarget)=="Vampire")
|
|
{ // It's a Vampire!
|
|
if (Lineage != "")
|
|
{
|
|
SendMessageToPC(oPC, GetName(oTarget) + " was created by the Vampire, " + Lineage + ".");
|
|
if (Lineage1 != "")
|
|
{
|
|
SendMessageToPC(oPC, GetName(oTarget) + "'s maker, "+Lineage+" was created by the Vampire, " + Lineage1 + ".");
|
|
if (Lineage2 != "")
|
|
{
|
|
SendMessageToPC(oPC, Lineage1+" was created by the Vampire, " + Lineage2 + ".");
|
|
if (Lineage3 != "")
|
|
{
|
|
SendMessageToPC(oPC, Lineage2+" was created by the Vampire, " + Lineage3 + ".");
|
|
if (Lineage4 != "")
|
|
{
|
|
SendMessageToPC(oPC, Lineage3+" was created by the Vampire, " + Lineage4 + ".");
|
|
}
|
|
else
|
|
{
|
|
SendMessageToPC(oPC, "You can't determine the maker of "+Lineage3+".");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
SendMessageToPC(oPC, "You can't determine the maker of "+Lineage2+".");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
SendMessageToPC(oPC, "You can't determine the maker of "+Lineage1+".");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
SendMessageToPC(oPC, "You can't determine the maker of "+Lineage+".");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
SendMessageToPC(oPC, "You cannot determine the maker or lineage of " + GetName(oTarget) + ". OOC you should report this to a DM immediately if this is not a DM run character!");
|
|
}
|
|
SendMessageToPC(oPC,GetName(oTarget)+" is the "+IntToString(GetCampaignInt("Vampire","VampLevel",oTarget))+" generation of vampires (OOC: the greater the number, the farther down the ladder they are)");
|
|
}
|
|
else
|
|
{
|
|
SendMessageToPC(oPC, GetName(oTarget) + " is not a Vampire.");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
SendMessageToPC(oPC, "You can not sense anything about " + GetName(oTarget) + ".");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
SendMessageToPC(oPC, "That is not a Vampire. Try sensing the lineage of a Vampire.");
|
|
}
|
|
|
|
/* if (GetIsImmune(oTarget,IMMUNITY_TYPE_DOMINATE)==FALSE)
|
|
{
|
|
// Create and link effects.
|
|
effect eDominated = EffectDominated();
|
|
effect eMind = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DOMINATED);
|
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
|
effect eLink = EffectLinkEffects(eMind, eDominated);
|
|
eLink = EffectLinkEffects(eLink, eDur);
|
|
|
|
// Duration and spell DC
|
|
int iDuration = 12;
|
|
int SpellDC = 10 + (GetHitDice(oPC)/2)+GetAbilityModifier(ABILITY_CHARISMA,oPC);
|
|
|
|
// Make spell save.
|
|
int Save = WillSave(oTarget,SpellDC,SAVING_THROW_TYPE_MIND_SPELLS,oPC);
|
|
// If will save failed.
|
|
if (Save == 0 )
|
|
{
|
|
// Target is dominated.
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget,RoundsToSeconds(iDuration));
|
|
}
|
|
}
|
|
else SendMessageToPC(oPC, "Target is immune to domination.");*/
|
|
}
|