@@ -1107,127 +1107,152 @@ def process_step(self, all_states_objects_dict, global_metrics, global_env_facto
11071107 'b1_res' : 3.5 , 'b2_lim' : 6.0 , 'y1_cla' : 7.0 , 'y2_dri' : 5.0 , 'y3_asp' : 7.5 ,
11081108 'h1_pos' : 4.0 , 'h2_inn' : 5.5 , 'h3_ris' : 3.0 , 's1_tru' : 4.0 , 's2_rep' : 5.0 },
11091109 ### END ADDED ###
1110+ ### ADDED: 进一步新增的角色 ###
1111+ {'name_zh' : "和平缔造者" , 'name_en' : "Peacemaker" ,
1112+ 'b1_res' : 5.0 , 'b2_lim' : 3.0 , 'y1_cla' : 7.5 , 'y2_dri' : 6.5 , 'y3_asp' : 7.0 ,
1113+ 'h1_pos' : 5.0 , 'h2_inn' : 4.0 , 'h3_ris' : 2.5 , 's1_tru' : 8.5 , 's2_rep' : 7.0 },
1114+
1115+ {'name_zh' : "资源掌控者" , 'name_en' : "ResourceBaron" ,
1116+ 'b1_res' : 8.5 , 'b2_lim' : 5.0 , 'y1_cla' : 7.0 , 'y2_dri' : 9.0 , 'y3_asp' : 7.5 ,
1117+ 'h1_pos' : 5.0 , 'h2_inn' : 6.5 , 'h3_ris' : 7.5 , 's1_tru' : 3.0 , 's2_rep' : 6.0 },
1118+
1119+ {'name_zh' : "传统守护者" , 'name_en' : "GuardianPreserver" , # 区别于保守长者,更强调“守护”特定事物
1120+ 'b1_res' : 6.0 , 'b2_lim' : 2.0 , 'y1_cla' : 8.5 , 'y2_dri' : 5.5 , 'y3_asp' : 5.0 ,
1121+ 'h1_pos' : 2.5 , 'h2_inn' : 1.5 , 'h3_ris' : 1.0 , 's1_tru' : 8.0 , 's2_rep' : 7.0 },
1122+
1123+ {'name_zh' : "边缘艺术家" , 'name_en' : "MarginalArtist" ,
1124+ 'b1_res' : 2.5 , 'b2_lim' : 5.5 , 'y1_cla' : 8.0 , 'y2_dri' : 6.0 , 'y3_asp' : 8.5 ,
1125+ 'h1_pos' : 8.0 , 'h2_inn' : 7.0 , 'h3_ris' : 5.0 , 's1_tru' : 4.5 , 's2_rep' : 3.0 },
1126+ ### END ADDED ###
11101127]
11111128
11121129neighbor_config_gm456 = {
11131130 # 原有角色
1114- "Loner" : ["Opportunist" , "WanderingExplorer" ], # 孤僻者可能只与少数特定类型的人有联系
1115- "CollaborativeLeader" : ["Opportunist" , "DiligentArtisan" , "ConservativeElder" , "VisionaryInnovator" ,
1116- "PragmaticBuilder" ], # 领导者连接广泛的建设性角色
1117- "Opportunist" : ["CollaborativeLeader" , "Loner" , "VisionaryInnovator" , "WanderingExplorer" , "CynicalCritic" ],
1118- # 投机者寻找各种可能性
1119- "DiligentArtisan" : ["CollaborativeLeader" , "PragmaticBuilder" , "ConservativeElder" ], # 工匠与务实和传统角色
1120- "ConservativeElder" : ["CollaborativeLeader" , "DiligentArtisan" , "PragmaticBuilder" ], # 长者与稳定和传统角色
1121-
1122- # 新增角色
1123- "VisionaryInnovator" : ["CollaborativeLeader" , "Opportunist" , "WanderingExplorer" ], # 创新者可能寻求领导者、吸引投机者,或与探索者交流
1124- "WanderingExplorer" : ["Loner" , "Opportunist" , "VisionaryInnovator" , "CynicalCritic" ], # 迷茫者可能与孤僻者、投机者、创新者或批评家有交集
1125- "PragmaticBuilder" : ["CollaborativeLeader" , "DiligentArtisan" , "ConservativeElder" , "VisionaryInnovator" ],
1126- # 建设者与领导者、工匠、长者,也可能与创新者合作将其理念落地
1127- "CynicalCritic" : ["Loner" , "Opportunist" , "WanderingExplorer" ] # 批评家可能与孤僻者、投机者(发现可批评之处)、迷茫者有联系
1131+ "Loner" : ["Opportunist" , "WanderingExplorer" , "CynicalCritic" , "MarginalArtist" ],
1132+ "CollaborativeLeader" : ["Opportunist" , "DiligentArtisan" , "ConservativeElder" , "VisionaryInnovator" , "PragmaticBuilder" , "Peacemaker" ],
1133+ "Opportunist" : ["CollaborativeLeader" , "Loner" , "VisionaryInnovator" , "WanderingExplorer" , "CynicalCritic" , "ResourceBaron" , "MarginalArtist" ],
1134+ "DiligentArtisan" : ["CollaborativeLeader" , "PragmaticBuilder" , "ConservativeElder" , "GuardianPreserver" ],
1135+ "ConservativeElder" : ["CollaborativeLeader" , "DiligentArtisan" , "PragmaticBuilder" , "GuardianPreserver" , "Peacemaker" ],
1136+
1137+ # 第一批新增角色
1138+ "VisionaryInnovator" : ["CollaborativeLeader" , "Opportunist" , "WanderingExplorer" , "PragmaticBuilder" , "MarginalArtist" ],
1139+ "WanderingExplorer" : ["Loner" , "Opportunist" , "VisionaryInnovator" , "CynicalCritic" , "MarginalArtist" ],
1140+ "PragmaticBuilder" : ["CollaborativeLeader" , "DiligentArtisan" , "ConservativeElder" , "VisionaryInnovator" , "Peacemaker" , "ResourceBaron" ],
1141+ "CynicalCritic" : ["Loner" , "Opportunist" , "WanderingExplorer" , "MarginalArtist" ],
1142+
1143+ # 第二批新增角色
1144+ "Peacemaker" : ["CollaborativeLeader" , "ConservativeElder" , "PragmaticBuilder" , "GuardianPreserver" , "WanderingExplorer" ], # 调解者需要广泛联系
1145+ "ResourceBaron" : ["Opportunist" , "PragmaticBuilder" , "CollaborativeLeader" ], # 资源掌控者与能带来利益或需要其资源的角色
1146+ "GuardianPreserver" : ["ConservativeElder" , "DiligentArtisan" , "Peacemaker" ], # 守护者与传统、稳定角色
1147+ "MarginalArtist" : ["Loner" , "VisionaryInnovator" , "WanderingExplorer" , "CynicalCritic" ] # 边缘艺术家的小圈子
11281148}
11291149
11301150### MODIFIED: Enriched event_definitions_gm456 ###
11311151event_definitions_gm456 = [
11321152 # --- 经济与资源类事件 ---
11331153 {'name' : "经济繁荣周期" , 'trigger_type' : "probabilistic" ,
1134- 'trigger_params' : {'prob' : 0.02 , 'env_prob_mod_key' : 'econ_cycle_event_mod' }, # OK
1154+ 'trigger_params' : {'prob' : 0.02 , 'env_prob_mod_key' : 'econ_cycle_event_mod' }, # OK
11351155 'target_selector' : "all" ,
11361156 'effects' : [{'dim' : 'b1_resource' , 'type' : 'multiply_abs' , 'val' : 1.15 , 'rand_range' : 0.05 },
11371157 {'dim' : 'mood' , 'type' : 'add_abs' , 'val' : 0.2 , 'rand_range' : 0.1 }],
11381158 'duration' : 3 , 'chain_event_name' : "投资机会涌现" , 'chain_event_delay' : 1 , 'chain_event_prob' : 0.6 },
11391159
11401160 {'name' : "经济衰退周期" , 'trigger_type' : "probabilistic" ,
1141- 'trigger_params' : {'prob' : 0.025 , 'env_prob_mod_key' : 'econ_cycle_event_mod' }, # OK
1161+ 'trigger_params' : {'prob' : 0.025 , 'env_prob_mod_key' : 'econ_cycle_event_mod' }, # OK
11421162 'target_selector' : "all" ,
11431163 'effects' : [{'dim' : 'b1_resource' , 'type' : 'multiply_abs' , 'val' : 0.85 , 'rand_range' : 0.05 },
11441164 {'dim' : 'mood' , 'type' : 'add_abs' , 'val' : - 0.25 , 'rand_range' : 0.1 },
11451165 {'dim' : 'h1_possibilities' , 'type' : 'multiply_abs' , 'val' : 0.9 , 'rand_range' : 0.05 }],
11461166 'duration' : 4 , 'chain_event_name' : "社会动荡加剧" , 'chain_event_delay' : 2 , 'chain_event_prob' : 0.3 },
11471167
11481168 {'name' : "资源意外发现" , 'trigger_type' : "probabilistic" ,
1149- 'trigger_params' : {'prob' : 0.01 }, # OK
1169+ 'trigger_params' : {'prob' : 0.01 }, # OK
11501170 'target_selector' : {'type' : 'random_n' , 'n' : 2 },
11511171 'effects' : [{'dim' : 'b1_resource' , 'type' : 'add_abs' , 'val' : 2.5 , 'rand_range' : 0.3 },
11521172 {'dim' : 'h1_possibilities' , 'type' : 'add_abs' , 'val' : 1.0 , 'rand_range' : 0.2 }]},
11531173
11541174 # --- 技术与创新类事件 ---
11551175 {'name' : "颠覆性技术突破" , 'trigger_type' : "probabilistic" ,
1156- 'trigger_params' : {'prob' : 0.008 }, # OK
1157- 'target_selector' : {'type' : 'conditional_individual' , 'dim' : 'h2_innovation' , 'op' : '>' , 'val' : 7.0 , 'max_targets' : 1 },
1176+ 'trigger_params' : {'prob' : 0.008 }, # OK
1177+ 'target_selector' : {'type' : 'conditional_individual' , 'dim' : 'h2_innovation' , 'op' : '>' , 'val' : 7.0 ,
1178+ 'max_targets' : 1 },
11581179 'effects' : [{'dim' : 'h2_innovation' , 'type' : 'set_abs' , 'val' : 9.5 },
11591180 {'dim' : 'h1_possibilities' , 'type' : 'add_abs' , 'val' : 2.5 , 'rand_range' : 0.2 },
11601181 {'dim' : 's2_reputation' , 'type' : 'add_abs' , 'val' : 2.0 , 'rand_range' : 0.2 }],
11611182 'one_time' : True , 'chain_event_name' : "行业格局重塑" , 'chain_event_delay' : 3 , 'chain_event_prob' : 0.8 },
11621183
11631184 {'name' : "行业格局重塑" , 'trigger_type' : "none" ,
1164- 'trigger_params' : {}, # OK (added in previous fix)
1185+ 'trigger_params' : {}, # OK (added in previous fix)
11651186 'target_selector' : "all" ,
11661187 'effects' : [{'dim' : 'b2_limitation' , 'type' : 'add_abs' , 'val' : 0.5 , 'rand_range' : 0.3 },
1167- {'dim' : 'h1_possibilities' , 'type' : 'add_abs' , 'val' : 0.5 , 'rand_range' :0.2 }],
1188+ {'dim' : 'h1_possibilities' , 'type' : 'add_abs' , 'val' : 0.5 , 'rand_range' : 0.2 }],
11681189 'duration' : 5 },
11691190
11701191 # --- 社会与认知类事件 ---
11711192 {'name' : "信任重建倡议" , 'trigger_type' : "conditional_global" ,
1172- 'trigger_params' : {'dim' : 'avg_s1_trust' , 'op' : '<' , 'val' : 3.5 , 'source' : 'metrics' }, # OK
1193+ 'trigger_params' : {'dim' : 'avg_s1_trust' , 'op' : '<' , 'val' : 3.5 , 'source' : 'metrics' }, # OK
11731194 'target_selector' : "all" ,
11741195 'effects' : [{'dim' : 's1_trustworthiness' , 'type' : 'add_abs' , 'val' : 0.3 , 'rand_range' : 0.1 },
11751196 {'dim' : 'mood' , 'type' : 'add_abs' , 'val' : 0.1 , 'rand_range' : 0.05 }],
11761197 'duration' : 4 , 'one_time' : True },
11771198
11781199 {'name' : "谣言与误解" , 'trigger_type' : "probabilistic" ,
1179- 'trigger_params' : {'prob' : 0.02 }, # OK
1200+ 'trigger_params' : {'prob' : 0.02 }, # OK
11801201 'target_selector' : {'type' : 'random_n' , 'n' : 3 },
11811202 'effects' : [{'dim' : 's1_trustworthiness' , 'type' : 'add_abs' , 'val' : - 0.8 , 'rand_range' : 0.2 },
11821203 {'dim' : 'perception_accuracy' , 'type' : 'multiply_abs' , 'val' : 0.7 , 'rand_range' : 0.1 }],
11831204 'duration' : 3 , 'chain_event_name' : "信任危机加剧" , 'chain_event_delay' : 1 , 'chain_event_prob' : 0.25 },
11841205
11851206 {'name' : "信任危机加剧" , 'trigger_type' : "none" ,
1186- 'trigger_params' : {}, # OK (added in previous fix)
1207+ 'trigger_params' : {}, # OK (added in previous fix)
11871208 'target_selector' : "all" ,
1188- 'effects' : [{'dim' : 's1_trustworthiness' , 'type' : 'add_abs' , 'val' : - 0.3 , 'rand_range' :0.1 }],
1209+ 'effects' : [{'dim' : 's1_trustworthiness' , 'type' : 'add_abs' , 'val' : - 0.3 , 'rand_range' : 0.1 }],
11891210 'duration' : 2 },
11901211
11911212 {'name' : "外部共同威胁" , 'trigger_type' : "probabilistic" ,
1192- 'trigger_params' : {'prob' : 0.012 }, # OK
1213+ 'trigger_params' : {'prob' : 0.012 }, # OK
11931214 'target_selector' : "all" ,
11941215 'effects' : [{'dim' : 'b2_limitation' , 'type' : 'add_abs' , 'val' : 1.0 , 'rand_range' : 0.2 },
1195- {'dim' : 'mood' , 'type' : 'add_abs' , 'val' : - 0.3 , 'rand_range' :0.1 }],
1216+ {'dim' : 'mood' , 'type' : 'add_abs' , 'val' : - 0.3 , 'rand_range' : 0.1 }],
11961217 'duration' : 5 },
11971218
1198- {'name' : "社会思潮启蒙" , 'trigger_type' : "probabilistic" , # Changed from conditional_individual to simplify trigger
1199- 'trigger_params' : {'prob' : 0.005 }, # OK
1200- 'target_selector' : {'type' : 'conditional_individual' , 'dim' :'y1_clarity' , 'op' :'<' , 'val' :5.0 , 'max_targets' :2 },
1219+ {'name' : "社会思潮启蒙" , 'trigger_type' : "probabilistic" , # Changed from conditional_individual to simplify trigger
1220+ 'trigger_params' : {'prob' : 0.005 }, # OK
1221+ 'target_selector' : {'type' : 'conditional_individual' , 'dim' : 'y1_clarity' , 'op' : '<' , 'val' : 5.0 ,
1222+ 'max_targets' : 2 },
12011223 'effects' : [{'dim' : 'y1_clarity' , 'type' : 'add_abs' , 'val' : 2.0 , 'rand_range' : 0.3 },
1202- {'dim' : 'y3_aspiration' , 'type' : 'add_abs' , 'val' : 1.5 , 'rand_range' :0.2 }],
1224+ {'dim' : 'y3_aspiration' , 'type' : 'add_abs' , 'val' : 1.5 , 'rand_range' : 0.2 }],
12031225 'one_time' : True },
12041226
12051227 # --- 个体特殊机遇/危机 (原有事件的调整或保留) ---
1206- {'name' : "投资机会涌现" , 'trigger_type' : "none" , # Triggered by chain
1207- 'trigger_params' : {}, # OK
1208- 'target_selector' : {'type' : 'conditional_individual' , 'dim' :'h3_risk_appetite' , 'op' :'>' , 'val' :5.0 , 'max_targets' :3 },
1228+ {'name' : "投资机会涌现" , 'trigger_type' : "none" , # Triggered by chain
1229+ 'trigger_params' : {}, # OK
1230+ 'target_selector' : {'type' : 'conditional_individual' , 'dim' : 'h3_risk_appetite' , 'op' : '>' , 'val' : 5.0 ,
1231+ 'max_targets' : 3 },
12091232 'effects' : [{'dim' : 'b1_resource' , 'type' : 'add_abs' , 'val' : 1.0 , 'rand_range' : 0.5 },
12101233 {'dim' : 'h1_possibilities' , 'type' : 'add_abs' , 'val' : 0.5 , 'rand_range' : 0.3 }]},
12111234
1212- {'name' : "社会动荡加剧" , 'trigger_type' : "none" , # Triggered by chain
1213- 'trigger_params' : {}, # OK
1214- 'target_selector' : {'type' : 'conditional_individual' , 'dim' :'s1_trustworthiness' , 'op' :'<' , 'val' :4.0 , 'max_targets' :2 },
1235+ {'name' : "社会动荡加剧" , 'trigger_type' : "none" , # Triggered by chain
1236+ 'trigger_params' : {}, # OK
1237+ 'target_selector' : {'type' : 'conditional_individual' , 'dim' : 's1_trustworthiness' , 'op' : '<' , 'val' : 4.0 ,
1238+ 'max_targets' : 2 },
12151239 'effects' : [{'dim' : 's2_reputation' , 'type' : 'add_abs' , 'val' : - 1.0 , 'rand_range' : 0.3 },
12161240 {'dim' : 'b2_limitation' , 'type' : 'add_abs' , 'val' : 0.7 , 'rand_range' : 0.2 }]},
12171241
12181242 {'name' : "资源枯竭警告" , 'trigger_type' : "conditional_individual" ,
1219- 'trigger_params' : {'dim' : 'b1_resource' , 'op' : '<' , 'val' : 1.0 }, # OK
1220- 'target_selector' : {'type' : 'conditional_individual' , 'dim' : 'b1_resource' , 'op' : '<' , 'val' : 1.0 , 'max_targets' : 3 },
1243+ 'trigger_params' : {'dim' : 'b1_resource' , 'op' : '<' , 'val' : 1.0 }, # OK
1244+ 'target_selector' : {'type' : 'conditional_individual' , 'dim' : 'b1_resource' , 'op' : '<' , 'val' : 1.0 ,
1245+ 'max_targets' : 3 },
12211246 'effects' : [{'dim' : 'b2_limitation' , 'type' : 'add_abs' , 'val' : 0.5 , 'rand_range' : 0.2 },
12221247 {'dim' : 'y2_drive' , 'type' : 'add_abs' , 'val' : - 0.3 , 'rand_range' : 0.1 }],
12231248 'duration' : 2 , 'one_time' : False },
12241249
12251250 {'name' : "极端情绪爆发" , 'trigger_type' : "conditional_individual" ,
1226- 'trigger_params' : {'dim' : 'mood' , 'op' : '<' , 'val' : - 0.85 }, # OK (was fixed)
1251+ 'trigger_params' : {'dim' : 'mood' , 'op' : '<' , 'val' : - 0.85 }, # OK (was fixed)
12271252 'target_selector' : {'type' : 'mood_based' , 'op' : '<' , 'val' : - 0.8 , 'max_targets' : 2 },
1228- 'effects' : [{'dim' : 'h3_risk_appetite' , 'type' : 'add_abs' , 'val' : random .choice ([- 1.0 , 1.5 ]), 'rand_range' :0.3 },
1253+ 'effects' : [{'dim' : 'h3_risk_appetite' , 'type' : 'add_abs' , 'val' : random .choice ([- 1.0 , 1.5 ]), 'rand_range' : 0.3 },
12291254 {'dim' : 'y2_drive' , 'type' : 'multiply_abs' , 'val' : random .choice ([0.7 , 1.3 ])}],
1230- 'one_time' :True }]
1255+ 'one_time' : True }]
12311256
12321257default_evolution_params_gm455_complete = {
12331258 'learning_rate' : 0.05 , 'noise_level' : 0.015 ,
0 commit comments