# 对士气的代码研究
士气
士气应该以50为基础,高于则自动降低,低于则自动升高。 或者基础与统御有关,例如为6*统御。这样10的统御提供60的基础士气,而0的统御则可能士气为0。
研究
士气:
- MB中每天降低士气的代码已经找到。此外还因为没食物、招募俘虏,降低士气。
- 使用方式为(call_script, "script_change_player_party_morale", -3),
- 思路:每天24小时检查,若士气在50之下,则提升士气3,反之不管(程序自身在降低士气)
- 可以用(party_get_morale, ":cur_morale", "p_main_party"),取得部队士气
代码完成,写入module_triggers.py,未能上传道code.google.com,似乎我的SVN有问题
#subwolf write
#army moral +/-,if moral<player army TongYu*6,+moral
(0, 0, 24,[],[
#get player party moral
(party_get_morale,":player_party_morale","p_main_party"),
#get party leadership
(party_get_skill_level, ":leadership_skill", "p_main_party", skl_leadership),
(val_mul,":leadership_skill",6),
#moral<6*leadership,+morale
(try_begin),
(lt,":player_party_morale",":leadership_skill"),
(call_script, "script_change_player_party_morale", 3),
(display_message,"@morale added"),
(try_end),
(assign,reg1,":leadership_skill"),
(assign,reg2,":player_party_morale"),
(display_message,"@ledership={reg1},party morale={reg2}"),
]),注意,display_message,要直接写文字,必须以@开头。