Areas and Fixes
Added CCOH and missing areas Changed some areas to be craftable, Fixed some on death issues, Fixed the Gaurd
This commit is contained in:
101
_module/nss/vamp_lineage.nss
Normal file
101
_module/nss/vamp_lineage.nss
Normal file
@@ -0,0 +1,101 @@
|
||||
// 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.");*/
|
||||
}
|
Reference in New Issue
Block a user