首先是技能表:
00 火计 01 混乱 02 内讧 03 收拾 04 仙术 05 鼓舞 06 治疗 07 祈雨
08 天变 09 灭火 0A 落石 0B 占卜 0C 伏兵 0D 幻术 0E 妖术 0F 激励
10 水计 11 火箭 12 奋发 13 乱射 14 速攻 15 藤甲 16 无双 17 远箭
18 强行 19 沉着 1A 布阵 1B 水神 1C 反计 1D 落沙 1E 回射 1F 骑射
再次是天气代号:00晴 01阴 02雨 03豪雨
………………………………………………………………………………………………括号里是十六进制编辑器打开exe执行文件的地址,似乎简体版普及面比较大,以后基本以简体版为例子
A、确认是否有占卜技能(0x30266的0B,为技能代号);
B、确认体力是否可以显示占卜的最小体力50(0x30277的32H)
C、选择占卜后,首先用一个随机数除以11求余数numRand,那么余数numRand一定在0~0AH(就是0~10)之间,这个直接关系到占卜的基本结果;每次出征即使条件完全相同,numRand也会变;
D、占卜的动画,台词;
E、减少32H(50)的战场体力;
F、进行占卜结果判断,直接根据numRand的值进入相应位置进行处理,以numRand从0~0AH顺序如下:
【numRand=0】:占卜结果为天气和风向(以下简称【占卜天气】),这个没什么好说的,值得一提的有:
1、南蛮(建宁、云南)地区下雨的概率相当大(亚热带气候??),而西凉(安定、天水、西凉)地区晴天
的概率相当大(西部高原??),其他没有特殊;
2、如果本回合有人已经先占卜得到天气和风向结果了,那么这次的占卜如果结果的天气和风向,都一模一样,真神哪;
【numRand=1】:占卜结果为有敌人撤退,这个要求敌人大于1个(0x333D5的01),然后随机从其中抓一个让他回家吃饭;如果敌人为1个,就转去【占卜天气】;
【numRand=2】:占卜结果为我军全员士气的升降,提升士气的概率为50(0x33479的32H),改小则降低士气概率增大;士气变化为15点(0x334D8的0FH)
【numRand=3】:占卜结果为我某一个武将寿命增减,首选要求除占卜者外,至少有一个我军武将,否则就去【占卜天气】;然后从中随机抓取一个来调戏,寿命增加概率为50(0x335C5的32H),改小则减少寿命概率增加;增加幅度为1(多活差不多6年,0x335EE的01,PS:寿命最小0最大7)
【numRand=4】:占卜结果为敌人全军起火,要求天气必须为晴天或者阴天(天气代号小于2,0x3364E的02),不满足条件就去【占卜天气】;
【numRand=5】:占卜结果为敌军水上部队遭受水灾,要求敌人至少1个部队在水里,不然就去【占卜天气】;值得一提的有:
1、水神不能免疫这个伤害;
2、伤害最小为100(0x337CD的64H),然后有理论上0~1400(0x337BF的7805,即0578H)的随机加成
【numRand=6】:占卜结果为有敌军受重伤,要求敌军至少1个,否则就去【占卜天气】(这个条件有点奇怪,如果敌军小于1个,战斗肯定结束了%¥#¥#@);
然后随机抓一个敌军来捅一刀,受伤程度为最严重等级7(0x33888的07,跟寿命一样是0~7,0不受伤,每增加1伤害等级,武力多降4点,本次武力降28点,比单挑的超大绝杀降16武力都厉害的多),同时战场上体力变0(0x33893的00),平时操作内政界面的体力也变0;
【numRand=7】:占卜结果为增加我某个武将能力,同样要求我方除占卜武将外至少1人,否则就去【占卜天气】;
然后随机抓取我军一个武将,看他四维的哪一属性没有达到上限要求(这个直接在exe文件搜索59 4F 63 63就可以了,是智力89,政治79,武力99,魅力99的上限,各个版本通用);如果没有可以提升的属性,就去【占卜天气】;选中某一维可增加后给它增加1(0x33989的01);
【numRand=8】:占卜结果为战场体力恢复,伤势恢复,同样要求我方除占卜武将外至少2人并且体力小于100,否则就去【占卜天气】;然后给其中某个武将恢复到100体力(0x33ACC的64H),同时受伤状态全部解除;
【numRand=9】:占卜结果为雷击战场某1人,要求敌我人数除去占卜者外不能为0,否则就去【占卜天气】;对我方雷击的概率为30(0x33B7B的1E),改0则雷击敌人;也是随机抓取一个武将,减少兵力,减少5~9点士气,同时陷入混乱,由于这个伤害等相关计算被4大隐藏特技(雷光火壁陨石大蛇)之一的【雷光】同样调用,所以这事暂时不能说太细,以后再说;
【numRand=0AH】:占卜结果为城池起火,首先要求天气代号小于等于2(0x33C5E的02),即不非豪雨天即可;不然就去【占卜天气】;然后设置城池着火状态,城市里有武将即受到伤害;
………………………………………………………………………………………………占卜增加经验300(0x33E1B的2C01,即012CH);
占卜置武将行动结束标志01(0x33E29的01),改00则占卜不算行动结束;
如果简单的想只要其中某一个结果,可以把0x33DB5的83 F8 0A 77 60改成B8 0X 00 00 00,
其中的X就表示上边的numRand的值,这样直接去处理对应的numRand结果;