源战役
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
4.4 KiB

  1. %%------------------------------------------------------------------------------
  2. %% @Module : tsmaps
  3. %% @Author : xiaoxiang
  4. %% @Created : 2017/04/24
  5. %% @Description: 藏宝图
  6. %%------------------------------------------------------------------------------
  7. % err421_1_have_not_goods 不存在该藏宝图
  8. % err421_2_not_xy 未到达藏宝地点
  9. % err421_3_collec_wrong 采集失败
  10. % err421_4_team_num_err 队伍人数不够2人
  11. % err421_5_clue_not_enough 线索不够
  12. % err421_6_not_team 队伍状态才能参与
  13. % err421_7_not_num 队伍人数不够
  14. % err421_8_lv_not 等级不够
  15. % err421_9_not_scene 线索不在当前地图
  16. % err421_10_not_same_time 不在同一支队伍中
  17. %err421_11_not_same_guild 不在同一个帮会中
  18. % err421_12_already_get 该线索已被发掘,请寻找其他线索
  19. % err421_13_not_guild 请加入一个公会
  20. % err421_14_not_clue 线索位置不正常,请继续寻找
  21. % err421_15_already_get_tsmap 宝藏已被挖走
  22. % err421_16_max_help 您今天的神秘宝图帮助奖励已到上限
  23. % err421_17_not_same_guild 您与宝藏发布者不在同一个公会
  24. % err421_18_collecting {1}正在挖宝,眼睛变成卢币形状
  25. % err421_19_not_xy_extra {1}不在附近,无法挖宝
  26. % err421_20_lv_not_extra {1}等级不足
  27. % err421_26_dun_level 当前副本阶段禁止进入
  28. %% -----------------------------------------------------------------------------
  29. -define(EVENT_TSMAPS_REWARD, 1). %% 1奖励
  30. -define(EVENT_TSMAPS_HOLE, 2). %% 2洞穴
  31. -define(EVENT_TSMAPS_MON, 3). %% 3怪物
  32. -define(TSMAPS_STATE_WAIT, 0). %% 藏宝图活动进行状态 0未进行
  33. -define(TSMAPS_STATE_NORMAL, 1). %% 藏宝图活动进行状态 0未进行 普通进行中
  34. -define(TSMAPS_STATE_FINE, 2). %% 藏宝图活动进行状态 0未进行 精致进行中
  35. -define(TSMAPS_STATE_MYSTICAL, 3). %% 藏宝图活动进行状态 0未进行 神秘进行中
  36. -define(TSMAP_COLLECT_NONE, 0). %% 无操作
  37. -define(TSMAP_COLLECT_START, 1). %% 开始挖取宝藏
  38. -define(TSMAP_COLLECT_END, 2). %% 挖取宝藏结束
  39. -define(TSMAP_MIN_LV, 30). %% 最低等级
  40. -define(TSMAP_INVITE_MAX, 10). %% 最大邀请人数
  41. -define(TIME_OUT_KILL_MON, (30*60)).
  42. -define(MYSTICAL_CLUE_MAX, 3). %% 神秘宝藏线索
  43. -define(MAX_MYSTICAL_HELP, 5). %% 神秘宝藏最大帮助次数
  44. -define(TSMAP_CONFIG_XY, 4). %% 采集范围400像素
  45. -define(TSMAP_CONFIG_LV_LIMIT, 5). %% 邀请玩家进入神秘洞穴等级
  46. -define(TSMAP_CONFIG_COLLECT_NUM,6). %% [{采集id,数量}...],可采集数量上限
  47. %% 神秘宝藏地图表
  48. -record(base_tsmaps, {
  49. id = 0,
  50. lv = [],
  51. maps = []
  52. }).
  53. %% 藏宝图触发事件配置表
  54. -record(base_tsmaps_event, {
  55. id = 0,
  56. map_type = 0, %% 藏宝图类型 1普通,2精致,3神秘
  57. event = [], %% 触发事件 1奖励,2洞穴,3怪物;[{编号,权重}]
  58. holder_lv = 0, %% 持有者等级
  59. holder_reward = [], %% 持有者奖励 [{奖励品级,权重,奖励列表},{}...]
  60. help_reward = [], %% 帮助者奖励 [{奖励品级,奖励列表},{}...]
  61. hole = [], %% 神秘洞穴 [{权重,[副本1,副本2]},{权重,[副本1]}]
  62. mon = [], %% 怪物 [{权重,怪物id,数量},{}...]
  63. holder_mon_reward = [], %% 持有者杀怪奖励
  64. help_mon_reward = [] %% 帮助者杀怪奖励
  65. }).
  66. -record(tsmap,{
  67. subtype = 0, %% 藏宝图类型
  68. scene = 0,
  69. pos = [], %% 藏宝图坐标 [{id,x,y,role_id, name}]
  70. produce_time = 0,
  71. time = 0 %% 开始挖取的时间戳
  72. }).
  73. -record(status_tsmaps, {
  74. tsmap_maps = maps:new(),
  75. hole=[],
  76. goods_num = maps:new()
  77. }).
  78. -define(sql_get_tsmap_select, <<"select goods_id, produce_time, subtype, scene, pos from tsmap_pos where role_id=~p">>).
  79. -define(sql_tsmap_replace, <<"replace into tsmap_pos (role_id, goods_id, produce_time, subtype, scene, pos) values (~p, ~p, ~p, ~p, ~p, '~s')">>).
  80. -define(sql_delete_tsmap, <<"delete from tsmap_pos where goods_id=~p">>).