Exemple #1
0
    private void OnSicknessTrigger(GameObject target, TriggerInfo trigger)
    {
        int      num      = UnityEngine.Random.Range(0, trigger.sickness_ids.Length);
        string   text     = trigger.sickness_ids[num];
        Sickness sickness = null;

        Database.Sicknesses sicknesses = Db.Get().Sicknesses;
        for (int i = 0; i < sicknesses.Count; i++)
        {
            if (sicknesses[i].Id == text)
            {
                sickness = sicknesses[i];
                break;
            }
        }
        if (sickness != null)
        {
            string infection_source_info       = trigger.sourceCallback(base.gameObject, target);
            SicknessExposureInfo exposure_info = new SicknessExposureInfo(sickness.Id, infection_source_info);
            Klei.AI.Sicknesses   sicknesses2   = target.GetComponent <MinionModifiers>().sicknesses;
            sicknesses2.Infect(exposure_info);
        }
        else
        {
            DebugUtil.DevLogErrorFormat(base.gameObject, "Couldn't find sickness with id [{0}]", text);
        }
    }
    public override void Initialize()
    {
        base.Initialize();
        Urges                  = new Urges();
        AssignableSlots        = new AssignableSlots();
        StateMachineCategories = new StateMachineCategories();
        Personalities          = new Personalities();
        Faces                  = new Faces();
        Shirts                 = new Shirts();
        Expressions            = new Expressions(Root);
        Thoughts               = new Thoughts(Root);
        Deaths                 = new Deaths(Root);
        StatusItemCategories   = new StatusItemCategories(Root);
        Techs                  = new Techs(Root);
        Techs.Load(researchTreeFile);
        TechTreeTitles = new TechTreeTitles(Root);
        TechTreeTitles.Load(researchTreeFile);
        TechItems             = new TechItems(Root);
        Accessories           = new Accessories(Root);
        AccessorySlots        = new AccessorySlots(Root, null, null, null);
        ScheduleBlockTypes    = new ScheduleBlockTypes(Root);
        ScheduleGroups        = new ScheduleGroups(Root);
        RoomTypeCategories    = new RoomTypeCategories(Root);
        RoomTypes             = new RoomTypes(Root);
        ArtifactDropRates     = new ArtifactDropRates(Root);
        SpaceDestinationTypes = new SpaceDestinationTypes(Root);
        Diseases            = new Diseases(Root);
        Sicknesses          = new Database.Sicknesses(Root);
        SkillPerks          = new SkillPerks(Root);
        SkillGroups         = new SkillGroups(Root);
        Skills              = new Skills(Root);
        ColonyAchievements  = new ColonyAchievements(Root);
        MiscStatusItems     = new MiscStatusItems(Root);
        CreatureStatusItems = new CreatureStatusItems(Root);
        BuildingStatusItems = new BuildingStatusItems(Root);
        ChoreTypes          = new ChoreTypes(Root);
        Effect effect = new Effect("CenterOfAttention", DUPLICANTS.MODIFIERS.CENTEROFATTENTION.NAME, DUPLICANTS.MODIFIERS.CENTEROFATTENTION.TOOLTIP, 0f, true, true, false, null, 0f, null);

        effect.Add(new AttributeModifier("StressDelta", -0.008333334f, DUPLICANTS.MODIFIERS.CENTEROFATTENTION.NAME, false, false, true));
        effects.Add(effect);
        CollectResources(Root, ResourceTable);
    }