Issue

イベント報酬テーブル作成 #1471

wada opened this at 2022-01-17T10:15:22; closed

Description

opened by wada at 2022-01-17T10:15:22; updated 2022-11-29T12:44:43

ランキングと汎用の2種類
対象イベントは、
・レイド
・賞金首
・新大陸
・建築(島テーマ)
・覇戦リーグ

レイドが期限付き対応必要

wada change_title at 2022-01-17T10:15:30: 報酬テーブル作成 イベント報酬テーブル作成

Comment

#16651 by iwamoto at 2022-01-17T10:22:02; updated 2022-01-17T10:22:02

@wada
参考までにキングダムではこんな感じです

CREATE TABLE `m_event_ranking_rewards` (
  `id` int(11) NOT NULL,
  `m_event_id` int(11) NOT NULL,
  `category` tinyint(4) NOT NULL DEFAULT '1' COMMENT '1個人2連合',
  `term` tinyint(4) NOT NULL DEFAULT '1' COMMENT '1最終2中間',
  `rank_from` int(11) NOT NULL,
  `rank_to` int(11) NOT NULL,
  `item_type_1` int(11) NOT NULL DEFAULT '0',
  `item_id_1` int(11) NOT NULL,
  `item_num_1` int(11) NOT NULL,
  `param_1` varchar(100) DEFAULT NULL,
  `item_type_2` int(11) NOT NULL,
  `item_id_2` int(11) NOT NULL,
  `item_num_2` int(11) NOT NULL,
  `param_2` varchar(100) DEFAULT NULL,
  `item_type_3` int(11) NOT NULL,
  `item_id_3` int(11) NOT NULL,
  `item_num_3` int(11) NOT NULL,
  `param_3` varchar(100) DEFAULT NULL,
  `item_type_4` int(11) NOT NULL,
  `item_id_4` int(11) NOT NULL,
  `item_num_4` int(11) NOT NULL,
  `param_4` varchar(100) DEFAULT NULL,
  `item_type_5` int(11) NOT NULL,
  `item_id_5` int(11) NOT NULL,
  `item_num_5` int(11) NOT NULL,
  `param_5` varchar(100) DEFAULT NULL,
  `hide_flg` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'ユニット隠蔽化フラグ',
  `del_flg` tinyint(4) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ALTER TABLE `m_event_ranking_rewards`
  ADD PRIMARY KEY (`id`),
  ADD KEY `m_event_id` (`m_event_id`,`category`,`term`);

ALTER TABLE `m_event_ranking_rewards`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6177;
COMMIT;

Comment

#16672 by wada at 2022-01-17T16:20:06; updated 2022-01-17T16:50:38

ランキング

CREATE TABLE `master_event_ranking_reward` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `event_type` int(10) unsigned NOT NULL COMMENT '定義が必要',
  `event_no` int(10) unsigned NOT NULL,
  `ranking_type` int(10) unsigned NOT NULL COMMENT 'イベント参照',
  `rank_from` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '0は上限なし',
  `rank_to` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '0は下限なし',
  PRIMARY KEY (`id`),
  KEY `ranking_rewards` (`event_type`,`event_no`,`ranking_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

#master_event_ranking_reward.idに紐づくアイテム
CREATE TABLE `master_event_ranking_reward_item` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `ranking_reward_id` int(10) unsigned NOT NULL,
  `type` int(10) unsigned NOT NULL,
  `present_id` int(10) unsigned NOT NULL,
  `count` int(10) unsigned NOT NULL,
  `item_name` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `ranking_reward_id` (`ranking_reward_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

memo

報酬設定の type, present_id, count はソース内の表記に合わせた

汎用

CREATE TABLE `master_event_reward` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `event_type` int(10) unsigned NOT NULL COMMENT '定義',
  `event_no` int(10) unsigned NOT NULL,
  `reward_type` int(10) unsigned NOT NULL COMMENT 'イベント参照',
  `value` int(10) unsigned NOT NULL COMMENT 'タイプごとに変化',
  `sort` int(10) unsigned NOT NULL COMMENT '順序が必要なケースで使用',
  `loop_flg` int(10) unsigned NOT NULL COMMENT 'ループ報酬判定',
  PRIMARY KEY (`id`),
  KEY `event_rewards` (`event_type`,`event_no`,`reward_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

#master_event_reward.idに紐づくアイテム
CREATE TABLE `master_event_reward_item` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `reward_id` int(10) unsigned NOT NULL,
  `type` int(10) unsigned NOT NULL,
  `present_id` int(10) unsigned NOT NULL,
  `count` int(10) unsigned NOT NULL,
  `item_name` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `reward_id` (`reward_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

memo

レイド以外はそれぞれ1つずつで足りる
チームレイド討伐報酬、チーム内TOP報酬をどっちで実装するか

Comment

#16675 by wada at 2022-01-17T16:50:02; updated 2022-01-17T16:50:02

@iwamoto @kouho
おそらく上記の構造で各イベントの報酬はカバーできると思いますが、実装する上で変更が入るかもしれません。
一旦確認お願いします。

wada refer at 2022-02-10T14:31:45: 1545:[WIP]賞金首イベントの報酬テーブル対応
wada refer at 2022-02-14T12:43:44: 1545:【2/18】賞金首イベントの報酬テーブル対応
wada refer at 2022-02-18T17:16:19: 1565:[WIP]新大陸報酬テーブル対応
wada refer at 2022-02-21T14:50:25: 1565:【2/25】新大陸報酬テーブル対応

Comment

#18312 by wada at 2022-04-07T10:21:23; updated 2022-04-07T10:21:23

建築イベントはconfig整理後が望ましい

wada close_comment at 2022-11-29T12:44:43: 主要イベントは対応したのでクローズ