Exemplo n.º 1
0
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 []
Exemplo n.º 2
0
%% @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)
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
        ,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)
Exemplo n.º 5
0
        (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)
Exemplo n.º 6
0

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)
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
        ,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)
Exemplo n.º 9
0

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)
Exemplo n.º 10
0
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)
Exemplo n.º 11
0
    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)
Exemplo n.º 12
0
                                 "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)
Exemplo n.º 13
0
%% @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)
Exemplo n.º 14
0
    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)
Exemplo n.º 15
0
                (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
        ]).
""")
Exemplo n.º 16
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)
Exemplo n.º 17
0
    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)
Exemplo n.º 18
0
        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)
Exemplo n.º 19
0
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)
Exemplo n.º 20
0
# 获取英雄邮件附件内容
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)
Exemplo n.º 21
0
%% @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)
Exemplo n.º 22
0
          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)
Exemplo n.º 23
0
@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)
Exemplo n.º 24
0
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)
Exemplo n.º 25
0
    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)
Exemplo n.º 26
0

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)
Exemplo n.º 27
0
                  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)
Exemplo n.º 28
0
    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)
Exemplo n.º 29
0
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)
Exemplo n.º 30
0
        % (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)