← Back to list
INS-395
キャラクターの一時加入と正式加入の処理
StatusDone
TeamInstansys
Assigneeyasuhisa.hiraga@instansys.co.jp
PriorityNo priority
Created2026/02/09 05:55
Completed2026/02/23 04:50
Archived2026/03/03 02:39
Description
報酬と同じように、temporaryにする
- main_quest_temporary_character_rewards テーブルを作る
- カラム id | player_id | character_master_id | level | total_exp | created_at | update_at
- ステージの報酬として設定する
*
RewardsDataType.characters:CharacterRewardData[] CharacterRewardData = CommonRewardData & { id: CharacterMasterId; // キャラクターマスターデータID level: number; // 加入時のレベル。total_expは levelから逆算 }; - チャプタークリア時に正式加入とする
- チャプター離脱時は、データを消す
- チャプターゲームオーバー時は、データを消す
確認事項
- 仲間一覧に出てくるか > でてこない
- 一時加入中のキャラクターは強化できるのか > ない
- もし強化できるなら、離脱時もその強化は残すべきだと思いますが、となると、カラムに disable のようなものを用意して、データ自体は消さないなどの処理が必要。それともリセットか。
- 覚醒はできるのか > ない
- できる場合は、total_awakenings が必要。離脱時total_awakeningsはどうなるか。
- 装備、魔具、ルーンは装着可能か > ない
- 離脱時に解除処理が必要
- main_quest_temporary_character_rewardsという専用のテーブルで一時キャラクターを管理する場合、character_equipmentsとは別の紐付けテーブルが必要になる。(ルーンや魔具に関しても同様)
- intimacy_points(親密度)は必要か > ない
- ステージクリアでもらえるキャラクター経験値は一時キャラクターにも付与されるか > される
- 一時加入時から正式加入した場合、levelやtotal_expはそのまま引き継ぐか > 引き継ぐ
- 一時加入するが、チャプタークリア時にいなくなるお助けキャラクター的なものは存在するか > なし
- その場合別途テーブル用意するか、カラムに is_unusable :Boolean のようなものが必要かも
- infomation にキャラクターアイコンが出てくるか(他の報酬アイテムなどと一緒)> ストーリー読んだ時に一時加入開始
- ストーリーのinfomationには「あらすじ」を出す。(ステージのデータに書く)
- 加入キャラクターをシルエット(はてな)で出す
- ストーリーステージをクリアした時に、
- xxxがPTに加入しました!という画面がステージ終了後、メインクエストのinProgressView上で表示する
- xxxがPTに正式加入しました!という画面がチャプターリザルトのどっかで必要そう
一時加入という機能がいらないかも
- ストーリーステージクリアで正式加入
- 演出はガチャの当たり演出と同じ
- すでにガチャで持ってる場合は、勲章として手に入る
export type MainQuestStoryStageMasterType = CommonMainQuestMasterType & {
type: MainQuestStageType.Story;
scenarioId: string;
joinCharacters?: {
characterMasterId: CharacterMasterId;
level: number;
}[];
};
- CharacterObtainedOverlay.tsxというコンポーネントで加入キャラ(または勲章)を表示する。これはガチャの結果にも使われるものになる予定