def get_ip(content): global num, min_ip_num, max_ip_num, ip_list num += 1 if num % 500 == 0: ip_list.append("ip(_) -> <<\"unknown\">>.") erl_name = "data_ip_%d"%(num / 500) gen_erl("ip\\" + erl_name, ip_list) all_ip_list.append("ip(IPNum) when IPNum >= %d andalso IPNum =< %d -> %s:ip(IPNum);"%(min_ip_num, max_ip_num, erl_name)) ip_list = [] ip_list.append("-module(data_ip_%d)."%(num / 500 + 1)) ip_list.append("-export([ip/1]).") min_ip_num = 4294967296 max_ip_num = 0 ip_str_begin = get_str(content[0], '') ip_str_end = get_str(content[1], '') area = get_str(content[2], 'unknown') ip_begin = ip_str_begin.split(".") ip_end = ip_str_end.split(".") ip_num_begin = int(ip_begin[0]) * 16777216 + int(ip_begin[1]) * 65536 + int(ip_begin[2]) * 256 + int(ip_begin[3]) ip_num_end = int(ip_end[0]) * 16777216 + int(ip_end[1]) * 65536 + int(ip_end[2]) * 256 + int(ip_end[3]) ip_list.append("ip(IPNum) when IPNum >= %d andalso IPNum =< %d -> <<\"%s\">>;"%(ip_num_begin, ip_num_end, area)) if ip_num_begin < min_ip_num: min_ip_num = ip_num_begin if ip_num_end > max_ip_num: max_ip_num = ip_num_end return []
%% @doc 翻倍最大购买次数 %% @spec max_double_count() -> int() max_double_count() -> %d. """%(max_double_count)) npc_power_list = [] npc_name_list = [] npc_name_list.append(""" %% @doc 获取npc名字 %% @spec get_npc_name(#bf_role_power{}) -> binary() """) @load_sheel(work_book, ur"NPC配置") def get_npc_power(content): name = str(content[1]) hero_power = int(content[3]) leader_lev = int(content[4]) prestige = int(content[5]) npc_power_list.append("#bf_role_power{hero_power = %d, acc_leader_lev = %d, prestige_calc = %d}"%(hero_power, leader_lev, prestige)) npc_name_list.append("get_npc_name(#bf_role_power{hero_power = HeroPower, acc_leader_lev = LeaderLev, prestige_calc = Prestige}) when HeroPower =:= %d, LeaderLev =:= %d, Prestige =:= %d -> <<\"%s\">>;"%(hero_power, leader_lev, prestige, name)) return [] get_npc_power() npc_name_list.append("get_npc_name(_) -> <<\"NPC\">>.") data_battlefront.append("npc_power_list() -> [%s]."%(",".join(npc_power_list))) data_battlefront.extend(npc_name_list) gen_erl(battlefront_erl, data_battlefront)
require_iron = int(content[WildRepairField.require_iron]) global max_require_iron max_require_iron = require_iron wild_repair_list.append("get_troops_repair(Power) when Power =< %d-> %d;"%(repairforce, require_iron)) return [] get_wild_repair() wild_repair_list.append("get_troops_repair(_) -> %d."%(max_require_iron)) data_widlerness.extend(wild_repair_list) feats_list = [] @load_sheel(work_book, ur"战功领奖") def get_wild_feats(content): index = int(content[0]) feats = int(content[1]) crystal = int(content[2]) feats_list.append("get_feats_reward(%d, Feats) when Feats >= %d -> %d;"%(index, feats, crystal)) return [] get_wild_feats() feats_list.append("get_feats_reward(_, _) -> false.") data_widlerness.extend(feats_list) gen_erl(wilderness_erl, data_widlerness)
,unlock_item_list = [{13}] }}; """.format(item_id, sale_coin, use_obtain_type, use_obtain_value, item_type, quality, is_gift, gift_content, gift_num, use_lev, use_type, level, star, use_item_list)) php_item_base.append( """ {0} => array('id' => {0}, 'name' => '{1}', 'type' => '{2}', 'quality' => '{3}'),""" .format(item_id, item_name, item_type, quality)) php_item_base.append( """ '{1}' => array('id' => {0}, 'name' => '{1}', 'type' => '{2}', 'quality' => '{3}'),""" .format(item_id, item_name, item_type, quality)) return [] get_item() item_base.append("get(_) -> false.") data_item.extend(item_base) data_item.append(""" %% @doc 根据Quality获得ItemID %% @spec get_item_ids_by_quality(Quality::int()) -> [ItemID::int()] """) for i in item_quality: data_item.append("get_item_ids_by_quality(%d) -> [%s];" % (i, ",".join(item_quality[i]))) data_item.append("get_item_ids_by_quality(_) -> [].") php_item_base.append(");") data_php_item.extend(php_item_base) gen_erl(item_erl, data_item) gen_php(item_php, data_php_item)
(pos, gold)) open_pos_condition_list.append( "open_pos_condition(Pos) when Pos =:= %d -> [{role_vip, %d}];" % (pos, vip_lev)) all_pos_list.append("%d" % (pos)) if vip_lev != -1: all_pos_by_vip_list.append("%d" % (pos)) return [] get_pos() open_pos_cost_list.append("open_pos_cost(_) -> [].") open_pos_condition_list.append("open_pos_condition(_) -> [].") data_paper.extend(open_pos_cost_list) data_paper.extend(open_pos_condition_list) data_paper.append(""" %% @doc 所有孔 %% @spec all_pos() -> [Pos::int()] all_pos() -> [%s]. """ % (",".join(all_pos_list))) data_paper.append(""" %% @doc vip可以开的孔 %% @spec all_pos_by_vip() -> [Pos::int()] all_pos_by_vip() -> [%s]. """ % (",".join(all_pos_by_vip_list))) gen_erl(paper_erl, data_paper)
power_to_liveness_erl = "data_power_to_liveness" data_power_to_liveness = module_header(ur"体力消耗转换活跃度比率配置", power_to_liveness_erl, "csh", "power_to_liveness.xlsx", "data_power_to_liveness.py") data_power_to_liveness.append(""" -export([ get_rate/0 ]). """) # 获取最小等级 power_to_liveness_rate = [] power_to_liveness_rate.append("\n\n%% 获取体力消耗转换活跃度比率") power_to_liveness_rate.append("%%@spec get_rate() -> rate :: int()") @load_sheel(work_book, ur"Sheet1") def get_rate(content): rate = int(get_value(content[BaseField1.rate], 0)) power_to_liveness_rate.append("""get_rate() -> {0}.""".format(rate)) return [] get_rate() data_power_to_liveness.extend(power_to_liveness_rate) gen_erl(power_to_liveness_erl, data_power_to_liveness)
items = str(content[VipField.items]) show_gold = int(get_value(content[VipField.show_gold], 0)) desc = str(get_value(content[VipField.desc], '')) gift_id = int(content[VipField.item]) vip_conf.append("""get(%d) -> #vip_gift{ id = %d ,name = <<"%s">> ,icon = %d ,cost_gold = %d ,need_vip = %d ,max_buy_num = %d ,gold = %d ,coin = %d ,show_gold = %d ,items = [%s] ,desc = <<"%s">> ,gift_id = %d };""" % (id, id, name, icon, cost_gold, need_vip, max_buy_num, gold, coin, show_gold, items, desc, gift_id)) all_vip.append("%d" % (id)) return [] get_conf() vip_conf.append("get(_) -> false.") data_vip_gift.extend(vip_conf) data_vip_gift.append("get_all() -> [%s]." % (",".join(all_vip))) gen_erl(vip_gift_erl, data_vip_gift)
,item_id = {1} ,period = {2} }}; """.format(drop_id, item_id, period)) return [] get_special_drop() drop_special.append("special_drop(_) -> false.") data_drop.extend(drop_special) drop_hero = [] drop_hero.append("%% @spec hero_drop(DropID::int()) -> #drop_hero{} | false.") @load_sheel(work_book, ur"英雄掉落") def get_hero_drop(content): drop_id = int(content[HeroField.drop_id]) max_drop = int(content[HeroField.max_drop]) drop_conf = str(get_value(content[HeroField.drop_conf], '')) drop_hero.append("""hero_drop({0}) -> #drop_hero{{ id = {0} ,max_drop = {1} ,weight_conf = [{2}] }}; """.format(drop_id, max_drop, drop_conf)) return [] get_hero_drop() drop_hero.append("hero_drop(_) -> false.") data_drop.extend(drop_hero) gen_erl(drop_erl, data_drop)
get_min_role_lev() data_friend.extend(min_role_lev) # 根据三日活跃度获取获得体力值 get_energy_amount_list = [] get_energy_amount_list.append("\n\n%% 根据三日活跃度获取获得体力值") get_energy_amount_list.append( "%%@spec get_energy_amount_by_liveness(liveness :: int()) -> energy_amount :: int()" ) @load_sheel(work_book, ur"接受祝福获得体力配置") def get_energy_amount_by_liveness(content): min_liveness = int(get_value(content[BaseField2.min_liveness], 0)) max_liveness = int(get_value(content[BaseField2.max_liveness], 0)) get_energy_amount = int(get_value(content[BaseField2.get_energy_amount], 0)) get_energy_amount_list.append( """get_energy_amount_by_liveness(Liveness) when Liveness >= {0} andalso Liveness =< {1} -> {2};""" .format(min_liveness, max_liveness, get_energy_amount)) return [] get_energy_amount_by_liveness() get_energy_amount_list.append("get_energy_amount_by_liveness(_) -> 0.") data_friend.extend(get_energy_amount_list) gen_erl(friend_erl, data_friend)
data_broadcast.extend(condition_list) # 根据功能ID和条件获取字符串ID content_id_list = [] content_id_list.append("\n\n%% 根据功能ID和条件获取字符串ID") content_id_list.append( "%% @spec get_content_id(func_id :: int() , condition :: int()) -> content_id :: int()" ) def get_content_id(): row = 0 while row < len(broadcast_list): content_id_list.append("""get_content_id({0}, {1}) -> {2};""".format( broadcast_list[row][1], broadcast_list[row][2], broadcast_list[row][0], broadcast_list[row][3])) # content_id_list.append("""get_content_id({0}, {1}) -> {{{2}, <<"{3}">>}};""". # format(broadcast_list[row][1], broadcast_list[row][2], broadcast_list[row][0], broadcast_list[row][3])) row = row + 1 return [] get_content_id() content_id_list.append("get_content_id(_, _) -> 0.") # content_id_list.append("get_content_id(_, _) -> {0, <<>>}.") data_broadcast.extend(content_id_list) data_broadcast.extend(view_pos_list) gen_erl(broadcast_erl, data_broadcast)
two_gold = int(content[BaseField6.price2]) normal_reward = get_str(content[BaseField6.attack_reward], '{0, 0}') train_list.append("""get_train(%d) -> #train_conf{ dungeon_id = %d, train_id = %d, reward_item= [%s], two_gold = %d, normal_reward = %s };""" % (id, id, train_id, reward, two_gold, normal_reward)) train_dungeon.setdefault(train_id, []) train_dungeon[train_id].append("%d" % (id)) return [] get_train() train_list.append("get_train(_) -> false.") for i in train_dungeon: train_dungeon_list.append("get_train_dungeon_id(%d) -> [%s];" % (i, ",".join(train_dungeon[i]))) get_train_id_list.append("get_train_id_list() -> %s." % (train_dungeon.keys())) train_dungeon_list.append("get_train_dungeon_id(_) -> [].") data_guild.extend(train_list) data_guild.extend(train_dungeon_list) data_guild.extend(get_train_id_list) gen_erl(guild_erl, data_guild)
"fight_scene.xlsx", "data_fight_scene.py") data_fight_scene.append(""" -include("fight_scene.hrl"). -export([get/1]). """) scene_base = [] @load_sheel(work_book, ur"Sheet1") def get_fight_scene(content): id = int(content[BaseField.id]) map_size = get_str(content[BaseField.MapBlockNum], '') block_list = get_str(content[BaseField.block], '') scene_base.append("""get({0}) -> #fight_scene{{ scene_id = {0} ,block_list = [{1}] ,size = {{{2}}} }}; """.format(id, block_list, map_size)) return [] get_fight_scene() scene_base.append("get(_) -> false.") data_fight_scene.extend(scene_base) gen_erl(fight_scene_erl, data_fight_scene)
%% @spec max_lev(BuildID::int()) -> MaxLev::int() """) for i in max_lev_dict: data_build.append("max_lev(%d) -> %d;" % (i, max_lev_dict[i])) data_build.append("max_lev(_) -> 0.") auto_build_cost_list = [] @load_sheel(work_book, ur"委托时间购买花费") def get_auto_time(content): timeleft = content[0] gold = content[1] auto_build_cost_list.append( "auto_build_cost(LeftTime) when LeftTime >= %d -> [{del_gold, %d}];" % ((timeleft + 1) * 60, gold)) return [] get_auto_time() auto_build_cost_list.append(""" %% @doc 委托时间购买花费 %% @spec auto_build_cost(LeftTime::int()) -> list() """) auto_build_cost_list.reverse() auto_build_cost_list.append("auto_build_cost(_) -> [].") data_build.extend(auto_build_cost_list) gen_erl(build_erl, data_build)
cd_end = int(content[2]) gold = int(content[3]) cd.append( "reset_cd_cost_gold(Time) when Time >= %d andalso Time =< %d -> %d;" % (cd_begin, cd_end, gold)) return [] get_cd() cd.append("reset_cd_cost_gold(_) -> 99999999.") data_role_skill.extend(cd) arg_list = [] @load_sheel(work_book, ur"参数配置") def get_arg(content): arg = str(content[0]) v = get_str(content[1], "H") note = str(get_value(content[2], "")) arg_list.append("%s() -> %s. %%%% %s" % (arg, v, note)) return [] get_arg() data_role_skill.extend(arg_list) gen_erl(role_skill_erl, data_role_skill)
(name, act_id, cont_day, time_list[0], time_list[1], time_list[2], pos)) return [] get_conf() data_open_fun_act.append(""" %% @doc 开服活动配置 %% @spec get_all() -> list() get_all() -> [ %s ]. """ % (",\n\t ".join(conf))) gen_erl(act_erl, data_open_fun_act) ## ################################## ## 大陆配置 ## ################################## act_erl = "data_open_fun_act_tw" data_open_fun_act = module_header(ur"开服初始化活动配置", act_erl, "zm", "openingactivity.xlsx", "data_openingactivity.py") data_open_fun_act.append(""" -export([ get_all/0 ]). """)
filter_talk = [] @load_sheel(work_book, ur"聊天过滤") def get_talk(content): s = str(content[0]) filter_talk.append("<<%s>>" % (s)) return [] get_talk() data_filter.append("talk() -> [%s]." % (",".join(filter_talk))) filter_name = [] @load_sheel(work_book, ur"名字过滤") def get_name(content): s = str(content[0]) filter_name.append("<<%s>>" % (s)) return [] get_name() data_filter.append("name() -> [%s]." % (",".join(filter_name))) gen_erl(filter_erl, data_filter)
suit.append("suit(%d, %d, %d) -> [%s];"%(item_type, color, 4, attrlist_2)) suit.append("suit(%d, %d, %d) -> [%s];"%(item_type, color, 6, attrlist_3)) return [] get_suit() suit.append("suit(_, _, _) -> [].") data_stone.extend(suit) cost_coin = [] @load_sheel(work_book, ur"经验石品质石金币消耗") def get_cost_coin(content): item_id = int(content[0]) coin = int(content[1]) cost_coin.append("cost_coin(%d) -> %d;"%(item_id, coin)) return [] get_cost_coin() cost_coin.append("cost_coin(_) -> 999999999999.") data_stone.extend(cost_coin) buy_energy =[] @load_sheel(work_book, ur"购买能量") def get_buy_energy(content): nth = int(content[0]) gold = int(content[1]) buy_energy.append("buy_stone_energy_cost_gold(%d) -> %d;"%(nth, gold)) return [] get_buy_energy() buy_energy.append("buy_stone_energy_cost_gold(_) -> 99999999.") data_stone.extend(buy_energy) gen_erl(stone_erl, data_stone)
vip_lev, buy_coin_count, buy_arena_count, charge_gold, max_friend_num, can_arena_double_shengwang, aggress_start_wave, can_open_aggress_quick_finish, buy_energy_count, can_open_dungeon_box, free_clean_build_cd_time, can_quick_finish_dungeon, max_build_queue, can_battlefront_auto, can_auto_up_build, can_free_create_guild, has_wild_troops_4, has_wild_troops_5, donate_times, can_gold2coin_10, aggress_quick_finish_times, buy_dungeon_count, buy_dungeon_acc_count, wish_default_free_count, paper_dial_free_times, paper_dial_max_times, king_boss_reset_count, king_boss_can_quick_finish, king_boss_quick_finish_cost_time, king_boss_pre_min_cost_gold)) return [] get_vip_conf() vip_conf.append("get(_) -> false.") get_vip.append("%% @doc 根据充值元宝数获得对应的vip等级") get_vip.append("%% @spec get_vip_lev(Gold :: int()) -> VIPLev::int()") get_vip = get_vip[::-1] get_vip.append("get_vip_lev(_) -> 0.") min_gold.append("min_charge_gold(_) -> 0.") php_vip_base.append(");") data_vip.extend(get_vip) data_vip.extend(min_gold) data_vip.extend(vip_conf) data_php_vip.extend(php_vip_base) gen_erl(vip_erl, data_vip) gen_php(vip_php, data_php_vip)
live_draw = [] live_value = [] live_id_list = [] @load_sheel(work_book, ur"活跃度奖励") def get_live_draw(content): live_id = int(content[BaseField1.liveID]) live = int(content[BaseField1.liveValue]) coin = int(content[BaseField1.coin]) gold = int(content[BaseField1.gold]) item = str(get_value(content[BaseField1.item], '')) live_draw.append( """get_draw_live({0}) -> [{{add_coin, {1}}}, {{add_gold, {2}}}, {{add_items, [{3}]}}]; """ .format(live_id, coin, gold, item)) live_value.append("""get_live_value({0}) -> {1};""".format(live_id, live)) live_id_list.append("%d" % (live_id)) return [] get_live_draw() live_draw.append("get_draw_live(_) -> [].") data_activity.extend(live_draw) live_value.append("get_live_value(_) -> 0.") data_activity.extend(live_value) data_activity.append("\n%% @spec all_live() -> list().") data_activity.append("all_live() -> [%s]." % (",".join(live_id_list))) gen_erl(activitiy_erl, data_activity)
# 获取英雄邮件附件内容 hero_mail_affix = [] hero_mail_affix.append("\n\n%% 获取英雄邮件附件内容") hero_mail_affix.append( "%% @spec get_affix(hero_id :: int()) -> affix :: lists | false") @load_sheel(work_book, ur"英雄邮件配置表") def get_affix(content): hero_id = int(get_value(content[BaseField1.hero_id], 0)) reward_item = str(get_value(content[BaseField1.reward_item], '')) reward_coin = int(get_value(content[BaseField1.reward_coin], 0)) reward_gold = int(get_value(content[BaseField1.reward_gold], 0)) reward_arena_coin = int(get_value(content[BaseField1.reward_arena_coin], 0)) reward_union_coin = int(get_value(content[BaseField1.reward_union_coin], 0)) str_affix = get_affix_str(reward_item, reward_coin, reward_gold, reward_arena_coin, reward_union_coin) hero_mail_affix.append("""get_affix({0}) -> [{1}];""".format( hero_id, str_affix)) return [] get_affix() hero_mail_affix.append("get_affix(_) -> false.") data_hero_mail.extend(hero_mail_affix) gen_erl(hero_mail_erl, data_hero_mail)
%% @doc 是否可以发送邮件 %% @spec can_send(Ver::binary()) -> true | false """) @load_sheel(work_book, ur"更新版本") def get_base(content): ver = get_str(content[BaseField.ver], '') mail_title = get_str(content[BaseField.title], '') mail_content = get_str(content[BaseField.content], '') gold = int(content[BaseField.gold]) if ver != '': can_send_list.append("can_send(Ver) when Ver =:= <<\"%s\">> -> true;" % (ver)) send_mail_list.append("""send_mail(RoleID, Ver) when Ver =:= <<"%s">> -> catch lib_mail:send_mail(0, RoleID, <<"%s">>, <<"%s">>, [{gold, %d}], ?MAIL_TYPE_SYSTEM); """ % (ver, mail_title, mail_content, gold)) return [] get_base() send_mail_list.append("send_mail(_, _) -> ok.") can_send_list.append("can_send(_) -> false.") data_up_ver_send_gold.extend(send_mail_list) data_up_ver_send_gold.extend(can_send_list) gen_erl(up_ver_send_gold_erl, data_up_ver_send_gold)
acc_gold = %d, hero_id = %d, exer_id = %d, reward_list = [%s], over_price = %d, dis_count = <<"%s">>, money = <<"%s">> };""" % (day, day, name, acc_gold, hero_id, exer_id, items, over_price, dis_count, money)) send_mail_list.append("""send_mail(RoleID, NthDay) when NthDay =:= %d -> catch lib_mail:send_mail(0, RoleID, <<"%s">>, <<"%s">>, [%s], ?MAIL_TYPE_SYSTEM);""" % (day, title, content, items)) return [] get_base() day_conf_list.append("get(_) -> false.") send_mail_list.append("send_mail(_, _) -> ok.") data_recharge_everyday.extend(day_conf_list) data_recharge_everyday.extend(send_mail_list) data_recharge_everyday.append(""" %% @doc 最大天数 %% @spec max_day() -> int() max_day() -> %d. """ % (max_day)) gen_erl(recharge_everyday_erl, data_recharge_everyday)
@load_sheel(work_book, ur"Sheet1") def get_online_conf(content): global max_count nth = int(content[BaseField.num]) reward_list = get_str(content[BaseField.reward], '') count = int(get_value(content[BaseField.count], 1)) get_reward_list.append( "do_get_reward(%d) -> [{ItemID, Num} || {ItemID, Num, _} <- util:list_rands_by_rate([%s], %d)];" % (nth, reward_list, count)) if nth > max_count: max_count = nth return [] get_online_conf() get_reward_list.append("do_get_reward(_) -> [].") data_online_gift.append(""" get_reward(Nth) -> RemNth = Nth rem %d, case RemNth of 0 -> do_get_reward(%d); _ -> do_get_reward(RemNth) end. """ % (max_count, max_count)) data_online_gift.extend(get_reward_list) gen_erl(online_gift_erl, data_online_gift)
data_hero_inst.append(""" %% @doc 最大编制扩充 %% @spec max_max_num(heroID::int()) -> int() """) for i in max_max_num: data_hero_inst.append("max_max_num(%d) -> %d;" % (i, max_max_num[i])) data_hero_inst.append("max_max_num(_) -> 0.") power_percent_list = [] power_percent_list.append(""" %% @doc 战力系数 %% @spec power_percent(HeroID :: int()) -> number() """) @load_sheel(work_book, ur"英雄界面") def get_view(content): hero_id = int(content[ViewField.id]) power_percent = int(content[ViewField.ForceFactor]) power_percent_list.append( "power_percent(HeroID) when HeroID =:= %d -> %f;" % (hero_id, power_percent / 100.0)) return [] get_view() power_percent_list.append("power_percent(_) -> 1.") data_hero_inst.extend(power_percent_list) gen_erl(hero_inst_erl, data_hero_inst)
for box_id in box_id_list.split("+"): box_id = box_id.strip() item_list = item_drop_conf.get(box_id, []) item_list.append("{%d, %d, %d, %d}"%(item_id, min_num, max_num, weight)) item_drop_conf[box_id] = item_list return [] get_item_drop() item_drop_list = [] for key in item_drop_conf.keys(): item_drop_list.append("get_item_list(%s) -> [%s];"%(key, ",".join(item_drop_conf[key]))) item_drop_list.append("get_item_list(_) -> [].") data_dungeon_box.extend(item_drop_list) mail_list = [] mail_list.append("%% mail_list(DungeonID::int()) -> list()") @load_sheel(work_book, ur"通关第一人奖励") def get_mail_list(content): dungeon_id = int(content[0]) coin = int(content[1]) union_coin = int(content[2]) item = str(get_value(content[3], '')) mail_list.append("mail_list(%d) -> [{coin, %d}, {union_coin, %d}] ++ [%s];"%(dungeon_id, coin, union_coin, item)) return [] get_mail_list() mail_list.append("mail_list(_) -> [].") data_dungeon_box.extend(mail_list) gen_erl(dungeon_box_erl, data_dungeon_box)
get_item_hero_list_by_first() chest_item_hero_by_first.append("get_item_hero_list_by_first(_, _) -> false.") spec_time.append("get_times(_) -> false.") data_chest.extend(chest_item_hero_by_first) data_chest.extend(spec_time) # 根据抽取类型获取消耗钻石数量 cost_gold_list = [] cost_gold_list.append("\n\n%% 根据抽取类型获取消耗钻石数量") cost_gold_list.append( "%% @spec get_gold_cost(extract_type :: int()) -> cost_gold :: int()") @load_sheel(work_book, ur"钻石消耗") def get_gold_cost(content): extract_type = int(get_value(content[BaseField4.extract_type], 0)) extract_type_1 = int(get_value(content[BaseField4.extract_type_1], 0)) gold_cost = int(get_value(content[BaseField4.gold_cost], 0)) cost_gold_list.append("""get_gold_cost({0}, {1}) -> {2};""".format( extract_type, extract_type_1, gold_cost)) return [] get_gold_cost() cost_gold_list.append("get_gold_cost(_, _) -> 0.") data_chest.extend(cost_gold_list) gen_erl(chest_erl, data_chest)
mine_sweep_time, can_auto_up_build, (crystal_percent + 100) / 100.0, (uranium_percent + 100) / 100.0, (iron_percent + 100) / 100.0, mine_auto_num, chest_10_percent / 100.0, gold_pay, coin_pay, (gold2coin_iron_percent + 100) / 100.0, (gold2coin_crystal_percent + 100) / 100.0, (gold2coin_uranium_percent + 100) / 100.0, (gold2coin_percent + 100) / 100.0, (dungeon_coin_percent + 100) / 100.0, power_vip_name)) return [] get_vip_conf() vip_conf.append("get(_) -> false.") get_vip.append("%% @doc 根据战力数获得对应的vip等级") get_vip.append("%% @spec get_vip_lev(Gold :: int()) -> VIPLev::int()") get_vip = get_vip[::-1] get_vip.append("get_vip_lev(_) -> 1.") data_power_vip.extend(get_vip) data_power_vip.extend(min_gold) data_power_vip.extend(vip_conf) data_power_vip.append(""" %% @doc 所有的VIP列表 %% @spec get_all() -> list() get_all() -> [%s]. """ % (",".join(all_vip_list))) gen_erl(power_vip_erl, data_power_vip)
assign = int(content[0]) mul_2 = int(content[1]) mul_3 = int(content[2]) mul_10 = int(content[3]) weight_list.append("get_weight(Mul, Assign) when Mul =:= 2, Assign =:= %d -> %d;"%(assign, mul_2)) weight_list.append("get_weight(Mul, Assign) when Mul =:= 3, Assign =:= %d -> %d;"%(assign, mul_3)) weight_list.append("get_weight(Mul, Assign) when Mul =:= 10, Assign =:= %d -> %d;"%(assign, mul_10)) return [] get_weight() weight_list.append("get_weight(_, _) -> 0.") data_gold2coin.extend(weight_list) build_add_coin_list = [] build_add_coin_list.append(""" %% @doc 建筑等级附加金币 %% @spec add_coin_by_build_lev(BuildLev::int()) -> Coin::int() """) @load_sheel(work_book, ur"建筑等级对应的金币增加量") def get_build_add_coin(content): lev = int(content[0]) coin = int(content[1]) build_add_coin_list.append("add_coin_by_build_lev(BuildLev) when BuildLev =:= %d -> %d;"%(lev, coin)) return [] get_build_add_coin() build_add_coin_list.append("add_coin_by_build_lev(_) -> 0.") data_gold2coin.extend(build_add_coin_list) gen_erl(gold2coin_erl, data_gold2coin)
data_adjunct.extend(is_adjunct_fit_hero_list) data_adjunct.extend(get_pos_list) data_adjunct.extend(up_cost_list) data_adjunct.extend(is_max_adjunct_id_list) data_adjunct.extend(get_next_adjunct_id_list) data_adjunct.extend(get_pre_adjunct_id_list) data_adjunct.extend(get_base_attr_list) data_adjunct.extend(need_hero_quality_list) get_percent_attr_list = [] get_percent_attr_list.append(""" %% @doc 镶嵌加成百分比 %% @spec get_percent_attr(AddID::int()) -> float() """) @load_sheel(work_book, ur"增强物品") def get_add_percent(content): add_id = int(content[PercentField.add_id]) percent = int(content[PercentField.add_percent]) get_percent_attr_list.append("get_percent_attr(AddID) when AddID =:= %d -> %f;"%(add_id, percent/100.0)) return [] get_add_percent() get_percent_attr_list.append("get_percent_attr(_) -> 0.") data_adjunct.extend(get_percent_attr_list) gen_erl(new_adjunct_erl, data_adjunct)
% (dungeon_id, items, gold, coin)) return [] get_base() first_pass_gain_list.append("first_pass_gain(_) -> [].") data_king_boss.extend(first_pass_gain_list) reset_cost_list = [] reset_cost_list.append(""" %% @doc 重置花费 %% @spec reset_cost(Nth::int()) -> list() """) @load_sheel(work_book, ur"重置花费") def get_cost(content): nth = int(content[ResetField.resetCount]) gold = int(content[ResetField.gold]) reset_cost_list.append("reset_cost(%d) -> [{del_gold, %d}];" % (nth, gold)) return [] get_cost() reset_cost_list.append("reset_cost(_) -> [].") data_king_boss.extend(reset_cost_list) gen_erl(king_boss_erl, data_king_boss)