public override string VampireNpcClan() { // %vcn if (parent.LastResourceReferenced == null && !(parent.LastResourceReferenced is Person)) { return(null); } // Use home Place region to determine vampire clan of NPC // Fallback to current region if unable to determine home region of NPC // Also fallback to using generic "vampire" faction name if clan not resolved Person person = (Person)parent.LastResourceReferenced; if (person.FactionData.type == (int)FactionFile.FactionTypes.VampireClan) { int regionIndex = person.HomeRegionIndex; if (regionIndex == -1) { regionIndex = GameManager.Instance.PlayerGPS.CurrentRegionIndex; } VampireClans vampireClan = FormulaHelper.GetVampireClan(regionIndex); if (vampireClan == VampireClans.None) { return(person.FactionData.name); } else { return(TextManager.Instance.GetText("Races", vampireClan.ToString().ToLower())); } } return(null); }
public override void Start(EntityEffectManager manager, DaggerfallEntityBehaviour caster = null) { base.Start(manager, caster); // Create compound vampire race from birth race CreateCompoundRace(); // Get vampire clan from stage one disease // Otherwise start as Lyrezi by default if no infection found // Note: Classic save import will start this effect and set correct clan after load VampirismInfection infection = (VampirismInfection)GameManager.Instance.PlayerEffectManager.FindIncumbentEffect <VampirismInfection>(); if (infection != null) { vampireClan = infection.InfectionVampireClan; } // Considered well fed on first start UpdateSatiation(); // Our dark transformation is complete - cure everything on player (including stage one disease) GameManager.Instance.PlayerEffectManager.CureAll(); // Refresh head texture after effect starts DaggerfallUI.RefreshLargeHUDHeadTexture(); }
public override void RestoreSaveData(object dataIn) { if (dataIn == null) { return; } CustomSaveData_v1 data = (CustomSaveData_v1)dataIn; compoundRace = data.compoundRace; vampireClan = data.vampireClan; lastTimeFed = data.lastTimeFed; hasStartedInitialVampireQuest = data.hasStartedInitialVampireQuest; }