示例#1
0
            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);
            }
示例#2
0
        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;
        }