%%---------------------------------------------------- %% 键值对应表 %% @author whjing2011@gmail.com %%---------------------------------------------------- -module(kv). -export([get/1, get/2]). get(career) -> [ {"无职业", 0} ,{"控", 1} ,{"法", 2} ,{"物", 3} ,{"肉", 4} ,{"辅", 5} ]; get(partner_career_type) -> [ {"无职业", 0} ,{"控", 1} ,{"法", 2} ,{"物", 3} ,{"肉", 4} ,{"辅", 5} ]; get(partner_pos_type) -> [ {"无", 0} ,{"前排", 1} ,{"中排", 2} ,{"后排", 3} ]; get(partner_camp_type) -> [ {"无", 0} ,{"水", 1} ,{"火", 2} ,{"风", 3} ,{"光", 4} ,{"暗", 5} ]; get(sex) -> [ {"无限制", 2} ,{"男", 1} ,{"女", 0} ]; get(quality) -> [ {"白", 0} ,{"绿", 1} ,{"蓝", 2} ,{"紫", 3} ,{"橙", 4} ,{"红", 5} ]; get(bool) -> [ {"否", 0} ,{"是", 1} ]; get(nature) -> [ {"中立", 0} ,{"敌对", 1} ,{"友善", 2} ]; get(weekday) -> [ {"星期一", 1} ,{"星期二", 2} ,{"星期三", 3} ,{"星期四", 4} ,{"星期五", 5} ,{"星期六", 6} ,{"星期日", 7} ]; get(unit_type) -> [ {"普通怪物", 200} ,{"BOSS怪物", 201} ,{"传送阵", 202} ,{"神界事件",203} ]; get(unit_type_cli) -> [ {"普通怪物", 0} ,{"BOSS怪物",1} ,{"传送阵", 2} ,{"特效单位",3} ,{"场景NPC",4} ,{"神界事件",5} ]; get(world_unit_type_cli) -> [ {"装饰", 0} ,{"矿山", 1} ,{"营地", 2} ,{"要塞", 3} ,{"城池", 4} ,{"普通怪物", 5} ,{"限时BOSS", 6} ,{"装饰独占", 7} ,{"个人城池", 8} ]; get(item_type) -> [ {"普通", 0} ,{"武器", 1} ,{"鞋子", 2} ,{"衣服", 3} ,{"头盔", 4} ,{"资产", 7} ,{"材料", 9} ,{"神器", 10} ,{"星命1", 11} ,{"星命2", 12} ,{"星命3", 13} ,{"星命4", 14} ,{"宝石1", 15} ,{"宝石2", 16} ,{"宝石3", 17} ,{"宝石4", 18} ,{"魂灵", 19} ,{"魄灵", 20} ,{"意灵", 21} ,{"念灵", 22} ,{"神装_耳环", 23} ,{"神装_戒指", 24} ,{"神装_项链", 25} ,{"神装_手镯", 26} ,{"周卡", 27} ,{"皮肤", 28} ,{"英魂", 29} ,{"家具", 30} ,{"萌宠道具", 31} ,{"萌宠食物", 32} ,{"萌宠特产", 33} ,{"萌宠明信片", 34} ,{"萌宠日记", 35} ,{"精灵", 36} ,{"精灵蛋", 37} ,{"孵化道具", 38} ,{"亲密度", 40} ,{"专属武器", 41} ,{"礼包", 100} ,{"自选礼包", 101} ,{"英雄碎片", 102} ,{"皮肤碎片", 110} ,{"活动道具", 500} ]; get(star_type) -> [ {"白羊座", 1} ,{"金牛座", 2} ,{"双子座", 3} ,{"巨蟹座", 4} ,{"狮子座", 5} ,{"处女座", 6} ,{"天秤座", 7} ,{"天蝎座", 8} ,{"射手座", 9} ,{"摩羯座", 10} ,{"水瓶座", 11} ,{"双鱼座", 12} ]; get(item_use_type) -> [ {"不能直接使用", 0} ,{"消耗", 1} ,{"不消耗", 2} ,{"穿戴", 3} ,{"批量使用", 4} ]; get(item_gain_type) -> [ {"道具背包", 1} ,{"伙伴装备背包", 2} ,{"伙伴碎片背包", 1} % 横版时,英雄碎片进入的是道具背包,客户端也有相应处理,为了不做太多改动,所以不单独设立新类型 ,{"数值", 4} ,{"直接使用", 5} ,{"家具仓库", 6} ,{"萌宠背包", 7} ,{"特殊背包", 9} ,{"活动背包", 10} ]; get(item_expire) -> [ {"永久", 0} ,{"过期-分钟", 1} ,{"过期-日期", 2} ,{"开启-分钟", 3} ,{"开启-日期", 4} ,{"穿戴-过期-分钟", 5} ,{"穿戴-过期-日期", 6} ,{"过期-当周", 7} ]; get(item_effect_type) -> [ {"钻石", 1} , {"金币", 2} , {"经验", 3} , {"英雄经验", 4} , {"英雄碎片", 5} , {"加buff", 6} , {"获取英雄", 7} , {"商城特惠礼包时效", 8} , {"体力", 9} , {"神格", 10} , {"充值", 11} , {"激活头像框", 12} , {"激活聊天气泡", 13} , {"VIP经验", 14} , {"进入召唤", 15} , {"直接升星", 16} , {"营地保护", 17} , {"迁城令", 18} , {"城防值", 19} , {"竞技券", 20} , {"获取时装", 21} , {"获得神器", 22} , {"红包", 23} , {"神器碎片", 24} , {"激活称号", 25} , {"联盟副本Buff", 26} , {"特定等级英雄", 27} , {"激活圣器", 28} , {"伙伴升星", 29} , {"符文星级", 30} , {"激活特权", 31} , {"激活头像", 32} , {"激活周卡", 33} , {"激活伙伴皮肤", 34} , {"激活徽章", 35} , {"增加事件概率", 36} , {"增加城市权重", 37} , {"出行城市列表", 38} , {"激活明信片", 39} , {"激活日记", 40} , {"发送回归红包", 41} , {"家园形象", 42} , {"位面英雄恢复", 43} , {"皮肤碎片", 44} ]; get(cond_label) -> [ {"等级", lev} ,{"职业", career} ,{"通关剧情副本", dungeon_pass} ]; get(cond_op) -> [ {"不等于", ue} ,{"等于", eq} ,{"小于", lt} ,{"大于", gt} ,{"小于等于", le} ,{"大于等于", ge} ,{"包含", include} ,{"不包含", not_in} ,{"范围", range} ,{"=/=", ue} ,{"==", eq} ,{"<", lt} ,{">", gt} ,{"<=", le} ,{">=", ge} ]; get(quest_type) -> [ {"覺醒歷程", 1} ,{"夥伴好感", 2} ,{"日常任务", 3} ,{"战令每日任务", 4} ,{"战令每周任务", 5} ,{"战令周期任务", 6} ,{"新战令每日任务", 7} ,{"新战令每周任务", 8} ,{"ios评分任务", 9} ,{"劇情戰鬥", 10} ,{"成長引導", 11} ,{"伙伴战令任务", 12} ,{"夺宝日签任务", 13} ,{"成长任务", 14} ]; get(quest_sec_type) -> [ {"覺醒歷程", 1} ,{"支线任务", 2} ,{"劇情戰鬥", 10} ,{"成長引導", 11} ,{"成长任务", 14} ]; get(gain_type) -> [ {"获得", gain} ,{"扣除", loss} ]; get(gain_label) -> [ {"金币", coin} ,{"银币",silver_coin} ,{"钻石", gold} ,{"红钻", red_gold} ,{"银币或钻石", coin_or_gold} ,{"金币或钻石", gold_bind_or_gold} ,{"红钻或蓝钻", red_gold_or_gold} ,{"角色经验", exp} ,{"英雄经验", hero_exp} ,{"物品", item_base_id} ,{"竞技积分", arena_cent} ,{"活跃度", activity} ,{"联盟贡献", guild} ,{"远征积分", expedition} ,{"段位积分", rank_match_point} ,{"英雄经验池", partner_exp_all} ,{"体力", energy} ,{"神格", hero_soul} ,{"荣誉", pk_point} ,{"人民币", rmb} ,{"世界贡献", world} ,{"时装碎片", clothes_piece} ,{"成就点",feat_point} ,{"神器之灵", shenqi_point} ,{"友情点", friend_point} ,{"BOSS积分", boss_point} ,{"探宝积分", star_point} ,{"竞猜积分", arena_guesscent} ,{"天梯积分", sky_coin} ,{"先知结晶", recruithigh_hero} ,{"远征勋章", expedition_medal} ,{"符文精华", 10450} ,{"精英之徽", elite_coin} ,{"神装碎片", holy_eqm_coin} ,{"皮肤碎片", skin_debris} ,{"竞技声望", cluster_coin} ,{"家园币", home_coin} ,{"冠军币", cluster_guess_cent} ,{"圣羽", feather_exchange} ,{"巅峰币", peak_guess_cent} ,{"STEP-UP召唤积分", step_up_recruit_point} ,{"精英召唤积分", elite_recruit_point} ,{"限定召唤积分", recruit_3075_point} ,{"限时祈愿积分", recruit_3076_point} ,{"乱斗积分", camp_arena_point} ,{"卡牌碎片", star_card_point} ,{"英魂之心", 10005} ,{"万圣糖果", 80244} ,{"觉醒石", 10460} ]; get(event) -> [ {"登录", evt_cli_loaded} ,{"升级", evt_levup} ,{"创角", evt_create} ,{"获得物品", evt_get_item} ,{"使用物品", evt_use_item} ,{"使用物品类型", evt_use_item_type} ,{"删除物品", evt_del_item} ,{"获得金币", evt_gain_coin} ,{"失去金币", evt_loss_coin} ,{"获得钻石", evt_gain_gold} ,{"失去钻石", evt_loss_gold} ,{"战斗引导", evt_combat_round} ,{"杀死单位", evt_kill_npc} ,{"挑战单位", evt_fight_unit} ,{"操作单位", evt_unit_click} ,{"接受任务", evt_accept_quest} ,{"提交任务", evt_commit_quest} ,{"战斗剧情", evt_combat_drama} ,{"进入副本", evt_dungeon_enter} ,{"通关副本", evt_dungeon_pass} ,{"完成剧情", evt_broadcast_drama} ,{"完成引导", evt_finish_guide} ,{"副本快速战斗", evt_dungeon_fast_combat} ]; get(battle_type) -> [ {"默认", 1} ,{"竞技场", 2} ,{"剧情副本", 3} ,{"试练塔", 4} ,{"港口", 5} ,{"装备副本", 6} ,{"材料副本", 7} ,{"英灵副本", 8} ,{"联盟战", 9} ,{"剧情", 10} ,{"远征", 11} ,{"训练所", 12} ,{"段位赛", 13} ,{"泰坦副本", 14} ,{"巨龙", 15} ,{"众神战场", 16} ,{"联盟副本", 17} ,{"切磋", 18} ,{"实时切磋", 19} ,{"大世界的战斗类型", 20} ,{"首席争霸", 21} ,{"大世界的战斗不进战斗",22} ,{"英雄试炼",23} ,{"大世界战斗类型防守阵",100} ]; get(partner_rare_type) -> [ {"SSSR", 4} ,{"传说", 3} ,{"稀有", 2} ,{"精良", 1} ]; get(partner_quality) -> % 英雄品质 partner_data:partner_quality(); get(chapter_difficulty) -> [ {"普通", 1} ,{"困难", 2} ,{"噩梦", 3} ,{"地狱", 4} ]; get(dun_eqm_type) -> [ {"装备副本", 1} ,{"觉醒材料副本", 2} ]; get(exchange_pay_type) -> [ {"铜钱", coin} ,{"钻石", gold} ]; get(summon_type) -> [ {"物品", 1} ,{"英雄", 2} ]; get(artifact_summon_type) -> [ {"物品", 2} ,{"神器", 1} ]; get(exchange_item_type) -> [ {"装备", 1} ,{"英雄", 2} ,{"道具", 3} ,{"神器", 4} ,{"家具", 41} ,{"出行道具", 42} ]; get(rank_type) -> [ {"七天剧情", 9} ,{"七天星命塔", 10} ,{"七天竞技场", 11} ,{"七天战力", 12} ,{"七天命格", 19} ,{"七天英雄", 14} ,{"七天神界", 15} ,{"七天消费", 23} ,{"七天宝石", 31} ,{"七天圣器", 27} ,{"七天寻宝", 28} ,{"七天无尽试炼", 29} ,{"跨服宝石", 1021} ,{"跨服圣器", 26} ,{"跨服观星", 1024} ,{"跨服无尽试炼", 1018} ,{"跨服召唤", 1022} ,{"跨服战力", 25} ,{"跨服消费", 1023} ]; get(combat_target_type) -> [ {"敌方", enemy_and_random, 1} %% 一个或多个敌方 ,{"友方", ally_and_random, 2} %% 一个或多个友方 ,{"继承目标", last_target, 3} %% 上个效果的目标 ,{"自己", self, 4} %% 打自己 ,{"死亡切换", enemy_to_die, 5} %% 这个技能是一个一个的打死,目标数量为1 ,{"全单位随机", all_random, 6} %% 所有单位随机 ,{"友方血最少", ally_minimal_hp, 7} %% 友方血量最少的 ,{"敌方血最少", enemy_minimal_hp, 8} %% 敌方血量最少的 ,{"切换敌方目标", switch_enemy, 9} ,{"选中的敌方目标", enemy_of_skill_target, 10} ,{"被暴击目标", targets_be_crit, 11} ,{"友方死亡", dead_ally, 12} ,{"全场除自己", alive_except_self, 13} ,{"友方血上限最多", ally_maximum_hp_max, 14} ,{"除了自己的友方", ally_except_self, 15} ,{"非己最少血量受击目标",min_hp_except_self_in_last, 16} ,{"非选中的敌方目标", enemy_except_skill_target, 17} ,{"非选中的敌方目标", enemy_except_skill_target, 18} ,{"灼烧敌方目标", enemy_firing_target, 19} ,{"不重复敌方目标", enemy_norepeat_target, 20} ,{"友方血最大", max_hp_per_ally, 21} ,{"敌方血最大", max_hp_per_enemy, 22} ,{"优先前排", enemy_front_row, 23} ,{"优先中排", enemy_middle_row, 24} ,{"优先后排", enemy_back_row, 25} ,{"对面一行", enemy_face_col, 26} ,{"优先前中排", enemy_1_2_row, 27} ,{"优先前排补足", enemy_front_row_acc, 28} ,{"优先中排补足", enemy_middle_row_acc, 29} ,{"优先后排补足", enemy_back_row_acc, 30} ,{"对面一行补足", enemy_face_col_acc, 31} ,{"优先前中排补足", enemy_1_2_row_acc, 32} ,{"己方优先前排", ally_front_row, 33} ,{"己方优先中排", ally_middle_row, 34} ,{"己方优先后排", ally_back_row, 35} ,{"己方对面一行", ally_face_col, 36} ,{"己方优先前中排", ally_1_2_row, 37} ,{"己方优先前排补足", ally_front_row_acc, 38} ,{"己方优先中排补足", ally_middle_row_acc, 39} ,{"己方优先后排补足", ally_back_row_acc, 40} ,{"己方对面一行补足", ally_face_col_acc, 41} ,{"己方优先前中排补足", ally_1_2_row_acc, 42} ,{"默认攻击", enemy_default, 43} ,{"攻击方", attack, 44} ,{"技能选目标", skill, 45} ,{"优先中后排补足", enemy_2_3_row_acc, 46} ,{"己方有减益BUFF", ally_negative_buff_target, 47} ,{"对面人数最多的一行", enemy_face_col_max_num, 48} ,{"优先未选中", not_selected, 49} ,{"优先可盗取", buff_can_fetch, 50} ,{"友方攻击最高", max_atk_ally, 51} ,{"优先中后排攻击顺序补足", enemy_2_3_row_acc_with_atk, 52} ,{"优先后排攻击顺序补足", enemy_back_row_acc_with_atk, 53} ,{"优先后排血量顺序补足", enemy_back_row_acc_with_hp_per, 54} ,{"除了自己优先后排血量顺序补足", enemy_back_row_acc_with_hp_per_exit_self, 55} ,{"优先无免疫后排补足", enemy_back_row_acc_with_no_immune, 56} %% @todo 这里条件判断无免疫时 写死了无免疫类型是2 后续复用要留意 lfl-2019-12-23 ,{"活着的敌方优先复仇目标", enemy_and_random_by_revanche_buff, 57} ,{"默认敌方优先复仇目标", enemy_default_by_revanche_buff, 58} ,{"血量最低优先复仇目标", enemy_minimal_hp_by_revanche_buff, 59} ,{"非前效果目标", enemy_except_ago_effect_target, 60} ,{"中后排补足优先复仇目标", enemy_2_3_row_acc_by_revanche_buff, 61} ,{"继承伤害目标", last_hurt_target, 62} %% 上个伤害效果的目标 ,{"累计伤害目标", acc_hurt_target, 63} %% 累计技能伤害效果的目标 ,{"继承目标_可选数量", last_target_select_num, 64} %% 上个效果的目标 ,{"优先控制和负面状态友方", ally_buff_target, 65} ,{"友方随机", ally_random, 66} %% 一个或多个友方 ,{"累计前次伤害目标", acc_once_hurt_target, 67} %% 累计前次伤害目标的目标 ,{"7星及以下", star_7_hurt_target, 68} %% 7星及以下的目标 ]; get(skill_trigger_condition) -> [ {"回合开始", when_round_begin} ,{"回合结束", when_round_end} ,{"战斗开始", when_combat_begin} ,{"战斗计算出手前", when_combat_begin_before_order} ,{"队友伤害_单次", after_ally_create_hurt_once} %% 队友造成伤害 ,{"造成暴击", when_crit} ,{"造成暴击后", after_crit} %% 技能暴击后触发 ,{"造成暴击后2", after_crit_before_dead} %% 技能暴击后在敌方触发复活前 触发 ,{"受到暴击后", after_be_crit} %% 受到暴击时候触发 ,{"自己伤害_多次", after_create_hurt} %% 造成伤害时触发 ,{"队友杀死敌方", after_ally_kill_enemy} %% ,{"己方杀死敌方", after_all_ally_kill_enemy} %% ,{"队友受控制", when_ally_be_control} %% ,{"自己受控制", when_self_be_control} %% ,{"队友伤害后敌方血量", after_hp_less_than_by_ally_hurt} %% ,{"使用技能前", before_use_skill} ,{"治疗时", when_cure} %% 每次计算治疗量时触发 ,{"治疗后", when_after_cure} %% 每次计算治疗量后触发 ,{"伤害时", when_hurt} %% 每次计算伤害时触发 ,{"首次伤害时", when_hurt_hurt_once} %% 伤害时计算(todo 主要是处理多段攻击时,对同一个目标触发多次) ,{"伤害后", when_after_hurt} %% 每次计算伤害后触发 ,{"首次伤害后", when_after_hurt_once} %% 在第一次计算伤害后触发(todo 主要是处理多段攻击时,对同一个目标触发多次) ,{"将受伤害时", will_be_hurt} ,{"作为目标时", when_is_target} %% ,{"队友回合开始", when_ally_round_begin} %% ,{"死亡触发", when_dead} %% ,{"队友死亡触发", when_ally_dead} %% ,{"单位死亡触发", when_other_dead} %% ,{"单位死亡触发_回合单次", when_other_dead_once} %% ,{"受到伤害触发_单次", after_be_hurt_once} %% ,{"受到物理伤害触发_单次", after_be_physical_hurt_once} %% ,{"受到法术伤害触发_单次", after_be_spells_hurt_once} %% ,{"伤害技能", after_use_hurt_skill} %% ,{"治疗技能", after_use_cure_skill} %% ,{"受到伤害触发_多次", when_be_hurt} %% ,{"抵抗时", when_against_effect} %% ,{"杀死目标时", when_kill_enemy} %% ,{"杀死目标", after_kill_enemy} %% ,{"队友被攻击前触发", before_ally_be_hurt} %% ,{"队友被攻击时触发", when_ally_be_hurt} %% ,{"队友濒临死亡时触发", when_ally_to_be_dead} %% ,{"每波开始", when_wave_begin} ,{"敌方使用有CD技能后触发", after_enemy_use_cd_skill} %% ,{"敌方出手后触发", after_enemy_use_skill} %% ,{"其他人使用拉条技能时触发", when_other_use_change_distance_skill} %% ,{"受到伤害前触发", before_be_hurt} %% ,{"敌方回合结束", when_enemy_round_end} %% ,{"受到暴击时", when_be_crit} %% 受到暴击时候 ,{"复活时", when_revive} ,{"队伍造成暴击后", after_ally_crit} %% 队伍造成暴击后触发 ,{"复活治疗技能", after_use_revive_or_cure_skill} %% 使用复活或治疗技能时 ,{"队友伤害时", when_ally_hurt} %% 每次队友计算伤害时触发 ,{"伤害值产生时", temp_be_hurt} %% 伤害值已经产生但还没有扣血 ,{"受到伤害后", after_be_hurt} %% 受到伤害后触发 ,{"播报后全体", after_play_all} %% 技能播报后所有单位 ,{"使用主动技能后", after_use_active_skill} %% 自身使用主动技能后触发 ,{"指定位置阵亡", limit_pos_all_dead} %% 指定位置阵亡 ,{"将受伤害时指定位置有存活", limit_pos_any_alive} %% 将受伤害时指定位置有存活 ,{"本回合无法行动时", when_can_not_action} ,{"特殊触发", by_time} ,{"队友死亡时", when_ally_be_dead} %% ,{"受到伤害或被治疗时", when_be_hurt_or_be_cure} %% ,{"伤害效果后", after_hurt_effect} ,{"我方单位死亡_系统", when_dead_sys} ,{"队友获得加速时_单次", when_ally_get_speed} ,{"敌方持续伤害暴发时", when_rand_begin_buff_dps} ]; get(buff_result_type) -> [ {"加属性", change_attr, "1"} ,{"眩晕", dizzy, "2"} %% 眩晕 ,{"沉默", silence, "3"} %% 沉默 ,{"护盾", add_shield, "4"} %% 加护盾 ,{"持续伤害", continue_hurt, "5"} ,{"反伤", anti_hurt, "6"} ,{"混乱", confusion, "7"} ,{"免疫", immune, "8"} ,{"嘲讽护盾", taunt_shield, "9"} ,{"嘲讽", taunt, "10"} ,{"无敌", invincible, "11"} ,{"保命", no_dead, "12"} ,{"无敌次数盾", count_invincible, "13"} ,{"忘却", forgotten, "14"} %% 禁被动,暴击 ,{"致盲", blinding, "15"} ,{"反击", anti_attack, "16"} ,{"禁疗", forbidden_add_hp, "17"} ,{"禁止复活", forbidden_revive, "18"} ,{"睡眠", sleep, "19"} ,{"诅咒", curse, "20"} ,{"拉条", change_distance, "21"} ,{"隐身", hidden, "22"} ,{"洞察", insight, "23"} ,{"暗伤", dark_hurt, "24"} ,{"援护", aid, "25"} %% ,{"普攻", normal_skill, "26"} %% ,{"加被动", passive_skill, "27"} %% ,{"额外一次伤害", other_atk, "28"} %% 受到伤害时额外受到一次伤害 ,{"忘却被动暴击", forgotten1, "29"} %% 禁被动,暴击 ,{"忘却被动", forgotten2, "30"} %% 禁被动 ,{"忘却暴击", forgotten3, "31"} %% 禁暴击 ,{"法术反噬", iron_maiden_spells, "32"} %% 法术反噬 ,{"物理反噬", iron_maiden_physical, "33"} %% 物理反噬 ,{"圣光结界", enchantment, "34"} %% 圣光结界 ,{"均衡护盾", anti_and_reduction, "35"} ,{"鬼魂", ghost, "36"} ,{"变身", change_look, "37"} ,{"伤害印记", damage_mark, "38"} ,{"反伤自身", anti_hurt_self, "39"} %% buff期间每次伤害都会对自身造成伤害 ,{"暴击印记", crit_stamp, "40"} %% 暴击时额外伤害 ,{"周围单位伤害", range_hurt, "41"} ,{"格挡控制盾", count_def_control, "42"} ,{"反噬", iron_maiden_all, "43"} %% 伤害反噬(不论伤害类型) ]; get(passive_effect_condition) -> [ {"杀死目标触发", after_kill_enemy} %% ,{"杀死目标复活后触发", after_kill_enemy_back} %% 杀死目标,并且在对方计算触发保命后再触发 ,{"造成暴击", when_crit} ,{"杀死目标时触发", when_kill_enemy} %% ,{"伤害超过体力上限", when_hurt_more_than} ,{"伤害时", when_hurt} %% 每次计算伤害时触发 ,{"被伤害超过体力上限", when_be_hurt_more_than} %% 每次计算伤害时触发 ,{"治疗前", when_before_cure} %% @todo 每次计算治疗效果时触发,持续整个治疗效果计算(用于群体治疗时,效果计算一次,全体治疗量都生效) ,{"嫁祸触发", when_before_impute} %% @todo 嫁祸移除buff计算成功后,触发 ]; get(effect_condition) -> [ {"属性比较", compare_attr} ,{"目标状态", target_state} ,{"技能结果", skill_result} ,{"自身状态", self_state} ,{"伤害超过体力上限", when_hurt_more_than} ,{"被伤害超过体力上限", when_be_hurt_more_than} %% 每次计算伤害时触发 ,{"已方", ally} ,{"敌方", enemy} ,{"前置条件", pre_cond} ,{"临时伤害值超过体力上限", when_temp_be_hurt_more_than} ]; get(effect_type) -> [ {"伤害", hurt,1} ,{"加buff", add_buff,2} ,{"动态加属性", dynamic_add_attr,3} %% 加属性,处理 血量少于多少,加属性多少 ,{"技能cd", change_skill_cd,4} %% 改变技能cd ,{"使用技能", use_skill,5} %% 使用一个技能 ,{"吸血", absort_hp,6} %% 吸血 ,{"随机效果", change_effect_id,7} %% 换效果id ,{"改变行动条", change_distance,8} %% ,{"加血", add_hp,9} %% ,{"驱散buff", reduce_buff,10} %% ,{"播动作", action_play,11} %% ,{"临时加属性", temporary_add_attr,12} %% ,{"扣血", reduce_hp,13} %% ,{"复活", revive,14} %% ,{"魅惑", charm,15} %% ,{"连击", continue_attack,16} %% ,{"夺取", fetch_buff,17} %% ,{"平衡", balance_hp_and_distance,18} %% ,{"破咒", effect_curse,19} %% ,{"援护", aid_ally,20} %% ,{"庇佑", bless_ally,21} %% ,{"召唤", summon,22} %% ,{"耐性", patience, 23} %% ,{"暗伤", dark_hurt, 24} %% ,{"疗愈", clear_dark_hurt, 25} %% ,{"条件效果", cond_effect_id,26} %% 条件换效果id ,{"临时加命中", temporary_add_hit,27} %% ,{"转换buff", convert_buff,28} %% 将对方buff转换为指定buff ,{"嫁祸", add_impute_buff,29} %% 将缓存的嫁祸移除的buff 增加给目标方 ]; get(skill_best_target) -> [ {"血量比例最小", min_hp_per} ,{"血量比例最大", max_hp_per} ,{"速度最低", min_speed} ,{"速度最高", max_speed} ,{"攻击最低", min_atk} ,{"攻击最高", max_atk} ,{"物防最低", min_def_p} ,{"物防最高", max_def_p} ,{"法防最低", min_def_s} ,{"法防最高", max_def_s} ,{"防御最低", min_def} ,{"防御最高", max_def} ,{"优先BOSS", boss} ,{"攻击条最低", min_distance} ,{"攻击条最高", max_distance} ,{"破甲", has_reduce_def} ,{"优先坦克目标", career_type1} ,{"优先物攻目标", career_type2} ,{"优先法师目标", career_type3} ,{"优先辅助目标", career_type4} ]; get(skill_target) -> [ {"敌方存活单位", alive_enemy, 1} ,{"友方存活单位", alive_ally, 2} ,{"友方死亡单位", dead_ally, 3} ,{"敌方死亡单位", dead_enemy, 4} ,{"自己", self, 5} ,{"全场除自己", alive_except_self, 6} ,{"友方存活单位除了自己", alive_ally_except_self, 7} ]; get(_Key) -> false. %% @doc 指定选取kv类型的子集 -spec get(Type :: atom(), Keys :: list()) -> false | [tuple()]. get(Type, []) -> kv:get(Type); get(Type, Keys) -> case kv:get(Type) of KVs when is_list(KVs) -> F = fun(Key, Rtn = {Acc, L}) -> case lists:keytake(Key, 1, L) of {value, KV, RestKVs} -> {[KV | Acc], RestKVs}; false -> Rtn end end, {NewKVs, _} = lists:foldl(F, {[], KVs}, Keys), lists:reverse(NewKVs); _ -> false end.