Skip to content

✨ [Trader 15] 日替わり商人の作成 & 商人の日替わり更新システムの実装 - #2169

Open
Lapis-LJA wants to merge 52 commits into
masterfrom
dev/lapis_daily_trader
Open

✨ [Trader 15] 日替わり商人の作成 & 商人の日替わり更新システムの実装#2169
Lapis-LJA wants to merge 52 commits into
masterfrom
dev/lapis_daily_trader

Conversation

@Lapis-LJA

@Lapis-LJA Lapis-LJA commented Nov 12, 2025

Copy link
Copy Markdown
Contributor

Fix #2164

@Lapis-LJA Lapis-LJA changed the title ✨ [Trader 15] 日替わり商人の実装 & 日替わり更新の実装 ✨ [Trader 15] 日替わり商人の実装 & 商人の日替わり更新システムの実装 Nov 12, 2025
@Lapis-LJA
Lapis-LJA marked this pull request as draft November 12, 2025 16:38
@Lapis-LJA

Copy link
Copy Markdown
Contributor Author

発覚した問題:
島攻略による取引の更新で、取引数がリセットされて何度も同じ神器を購入できてしまう

@ChenCMD ChenCMD added the ⛏️ minor このPRはパッチアップデートに含められないよ label Dec 26, 2025

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

日替わりで取引内容(交換できる神器)が変化する「日替わり商人(Trader 15)」を追加し、商人の取引更新処理を「攻略度更新」と「日替わり更新」に分離して実装するPRです。

Changes:

  • Trader 15(日替わり商人)の登録処理と、攻略度に応じた神器プールからの抽選ロジックを追加
  • 商人の取引更新を by_progress(攻略度/バージョン反映)と by_daily(日替わり更新)に分割し、tick から呼び分け
  • 神器レジストリ取得API(通常/色別/隠し枠)と、日替わり更新判定用スコアボードを追加

Reviewed changes

Copilot reviewed 31 out of 31 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
TheSkyBlessing/data/core/functions/load_once.mcfunction 日替わり更新判定用のスコアボードを追加
TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/set_pool.m.mcfunction 攻略度到達までのランクをプールに追加する処理を追加
TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/.mcfunction up_to_progress 用の抽選フローを追加(隠しプール含む)
TheSkyBlessing/data/asset/functions/trader/15/select_artifact/picks.mcfunction 多次元配列プールから1要素を抽選する共通処理を追加
TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/set_pool.m.mcfunction current_progress 用のプール決定(隠し枠への差し替え含む)を追加
TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/.mcfunction current_progress 用の抽選フローを追加
TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction 攻略度取得〜通常/隠しレジストリ取得〜2種抽選の統合処理を追加
TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction 日替わり商人(ID 15)の登録と取引定義(神器2枠)を追加
TheSkyBlessing/data/asset/functions/trader/15/_index.d.mcfunction Trader 15 用スコアホルダ宣言を追加
TheSkyBlessing/data/asset_manager/functions/trader/tick/4_interval.mcfunction tickで日替わり更新を追加し、攻略度更新呼び出し先を変更
TheSkyBlessing/data/asset_manager/functions/trader/register/reset.mcfunction DailyUpdate フラグをリセット対象に追加
TheSkyBlessing/data/asset_manager/functions/trader/register/construct/set_data.mcfunction DailyUpdate 用タグ付与と初期更新処理呼び出し先を変更
TheSkyBlessing/data/asset_manager/functions/trader/daily_update.mcfunction 日替わり更新の判定(daytime/gametime)と更新実行を追加
TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/update.mcfunction 取引の実更新処理を共通関数として切り出し
TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/get_trades.mcfunction OhMyDat/登録関数から取引一覧を取得する共通処理を追加
TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/keep.mcfunction 日替わり商人向けに商品維持しつつ更新する処理を追加
TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/.mcfunction keep_sells 実行と OhMyDat 反映フローを追加
TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/check_version.m.mcfunction バージョン不一致時のみ取引定義を再取得する処理を追加
TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/.mcfunction 攻略度/バージョン反映の更新フローを新設(DailyUpdate の分岐含む)
TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_daily.mcfunction 日替わり更新用の更新フローを新設
TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction @within 注釈の参照先を更新
TheSkyBlessing/data/asset_manager/functions/trader/common/refresh_trades/load_register.m.mcfunction @within 注釈の参照先を更新
TheSkyBlessing/data/asset_manager/functions/trader/common/refresh_trades/.mcfunction refresh_trades の入口関数へ整理し、取引/Version の更新に特化
TheSkyBlessing/data/asset_manager/functions/trader/_index.d.mcfunction DailyUpdate タグ宣言と @within 参照更新
TheSkyBlessing/data/asset_manager/functions/artifact/load.mcfunction 隠し枠レジストリ用ストレージを追加
TheSkyBlessing/data/asset_manager/functions/artifact/_index.d.mcfunction get_registry API を @within 対象に追加
TheSkyBlessing/data/api/functions/artifact/get_registry/red.mcfunction レッドシャードの神器レジストリ取得APIを追加
TheSkyBlessing/data/api/functions/artifact/get_registry/normal.mcfunction 通常シャードの神器レジストリ取得APIを追加
TheSkyBlessing/data/api/functions/artifact/get_registry/hide.mcfunction 隠し枠神器のレジストリ取得APIを追加
TheSkyBlessing/data/api/functions/artifact/get_registry/green.mcfunction グリーンシャードの神器レジストリ取得APIを追加
TheSkyBlessing/data/api/functions/artifact/get_registry/blue.mcfunction ブルーシャードの神器レジストリ取得APIを追加

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction Outdated
Comment thread TheSkyBlessing/data/api/functions/artifact/get_registry/red.mcfunction Outdated
@EllaCoat

Copy link
Copy Markdown
Member

Copilot の指摘の吟味はしてないけど、なんか超的外れって訳でもなさそうだから、見ておくと良いよ。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⛏️ minor このPRはパッチアップデートに含められないよ

Projects

None yet

Development

Successfully merging this pull request may close these issues.

日替わりで交換する神器が変わる村人を用意する

4 participants