210年1月,永安的张松投靠了曹操,至此,这个剧本值得挖且可挖的武将只剩下安定庞德了;
年会召开,万能担当果然出了问题,朝廷上站着6个左慈说目标。。。。不过这也是个好事,以后就算只有君主和参谋两个人也能开会定目标了,如果看作是一个人站在6个角度分析战略,也不算BUG。。。。
先不管,一会儿再解决,先把挖徐州曹家伊籍作为目标,但愿伊籍不会今年死去。。。
开年伊始,马腾军攻克弘农,看小窗显示,马家军伤亡也很惨重,感觉马家要坏事了,马腾孤军挺进弘农,一旦被曹老板拿下长安,被困在人口少的弘农,会被围猎。
金:11838 成都还是很富裕的,一座城1月收入(11838-9279)=2559,这还是养着一个征东将军黄忠的前提下;
果然,弘农马腾不妙,赶紧加速挖庞德,一旦曹操围猎,马腾必死,但马超如果投降曹操的话只要曹操不赏赐马超宝物,就有机会录用到马超。话说电脑从来不赏赐武将,只会发宝物,貌似是个BUG。
为了公平起见,打算改为忠诚度每月增长,取消赏赐功能。
存档,打开olledebug,开始看代码。
4022B0就是担当检查函数,具体方法是先调取武将担当,再调取执行指令的担当代号,对比二者如果一致,就返回1,不一致就返回0;后续的操作则是,1,该武将就可以从事此类工作,0,则不可以。我之前的修改方法比较简单粗暴,就是在4022B0函数前段加了个帽子,先看身份是否是君主、参谋、仙人、四大将军,如果是,则直接返回1,根本就不看武将具体担当。
当时已经发现,在查看担当列表时,君主不会被列出,所以君主是被提前豁免的,搜索了共有四处调用4022b0函数,其中只有一处在调用前,检查了武将是否是君主,所以应该很简单了。
1、回滚4022B0
2、将检查武将是否是君主函数,替换为检查武将是否是君主、参谋、仙客、四大;
14.451测试版本: 46C126 检查武将担当前,检查是否是君主4033F0,替换为军参仙四410D45 测试结果:参谋,仙人仅仅是不用参加担当了,但还是无法自由参加工作。但可以保留这个修改。
调用4022B0函数的地方只有4处,402370用于显示界面的参数已经搞定;46C126用于担当设定已经搞定,那么只剩两处了,肯定一处是用于列表,一处用于开会。
43CBE0是有分支的,而且是6个分支。肯定是这里了。
43CD50调用了这个函数,而且还有0 1测试,这里才是关键。43CBE0在这个函数里被循环调用,检测所有武将某个君主下面的全部武将,最后还排除掉在野武将。
现在我们再去看一下调用43CD50的函数,然后没有看出什么来
后悔当初修改所有担当都可以巡查时,没有记录下来修改地址。当时还在自学汇编,没有良好的笔记习惯。