リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: RPGストーリーフォージ AI風ドット絵冒険
DQ3風「アイテム袋」インベントリ管理システムの追加
## 1. 目的
現状、アイテムはショップで購入できるが「所持品の一覧表示・整理・使用・捨てる」といったインベントリ管理UIが存在しない。DQ3の「ふくろ」に相当する所持品袋システムを追加し、フィールド・戦闘中のアイテム活用を充実させる。
## 2. 具体的な仕様
### 2-1. インベントリデータ構造(state_json内)
```json
{
"inventory": [
{"id": "herb", "name": "やくそう", "type": "item", "effect": "heal", "power": 30, "qty": 3},
{"id": "ether", "name": "まほうのせいすい", "type": "item", "effect": "mp_restore", "power": 20, "qty": 1}
]
}
```
- `qty` フィールドでスタック管理(最大9)
- 所持上限:8種類
- 既存の `hero.items` 配列があれば `inventory` へマイグレーション(`rpgsf_normalize_state` 内で吸収)
### 2-2. PHP側(lib.php)
- `rpgsf_assets()['items']` に道具マスタを追加:
- やくそう(HP+30)、まんどらごら(HP+80)、まほうのせいすい(MP+20)、どくけしそう(毒解除)、せいなるナイフ(アンデッド特攻、戦闘中のみ)
- `rpgsf_apply_action()` に `action=use_item` を追加:
- `$_POST['item_id']`、`$_POST['target']`(hero / party_0〜2)を受け取り効果適用、qty--、qty=0なら配列から除去
- `action=drop_item`:`$_POST['item_id']` のアイテムを1つ捨てる
- `action=sort_inventory`:名前順に並び替え
- ショップ購入時(既存の shop_buy 処理)に `inventory` へ追加するよう修正(既存装備ロジックは維持)
### 2-3. フロント表示(pages/play.php)
- 既存「コマンド」エリアにボタン「ふくろ (N)」を追加
- モーダルまたはサイドパネル(既存のショップ表示と同じ方式)で開く
- 所持品一覧をグリッド表示(アイテム名・個数・説明文)
- フィールド中:各アイテムに「つかう」ボタン → 対象選択(主人公 / 仲間)→ POST送信
- 戦闘中:`state.battle` が存在するときは戦闘中フラグで「戦闘中使用可能アイテムのみ」有効化(type=item かつ effect≠アンデッド特攻)
- 「すてる」ボタンで drop_item 送信
- 「ならびかえ」ボタンで sort_inventory 送信
- 所持上限(8種)に達している場合は「ふくろがいっぱいです」表示
### 2-4. 戦闘コマンドへの組み込み
- 戦闘コマンド行に既存「魔法」ボタンと並んで「どうぐ」ボタンを追加
- クリックで上記インベントリモーダルを戦闘モードで開く
- 使用後は通常ターン消費(敵の反撃あり)
### 2-5. ナレーション・ログ
- アイテム使用時:「やくそうを使った! HPが30回復した。」形式で進行ログに追記
- 宝箱開封時のアイテム取得もinventoryへ格納(既存の treasure 処理を拡張)
## 3. 既存機能との整合
- 既存の `hero.items`(装備品スロット)は別フィールドのまま維持。inventoryは消耗品専用
- `rpgsf_normalize_state()` で旧フォーマットのセーブデータを自動補完(`inventory` キーがなければ空配列で初期化)
- セーブスロット3枠・共有URL・シナリオ一覧には影響なし
- スマホ対応:モーダルは既存のショップUIと同じCSSクラス(.modal-panel)を流用し追加CSSは最小限
現状、アイテムはショップで購入できるが「所持品の一覧表示・整理・使用・捨てる」といったインベントリ管理UIが存在しない。DQ3の「ふくろ」に相当する所持品袋システムを追加し、フィールド・戦闘中のアイテム活用を充実させる。
## 2. 具体的な仕様
### 2-1. インベントリデータ構造(state_json内)
```json
{
"inventory": [
{"id": "herb", "name": "やくそう", "type": "item", "effect": "heal", "power": 30, "qty": 3},
{"id": "ether", "name": "まほうのせいすい", "type": "item", "effect": "mp_restore", "power": 20, "qty": 1}
]
}
```
- `qty` フィールドでスタック管理(最大9)
- 所持上限:8種類
- 既存の `hero.items` 配列があれば `inventory` へマイグレーション(`rpgsf_normalize_state` 内で吸収)
### 2-2. PHP側(lib.php)
- `rpgsf_assets()['items']` に道具マスタを追加:
- やくそう(HP+30)、まんどらごら(HP+80)、まほうのせいすい(MP+20)、どくけしそう(毒解除)、せいなるナイフ(アンデッド特攻、戦闘中のみ)
- `rpgsf_apply_action()` に `action=use_item` を追加:
- `$_POST['item_id']`、`$_POST['target']`(hero / party_0〜2)を受け取り効果適用、qty--、qty=0なら配列から除去
- `action=drop_item`:`$_POST['item_id']` のアイテムを1つ捨てる
- `action=sort_inventory`:名前順に並び替え
- ショップ購入時(既存の shop_buy 処理)に `inventory` へ追加するよう修正(既存装備ロジックは維持)
### 2-3. フロント表示(pages/play.php)
- 既存「コマンド」エリアにボタン「ふくろ (N)」を追加
- モーダルまたはサイドパネル(既存のショップ表示と同じ方式)で開く
- 所持品一覧をグリッド表示(アイテム名・個数・説明文)
- フィールド中:各アイテムに「つかう」ボタン → 対象選択(主人公 / 仲間)→ POST送信
- 戦闘中:`state.battle` が存在するときは戦闘中フラグで「戦闘中使用可能アイテムのみ」有効化(type=item かつ effect≠アンデッド特攻)
- 「すてる」ボタンで drop_item 送信
- 「ならびかえ」ボタンで sort_inventory 送信
- 所持上限(8種)に達している場合は「ふくろがいっぱいです」表示
### 2-4. 戦闘コマンドへの組み込み
- 戦闘コマンド行に既存「魔法」ボタンと並んで「どうぐ」ボタンを追加
- クリックで上記インベントリモーダルを戦闘モードで開く
- 使用後は通常ターン消費(敵の反撃あり)
### 2-5. ナレーション・ログ
- アイテム使用時:「やくそうを使った! HPが30回復した。」形式で進行ログに追記
- 宝箱開封時のアイテム取得もinventoryへ格納(既存の treasure 処理を拡張)
## 3. 既存機能との整合
- 既存の `hero.items`(装備品スロット)は別フィールドのまま維持。inventoryは消耗品専用
- `rpgsf_normalize_state()` で旧フォーマットのセーブデータを自動補完(`inventory` キーがなければ空配列で初期化)
- セーブスロット3枠・共有URL・シナリオ一覧には影響なし
- スマホ対応:モーダルは既存のショップUIと同じCSSクラス(.modal-panel)を流用し追加CSSは最小限
💬 返信 (3)
🛠 開発を開始しました (機能追加: rpg-story-forge)
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「RPGストーリーフォージ AI風ドット絵冒険」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=rpg-story-forge
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/rpg-story-forge/
ご利用ありがとうございます!
(deploy 自動リカバリにより通知が遅延した可能性があります。 DEPLOY-RECOVERY-01)
ご要望いただいた「RPGストーリーフォージ AI風ドット絵冒険」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=rpg-story-forge
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/rpg-story-forge/
ご利用ありがとうございます!
(deploy 自動リカバリにより通知が遅延した可能性があります。 DEPLOY-RECOVERY-01)
Echo
Iris