

整理几年前我写的攻略,不算抄袭哈!很多人或许会对单挑缴获的影响因素感兴趣,然后我从反编译后的伪代码来分析缴获公式,代码如下:
(try_begin),
(eq, "$order_attack_or_cheat", 0),
(gt, "$vs_lose_enemy_troop", 0),
(assign, ":var_38", 0),
(party_get_skill_level, ":var_21", "p_main_party", "skl_looting"),
(val_add, ":var_21", 15),
(val_min, ":var_21", 30),
(try_begin),
(eq, "$player_title_49", 1),
(val_add, ":var_21", 6),
(try_end),
(val_add, ":var_21", "$special_item_vs_loot_add"),
(val_min, ":var_21", 36),//撑死36
(try_begin),
(troop_is_hero, "$vs_lose_enemy_troop"),
(val_mul, ":var_21", 2),
(val_div, ":var_21", 3),//撑死24
(try_end),
(store_random_in_range, ":var_20", 0, 100),
(try_begin),
(ge, ":var_21", ":var_20"),
(assign, ":var_38", 1),
(try_end),
(assign, ":var_39", 0),
(try_begin),
(eq, ":var_38", 1),
(store_random_in_range, ":var_40", 0, 10),
(troop_get_inventory_slot, ":var_41", "$vs_lose_enemy_troop", ":var_40"),
(gt, ":var_41", 0),
(assign, ":var_42", 1),
(try_begin),
(item_slot_ge, ":var_41", 71, 1),
(try_begin),
(neg|ge, "$vs_loot_chance", 0),
(assign, ":var_42", 0),
(else_try),
(assign, "$vs_loot_chance", -4),
(try_end),
(try_end),
(eq, ":var_42", 1),
(try_begin),
(eq, ":var_40", 8),
(assign, ":var_39", 1),
(try_end),
(str_store_item_name, s1, ":var_41"),
(display_message, " loot enemy's equipment: {s1}!", 0x5AFF3C),
(call_script, "script_818", ":var_41", 0),
(play_sound, "snd_special_skill"),
(try_begin),
(neg|eq, "$player_title_49", 1),
(val_add, "$player_title_49_num", 1),
(try_end),
(try_end),
(try_begin),
(eq, "$order_attack_or_cheat", 0),
(gt, "$vs_lose_enemy_troop", 0),
1.作弊检测影响因素
以下代码是检测你是否作弊,如果作弊会影响奖励。
(try_begin),
(eq, "$order_attack_or_cheat", 0),
(gt, "$vs_lose_enemy_troop", 0),
2.队伍掠夺技能影响因素
凉大使用了一个变量,初始值为0,我们暂且称其为变量38,然后从队伍中获取队伍技能的数值赋值进变量38.之后,变量38加上数值15与30比大小。其中,掠夺等级最高为19,19+15>30,显然多出的四点是无效的,所以我的建议是,大家主角点到11点掠夺即可。这时就满足条件的最大值。
补充一点,队伍技能的一般计算是:最高值+( )。括号中的值是根据主角的队伍技能等级,通常主角2括号里就是1,5括号里就是2,8就括号是3,10括号里是4.当然队伍中有其他的队伍技能高的好像也对括号值有影响。
(assign, ":var_38", 0),
(party_get_skill_level, ":var_21", "p_main_party", "skl_looting"),
(val_add, ":var_21", 15),
(val_min, ":var_21", 30),
3.杀鸡取卵技能和时间间隔因素影响
受掠夺技能影响,变量21的最大值为30,player_title_49是我们的称号杀鸡取卵,有这个称号,概率最高30可以加上6,再加上special_item_vs_loot_add(额外概率)。
这个额外概率跟天数有关,你离上次缴获时间越长就越大。但是这个因素在后期得到杀鸡取卵称号后可以忽略掉,因为凉大加了个判断语句,和36比较大小。只要有杀鸡取卵和掠夺15,就是最高值36了。
try_begin),
(eq, "$player_title_49", 1),
(val_add, ":var_21", 6),
(try_end),
(val_add, ":var_21", "$special_item_vs_loot_add"),
(val_min, ":var_21", 36),//撑死36
4.对面是否有英雄的影响因素
进行一次处理,也就是如果是含英雄的部队,就进行乘2除3的处理。把上次最大值36进行这般处理后就是36x2/3=24.变量21最大为24.
(try_begin),
(troop_is_hero, "$vs_lose_enemy_troop"),
(val_mul, ":var_21", 2),
(val_div, ":var_21", 3),//撑死24
(try_end),
5.随机数影响因素
使用随机数在(0,100)内取值,并和之前的概率进行比大小,相当于把100置为分母,之前算的变量21为分子。如果取得随机数小于变量21,则进行缴获阶段。这么算来,概率差不多就是最高24%。
(store_random_in_range, ":var_20", 0, 100),
(try_begin),
(ge, ":var_21", ":var_20"),
(assign, ":var_38", 1),
(try_end),
(assign, ":var_39", 0),
(try_begin),
(eq, ":var_38", 1),
(store_random_in_range, ":var_40", 0, 10),
(troop_get_inventory_slot, ":var_41", "$vs_lose_enemy_troop", ":var_40"),
6.武器装备位置影响因素
显然大家会觉得不对,明明爆率不可能四场就缴获一次,那为啥是24%呢,原因是后面的那个函数(troop_get_inventory_slot, ":var_41", "$vs_lose_enemy_troop", ":var_40"),大家有兴趣可以看下十年前凉大的帖子,当时凉大想的缴获方式是,将装备位置分别用10位数字表示,然后这就出现一种情况是,我选的是马,但对面领主没有马,这时缴获失败。按照这个道理,如果你想精确获得某领主的装备,实际概率就是24%x0.1=2.4%.

7.触发器天数影响因素
单挑缴获还受触发器控制,如果这个vs_loot_chance小于等于0,那么就会把var_42置为0,而后面会检测这个变量,如果变量不是1就会不执行下面语句。如果大于0时,就会继续执行,并且把vs_loot_chance这个值置为-4.这样子有段时间就不会缴获任何东西。vs_loot_chance这个变量是由触发器102所影响,如果没有杀鸡取卵,这个数值是每天加1,有的话就是加2,所以,-4加5>0,-4+2x3>0,分别是5天冷却和3天冷却。
(try_begin),
(neg|ge, "$vs_loot_chance", 0),
(assign, ":var_42", 0),
(else_try),
(assign, "$vs_loot_chance", -4),
(try_end),