- 好友
- 3
- 在线时间
- 27 小时
- 最后登录
- 2025-10-9
贵族[MOD作者]
  
- UID
- 3048044
- 第纳尔
- 2249
- 精华
- 0
- 互助
- 21
- 荣誉
- 3
- 贡献
- 20
- 魅力
- 516
- 注册时间
- 2018-12-15
 鲜花( 44)  鸡蛋( 0)
|
本帖最后由 黑暗路西法 于 2025-10-8 23:17 编辑
大家好啊,我是宇宙人,今天来点大家想看的东西
下面首先来解析一下领主收入的触发器结构并给出修改建议
先说重点,在原版战团中,控制所有npc收入的触发器位于simple trigger中的以下脚本:
#Adding net incomes to heroes (once a week) 顾名思义,每周结算一次领主的收入
#Increasing debts to heroes by 1% (once a week) 玩家如果欠领主钱,领主每周算账的时候会滚1%的利息(一年滚62%,高利贷属于是)
#Adding net incomes to centers (once a week) 计算每个城镇和城堡的税收与守军支出(是的孩子们,守军规模大一点的情况下屁用没有,就和士气系统一样,建议写新的)
(24*7,
[
(try_for_range, ":troop_no", active_npcs_begin, active_npcs_end),
(troop_get_slot, ":cur_debt", ":troop_no", slot_troop_player_debt),#Increasing debt 玩家欠领主钱的情况下利滚利1%,设置slot,如果想搞借钱操作也可以利用这个slot
(val_mul, ":cur_debt", 101),
(val_div, ":cur_debt", 100),
(troop_set_slot, ":troop_no", slot_troop_player_debt, ":cur_debt"),
(call_script, "script_calculate_hero_weekly_net_income_and_add_to_wealth", ":troop_no"),#Adding net income 通过这个脚本计算领主的每周收入,下面会进行详细解析
(try_end),
(try_for_range, ":center_no", walled_centers_begin, walled_centers_end),
#If non-player center, adding income to wealth 计算非玩家npc的工资
(neg|party_slot_eq, ":center_no", slot_town_lord, "trp_player"), #center does not belong to player. 不属于玩家的情况下进行计算
(party_slot_ge, ":center_no", slot_town_lord, 1), #center belongs to someone. 据点有归属(刚攻下无归属情况下为-1)
(party_get_slot, ":cur_wealth", ":center_no", slot_town_wealth), #计算据点财富,这个值在原版中使用的场景并不多,只有招募守军和在这里计算守军工资的情况下会用到,开局分别为2000/4000(城堡和城镇,在script搜索这个slot可以看到),和真正累计税收关税的slot_center_accumulated_tariffs、slot_center_accumulated_rents完全不是一个东西,可以考虑为npc拓展使用
(party_get_slot, ":prosperity", ":center_no", slot_town_prosperity),#计算据点繁荣度
(store_mul, ":added_wealth", ":prosperity", 15),#额外增加的"财富"为城镇繁荣度的15倍,即最多1500块
(val_add, ":added_wealth", 700),#+700,最高2200块,修改这两个参数会直接影响城镇守军募兵
(try_begin),
(party_slot_eq, ":center_no", slot_party_type, spt_town),#如果是城镇的话,翻1.5倍
(val_mul, ":added_wealth", 3),
(val_div, ":added_wealth", 2),
(try_end),
(val_add, ":cur_wealth", ":added_wealth"),#获取wealth,增加每周额外新增的wealth
(call_script, "script_calculate_weekly_party_wage", ":center_no"),#计算简易版本的兵种工资,这个兵种工资可以理解为简化版本的玩家部队兵种工资,它调用的脚本是npc_get_troop_wage,具体算法和玩家用的game_get_troop_wage对比一下就能看出来,是不会计算雇佣兵/统御工资减免一类的东西的(是的,所以你分封npc的情况下统御不会影响npc的兵种工资,加强领主的情况下加强统御也不会影响他付的工资)
(val_sub, ":cur_wealth", reg0),#减去城镇工资,不会累积债务,wealth最低为0
(val_max, ":cur_wealth", 0),
(party_set_slot, ":center_no", slot_town_wealth, ":cur_wealth"),#重新设置
(try_end),
]),
#Hiring men with hero wealths (once a day) 顾名思义,每天计算一次领主募兵和城镇募兵
#Hiring men with center wealths (once a day) 省流版→征兵系统详解 - MOD制作技术区 - 骑马与砍杀中文站论坛 - Powered by Discuz!
(24,
[
(try_for_range, ":troop_no", active_npcs_begin, active_npcs_end), ##循环所有active npc,如果你想控制其他部队募兵可以考虑拓宽范围,在这里更改募兵轮数,修改触发时间也会改变这个机制
(troop_slot_eq, ":troop_no", slot_troop_occupation, slto_kingdom_hero),
(troop_get_slot, ":party_no", ":troop_no", slot_troop_leaded_party),##获取该npc领导的部队,制造领主的npc跟班部队时如果想模仿原版战团的领主机制可以修改这里
(ge, ":party_no", 1),##部队存在
(party_is_active, ":party_no"),
(party_get_attached_to, ":cur_attached_party", ":party_no"),##如果部队正在任何一个部队里(也就是说理论上来说村庄里也满足判定)
(is_between, ":cur_attached_party", centers_begin, centers_end),
(party_slot_eq, ":cur_attached_party", slot_center_is_besieged_by, -1), #center not under siege 没有被包围
(store_faction_of_party, ":party_faction", ":party_no"),##喜闻乐见的控制玩家阵营做平衡,如果是玩家阵营/玩家所在国,招募轮数默认为1~2
(try_begin),
(this_or_next|eq, ":party_faction", "fac_player_supporters_faction"),
(eq, ":party_faction", "$players_kingdom"),
(assign, ":num_hiring_rounds", 1),
(store_random_in_range, ":random_value", 0, 2),
(val_add, ":num_hiring_rounds", ":random_value"),
(else_try),
(game_get_reduce_campaign_ai, ":reduce_campaign_ai"),##不是玩家阵营的情况下,从难到简单,分别为2/1~2/1
(try_begin),
(eq, ":reduce_campaign_ai", 0), #hard (2x reinforcing)
(assign, ":num_hiring_rounds", 2),
(else_try),
(eq, ":reduce_campaign_ai", 1), #medium (1x or 2x reinforcing)
(assign, ":num_hiring_rounds", 1),
(store_random_in_range, ":random_value", 0, 2),
(val_add, ":num_hiring_rounds", ":random_value"),
(else_try),
(eq, ":reduce_campaign_ai", 2), #easy (1x reinforcing)
(assign, ":num_hiring_rounds", 1),
(try_end),
(try_end),
(try_begin),
(faction_slot_eq, ":party_faction", slot_faction_marshall, ":troop_no"),##元帅额外一次
(val_add, ":num_hiring_rounds", 1),
(try_end),
(try_for_range, ":unused", 0, ":num_hiring_rounds"), ##根据轮数跑募兵脚本,不在本期解析内容内故跳过
(call_script, "script_hire_men_to_kingdom_hero_party", ":troop_no"), #Hiring men with current wealth
(try_end),
(try_end),
(try_for_range, ":center_no", walled_centers_begin, walled_centers_end),##征召守军
(neg|party_slot_eq, ":center_no", slot_town_lord, "trp_player"), #center does not belong to player. 领地不属于玩家
(party_slot_ge, ":center_no", slot_town_lord, 1), #center belongs to someone. 领地有领主
(party_slot_eq, ":center_no", slot_center_is_besieged_by, -1), #center not under siege 没有被围城
(store_faction_of_party, ":center_faction", ":center_no"),
(try_begin), ##募兵消耗计算,这几个常量的修改在constant里定义,默认情况下为:低档:300;中档:450;高档:600
(this_or_next|eq, ":center_faction", "fac_player_supporters_faction"),
(eq, ":center_faction", "$players_kingdom"),
(assign, ":reinforcement_cost", reinforcement_cost_moderate),#玩家阵营默认中档
##玩家阵营差分没刷新round,所以如果是town1直接读取上个幸运领主的round,不是town1读取战略难度的round,至于为什么测不出来这个bug,因为游戏里根本看不出来
(else_try),
(game_get_reduce_campaign_ai, ":reduce_campaign_ai"),#如果是其他阵营的情况下
(assign, ":reinforcement_cost", reinforcement_cost_moderate),##默认中档
(try_begin),
(eq, ":reduce_campaign_ai", 0), #hard (1x or 2x reinforcing)
(assign, ":reinforcement_cost", reinforcement_cost_hard),##高难度募兵1~2次,消耗低档
(store_random_in_range, ":num_hiring_rounds", 0, 2),
(val_add, ":num_hiring_rounds", 1),
(else_try),
(eq, ":reduce_campaign_ai", 1), #moderate (1x reinforcing)
(assign, ":reinforcement_cost", reinforcement_cost_moderate),##普通难度募兵1次,消耗中档
(assign, ":num_hiring_rounds", 1),
(else_try),
(eq, ":reduce_campaign_ai", 2), #easy (none or 1x reinforcing)
(assign, ":reinforcement_cost", reinforcement_cost_easy),##普通难度募兵0~1次,消耗高档
(store_random_in_range, ":num_hiring_rounds", 0, 2),
(try_end),
(try_end),
(try_for_range, ":unused", 0, ":num_hiring_rounds"), ##如果有招兵次数
(party_get_slot, ":cur_wealth", ":center_no", slot_town_wealth),
(assign, ":hiring_budget", ":cur_wealth"),
(val_div, ":hiring_budget", 2),#当城镇财富为募兵消耗两倍以上的情况下
(gt, ":hiring_budget", ":reinforcement_cost"), ##消耗城镇wealth,进行募兵
(call_script, "script_cf_reinforce_party", ":center_no"),
(val_sub, ":cur_wealth", ":reinforcement_cost"),
(party_set_slot, ":center_no", slot_town_wealth, ":cur_wealth"),#刷新wealth
(try_end),
(try_end),
#this is moved up from below , from a 24 x 15 slot to a 24 slot
(try_for_range, ":center_no", centers_begin, centers_end), ##每个城镇/城堡每天有36%的概率改变繁荣度
#(neg|is_between, ":center_no", castles_begin, castles_end),
(store_random_in_range, ":random", 0, 30),
(le, ":random", 10),
(call_script, "script_get_center_ideal_prosperity", ":center_no"), ##获取理想繁荣度
(assign, ":ideal_prosperity", reg0),
(party_get_slot, ":prosperity", ":center_no", slot_town_prosperity),
(try_begin),
(eq, ":random", 0), #with 3% probability it will gain +10/-10 prosperity even it has higher prosperity than its ideal prosperity. 每天有3%的概率使繁荣度+10/-10
(try_begin),
(store_random_in_range, ":random", 0, 2),
(try_begin),
(eq, ":random", 0),##50%的概率减少10繁荣度
(neg|is_between, ":center_no", castles_begin, castles_end), #castles always gain positive prosperity from surprise income to balance their prosperity. 城堡不会扣繁荣度
(call_script, "script_change_center_prosperity", ":center_no", -10),
(val_add, "$newglob_total_prosperity_from_convergence", -10),##这个变量用于在究极调试模式下("$cheat_mode"=3,正常情况下cheatmenu进入1,大部分作弊项目的启用状态也是1,在据点改变繁荣度时display迄今为止因为这个随机事件变化的所有繁荣度总和)
(else_try), ##50%的概率增加10繁荣度
(call_script, "script_change_center_prosperity", ":center_no", 10),
(val_add, "$newglob_total_prosperity_from_convergence", 10),
(try_end),
(try_end),
(else_try),
(gt, ":prosperity", ":ideal_prosperity"), ##如果繁荣度比理想繁荣度高,-1
(call_script, "script_change_center_prosperity", ":center_no", -1),
(val_add, "$newglob_total_prosperity_from_convergence", -1),
(else_try),
(lt, ":prosperity", ":ideal_prosperity"), ##如果繁荣度比理想繁荣度低,+1
(call_script, "script_change_center_prosperity", ":center_no", 1),
(val_add, "$newglob_total_prosperity_from_convergence", 1),
(try_end),
(try_end),
]),
# Exchanging hero prisoners between factions and clearing old ransom offers 这个simple trigger控制了领主每天有11%的概率把封地里俘虏的敌国领主卖出去,calculate_ransom_amount_for_troop这个脚本会计算领主的价格,除了在这里计算ai卖俘虏之外也影响玩家持有俘虏的情况下,交换俘虏界面里的领主价格,有兴趣的话也可以修改一下这个部分,script里会给出脚本解析
(24,
[(assign, "$g_ransom_offer_rejected", 0),
(try_for_range, ":center_no", walled_centers_begin, walled_centers_end),##循环城镇和城堡
(party_get_slot, ":town_lord", ":center_no", slot_town_lord),
(gt, ":town_lord", 0),##如果城堡有领主
(party_get_num_prisoner_stacks, ":num_stacks", ":center_no"),
(try_for_range_backwards, ":i_stack", 0, ":num_stacks"),
(party_prisoner_stack_get_troop_id, ":stack_troop", ":center_no", ":i_stack"),
(troop_is_hero, ":stack_troop"),
(troop_slot_eq, ":stack_troop", slot_troop_occupation, slto_kingdom_hero),
(store_random_in_range, ":random_no", 0, 100),#为每个prisoner计算独立概率,也就是说每个领主俘虏每天有11%的概率被卖出去
(try_begin),
(le, ":random_no", 10),
(call_script, "script_calculate_ransom_amount_for_troop", ":stack_troop"),##走这个脚本计算俘虏价格
(assign, ":ransom_amount", reg0),
(troop_get_slot, ":wealth", ":town_lord", slot_troop_wealth),
(val_add, ":wealth", ":ransom_amount"),
(troop_set_slot, ":town_lord", slot_troop_wealth, ":wealth"),##卖出去了之后增加封地主人财富
(party_remove_prisoners, ":center_no", ":stack_troop", 1),##移除俘虏
(call_script, "script_remove_troop_from_prison", ":stack_troop"),##走一遍脚本,让领主可以正常的刷出来
(store_troop_faction, ":faction_no", ":town_lord"),
(store_troop_faction, ":troop_faction", ":stack_troop"),
(str_store_troop_name, s1, ":stack_troop"),
(str_store_faction_name, s2, ":faction_no"),
(str_store_faction_name, s3, ":troop_faction"),
(display_log_message, "@{s1} of {s3} has been released from captivity."),##输出xx被释放了
(try_end),
(try_end),
(try_end),
]),
|
下面来详细解析一下这次解析的另一个重点:script_calculate_hero_weekly_net_income_and_add_to_wealth这个脚本的效果和几个相关脚本,并给出一些修改补丁建议
# script_calculate_hero_weekly_net_income_and_add_to_wealth
# Input: arg1 = troop_no
# Output: none
("calculate_hero_weekly_net_income_and_add_to_wealth",
[
(store_script_param_1, ":troop_no"),
(troop_get_slot, ":party_no", ":troop_no", slot_troop_leaded_party), ##获取该兵种领导的部队
(troop_get_slot, ":cur_wealth", ":troop_no", slot_troop_wealth), ##获取该兵种的财富,这个slot会用于计算领主自己的财富,每周结算也是领主获取财富的主要方式,除了该方式之外的其他几种方式分别为:烧村、收税(在己方领地旁边停留一会那个状态)和俘虏赎金
(assign, ":weekly_income", 750), #let every hero receive 750 denars by default 默认值为750块
(store_character_level, ":troop_level", ":troop_no"),
(store_mul, ":level_income", ":troop_level", 10),##该兵种每级会让收入增加10块
(val_add, ":weekly_income", ":level_income"),
(store_troop_faction,":faction_no", ":troop_no"),
(try_begin), #check if troop is kingdom leader
(faction_slot_eq, ":faction_no", slot_faction_leader, ":troop_no"),##如果该兵种是国王,会增加1000块
(val_add, ":weekly_income", 1000),
(try_end),
(try_begin), #check if troop is marshall
(faction_slot_eq, ":faction_no", slot_faction_marshall, ":troop_no"),##如果该兵种是本国元帅,也会增加1000块
(val_add, ":weekly_income", 1000),
(try_end),
(assign, ":cur_weekly_wage", 0),
(try_begin), ##计算每周部队支出(如果有的话)
(gt, ":party_no",0),
(call_script, "script_calculate_weekly_party_wage", ":party_no"),#计算简易版本的兵种工资,这个兵种工资可以理解为简化版本的玩家部队兵种工资,它调用的脚本是npc_get_troop_wage,具体算法和玩家用的game_get_troop_wage对比一下就能看出来,是不会计算雇佣兵/统御工资减免一类的东西的(是的,所以你分封npc的情况下统御不会影响npc的兵种工资,加强领主的情况下加强统御也不会影响他付的工资)
(assign, ":cur_weekly_wage", reg0),
(try_end),
(val_sub, ":weekly_income", ":cur_weekly_wage"),##每周收入减去部队工资
(val_add, ":cur_wealth", ":weekly_income"),##将每周收支应用到财富上
(try_begin),
(lt, ":cur_wealth", 0),##如果没钱了,那么领主会进行裁军,根据军费溢出的比例最多裁员20%
(store_sub, ":percent_under", 0, ":cur_wealth"),
(val_mul, ":percent_under", 100),
(val_div, ":percent_under", ":cur_weekly_wage"),
(val_div, ":percent_under", 5), #Max 20 percent
(call_script, "script_party_inflict_attrition", ":party_no", ":percent_under", 1),##这个是裁军脚本,你开作弊的情况下看到“耗损,xx领主xx兵种x人”那个界面就是触发了这个脚本,不是你进入亚空间坏档了
(try_end),
(val_max, ":cur_wealth", 0),##
(troop_set_slot, ":troop_no", slot_troop_wealth, ":cur_wealth"),##刷新领主财富
]),
##裁军脚本解析
("party_inflict_attrition", #parameters from dialog
[
(store_script_param, ":party", 1),
(store_script_param, ":attrition_rate", 2),
# (store_script_param, ":attrition_type", 3), #1 = desertion, 2 = sickness
(party_clear, "p_temp_casualties"),##刷新temp部队
(party_get_num_companion_stacks, ":num_stacks", ":party"),
#add to temp casualties
(try_for_range, ":stack", 0, ":num_stacks"),
(party_stack_get_troop_id, ":troop_type", ":party", ":stack"),
(neg|troop_is_hero, ":troop_type"), ##npc不会被裁
(party_stack_get_size, ":size", ":party", ":stack"),
(store_mul, ":casualties_x_100", ":attrition_rate", ":size"),
(store_div, ":casualties", ":casualties_x_100", 100),##获取对应兵种的裁员百分比
(party_add_members, "p_temp_casualties", ":troop_type", ":casualties"),##为temp部队增加对应百分比的兵种
(store_mul, ":subtractor", ":casualties", 100),
(store_sub, ":chance_of_additional_casualty", ":casualties_x_100", ":subtractor"),##存储额外减员概率参数,部队兵种人数*减员百分比-减员总人数*100
(try_begin),
(gt, ":chance_of_additional_casualty", 0),##如果概率参数大于0(举例:如果部队有10人,要减员10%,那么概率参数就是10x10-1x100,成功率0,如果这个兵种有6人要减员20%,变成6x20-1x100,触发概率为20%,是用来对过大的余数进行额外减员判定的(比如9人的20%就变成80%概率裁两倍),由于领主裁员最多裁20%(例如6个兵种裁20%有相同概率多扣一个,这个情况下会扣33%对应兵种)所以不会出现裁光的情况,不过如果在别的地方调用是可能会裁光的,虽然战团的op裁光了也没影响和报错就是了)
(store_random_in_range, ":random", 0, 100),
(lt, ":random", ":chance_of_additional_casualty"),##随机数比额外减员概率参数小的情况下,再减一次
(party_add_members, "p_temp_casualties", ":troop_type", ":casualties"),
(try_end),
# (try_begin),
# (eq, "$cheat_mode", 1),
# (str_store_party_name, s7, ":party"),
# ...
# (try_end),
(try_end),
#take temp casualties from main party
(party_get_num_companion_stacks, ":num_stacks", "p_temp_casualties"),##获取temp的stack数
#add to temp casualties
(try_for_range, ":stack", 0, ":num_stacks"),
(party_stack_get_troop_id, ":troop_type", "p_temp_casualties", ":stack"),
(party_stack_get_size, ":size", "p_temp_casualties", ":stack"),##获取temp中的每一个兵种数量,并从领主部队里扣除对应数量的兵种
(party_remove_members, ":party", ":troop_type", ":size"),
(eq, "$cheat_mode", 1),##如果作弊模式被启用
(assign, reg3, ":size"),
(str_store_troop_name, s4, ":troop_type"),
(str_store_party_name, s5, ":party"),
# (display_message, "str_s5_suffers_attrition_reg3_x_s4"),
(str_store_string, s65, "str_s5_suffers_attrition_reg3_x_s4"),
(display_message, "str_s65"),弹出裁员文本
(try_begin),
(eq, "$debug_message_in_queue", 0),
(call_script, "script_add_notification_menu", "mnu_debug_alert_from_s65", 0, 0),##然后弹出损耗menu
(assign, "$debug_message_in_queue", 1),
(try_end),
(try_end),
]),
#script_calculate_ransom_amount_for_troop ##领主赎金物价解析
# INPUT: arg1 = troop_no
# OUTPUT: reg0 = ransom_amount
("calculate_ransom_amount_for_troop",
[(store_script_param, ":troop_no", 1),
(store_troop_faction, ":faction_no", ":troop_no"),
(assign, ":ransom_amount", 400),##基础值为400块
(assign, ":male_relative", -9), #for kingdom ladies, otherwise a number otherwise unused in slot_town_lord
(try_begin),
(faction_slot_eq, ":faction_no", slot_faction_leader, ":troop_no"),
(val_add, ":ransom_amount", 4000),##国王额外多值+4000(4000+)
(else_try),
(troop_slot_eq, ":troop_no", slot_troop_occupation, slto_kingdom_lady),##小姐价值+2500,同时判定封地时从本人更改为监护人
(val_add, ":ransom_amount", 2500), #as though a renown of 1250 -- therefore significantly higher than for roughly equivalent lords
(call_script, "script_get_kingdom_lady_social_determinants", ":troop_no"),##通过这个脚本获取女眷的监护人
(assign, ":male_relative", reg0),
(try_end),
(assign, ":num_center_points", 0),##重置封地分数
(try_for_range, ":cur_center", centers_begin, centers_end),
(this_or_next|party_slot_eq, ":cur_center", slot_town_lord, ":troop_no"),##领主本人
(party_slot_eq, ":cur_center", slot_town_lord, ":male_relative"),##或者小姐的监护人,是的孩子们,小姐比领主贵,默认2900块
(try_begin),
(party_slot_eq, ":cur_center", slot_party_type, spt_town),##城市四分
(val_add, ":num_center_points", 4),
(else_try),
(party_slot_eq, ":cur_center", slot_party_type, spt_castle),##城堡两分
(val_add, ":num_center_points", 2),
(else_try),
(val_add, ":num_center_points", 1),##村子1分
(try_end),
(try_end),
(val_mul, ":num_center_points", 500),##每一分会让赎金价格增加500块
(val_add, ":ransom_amount", ":num_center_points"),
(troop_get_slot, ":renown", ":troop_no", slot_troop_renown),##获取领主的声望
(val_mul, ":renown", 2),
(val_add, ":ransom_amount", ":renown"),##为总赎金增加声望x2块
(store_mul, ":ransom_max_amount", ":ransom_amount", 3),
(val_div, ":ransom_max_amount", 2),
(store_random_in_range, ":random_ransom_amount", ":ransom_amount", ":ransom_max_amount"),##在总赎金的100%到150%之间随机一个数
(val_div, ":random_ransom_amount", 100),
(val_mul, ":random_ransom_amount", 100),##?,是不是一开始想做rand100%到150%,然后没做啊
(assign, reg0, ":random_ransom_amount"),
]),
|
总结&一点修改方案
从领主每周收入脚本可以看出,因为领主本人主动收税的不稳定性,因此原版经济框架下领主封地并不能简单的理解成可以直接增加领主的收入,同时大领主和小领主之间拉不开结算时的财富差距(小领主主要破产原因是被打爆募兵把钱花光),甚至可能因为大领主的军队规模问题在和平时期更穷,对此我的修改方案是:根据封地数量增加每周直接收入
##把以下代码直接扔到每周收入里的(assign, ":weekly_income", 750),那一行下面即可生效
##我设定的参数为城镇2400,城堡1200,村庄600,可以视个人需求引入繁荣度、战略难度等参数,纯小白也可以直接拿去用,仅起一个说的道理效果
(try_for_range,":center",towns_begin,villages_end),
(party_slot_eq,":town",slot_town_lord,":troop_no"),
(try_begin),
(party_slot_eq,":center",slot_party_type,spt_town),
(assign,":tax",2400),
(else_try),
(party_slot_eq,":center",slot_party_type,spt_castle),
(assign,":tax",1200),
(else_try),
(party_slot_eq,":center",slot_party_type,spt_village),
(assign,":tax",600),
(try_end),
(val_add,":weekly_income",":tax"),
(try_end),
|
|
|