Exemple #1
0
        protected override ITopic[] FetchNextTopics()
        {
            IEntity listener   = this.ConversationEngine.Listener;
            IEntity instigator = this.ConversationEngine.Instigator;
            IEnumerable <IRelationship> relationships =
                this.RelationshipHandler.Get(
                    new[] { instigator.Guid, listener.Guid },
                    new[] { "romantic" });
            int           highestValue       = int.MinValue;
            IRelationship chosenRelationship = null;

            foreach (IRelationship relationship in relationships)
            {
                int value = relationship.GetRelationshipValue(instigator.Guid, listener.Guid);
                if (value > highestValue)
                {
                    highestValue       = value;
                    chosenRelationship = relationship;
                }
            }

            string decision = "";
            bool   bonded   = false;

            if (highestValue > listener.Romance.BondingThreshold && chosenRelationship is null == false)
            {
                decision = "Yes, I will!";
                chosenRelationship.AddTag("bonded");
                bonded = true;
            }