From 1f1ab2697dda70865d62db910b3e59be2f631f34 Mon Sep 17 00:00:00 2001 From: meng_xi_pan <1903647908@qq.com> Date: Sat, 5 Apr 2025 21:20:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=B8=AArelation?= =?UTF-8?q?=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/moods/moods.py | 2 +- src/plugins/person_info/relationship_manager.py | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/plugins/moods/moods.py b/src/plugins/moods/moods.py index 98fd61952..3d3feadf1 100644 --- a/src/plugins/moods/moods.py +++ b/src/plugins/moods/moods.py @@ -237,7 +237,7 @@ class MoodManager: old_arousal = self.current_mood.arousal old_mood = self.current_mood.text - valence_change *= relationship_manager.gain_coefficient[relationship_manager.positive_feedback_value] + valence_change = relationship_manager.feedback_to_mood(valence_change) # 应用情绪强度 valence_change *= intensity diff --git a/src/plugins/person_info/relationship_manager.py b/src/plugins/person_info/relationship_manager.py index 707dbbe51..9bbcf4e19 100644 --- a/src/plugins/person_info/relationship_manager.py +++ b/src/plugins/person_info/relationship_manager.py @@ -63,7 +63,15 @@ class RelationshipManager: value += value * mood_gain logger.info(f"当前relationship增益系数:{mood_gain:.3f}") return value - + + def feedback_to_mood(self, mood_value): + """对情绪的反馈""" + coefficient = self.gain_coefficient[abs(self.positive_feedback_value)] + if (mood_value > 0 and self.positive_feedback_value > 0 + or mood_value < 0 and self.positive_feedback_value < 0): + return mood_value*coefficient + else: + return mood_value/coefficient async def calculate_update_relationship_value(self, chat_stream: ChatStream, label: str, stance: str) -> None: """计算并变更关系值