// 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.");*/ }