Ejemplo n.º 1
0
    private void UpdateMorale()
    {
        int num = 0;

        foreach (KeyValuePair <string, bool> item in MasteryBySkillID)
        {
            if (item.Value)
            {
                Skill skill = Db.Get().Skills.Get(item.Key);
                float value = 0f;
                if (AptitudeBySkillGroup.TryGetValue(new HashedString(skill.skillGroup), out value))
                {
                    num += (int)value;
                }
            }
        }
        AttributeInstance attributeInstance = Db.Get().Attributes.QualityOfLife.Lookup(this);

        if (skillsMoraleModifier != null)
        {
            attributeInstance.Remove(skillsMoraleModifier);
            skillsMoraleModifier = null;
        }
        if (num > 0)
        {
            skillsMoraleModifier = new AttributeModifier(attributeInstance.Id, (float)num, DUPLICANTS.NEEDS.QUALITYOFLIFE.APTITUDE_SKILLS_MOD_NAME, false, false, true);
            attributeInstance.Add(skillsMoraleModifier);
        }
    }
Ejemplo n.º 2
0
    private void UpdateExpectations()
    {
        int num = 0;

        foreach (KeyValuePair <string, bool> item in MasteryBySkillID)
        {
            if (item.Value)
            {
                Skill skill = Db.Get().Skills.Get(item.Key);
                num += skill.tier + 1;
            }
        }
        AttributeInstance attributeInstance = Db.Get().Attributes.QualityOfLifeExpectation.Lookup(this);

        if (skillsMoraleExpectationModifier != null)
        {
            attributeInstance.Remove(skillsMoraleExpectationModifier);
            skillsMoraleExpectationModifier = null;
        }
        if (num > 0)
        {
            skillsMoraleExpectationModifier = new AttributeModifier(attributeInstance.Id, (float)num, DUPLICANTS.NEEDS.QUALITYOFLIFE.EXPECTATION_MOD_NAME, false, false, true);
            attributeInstance.Add(skillsMoraleExpectationModifier);
        }
    }
 protected override void OnPrefabInit()
 {
     base.OnPrefabInit();
     decorProvider = GetComponent <DecorProvider>();
     if (decorModifier == null)
     {
         decorModifier = new AttributeModifier("Decor", 0f, DUPLICANTS.MODIFIERS.CLOTHING.NAME, false, false, false);
     }
     if (conductivityModifier == null)
     {
         AttributeInstance attributeInstance = base.gameObject.GetAttributes().Get("ThermalConductivityBarrier");
         conductivityModifier = new AttributeModifier("ThermalConductivityBarrier", ClothingInfo.BASIC_CLOTHING.conductivityMod, DUPLICANTS.MODIFIERS.CLOTHING.NAME, false, false, false);
         attributeInstance.Add(conductivityModifier);
     }
 }
    protected override void OnPrefabInit()
    {
        primaryElement = GetComponent <PrimaryElement>();
        average_kilowatts_exchanged = new RunningWeightedAverage(-10f, 10f, 20, true);
        surfaceArea         = 1f;
        thickness           = 0.002f;
        groundTransferScale = 0f;
        Attributes        attributes        = base.gameObject.GetAttributes();
        AttributeInstance attributeInstance = attributes.Add(Db.Get().Attributes.ThermalConductivityBarrier);
        AttributeModifier modifier          = new AttributeModifier(Db.Get().Attributes.ThermalConductivityBarrier.Id, thickness, DUPLICANTS.MODIFIERS.BASEDUPLICANT.NAME, false, false, true);

        attributeInstance.Add(modifier);
        averageTemperatureTransferPerSecond = new AttributeModifier("TemperatureDelta", 0f, DUPLICANTS.MODIFIERS.TEMPEXCHANGE.NAME, false, true, false);
        this.GetAttributes().Add(averageTemperatureTransferPerSecond);
        base.OnPrefabInit();
    }