private static void GetAddRate(ref float __result, int key, AgentActor __instance)
 {
     if (key == Desire.GetDesireKey(Desire.Type.Game) && InteractionRate.Value != 0)
     {
         __result = InteractionRate.Value;
     }
 }
Ejemplo n.º 2
0
        private void Complete()
        {
            AgentActor agent = this.Agent;

            agent.Animation.CrossFadeScreen(-1f);
            agent.SetStand(agent.Animation.RecoveryPoint, false, 0.0f, 0);
            agent.Animation.RecoveryPoint = (Transform)null;
            agent.ResetActionFlag();
            if (Object.op_Inequality((Object)agent.CurrentPoint, (Object)null))
            {
                agent.CurrentPoint.SetActiveMapItemObjs(true);
                agent.CurrentPoint.ReleaseSlot((Actor)agent);
                agent.CurrentPoint    = (ActionPoint)null;
                agent.PrevActionPoint = agent.TargetInSightActionPoint;
            }
            agent.TargetInSightActionPoint = (ActionPoint)null;
            agent.SurprisePoseID           = new PoseKeyPair?();
            Desire.Type key;
            if (Desire.ModeTable.TryGetValue(agent.PrevMode, out key))
            {
                int desireKey = Desire.GetDesireKey(key);
                agent.SetDesire(desireKey, 0.0f);
            }
            agent.Animation.ResetDefaultAnimatorController();
            agent.ChaControl.SetClothesStateAll((byte)0);
            agent.ActivateNavMeshAgent();
        }
Ejemplo n.º 3
0
        private void Complete()
        {
            AgentActor agent = this.Agent;

            agent.UpdateStatus(agent.ActionID, agent.PoseID);
            int desireKey = Desire.GetDesireKey(Desire.Type.Sleep);

            agent.SetDesire(desireKey, 0.0f);
            agent.SetStatus(0, 50f);
            agent.HealSickBySleep();
            this.Agent.ActivateNavMeshAgent();
            this.Agent.SetActiveOnEquipedItem(true);
            agent.Animation.EndStates();
            agent.ClearItems();
            agent.ClearParticles();
            if (Object.op_Inequality((Object)agent.CurrentPoint, (Object)null))
            {
                agent.CurrentPoint.SetActiveMapItemObjs(true);
                agent.CurrentPoint.ReleaseSlot((Actor)agent);
                agent.CurrentPoint = (ActionPoint)null;
            }
            agent.EventKey                 = (EventType)0;
            agent.PrevActionPoint          = agent.TargetInSightActionPoint;
            agent.TargetInSightActionPoint = (ActionPoint)null;
        }
        public virtual TaskStatus OnUpdate()
        {
            AgentActor agent = this.Agent;

            if (Object.op_Inequality((Object)agent.TargetInSightActionPoint, (Object)null))
            {
                if (this._checkFollowType)
                {
                    if (agent.TargetInSightActionPoint.AgentDateEventType.Contains(this._eventType))
                    {
                        return((TaskStatus)2);
                    }
                }
                else if (agent.TargetInSightActionPoint.AgentEventType.Contains(this._eventType))
                {
                    return((TaskStatus)2);
                }
            }
            if (Object.op_Equality((Object)this._destination, (Object)null))
            {
                if (this._desireIfNotFound != Desire.Type.None)
                {
                    int desireKey = Desire.GetDesireKey(this._desireIfNotFound);
                    agent.SetDesire(desireKey, 0.0f);
                    agent.ChangeBehavior((Desire.ActionType) this._modeIDIfNotFound);
                }
                return((TaskStatus)1);
            }
            agent.TargetInSightActionPoint = this._destination;
            agent.EventKey             = this._eventType;
            this._destination.Reserver = (Actor)agent;
            return((TaskStatus)2);
        }
Ejemplo n.º 5
0
        private void Complete()
        {
            AgentActor agent = this.Agent;

            agent.UpdateStatus(agent.ActionID, agent.PoseID);
            int desireKey = Desire.GetDesireKey(Desire.Type.Sleep);

            agent.SetDesire(desireKey, 0.0f);
            this.OnCompletedStateTask();
            if (Random.Range(0, 100) < 50)
            {
                agent.ChangeBehavior(Desire.ActionType.EndTaskSecondSleep);
            }
            else
            {
                agent.ActivateNavMeshAgent();
                agent.SetActiveOnEquipedItem(true);
                agent.ClearItems();
                agent.ClearParticles();
                agent.Animation.EndStates();
                agent.ResetActionFlag();
                agent.SetDefaultStateHousingItem();
                if (Object.op_Inequality((Object)agent.CurrentPoint, (Object)null))
                {
                    agent.CurrentPoint.SetActiveMapItemObjs(true);
                    agent.CurrentPoint.ReleaseSlot((Actor)agent);
                    agent.CurrentPoint = (ActionPoint)null;
                }
                agent.EventKey                 = (EventType)0;
                agent.PrevActionPoint          = agent.TargetInSightActionPoint;
                agent.TargetInSightActionPoint = (ActionPoint)null;
                agent.AgentData.YobaiTrigger   = false;
            }
        }
Ejemplo n.º 6
0
        public virtual TaskStatus OnUpdate()
        {
            float num1 = 0.0f;

            Desire.Type type = Desire.WithPlayerDesireTable[0];
            if (this._withPlayer)
            {
                foreach (Desire.Type key in Desire.WithPlayerDesireTable)
                {
                    float num2;
                    if (this.Agent.AgentData.DesireTable.TryGetValue(Desire.GetDesireKey(key), out num2) && (double)num1 < (double)num2)
                    {
                        num1 = num2;
                        type = key;
                    }
                }
            }
            else
            {
                foreach (KeyValuePair <int, float> keyValuePair in this.Agent.AgentData.DesireTable)
                {
                    if ((double)num1 < (double)keyValuePair.Value)
                    {
                        num1 = keyValuePair.Value;
                        type = (Desire.Type)keyValuePair.Key;
                    }
                }
            }
            if (type == Desire.Type.None)
            {
                return((TaskStatus)1);
            }
            return(type == this._desire ? (TaskStatus)2 : (TaskStatus)1);
        }
Ejemplo n.º 7
0
        public virtual TaskStatus OnUpdate()
        {
            AgentActor agent     = this.Agent;
            int        desireKey = Desire.GetDesireKey(this._key);
            float?     desire    = agent.GetDesire(desireKey);

            if (!desire.HasValue)
            {
                return((TaskStatus)1);
            }
            if ((double)desire.Value >= (double)this._migrationBorder)
            {
                float?motivation = agent.GetMotivation(desireKey);
                if (motivation.HasValue)
                {
                    if ((double)motivation.Value >= (double)Singleton <Resources> .Instance.AgentProfile.ActiveMotivationBorder)
                    {
                        return((TaskStatus)2);
                    }
                    agent.SetDesire(desireKey, 0.0f);
                    return((TaskStatus)1);
                }
            }
            return((TaskStatus)1);
        }
Ejemplo n.º 8
0
        public virtual TaskStatus OnUpdate()
        {
            int   desireKey = Desire.GetDesireKey(this._key);
            float num1      = (float)Singleton <Resources> .Instance.GetDesireBorder(desireKey).Item2;

            float?desire = this.Agent.GetDesire(desireKey);

            if (!desire.HasValue)
            {
                return((TaskStatus)1);
            }
            float num2 = Random.Range(0.0f, num1);

            if (!this._compareDowner)
            {
                if (Mathf.Approximately(desire.Value, 0.0f))
                {
                    return((TaskStatus)1);
                }
                return((double)num2 <= (double)desire.Value ? (TaskStatus)2 : (TaskStatus)1);
            }
            if (Mathf.Approximately(desire.Value, num1))
            {
                return((TaskStatus)1);
            }
            return((double)desire.Value <= (double)num2 ? (TaskStatus)2 : (TaskStatus)1);
        }
Ejemplo n.º 9
0
        private void Complete()
        {
            AgentActor agent = this.Agent;

            agent.UpdateStatus(agent.ActionID, agent.PoseID);
            agent.CauseSick();
            int desireKey = Desire.GetDesireKey(Desire.Type.Eat);

            agent.SetDesire(desireKey, 0.0f);
            agent.ApplyFoodParameter(agent.AgentData.CarryingItem);
            agent.AgentData.CarryingItem = (StuffItem)null;
            agent.ActivateNavMeshAgent();
            agent.SetActiveOnEquipedItem(true);
            agent.Animation.EndStates();
            agent.ClearItems();
            agent.ClearParticles();
            agent.ResetActionFlag();
            agent.SetDefaultStateHousingItem();
            if (Object.op_Inequality((Object)agent.CurrentPoint, (Object)null))
            {
                agent.CurrentPoint.SetActiveMapItemObjs(true);
                agent.CurrentPoint.ReleaseSlot((Actor)agent);
                agent.CurrentPoint = (ActionPoint)null;
            }
            agent.EventKey                 = (EventType)0;
            agent.PrevActionPoint          = agent.TargetInSightActionPoint;
            agent.TargetInSightActionPoint = (ActionPoint)null;
        }
Ejemplo n.º 10
0
        private void Complete()
        {
            AgentActor agent = this.Agent;

            agent.Animation.CrossFadeScreen(-1f);
            agent.ActivateNavMeshAgent();
            agent.SetActiveOnEquipedItem(true);
            agent.SetStand(agent.Animation.RecoveryPoint, false, 0.0f, 0);
            agent.Animation.RecoveryPoint = (Transform)null;
            int desireKey = Desire.GetDesireKey(Desire.Type.H);

            agent.SetDesire(desireKey, 0.0f);
            agent.UpdateStatus(agent.ActionID, agent.PoseID);
            agent.ApplySituationResultParameter(31);
            agent.ClearItems();
            agent.ClearParticles();
            agent.ResetActionFlag();
            if (Object.op_Inequality((Object)agent.CurrentPoint, (Object)null))
            {
                agent.CurrentPoint.SetActiveMapItemObjs(true);
                agent.CurrentPoint.ReleaseSlot((Actor)agent);
                agent.CurrentPoint    = (ActionPoint)null;
                agent.PrevActionPoint = agent.TargetInSightActionPoint;
            }
            agent.TargetInSightActionPoint = (ActionPoint)null;
            agent.SurprisePoseID           = new PoseKeyPair?();
            agent.Animation.EndIgnoreEvent();
            agent.Animation.ResetDefaultAnimatorController();
        }
Ejemplo n.º 11
0
        protected override void OnCompletedStateTask()
        {
            AgentActor agent     = this.Agent;
            int        desireKey = Desire.GetDesireKey(Desire.Type.Toilet);

            agent.SetDesire(desireKey, 0.0f);
            agent.SurprisePoseID = new PoseKeyPair?();
        }
Ejemplo n.º 12
0
        public virtual TaskStatus OnUpdate()
        {
            AgentActor agent      = this.Agent;
            int        desireKey  = Desire.GetDesireKey(agent.RequestedDesire);
            float?     motivation = agent.GetMotivation(desireKey);

            return(motivation.HasValue && (double)motivation.Value <= 0.0 ? (TaskStatus)2 : (TaskStatus)1);
        }
Ejemplo n.º 13
0
 public override TaskStatus OnUpdate()
 {
     if (this._continueCookSeq)
     {
         return(base.OnUpdate());
     }
     this.Agent.SetDesire(Desire.GetDesireKey(Desire.Type.Cook), 0.0f);
     return((TaskStatus)2);
 }
Ejemplo n.º 14
0
        public virtual TaskStatus OnUpdate()
        {
            float?motivation = this.Agent.GetMotivation(Desire.GetDesireKey(this._key));

            if (!motivation.HasValue)
            {
                return((TaskStatus)1);
            }
            return((double)motivation.Value >= (double)Singleton <Resources> .Instance.AgentProfile.ActiveMotivationBorder ? (TaskStatus)2 : (TaskStatus)1);
        }
Ejemplo n.º 15
0
        public virtual TaskStatus OnUpdate()
        {
            int desireKey = Desire.GetDesireKey(this.Agent.RuntimeDesire);

            if (desireKey != -1)
            {
                this.Agent.SetDesire(desireKey, 0.0f);
            }
            return((TaskStatus)2);
        }
Ejemplo n.º 16
0
        private void End()
        {
            int desireKey = Desire.GetDesireKey(this.Agent.RuntimeDesire);

            if (desireKey != -1)
            {
                this.Agent.SetDesire(desireKey, 0.0f);
            }
            this.Agent.RuntimeDesire = Desire.Type.None;
            this.ReleaseAnimal();
        }
Ejemplo n.º 17
0
        public virtual TaskStatus OnUpdate()
        {
            int desireKey = Desire.GetDesireKey(this._desireType);

            if (desireKey == -1)
            {
                return((TaskStatus)1);
            }
            float?desire = this.Agent.GetDesire(desireKey);

            return((!desire.HasValue ? 0 : ((double)desire.GetValueOrDefault() < (double)this._boundingValue.get_Value() ? 1 : 0)) != 0 ? (TaskStatus)1 : (TaskStatus)2);
        }
        public virtual TaskStatus OnUpdate()
        {
            AgentActor agent = this.Agent;

            if (Object.op_Inequality((Object)agent.TargetInSightActionPoint, (Object)null))
            {
                if (this._checkFollowType)
                {
                    if (agent.TargetInSightActionPoint.AgentDateEventType.Contains(this._eventType))
                    {
                        return((TaskStatus)2);
                    }
                }
                else if (agent.TargetInSightActionPoint.AgentEventType.Contains(this._eventType))
                {
                    return((TaskStatus)2);
                }
            }
            if (Object.op_Equality((Object)this._destination, (Object)null))
            {
                if (this._changeWarp)
                {
                    agent.ChangeBehavior(Desire.ActionType.SearchWarpPoint);
                    return((TaskStatus)2);
                }
                Actor partner = agent.Partner;
                if (Object.op_Inequality((Object)partner, (Object)null))
                {
                    agent.Partner   = (Actor)null;
                    partner.Partner = (Actor)null;
                    if (partner is AgentActor)
                    {
                        (partner as AgentActor).BehaviorResources.ChangeMode(Desire.ActionType.Normal);
                    }
                    else if (partner is MerchantActor)
                    {
                        MerchantActor merchantActor = partner as MerchantActor;
                        merchantActor.ChangeBehavior(merchantActor.LastNormalMode);
                    }
                }
                if (this._desireIfNotFound != Desire.Type.None)
                {
                    int desireKey = Desire.GetDesireKey(this._desireIfNotFound);
                    agent.SetDesire(desireKey, 0.0f);
                    agent.ChangeBehavior(Desire.ActionType.Normal);
                }
                return((TaskStatus)1);
            }
            agent.TargetInSightActionPoint = this._destination;
            agent.EventKey             = this._eventType;
            this._destination.Reserver = (Actor)agent;
            return((TaskStatus)2);
        }
Ejemplo n.º 19
0
        private void OnComplete2()
        {
            AgentActor agent     = this.Agent;
            Actor      partner   = agent.Partner;
            int        desireKey = Desire.GetDesireKey(Desire.Type.H);

            agent.SetDesire(desireKey, 0.0f);
            if (partner is AgentActor)
            {
                (partner as AgentActor).SetDesire(desireKey, 0.0f);
            }
            agent.UpdateStatus(agent.ActionID, agent.PoseID);
            if (partner is AgentActor)
            {
                (partner as AgentActor).UpdateStatus(partner.ActionID, partner.PoseID);
            }
            if (partner is AgentActor)
            {
                Dictionary <int, int> relationShipTable = this.Agent.AgentData.FriendlyRelationShipTable;
                int num;
                if (!relationShipTable.TryGetValue(partner.ID, out num))
                {
                    num = 50;
                }
                relationShipTable[partner.ID] = Mathf.Clamp(num + 2, 0, 100);
                agent.ApplySituationResultParameter(24);
                (partner as AgentActor).ChangeBehavior(Desire.ActionType.Normal);
            }
            else if (partner is MerchantActor)
            {
                int num1;
                if (!this.Agent.AgentData.FriendlyRelationShipTable.TryGetValue(partner.ID, out num1))
                {
                    num1 = 50;
                }
                int num2;
                if (!Singleton <Resources> .Instance.MerchantProfile.ResultAddFriendlyRelationShipTable.TryGetValue(Merchant.ActionType.HWithAgent, out num2))
                {
                    num2 = 0;
                }
                this.Agent.AgentData.FriendlyRelationShipTable[partner.ID] = Mathf.Clamp(num1 + num2, 0, 100);
                this.Agent.ApplySituationResultParameter(26);
                MerchantActor merchantActor = partner as MerchantActor;
                merchantActor.ChangeBehavior(merchantActor.LastNormalMode);
                if (Object.op_Equality((Object)agent, (Object)merchantActor.CommandPartner))
                {
                    merchantActor.CommandPartner = (Actor)null;
                }
            }
            this.OnReleaseProcessing();
        }
Ejemplo n.º 20
0
        protected override void OnCompletedStateTask()
        {
            this.Agent.SetDesire(Desire.GetDesireKey(Desire.Type.Drink), 0.0f);
            AgentActor agent = this.Agent;

            agent.ApplyDrinkParameter(this._targetItem);
            ItemIDKeyPair coconutDrinkId = Singleton <Resources> .Instance.AgentProfile.CoconutDrinkID;

            if (this._targetItem.CategoryID == coconutDrinkId.categoryID && this._targetItem.ID == coconutDrinkId.itemID)
            {
                agent.SetStatus(0, 50f);
            }
            this._targetItem = (StuffItem)null;
        }
Ejemplo n.º 21
0
        protected override void OnCompletedStateTask()
        {
            AgentActor agent     = this.Agent;
            int        desireKey = Desire.GetDesireKey(Desire.Type.Bath);

            agent.SetDesire(desireKey, 0.0f);
            agent.SurprisePoseID = new PoseKeyPair?();
            if (agent.AgentData.PlayedDressIn)
            {
                return;
            }
            agent.NextPoint         = (ActionPoint)null;
            agent.AgentData.Wetness = 100f;
        }
        public static void HScene_EndProc_Patch()
        {
            inHScene = false;

            if (map != null && mapShouldEnable)
            {
                map.SetActive(true);
                mapShouldEnable = false;
            }

            if (mapSimulation != null && mapSimulationShouldEnable)
            {
                mapSimulation.SetActive(true);
                mapSimulationShouldEnable = false;
            }

            activeUI = false;

            if (!increaseBathDesire.Value || manager != null && manager.bMerchant)
            {
                return;
            }

            var females    = hScene.GetFemales();
            var agentTable = Singleton <Map> .Instance.AgentTable;

            if (females == null || agentTable == null)
            {
                return;
            }

            foreach (var female in females.Where(female => female != null))
            {
                var agent = agentTable.FirstOrDefault(pair => pair.Value != null && pair.Value.ChaControl == female).Value;
                if (agent == null)
                {
                    continue;
                }

                int bathDesireType = Desire.GetDesireKey(Desire.Type.Bath);
                int lewdDesireType = Desire.GetDesireKey(Desire.Type.H);

                float clampedReason = Tools.Remap(agent.GetFlavorSkill(FlavorSkill.Type.Reason), 0, 99999f, 0, 100f);
                float clampedDirty  = Tools.Remap(agent.GetFlavorSkill(FlavorSkill.Type.Dirty), 0, 99999f, 0, 100f);
                float clampedLewd   = agent.GetDesire(lewdDesireType) ?? 0;
                float newBathDesire = 100f + (clampedReason * 1.25f) - clampedDirty - clampedLewd * 1.5f;

                agent.SetDesire(bathDesireType, Mathf.Clamp(newBathDesire, 0f, 100f));
            }
        }
Ejemplo n.º 23
0
        private void Complete()
        {
            AgentActor agent = this.Agent;

            agent.UpdateStatus(agent.ActionID, agent.PoseID);
            int desireKey = Desire.GetDesireKey(Desire.Type.Toilet);

            agent.SetDesire(desireKey, 0.0f);
            agent.ApplySituationResultParameter(29);
            agent.ClearItems();
            agent.ClearParticles();
            agent.ResetActionFlag();
            agent.EventKey = (EventType)0;
        }
Ejemplo n.º 24
0
        protected override void OnCompletedStateTask()
        {
            AgentActor agent     = this.Agent;
            int        desireKey = Desire.GetDesireKey(Desire.Type.Cook);

            agent.SetDesire(desireKey, 0.0f);
            if (this._createItem == null)
            {
                return;
            }
            StuffItemInfo info = Singleton <Resources> .Instance.GameInfo.GetItem(this._createItem.item.CategoryID, this._createItem.item.ID);

            MapUIContainer.AddItemLog((Actor)agent, info, this._createItem.info.CreateSum, false);
            this._createItem = (CraftUI.CreateItem)null;
        }
Ejemplo n.º 25
0
        public virtual TaskStatus OnUpdate()
        {
            if (this.Agent.LivesTalkSequence)
            {
                return((TaskStatus)3);
            }
            int desireKey = Desire.GetDesireKey(this.Agent.RuntimeDesire);

            if (desireKey != -1)
            {
                this.Agent.SetDesire(desireKey, 0.0f);
            }
            this.Agent.RuntimeDesire = Desire.Type.None;
            return((TaskStatus)2);
        }
Ejemplo n.º 26
0
        public virtual TaskStatus OnUpdate()
        {
            AgentActor agent = this.Agent;
            bool       flag1 = agent.ChaControl.fileGameInfo.normalSkill.ContainsValue(28);
            bool       flag2 = (double)agent.AgentData.StatsTable[3] < (double)Singleton <Resources> .Instance.StatusProfile.HealthyPhysicalBorder;

            if (!flag1 || !flag2)
            {
                return((TaskStatus)1);
            }
            int desireKey = Desire.GetDesireKey(Desire.Type.Break);

            agent.SetMotivation(desireKey, agent.AgentData.StatsTable[5]);
            return((TaskStatus)2);
        }
Ejemplo n.º 27
0
        private void Complete()
        {
            AgentActor    agent     = this.Agent;
            AgentActor    partner   = agent.Partner as AgentActor;
            ActorAnimInfo animInfo1 = agent.Animation.AnimInfo;

            if (!animInfo1.outEnableBlend)
            {
                agent.Animation.CrossFadeScreen(-1f);
            }
            agent.SetStand(agent.Animation.RecoveryPoint, animInfo1.endEnableBlend, animInfo1.endBlendSec, animInfo1.directionType);
            agent.Animation.RefsActAnimInfo = true;
            partner.SetStand(partner.Animation.RecoveryPoint, animInfo1.endEnableBlend, animInfo1.endBlendSec, animInfo1.directionType);
            partner.Animation.RefsActAnimInfo = true;
            agent.UpdateStatus(agent.ActionID, agent.PoseID);
            partner.UpdateStatus(partner.ActionID, partner.PoseID);
            agent.CauseSick();
            agent.ApplySituationResultParameter(28);
            partner.ApplySituationResultParameter(28);
            int desireKey1 = Desire.GetDesireKey(Desire.Type.Game);

            agent.SetDesire(desireKey1, 0.0f);
            partner.SetDesire(desireKey1, 0.0f);
            int desireKey2 = Desire.GetDesireKey(Desire.Type.Lonely);

            agent.SetDesire(desireKey2, 0.0f);
            partner.SetDesire(desireKey2, 0.0f);
            agent.ClearItems();
            agent.ClearParticles();
            agent.ResetActionFlag();
            partner.ResetActionFlag();
            agent.SetDefaultStateHousingItem();
            agent.CurrentPoint.SetActiveMapItemObjs(true);
            agent.Partner   = (Actor)null;
            partner.Partner = (Actor)null;
            partner.ActivateNavMeshAgent();
            partner.SetActiveOnEquipedItem(true);
            ActorAnimInfo animInfo2 = partner.Animation.AnimInfo;

            partner.BehaviorResources.ChangeMode(Desire.ActionType.Normal);
            partner.Mode             = Desire.ActionType.Normal;
            agent.TargetInSightActor = (Actor)null;
            agent.CurrentPoint.ReleaseSlot((Actor)this.Agent);
            agent.CurrentPoint             = (ActionPoint)null;
            agent.EventKey                 = (EventType)0;
            agent.PrevActionPoint          = this.Agent.TargetInSightActionPoint;
            agent.TargetInSightActionPoint = (ActionPoint)null;
        }
Ejemplo n.º 28
0
        protected override void OnCompletedStateTask()
        {
            if (this._unchangeParamState)
            {
                return;
            }
            AgentActor agent     = this.Agent;
            int        desireKey = Desire.GetDesireKey(Desire.Type.Break);

            agent.SetDesire(desireKey, 0.0f);
            if (Random.Range(0, 20) >= 1)
            {
                return;
            }
            agent.AgentData.SickState.ID = -1;
        }
Ejemplo n.º 29
0
        private void Complete()
        {
            AgentActor agent     = this.Agent;
            int        desireKey = Desire.GetDesireKey(Desire.Type.Drink);

            agent.SetDesire(desireKey, 0.0f);
            agent.Animation.EndStates();
            agent.UpdateStatus(agent.ActionID, agent.PoseID);
            agent.CauseSick();
            agent.ClearItems();
            agent.ClearParticles();
            agent.ResetActionFlag();
            agent.EventKey = (EventType)0;
            agent.ApplyDrinkParameter(this._targetItem);
            this._targetItem = (StuffItem)null;
        }
Ejemplo n.º 30
0
        private void End()
        {
            int desireKey = Desire.GetDesireKey(this.Agent.RuntimeDesire);

            if (desireKey != -1)
            {
                this.Agent.SetDesire(desireKey, 0.0f);
            }
            this.Agent.RuntimeDesire = Desire.Type.None;
            if (this.animal is IPetAnimal animal)
            {
                AIProject.SaveData.AnimalData animalData = animal.AnimalData;
                if (animalData != null)
                {
                    double num = (double)animalData.AddFavorability(this.Agent.ID, 1f);
                }
            }
            this.ReleaseAnimal();
        }