Initial Commit

This commit is contained in:
onms 2026-04-24 20:01:10 -05:00
commit 8d2d24c6bd
178 changed files with 782510 additions and 0 deletions

43
.gitignore vendored Normal file
View file

@ -0,0 +1,43 @@
# Ignore all files
*.*
# File Types
!*.mps
!*.json
!*.txt
!*.project
!*.js
!*.7z
!*.csv
!*.ain
!*.fnl
!*.ks
!*.tjs
!*.yaml
!*.rb
!*.rvdata2
# Other Needed Files
!.gitignore
!README.md
!patch-config.txt
!GameUpdate*
!patch*
!Game.dat
!bsxx.dat*
!game.ini
!package.nw
!SRPG_Unpacker.exe
!(SRPG_Unpacker Patcher).bat
# Ignore
previous_patch_sha.txt
kabe3_save.dat
kabe3_system.dat
psbpack.dat
Save*
cg.dat
scene.dat
BSXScript_*
# Images

14
GameUpdate.bat Normal file
View file

@ -0,0 +1,14 @@
@echo off
setlocal
REM Copy GAMEUPDATE.bat to a new file
copy "gameupdate\patch.bat" "gameupdate\patch2.bat"
REM Run the new file
call "gameupdate\patch2.bat"
REM Delete the new file
del "gameupdate\patch2.bat"
endlocal
@echo on

13
GameUpdate_linux.sh Normal file
View file

@ -0,0 +1,13 @@
#!/bin/bash
# Enable error handling
set -e
# Copy patch.sh to a new file in gameupdate
cp "gameupdate/patch.sh" "gameupdate/patch2.sh"
# Run the new file
bash "gameupdate/patch2.sh"
# Delete the new file
rm "gameupdate/patch2.sh"

102
README.md Normal file
View file

@ -0,0 +1,102 @@
# Apply Patch
1. Click Code
2. Click Download ZIP
3. Extract to game folder and Replace All.
## Future Patching
1. Run GAMEUPDATE.bat to auto patch.
# Troubleshooting
**GAMEUPDATE.bat doesn't update and closes immediately**
1. Make sure your path doesn't contain any Japanese characters or lots of whitespace.
2. Make sure you actually have permissions in the folder
For WOLF RPG games, if you downloaded the game off of DLSite, you will need to do some extra steps to patch it. This is because there is a "master" file called Data.wolf that will take priority over the english patch files. You will need this file to be a folder before patching will work.
# Wolf Games
1) Download the latest UberWolf.exe release from the following link:
https://github.com/Sinflower/UberWolf/releases
2) Drag Data.wolf onto UberWolf.exe. This will create a new folder called data.wolf~
3) Rename the new data.wolf~ folder to Data
4) Delete the Data.wolf file
5) Delete previous_patch_sha.txt (this will exist if you ran GameUpdate.bat previously)
6) Run GameUpdate.bat
# Edit/Contribute
TLDR 3 steps.
Fork the repository.
Make the changes.
Submit a merge request.
If everything looks good and doesn't break things I'll merge it in.
Longer Version:
# Required Software:
* [VSCode](https://code.visualstudio.com/) Make sure you check all the boxes for context menus.
* [Git](https://git-scm.com/downloads) (Use the default for everything. Just keep clicking Next)
# Guide to contributing
### 1. Fork the Repository
- Go to the repository you want to fork.
- Click the "Fork" button.
### 2. Clone Your Fork
- Clone your forked repository to your local machine.
```sh
git clone https://gitgud.io/YOUR_USERNAME/REPO_NAME.git
```
### 3. Make Your Changes (In VSCode)
- Edit the files locally on your new branch using VSCode.
- Add and commit your changes.
```sh
git add .
git commit -m "Description of your changes"
```
### 4. Push Your Changes
- Push your changes to your fork on GitGud.io.
```sh
git push origin your-feature-branch
```
### 5. Create a Merge Request
- Go to your fork on GitGud.io.
- Click on "Merge Requests" in the sidebar.
- Click the "New merge request" button.
- Select the branch you made changes to and the target project (the original repo).
- Provide a title and description for your merge request and submit it.
---
## Example
Assuming you want to fork a repository named `example-project`:
### 1. Fork the Repo
- Navigate to `https://gitgud.io/original_user/example-project` and click "Fork".
### 2. Clone Your Fork
```sh
git clone https://gitgud.io/YOUR_USERNAME/example-project.git
```
### 3. Make Changes and Commit
```sh
# Make changes to the files
git add .
git commit -m "Add new feature to example project"
```
### 4. Push Changes
```sh
git push origin add-new-feature
```
### 5. Create a Merge Request
- Go to `https://gitgud.io/YOUR_USERNAME/example-project/merge_requests` and click on "New merge request"
- Choose the source branch `add-new-feature` and target branch (default: `main` or `master`)
- Fill in the details and submit the merge request

57
Readme.txt Normal file
View file

@ -0,0 +1,57 @@
ウラミちゃんと憑依の黒魔術_体験版
サークル『魚雷城』
■はじめに
この度は『魚雷城』のゲーム『ウラミちゃんと憑依の黒魔術_体験版』を
ダウンロードいただきありがとうございます。
本作品は成人向けです。18歳未満の方のプレイはご遠慮ください。
本作品はフィクションです。実在の人物・団体・事件等には一切関係ありません。
本作品はRPGツクールMVで制作したものです。
本作品は先行体験版です。本編完成までのアップデートや、
完成版の提供を保証するものではありません。
仕様や内容は予告なく変更、または配布終了となる場合があります。
不具合・ご感想などがあればご連絡頂けると幸いです。
https://ci-en.dlsite.com/creator/23638
■操作方法
マウス左クリック   | 決定/指定場所へ移動
マウス右クリック   | キャンセル/メニュー画面の開閉
矢印キー     | 移動
X, Esc      | キャンセル、メニュー
Z, Space, Enter | 決定
Z, Space, Enter 長押し| 会話の早送り
■起動
フォルダ内のGame.exeをダブルクリックで起動して下さい。
■ゲームのアンインストール方法
フォルダごと削除して下さい。
■製作・著作
『ウラミちゃんと憑依の黒魔術』の著作権は『魚雷城』が保持しています。
権利者の許可無く、本作品の全部または一部について、
複製・改変・翻訳・公開・再配布・販売等を行うことを禁止します。
また、本作品に含まれる画像・文章・音声等のデータを、
機械学習、生成AI、データセット作成等の目的で使用または提供する行為は、
権利者の許可なく行わないでください。
■免責事項
本ソフトウェアの使用により生じたいかなる損害についても、
製作者は一切の責任を負いません。
■お借りした素材
オコジョ彗星 様  https://www.dlsite.com/maniax/circle/profile/=/maker_id/RG42002.html
甘茶の音楽工房 様 https://amachamusic.chagasi.com/
OtoLogic 様  https://otologic.jp
On-Jin ~音人~ 様 https://on-jin.com/
Murray Atkinson 様
音声素材_Pincree(CV:小乃アキラ) 様
音声素材_Pincree(CV:朝比奈ゆの) 様
※お借りした素材には、それぞれ利用規約がございます。
 二次配布、無断利用禁止などのルールがありますので、必ずご確認のうえ遵守してください。

View file

@ -0,0 +1,3 @@
username=dazed-translations
repo=magical-girls-runa-and-nanami
branch=main

265
gameupdate/patch.bat Normal file
View file

@ -0,0 +1,265 @@
@echo off
setlocal EnableExtensions EnableDelayedExpansion
REM Check if being run from gameupdate folder (incorrect usage)
for %%I in ("%CD%") do set "CURRENT_FOLDER=%%~nxI"
if /I "%CURRENT_FOLDER%"=="gameupdate" (
echo.
echo ========================================
echo ERROR: Do not run patch.bat directly!
echo ========================================
echo.
echo You are running this from the gameupdate folder.
echo This will not work correctly!
echo.
echo Please go back to the game's root folder and
echo run GameUpdate.bat instead.
echo ========================================
echo.
pause
exit /b 1
)
REM Determine important paths
set "SCRIPT_DIR=%~dp0"
set "ROOT_DIR=%CD%"
set "CONFIG_FILE=%SCRIPT_DIR%patch-config.txt"
echo Using root directory: "%ROOT_DIR%"
echo Using config: "%CONFIG_FILE%"
echo Checking for pwsh...
set _my_shell=pwsh
REM Check if pwsh.exe exists
where /q !_my_shell!
if !errorlevel! neq 0 (
echo pwsh not found.
echo.
echo PowerShell 7 ^(pwsh^) is faster and recommended.
set /p "INSTALL_PWSH=Would you like to install it now via winget? (Y/N): "
if /I "!INSTALL_PWSH!"=="Y" (
echo Installing PowerShell 7 via winget...
winget install --id Microsoft.PowerShell --source winget --accept-package-agreements --accept-source-agreements
if !errorlevel! neq 0 (
echo Install failed or winget not available. Falling back to powershell...
set _my_shell=powershell
) else (
echo PowerShell 7 installed successfully.
echo Please re-run GameUpdate.bat to use pwsh.
pause
exit /b 0
)
) else (
echo Skipping install. Falling back to powershell...
set _my_shell=powershell
)
REM Check if powershell.exe exists
echo Checking for powershell...
where /q !_my_shell!
if !errorlevel! neq 0 (
echo.Error: Powershell not found!
pause
exit /B 1
) else (
echo powershell found.
)
) else (
echo pwsh found.
)
echo Using !_my_shell! for script execution.
REM Check if patch-config.txt exists in gameupdate folder
if not exist "%CONFIG_FILE%" (
echo "Config file (gameupdate\patch-config.txt) not found! Assuming no patching needed."
pause
exit /b
)
REM Read configuration from file
for /f "usebackq tokens=1,2 delims==" %%a in ("%CONFIG_FILE%") do (
if "%%a"=="username" set "username=%%b"
if "%%a"=="repo" set "repo=%%b"
if "%%a"=="branch" set "branch=%%b"
)
REM --------------------------------------------------------
REM PRE-SETUP: Ensure SRPG data and patch structure exists
REM Run Steps 1 and 2 BEFORE pulling repo patch to avoid overwriting updates
REM 1) Unpack once if data folder doesn't exist (and data.dts does)
REM 2) Create Patch once if patch folder doesn't exist
REM --------------------------------------------------------
set "UNPACKER=%ROOT_DIR%\SRPG_Unpacker.exe"
if exist "%ROOT_DIR%\data.dts" (
if exist "%UNPACKER%" (
echo [Pre-Setup] Running SRPG_Unpacker preparation steps...
REM Step 1: Unpack (once)
if not exist "%ROOT_DIR%\data\" (
set "SHOULD_UNPACK=1"
) else if not exist "%ROOT_DIR%\data\project.dat" (
set "SHOULD_UNPACK=1"
) else (
set "SHOULD_UNPACK=0"
)
if "!SHOULD_UNPACK!"=="1" (
if exist "%ROOT_DIR%\data.dts" (
echo [Pre-Setup] Step 1: Unpacking data.dts to data
pushd "%ROOT_DIR%"
"%UNPACKER%" -o "data" "data.dts"
if !errorlevel! neq 0 (
echo [Pre-Setup] ERROR: Unpack failed. Continuing.
)
popd
) else (
echo [Pre-Setup] Step 1: Skipping unpack - no data folder and no data.dts found.
)
) else (
echo [Pre-Setup] Step 1: data folder exists; skipping unpack.
)
REM Step 2: Create Patch (once)
if not exist "%ROOT_DIR%\patch\" (
if exist "%ROOT_DIR%\data\project.dat" (
echo [Pre-Setup] Step 2: Creating patch from data\project.dat
pushd "%ROOT_DIR%"
"%UNPACKER%" ".\data\project.dat" -c
if !errorlevel! neq 0 (
echo [Pre-Setup] ERROR: Create Patch failed. Continuing.
)
popd
) else (
echo [Pre-Setup] Step 2: Skipping create patch - data\project.dat not found.
)
) else (
echo [Pre-Setup] Step 2: patch folder exists; skipping create.
)
) else (
echo [Pre-Setup] SRPG_Unpacker.exe not found in root; skipping pre-setup steps.
)
) else (
echo [Pre-Setup] data.dts not found; skipping pre-setup SRPG steps.
)
REM Get the latest hash
echo "Getting latest commit SHA hash"
!_my_shell! -Command "(Invoke-RestMethod -Uri 'https://gitgud.io/api/v4/projects/%username%%%2F%repo%/repository/branches/%branch%').commit.id" > "%ROOT_DIR%\latest_patch_sha.txt"
REM Read the latest SHA from the file
set /p latest_patch_sha=<"%ROOT_DIR%\latest_patch_sha.txt"
REM Check if previous_patch_sha.txt exists in gameupdate
if not exist "%SCRIPT_DIR%previous_patch_sha.txt" (
echo "Previous SHA hash not found!"
echo "Assuming first time patching..."
goto download_extract
)
REM Read the stored SHA from previous check
set /p previous_patch_sha=<"%SCRIPT_DIR%previous_patch_sha.txt"
REM Trim whitespace from SHA strings
set "previous_patch_sha=%previous_patch_sha: =%"
set "latest_patch_sha=%latest_patch_sha: =%"
REM Compare trimmed SHAs
if "%latest_patch_sha%" neq "%previous_patch_sha%" (
echo "Update found! Patching..."
goto download_extract
) else (
echo "Patch is up to date."
)
REM Delete latest_patch_sha.txt
del "%ROOT_DIR%\latest_patch_sha.txt"
endlocal
pause
exit /b
:download_extract
REM Escape single quotes in paths
set "escaped_root=%ROOT_DIR:'=''%"
REM Download zip file to root
echo "Downloading latest patch..."
!_my_shell! -Command "Set-Location -LiteralPath '%escaped_root%'; $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri 'https://gitgud.io/%username%/%repo%/-/archive/%branch%/%repo%-%branch%.zip' -OutFile 'repo.zip'"
if !errorlevel! neq 0 (
pause
exit /b
)
REM Extract contents, overwriting conflicts into root
echo "Extracting..."
!_my_shell! -Command "Set-Location -LiteralPath '%escaped_root%'; $ProgressPreference = 'SilentlyContinue'; Expand-Archive -Path '.\repo.zip' -DestinationPath '.' -Force"
if !errorlevel! neq 0 (
echo Extraction failed!
del "%ROOT_DIR%\repo.zip"
rmdir /s /q "%ROOT_DIR%\%repo%-%branch%"
pause
exit /b
)
echo "Applying patch..."
xcopy /s /e /y "%ROOT_DIR%\%repo%-%branch%\*" "%ROOT_DIR%\"
if !errorlevel! neq 0 (
echo Patch application failed!
del "%ROOT_DIR%\repo.zip"
rmdir /s /q "%ROOT_DIR%\%repo%-%branch%"
pause
exit /b
)
REM --------------------------------------------------------
REM POST-APPLY: Run Steps 3 and 4 after patch files are merged
REM 3) Apply Patch to data\project.dat
REM 4) Pack data back into data.dts
REM --------------------------------------------------------
set "UNPACKER=%ROOT_DIR%\SRPG_Unpacker.exe"
if exist "%ROOT_DIR%\data.dts" (
if exist "%UNPACKER%" (
echo Running SRPG_Unpacker apply/pack steps...
REM Step 3: Apply Patch
if exist "%ROOT_DIR%\data\project.dat" (
echo Step 3: Applying patch to data\project.dat
pushd "%ROOT_DIR%"
"%UNPACKER%" ".\data\project.dat" -a
if !errorlevel! neq 0 (
echo ERROR: Apply Patch failed.
)
popd
) else (
echo ERROR: data\project.dat not found; cannot apply patch.
)
REM Step 4: Pack
if exist "%ROOT_DIR%\data\" (
echo Step 4: Packing data to data.dts
pushd "%ROOT_DIR%"
"%UNPACKER%" -o "data.dts" "data"
if !errorlevel! neq 0 (
echo WARNING: Pack failed.
)
popd
) else (
echo Step 4: Skipping pack - data folder not found.
)
) else (
echo SRPG_Unpacker.exe not found in root; skipping SRPG patch steps.
)
) else (
echo data.dts not found; skipping SRPG patch steps.
)
REM Clean up
echo "Cleaning up..."
del "%ROOT_DIR%\repo.zip"
rmdir /s /q "%ROOT_DIR%\%repo%-%branch%"
del "%ROOT_DIR%\latest_patch_sha.txt"
REM Store latest SHA for next check in gameupdate
echo %latest_patch_sha% > "%SCRIPT_DIR%previous_patch_sha.txt"
endlocal
pause
exit /b

169
gameupdate/patch.sh Normal file
View file

@ -0,0 +1,169 @@
#!/bin/bash
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="$(pwd)"
CONFIG_FILE="$SCRIPT_DIR/patch-config.txt"
check_dependency() {
if ! command -v "$1" > /dev/null 2>&1; then
echo "Error: '$1' is not installed. Please install it using 'pkg install $1'."
exit 1
fi
}
# Check for jq, unzip, and curl
check_dependency jq
check_dependency unzip
check_dependency curl
# Check if CONFIG_FILE exists
if [ ! -f "$CONFIG_FILE" ]; then
echo "Config file '$CONFIG_FILE' not found! Assuming no patching needed."
exit 0
fi
# Convert line endings to Unix format
sed -i 's/\r$//' "$CONFIG_FILE"
# Debug information
echo "Root directory: $ROOT_DIR"
echo "Config file path: $CONFIG_FILE"
# Read configuration from file
. "$CONFIG_FILE"
# Get the latest hash
echo "Getting latest commit SHA hash"
latest_patch_sha=$(curl -s "https://gitgud.io/api/v4/projects/$username%2F$repo/repository/branches/$branch" | jq -r '.commit.id')
# --------------------------------------------------------
# PRE-SETUP: Ensure SRPG data and patch structure exists
# Run Steps 1 and 2 BEFORE pulling repo patch to avoid overwriting updates
# 1) Unpack once if data folder doesn't exist (and data.dts does)
# 2) Create Patch once if patch folder doesn't exist
# --------------------------------------------------------
UNPACKER="$ROOT_DIR/SRPG_Unpacker.exe"
if [ -f "$ROOT_DIR/data.dts" ]; then
if [ -f "$UNPACKER" ]; then
echo "[Pre-Setup] Running SRPG_Unpacker preparation steps..."
# Step 1: Unpack (once)
if [ ! -d "$ROOT_DIR/data" ]; then
if [ -f "$ROOT_DIR/data.dts" ]; then
echo "[Pre-Setup] Step 1: Unpacking data.dts -> data"
( cd "$ROOT_DIR" && "$UNPACKER" -o data data.dts ) || echo "[Pre-Setup] ERROR: Unpack failed."
else
echo "[Pre-Setup] Step 1: Skipping unpack (no data folder and no data.dts found)."
fi
else
echo "[Pre-Setup] Step 1: data folder exists; skipping unpack."
fi
# Step 2: Create Patch (once)
if [ ! -d "$ROOT_DIR/patch" ]; then
if [ -f "$ROOT_DIR/data/project.dat" ]; then
echo "[Pre-Setup] Step 2: Creating patch from data/project.dat"
( cd "$ROOT_DIR" && "$UNPACKER" ./data/project.dat -c ) || echo "[Pre-Setup] ERROR: Create Patch failed."
else
echo "[Pre-Setup] Step 2: Skipping create patch (data/project.dat not found)."
fi
else
echo "[Pre-Setup] Step 2: patch folder exists; skipping create."
fi
else
echo "[Pre-Setup] SRPG_Unpacker.exe not found in root; skipping pre-setup steps."
fi
else
echo "[Pre-Setup] data.dts not found; skipping pre-setup SRPG steps."
fi
download_extract() {
# Download zip file into root
echo "Downloading latest patch..."
curl -sL "https://gitgud.io/$username/$repo/-/archive/$branch/$repo-$branch.zip" -o "$ROOT_DIR/repo.zip"
if [ $? -ne 0 ]; then
echo "Download failed!"
rm -f "$ROOT_DIR/repo.zip"
rm -rf "$ROOT_DIR/$repo-$branch"
return 1
fi
# Extract contents, overwriting conflicts into root
echo "Extracting..."
unzip -qo "$ROOT_DIR/repo.zip" -d "$ROOT_DIR"
if [ $? -ne 0 ]; then
echo "Extraction failed!"
rm -f "$ROOT_DIR/repo.zip"
rm -rf "$ROOT_DIR/$repo-$branch"
return 1
fi
echo "Applying patch..."
cp -r "$ROOT_DIR/$repo-$branch/"* "$ROOT_DIR/"
if [ $? -ne 0 ]; then
echo "Patch application failed!"
rm -f "$ROOT_DIR/repo.zip"
rm -rf "$ROOT_DIR/$repo-$branch"
return 1
fi
echo "Cleaning up..."
rm -f "$ROOT_DIR/repo.zip"
rm -rf "$ROOT_DIR/$repo-$branch"
rm -f "$ROOT_DIR/latest_patch_sha.txt"
# Store latest SHA for next check in gameupdate
echo "$latest_patch_sha" > "$SCRIPT_DIR/previous_patch_sha.txt"
# --------------------------------------------------------
# POST-APPLY: Run Steps 3 and 4 after patch files are merged
# 3) Apply Patch to data/project.dat
# 4) Pack data back into data.dts
# --------------------------------------------------------
UNPACKER="$ROOT_DIR/SRPG_Unpacker.exe"
if [ -f "$ROOT_DIR/data.dts" ]; then
if [ -f "$UNPACKER" ]; then
echo "Running SRPG_Unpacker apply/pack steps..."
# Step 3: Apply Patch
if [ -f "$ROOT_DIR/data/project.dat" ]; then
echo "Step 3: Applying patch to data/project.dat"
( cd "$ROOT_DIR" && "$UNPACKER" ./data/project.dat -a ) || echo "ERROR: Apply Patch failed."
else
echo "ERROR: data/project.dat not found; cannot apply patch."
fi
# Step 4: Pack
if [ -d "$ROOT_DIR/data" ]; then
echo "Step 4: Packing data -> data.dts"
( cd "$ROOT_DIR" && "$UNPACKER" -o data.dts data ) || echo "WARNING: Pack failed."
else
echo "Step 4: Skipping pack (data folder not found)."
fi
else
echo "SRPG_Unpacker.exe not found in root; skipping SRPG patch steps."
fi
else
echo "data.dts not found; skipping SRPG patch steps."
fi
}
# Check if previous_patch_sha.txt exists in gameupdate
if [ ! -f "$SCRIPT_DIR/previous_patch_sha.txt" ]; then
echo "Previous SHA hash not found!"
echo "Assuming first time patching..."
download_extract
else
# Read the stored SHA from previous check
previous_patch_sha=$(cat "$SCRIPT_DIR/previous_patch_sha.txt")
# Compare trimmed SHAs
if [ "$latest_patch_sha" != "$previous_patch_sha" ]; then
echo "Update found! Patching..."
download_extract
else
echo "Patch is up to date."
fi
fi

212
gameupdate/vocab.txt Normal file
View file

@ -0,0 +1,212 @@
# MAIN CHARACTERS
エルミナ (Elmina) - Female; protagonist; elf mage
フェリス (Feris) - Female; spirit entity; Elmina's guardian & companion
# ALLIES / COMPANIONS
アンナ (Anna) - Female; witch; lives in 魔女の森; ally
メープル (Maple) - Female; companion; timid
ダイヤ (Daiya) - Female; companion; diligent
トルテ (Torte) - Female; companion; cook/baker
クレア (Claire) - Female; full name クレアリス・デカート (Clairis Decart); guild-affiliated
ルイン (Ruin) - Female; Elmina's younger sister (妹); key story motivation
# SIDE / RECURRING CHARACTERS
バブンスキー (Babunsky) - Male; antagonistic early on, later redeems himself
ドンフシ (Donfushi) - Male; バブンスキー's younger brother; from プライア村
ツギカ (Tsugika) - Male; young villager; has feelings for Elmina
ミゲル (Miguel) - Male; minor NPC; innkeeper or medical role
# ANTAGONISTS
アナゼマ (Anazema) - Spirit entity; primary antagonist; former co-guardian of 魔界
ロザリー (Rosalie) - Female; ruler of カロン; arc boss
キングディブロ (King Diabro) - Boss; Dwarf dungeon; defeated for 水の精霊石
プーペ (Pupe) - Female; spider-type monster girl (クモ型魔物娘); recurring mini-boss
魔神 (Demon God) - Entity; final-area antagonist; gave power to アナゼマ
ビャクダン (Byakudan) - Named boss; Slum dungeon
# Note: 魔神 = "Demon God" do NOT render as 'Majin'
# ENEMY / MONSTER TYPES
スライム (Slime)
オーク (Orc)
ゴブリン (Goblin)
ゴブリン兄弟 (Goblin Brothers)
こうもり (Bat)
ミノタウロス (Minotaur)
魔物娘 (Monster Girl)
クモ型魔物娘 (Spider-type Monster Girl) プーペ's species
# LOCATIONS
## STARTING AREA
プライア村 (Puraia Village) - Elmina's starting village
ノストゥスの森 (Nostus Forest) - Forest east of Puraia Village; early dungeon
## KARON CITY
カロン (Karon) - Major city; mid-game hub; ruled by ロザリー様
カロン街道 (Karon Road) - Road connecting Puraia Village to Karon
オプス (Opus) - Karon's high-end inn
## WITCH'S FOREST
魔女の森 (Witch's Forest) - Anna's domain
魔女道 (Witch's Road) - Path leading to 魔女の森
## DUNGEONS
オーク洞窟 (Orc Cave) - Multi-floor orc dungeon
ロザリー屋敷 (Rosalie's Mansion) - ロザリー's residence; 14+ floors
## DWARF AREA
ドワーフ街道 (Dwarf Road) - Road from Karon toward Dwarf territory
ドワーフ隠れ里 (Dwarf Hidden Village) - Dwarf settlement
ドワーフダンジョン (Dwarf Dungeon) - キングディブロ boss dungeon
## SLUMS
スラム (Slums) - Poverty district off the Dwarf Road
娼館 (Brothel / Pleasure House) - Located in the Slums
## ELF VILLAGE
エルフ里 (Elf Village) - Elmina's homeland; destroyed before the story begins
## SPIRIT STONE DUNGEONS
精霊石ダンジョン (Spirit Stone Dungeon) - Entrance to three elemental paths
火 (Fire) - Fire dungeon path
風 (Wind) - Wind dungeon path
水 (Water) - Water dungeon path
## DEMON WORLD
魔界 (Demon World) - The demonic realm; final area
# Note: render as "Demon World" NOT "Netherworld" or "Makai"
# WORLD-BUILDING TERMS
淫紋 (Ero Brand / Lewd Mark) - Contract seal on Elmina's belly; converts desire into magic
精霊石 (Spirit Stone) - Three elemental key items needed to grant Elmina's wish
炎の精霊石 (Fire Spirit Stone)
水の精霊石 (Water Spirit Stone)
風の精霊石 (Wind Spirit Stone)
魔力 (Mana / Magical Power)
ノロイ (Curse) - アナゼマ's seal placed on the Spirit Stones
冒険者 (Adventurer) - profession/rank system
ギルド (Guild) - the Adventurers' Guild
ギルド長 (Guild Master)
調合師 (Alchemist / Apothecary) - crafts 回復ビン from ingredients
チャームリンク (Charm Link) - magical bond item between Elmina and a companion
協会 (Temple / Shrine) - religious institution enshrining the 女神達
女神 (Goddess) - deities who once saved the continent
女神達 (Goddesses) - plural; enshrined in the 協会
魔女 (Witch) - female magic practitioner; distinct from 魔法使い (mage)
ドワーフ族 (Dwarf Tribe / Dwarf Clan)
エルフ (Elf) - Elmina's race
アニキ (Aniki) - "big bro"; ドンフシ's term for バブンスキー
# WEAPON TYPES (Elmina's magic)
炎の魔法 (Fire Magic) - status ailments; sustained damage
水の魔法 (Water Magic) - single-hit damage; raises HP and Defense
風の魔法 (Wind Magic) - multi-hit combos; gains debuffs on growth
盾の魔法 (Shield Magic) - raises Defense; beginner-recommended
# ARMORS / OUTFITS
エルミナの普段着 (Elmina's Everyday Clothes)
絹の肌着 (Silk Undershirt)
魅惑のバニー (Alluring Bunny)
メイド服 (Maid Outfit)
ワンダーウルフ (Wonder Wolf)
調教服 (Training Outfit / Leash Outfit)
# BATTLE STATES
戦闘不能 (Incapacitated / KO)
防御 (Guard / Defending)
不死身 (Immortal)
毒 (Poison)
暗闇 (Blind / Darkness)
沈黙 (Silence)
激昂 (Enrage / Fury)
混乱 (Confusion)
魅了 (Charm / Enthralled)
睡眠 (Sleep)
# KEY ITEMS
怪しげな薬 (Suspicious Medicine)
冒険者登録証 (Adventurer's Registration Card)
トルテのお弁当 (Torte's Lunchbox)
回復ビン (Recovery Vial) - upgrades +1 through +15
屋敷のカギ (Mansion Key)
力のグローブ (Power Gloves)
爆音袋 (Sonic Bag / Bang Bag)
子猫の入ったカバン (Bag Containing a Kitten)
チャームリンク・メープル (Charm Link: Maple) - +Defense
チャームリンク・アンナ (Charm Link: Anna) - +Magic
チャームリンク・ダイヤ (Charm Link: Daiya) - +Defense
## Crafting Ingredients (素材)
緑草 (Green Grass)
黄草 (Yellow Grass)
赤草 (Red Grass)
黒草 (Black Grass)
ロゼの花 (Roze Flower)
オルラーヤ (Orlaya)
リンドウ (Gentian)
ベニダケ (Red Mushroom)
サボテンの果実 (Cactus Fruit)
輝くゼンマイ (Glowing Bracken)
触手の若芽 (Tentacle Sprout)
水 (Water)
純水 (Pure Water)
魔力水 (Mana Water)
## Guild Exchange Drops (ギルド換金)
スライムの核 (Slime Core)
スライムの巨大核 (Slime Giant Core)
スライムの赤核 (Slime Red Core)
スライムの赤粘膜 (Slime Red Membrane)
オークの牙 (Orc Fang)
獣の毛 (Beast Fur)
焔心核 (Flame Heart Core)
蜘蛛の糸 (Spider Thread)
悪魔の角 (Demon Horn)
海魔の墨 (Kraken Ink)
悪魔の羽根 (Demon Feather)
死霊の灰 (Wraith Ash)
## Mana Crystal EXP Items
小さな魔力結晶 (Small Mana Crystal) - EXP 10
魔力結晶 (Mana Crystal) - EXP 100
大きな魔力結晶 (Large Mana Crystal) - EXP 1,000
巨大な魔力結晶 (Giant Mana Crystal) - EXP 10,000
## Boss Mana Cores (素材)
プーペの魔力核 (Pupe's Mana Core)
ビャクダンの魔力核 (Byakudan's Mana Core)
キングディブロの魔力核 (King Diabro's Mana Core)
ロザリーの魔力核 (Rosalie's Mana Core)
タイタンワームの魔力結晶 (Titan Worm Mana Crystal)
# ROMANISATION CONVENTIONS
エルミナ (Elmina) - not Erumina; matches title
フェリス (Feris) - matches sprite file "feris1"
アンナ (Anna)
メープル (Maple)
ダイヤ (Daiya) - or Dia; avoid "Diamond" in dialogue
バブンスキー (Babunsky)
ドンフシ (Donfushi)
ツギカ (Tsugika)
トルテ (Torte) - German: layer-cake
クレア (Claire)
クレアリス・デカート (Clairis Decart) - both parts are proper nouns
アナゼマ (Anazema)
ルイン (Ruin) - or Luin
プーペ (Pupe) - or Poupée; French: doll
ミゲル (Miguel)
ロザリー (Rosalie)
キングディブロ (King Diabro)
ビャクダン (Byakudan)
カロン (Karon)
プライア村 (Puraia Village) - keep "Puraia" per map file names
ノストゥスの森 (Nostus Forest)
ドワーフ (Dwarf)
エルフ (Elf)
魔界 (Demon World) - NOT "Netherworld"; keep distinct from 地獄 "Hell"
淫紋 (Ero Brand) - or "Lewd Mark"; keep consistent within project
精霊石 (Spirit Stone)
ノロイ (Curse)
魔神 (Demon God) - NOT "Majin"; translate fully
調合師 (Alchemist) - or Apothecary; be consistent
ギルド長 (Guild Master)
アニキ (Aniki) - or "Big Bro"; keep consistent per character

12
package.json Normal file
View file

@ -0,0 +1,12 @@
{
"name": "",
"main": "www/index.html",
"js-flags": "--expose-gc",
"window": {
"title": "",
"toolbar": false,
"width": 816,
"height": 624,
"icon": "www/icon/icon.png"
}
}

532
www/data/Actors.json Normal file
View file

@ -0,0 +1,532 @@
[
null,
{
"id": 1,
"battlerName": "",
"characterIndex": 0,
"characterName": "urami_1",
"classId": 1,
"equips": [
0,
0,
0,
3,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 50,
"maxLevel": 99,
"name": "ウラミ",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 2,
"battlerName": "",
"characterIndex": 0,
"characterName": "red_1_1",
"classId": 1,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "レッド",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 3,
"battlerName": "",
"characterIndex": 0,
"characterName": "yellow_1_1",
"classId": 1,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "イエロー",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 4,
"battlerName": "",
"characterIndex": 0,
"characterName": "combatant_1_0",
"classId": 2,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "戦闘員♂",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 5,
"battlerName": "",
"characterIndex": 0,
"characterName": "combatant_1_4",
"classId": 2,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "戦闘員♀A",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 6,
"battlerName": "",
"characterIndex": 0,
"characterName": "combatant_1_2",
"classId": 2,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "戦闘員♀B",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 7,
"battlerName": "",
"characterIndex": 0,
"characterName": "combatant_1_3",
"classId": 2,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "戦闘員♀C",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 8,
"battlerName": "",
"characterIndex": 0,
"characterName": "combatant_1_1",
"classId": 2,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "戦闘員♀D",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 9,
"battlerName": "",
"characterIndex": 0,
"characterName": "combatant_1_5",
"classId": 2,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "戦闘員♀E",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 10,
"battlerName": "",
"characterIndex": 0,
"characterName": "combatant_1_6",
"classId": 2,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "戦闘員♀F",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 11,
"battlerName": "",
"characterIndex": 0,
"characterName": "leaders_1_0",
"classId": 2,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "幹部",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 12,
"battlerName": "",
"characterIndex": 0,
"characterName": "",
"classId": 2,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "研究員",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 13,
"battlerName": "",
"characterIndex": 2,
"characterName": "People1",
"classId": 3,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "市民♂",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 14,
"battlerName": "",
"characterIndex": 3,
"characterName": "People5_vx",
"classId": 3,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "市民♀",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 15,
"battlerName": "",
"characterIndex": 0,
"characterName": "People5_vx",
"classId": 3,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "市民子ども",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 16,
"battlerName": "",
"characterIndex": 0,
"characterName": "",
"classId": 1,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "ブルー",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 17,
"battlerName": "",
"characterIndex": 0,
"characterName": "",
"classId": 1,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "レッド",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 18,
"battlerName": "",
"characterIndex": 0,
"characterName": "",
"classId": 1,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "イエロー",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 19,
"battlerName": "",
"characterIndex": 0,
"characterName": "blue_1_0",
"classId": 1,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "ブルー",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 20,
"battlerName": "",
"characterIndex": 0,
"characterName": "",
"classId": 1,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "ブルー",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 21,
"battlerName": "",
"characterIndex": 0,
"characterName": "",
"classId": 1,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "ブルー",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 22,
"battlerName": "",
"characterIndex": 0,
"characterName": "",
"classId": 1,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "ブルー",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 23,
"battlerName": "",
"characterIndex": 0,
"characterName": "",
"classId": 1,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "ブルー",
"nickname": "",
"note": "",
"profile": ""
}
]

129646
www/data/Animations.json Normal file

File diff suppressed because it is too large Load diff

111
www/data/Armors.json Normal file
View file

@ -0,0 +1,111 @@
[
null,
{
"id": 1,
"atypeId": 5,
"description": "",
"etypeId": 2,
"traits": [
{
"code": 22,
"dataId": 1,
"value": 0
}
],
"iconIndex": 128,
"name": "盾",
"note": "",
"params": [
0,
0,
0,
10,
0,
0,
0,
0
],
"price": 300
},
{
"id": 2,
"atypeId": 1,
"description": "",
"etypeId": 3,
"traits": [
{
"code": 22,
"dataId": 1,
"value": 0
}
],
"iconIndex": 130,
"name": "帽子",
"note": "",
"params": [
0,
0,
0,
10,
0,
0,
0,
0
],
"price": 300
},
{
"id": 3,
"atypeId": 1,
"description": "",
"etypeId": 4,
"traits": [
{
"code": 22,
"dataId": 1,
"value": 0
}
],
"iconIndex": 135,
"name": "服",
"note": "",
"params": [
0,
0,
0,
10,
0,
0,
0,
0
],
"price": 300
},
{
"id": 4,
"atypeId": 1,
"description": "",
"etypeId": 5,
"traits": [
{
"code": 22,
"dataId": 1,
"value": 0
}
],
"iconIndex": 145,
"name": "指輪",
"note": "",
"params": [
0,
0,
0,
0,
10,
0,
0,
0
],
"price": 300
}
]

4241
www/data/Classes.json Normal file

File diff suppressed because it is too large Load diff

20322
www/data/CommonEvents.json Normal file

File diff suppressed because it is too large Load diff

251
www/data/Enemies.json Normal file
View file

@ -0,0 +1,251 @@
[
null,
{
"id": 1,
"actions": [
{
"conditionParam1": 0,
"conditionParam2": 0,
"conditionType": 0,
"rating": 5,
"skillId": 1
}
],
"battlerHue": 0,
"battlerName": "Bat",
"dropItems": [
{
"dataId": 1,
"denominator": 1,
"kind": 0
},
{
"dataId": 1,
"denominator": 1,
"kind": 0
},
{
"dataId": 1,
"denominator": 1,
"kind": 0
}
],
"exp": 0,
"traits": [
{
"code": 22,
"dataId": 0,
"value": 0.95
},
{
"code": 22,
"dataId": 1,
"value": 0.05
},
{
"code": 31,
"dataId": 1,
"value": 0
}
],
"gold": 0,
"name": "こうもり",
"note": "",
"params": [
200,
0,
30,
30,
30,
30,
30,
30
]
},
{
"id": 2,
"actions": [
{
"conditionParam1": 0,
"conditionParam2": 0,
"conditionType": 0,
"rating": 5,
"skillId": 1
}
],
"battlerHue": 0,
"battlerName": "Slime",
"dropItems": [
{
"dataId": 1,
"denominator": 1,
"kind": 0
},
{
"dataId": 1,
"denominator": 1,
"kind": 0
},
{
"dataId": 1,
"denominator": 1,
"kind": 0
}
],
"exp": 0,
"traits": [
{
"code": 22,
"dataId": 0,
"value": 0.95
},
{
"code": 22,
"dataId": 1,
"value": 0.05
},
{
"code": 31,
"dataId": 1,
"value": 0
}
],
"gold": 0,
"name": "スライム",
"note": "",
"params": [
250,
0,
30,
30,
30,
30,
30,
30
]
},
{
"id": 3,
"actions": [
{
"conditionParam1": 0,
"conditionParam2": 0,
"conditionType": 0,
"rating": 5,
"skillId": 1
}
],
"battlerHue": 0,
"battlerName": "Orc",
"dropItems": [
{
"dataId": 1,
"denominator": 1,
"kind": 0
},
{
"dataId": 1,
"denominator": 1,
"kind": 0
},
{
"dataId": 1,
"denominator": 1,
"kind": 0
}
],
"exp": 0,
"traits": [
{
"code": 22,
"dataId": 0,
"value": 0.95
},
{
"code": 22,
"dataId": 1,
"value": 0.05
},
{
"code": 31,
"dataId": 1,
"value": 0
}
],
"gold": 0,
"name": "オーク",
"note": "",
"params": [
300,
0,
30,
30,
30,
30,
30,
30
]
},
{
"id": 4,
"actions": [
{
"conditionParam1": 0,
"conditionParam2": 0,
"conditionType": 0,
"rating": 5,
"skillId": 1
}
],
"battlerHue": 0,
"battlerName": "Minotaur",
"dropItems": [
{
"dataId": 1,
"denominator": 1,
"kind": 0
},
{
"dataId": 1,
"denominator": 1,
"kind": 0
},
{
"dataId": 1,
"denominator": 1,
"kind": 0
}
],
"exp": 0,
"traits": [
{
"code": 22,
"dataId": 0,
"value": 0.95
},
{
"code": 22,
"dataId": 1,
"value": 0.05
},
{
"code": 31,
"dataId": 1,
"value": 0
}
],
"gold": 0,
"name": "ミノタウロス",
"note": "",
"params": [
500,
0,
30,
30,
30,
30,
30,
30
]
}
]

204
www/data/Items.json Normal file
View file

@ -0,0 +1,204 @@
[
null,
{
"id": 1,
"animationId": 41,
"consumable": true,
"damage": {
"critical": false,
"elementId": 0,
"formula": "0",
"type": 0,
"variance": 20
},
"description": "",
"effects": [
{
"code": 11,
"dataId": 0,
"value1": 0,
"value2": 500
}
],
"hitType": 0,
"iconIndex": 176,
"itypeId": 1,
"name": "ポーション",
"note": "",
"occasion": 0,
"price": 50,
"repeats": 1,
"scope": 7,
"speed": 0,
"successRate": 100,
"tpGain": 0
},
{
"id": 2,
"animationId": 41,
"consumable": true,
"damage": {
"critical": false,
"elementId": 0,
"formula": "0",
"type": 0,
"variance": 20
},
"description": "",
"effects": [
{
"code": 12,
"dataId": 0,
"value1": 0,
"value2": 200
}
],
"hitType": 0,
"iconIndex": 176,
"itypeId": 1,
"name": "マジックウォーター",
"note": "",
"occasion": 0,
"price": 100,
"repeats": 1,
"scope": 7,
"speed": 0,
"successRate": 100,
"tpGain": 0
},
{
"id": 3,
"animationId": 45,
"consumable": true,
"damage": {
"critical": false,
"elementId": 0,
"formula": "0",
"type": 0,
"variance": 20
},
"description": "",
"effects": [
{
"code": 22,
"dataId": 4,
"value1": 1,
"value2": 0
},
{
"code": 22,
"dataId": 5,
"value1": 1,
"value2": 0
},
{
"code": 22,
"dataId": 6,
"value1": 1,
"value2": 0
},
{
"code": 22,
"dataId": 7,
"value1": 1,
"value2": 0
},
{
"code": 22,
"dataId": 8,
"value1": 1,
"value2": 0
},
{
"code": 22,
"dataId": 9,
"value1": 1,
"value2": 0
},
{
"code": 22,
"dataId": 10,
"value1": 1,
"value2": 0
}
],
"hitType": 0,
"iconIndex": 176,
"itypeId": 1,
"name": "ディスペルハーブ",
"note": "",
"occasion": 0,
"price": 200,
"repeats": 1,
"scope": 7,
"speed": 0,
"successRate": 100,
"tpGain": 0
},
{
"id": 4,
"animationId": 49,
"consumable": true,
"damage": {
"critical": false,
"elementId": 0,
"formula": "b.mhp / 2",
"type": 3,
"variance": 20
},
"description": "",
"effects": [
{
"code": 22,
"dataId": 1,
"value1": 1,
"value2": 0
}
],
"hitType": 0,
"iconIndex": 176,
"itypeId": 1,
"name": "スティミュラント",
"note": "",
"occasion": 0,
"price": 300,
"repeats": 1,
"scope": 9,
"speed": 0,
"successRate": 100,
"tpGain": 0
},
{
"id": 5,
"animationId": 0,
"consumable": false,
"damage": {
"critical": false,
"elementId": 0,
"formula": "0",
"type": 0,
"variance": 20
},
"description": "",
"effects": [
{
"code": 44,
"dataId": 3,
"value1": 1,
"value2": 0
}
],
"hitType": 0,
"iconIndex": 135,
"itypeId": 1,
"name": "戦闘服",
"note": "",
"occasion": 0,
"price": 0,
"repeats": 1,
"scope": 0,
"speed": 0,
"successRate": 100,
"tpGain": 0
}
]

1363
www/data/Map001.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map002.json Normal file

File diff suppressed because it is too large Load diff

6057
www/data/Map003.json Normal file

File diff suppressed because it is too large Load diff

7779
www/data/Map004.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map005.json Normal file

File diff suppressed because it is too large Load diff

7145
www/data/Map006.json Normal file

File diff suppressed because it is too large Load diff

6330
www/data/Map007.json Normal file

File diff suppressed because it is too large Load diff

7183
www/data/Map008.json Normal file

File diff suppressed because it is too large Load diff

3335
www/data/Map009.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map010.json Normal file

File diff suppressed because it is too large Load diff

189
www/data/Map011.json Normal file
View file

@ -0,0 +1,189 @@
{
"autoplayBgm": false,
"autoplayBgs": false,
"battleback1Name": "",
"battleback2Name": "",
"bgm": {
"name": "",
"pan": 0,
"pitch": 100,
"volume": 90
},
"bgs": {
"name": "",
"pan": 0,
"pitch": 100,
"volume": 90
},
"disableDashing": false,
"displayName": "",
"encounterList": [],
"encounterStep": 30,
"height": 3,
"note": "",
"parallaxLoopX": false,
"parallaxLoopY": false,
"parallaxName": "",
"parallaxShow": true,
"parallaxSx": 0,
"parallaxSy": 0,
"scrollType": 0,
"specifyBattleback": false,
"tilesetId": 3,
"width": 3,
"data": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"events": [
null,
{
"id": 1,
"name": "EV001",
"note": "",
"pages": [
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 1,
"variableValid": false,
"variableValue": 0
},
"directionFix": false,
"image": {
"characterIndex": 0,
"characterName": "",
"direction": 2,
"pattern": 0,
"tileId": 0
},
"list": [
{
"code": 230,
"indent": 0,
"parameters": [
120
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
2,
1
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"3年前・王立フェミナルナ魔導学院・1F大広間にて"
]
},
{
"code": 201,
"indent": 0,
"parameters": [
0,
12,
7,
8,
2,
0
]
},
{
"code": 0,
"indent": 0,
"parameters": []
}
],
"moveFrequency": 3,
"moveRoute": {
"list": [
{
"code": 0,
"parameters": []
}
],
"repeat": true,
"skippable": false,
"wait": false
},
"moveSpeed": 3,
"moveType": 0,
"priorityType": 0,
"stepAnime": false,
"through": false,
"trigger": 3,
"walkAnime": false
}
],
"x": 0,
"y": 0
}
]
}

8892
www/data/Map012.json Normal file

File diff suppressed because it is too large Load diff

10652
www/data/Map013.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map053.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map054.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map056.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map057.json Normal file

File diff suppressed because it is too large Load diff

11974
www/data/Map058.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map059.json Normal file

File diff suppressed because it is too large Load diff

3373
www/data/Map060.json Normal file

File diff suppressed because it is too large Load diff

10569
www/data/Map061.json Normal file

File diff suppressed because it is too large Load diff

5545
www/data/Map062.json Normal file

File diff suppressed because it is too large Load diff

6505
www/data/Map063.json Normal file

File diff suppressed because it is too large Load diff

7041
www/data/Map064.json Normal file

File diff suppressed because it is too large Load diff

7949
www/data/Map065.json Normal file

File diff suppressed because it is too large Load diff

5534
www/data/Map066.json Normal file

File diff suppressed because it is too large Load diff

6380
www/data/Map068.json Normal file

File diff suppressed because it is too large Load diff

6196
www/data/Map069.json Normal file

File diff suppressed because it is too large Load diff

6271
www/data/Map070.json Normal file

File diff suppressed because it is too large Load diff

272
www/data/Map071.json Normal file
View file

@ -0,0 +1,272 @@
{
"autoplayBgm": false,
"autoplayBgs": false,
"battleback1Name": "",
"battleback2Name": "",
"bgm": {
"name": "",
"pan": 0,
"pitch": 100,
"volume": 90
},
"bgs": {
"name": "",
"pan": 0,
"pitch": 100,
"volume": 90
},
"disableDashing": false,
"displayName": "",
"encounterList": [],
"encounterStep": 30,
"height": 3,
"note": "",
"parallaxLoopX": false,
"parallaxLoopY": false,
"parallaxName": "",
"parallaxShow": true,
"parallaxSx": 0,
"parallaxSy": 0,
"scrollType": 0,
"specifyBattleback": false,
"tilesetId": 3,
"width": 3,
"data": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"events": [
null,
{
"id": 1,
"name": "EV001",
"note": "",
"pages": [
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 1,
"variableValid": false,
"variableValue": 0
},
"directionFix": false,
"image": {
"characterIndex": 0,
"characterName": "",
"direction": 2,
"pattern": 0,
"tileId": 0
},
"list": [
{
"code": 108,
"indent": 0,
"parameters": [
"各キャラの処女設定"
]
},
{
"code": 355,
"indent": 0,
"parameters": [
"$gameVariables.setValue(30,0)"
]
},
{
"code": 655,
"indent": 0,
"parameters": [
"$gameVariables.setValue(31,0)"
]
},
{
"code": 655,
"indent": 0,
"parameters": [
"$gameVariables.setValue(32,0)"
]
},
{
"code": 655,
"indent": 0,
"parameters": [
"$gameVariables.setValue(33,0)"
]
},
{
"code": 108,
"indent": 0,
"parameters": [
"正気度"
]
},
{
"code": 355,
"indent": 0,
"parameters": [
"$gameVariables.setValue(35,100)"
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
2,
1
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"魔法ーーー。"
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
2,
1
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"『魔力』を宿す者のみが扱える不思議な力。"
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
2,
1
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"その起源は『王都』の成立より遥か以前、"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"一説には人類発祥にまで遡ると云われる。"
]
},
{
"code": 201,
"indent": 0,
"parameters": [
0,
75,
7,
15,
0,
0
]
},
{
"code": 0,
"indent": 0,
"parameters": []
}
],
"moveFrequency": 3,
"moveRoute": {
"list": [
{
"code": 0,
"parameters": []
}
],
"repeat": true,
"skippable": false,
"wait": false
},
"moveSpeed": 3,
"moveType": 0,
"priorityType": 0,
"stepAnime": false,
"through": false,
"trigger": 3,
"walkAnime": false
}
],
"x": 0,
"y": 0
}
]
}

1363
www/data/Map073.json Normal file

File diff suppressed because it is too large Load diff

5433
www/data/Map074.json Normal file

File diff suppressed because it is too large Load diff

3289
www/data/Map075.json Normal file

File diff suppressed because it is too large Load diff

8785
www/data/Map076.json Normal file

File diff suppressed because it is too large Load diff

5421
www/data/Map077.json Normal file

File diff suppressed because it is too large Load diff

7426
www/data/Map078.json Normal file

File diff suppressed because it is too large Load diff

5410
www/data/Map079.json Normal file

File diff suppressed because it is too large Load diff

6161
www/data/Map080.json Normal file

File diff suppressed because it is too large Load diff

5975
www/data/Map081.json Normal file

File diff suppressed because it is too large Load diff

5521
www/data/Map082.json Normal file

File diff suppressed because it is too large Load diff

10809
www/data/Map083.json Normal file

File diff suppressed because it is too large Load diff

6858
www/data/Map084.json Normal file

File diff suppressed because it is too large Load diff

6366
www/data/Map085.json Normal file

File diff suppressed because it is too large Load diff

200
www/data/Map086.json Normal file
View file

@ -0,0 +1,200 @@
{
"autoplayBgm": false,
"autoplayBgs": false,
"battleback1Name": "",
"battleback2Name": "",
"bgm": {
"name": "",
"pan": 0,
"pitch": 100,
"volume": 90
},
"bgs": {
"name": "",
"pan": 0,
"pitch": 100,
"volume": 90
},
"disableDashing": false,
"displayName": "",
"encounterList": [],
"encounterStep": 30,
"height": 3,
"note": "",
"parallaxLoopX": false,
"parallaxLoopY": false,
"parallaxName": "",
"parallaxShow": true,
"parallaxSx": 0,
"parallaxSy": 0,
"scrollType": 0,
"specifyBattleback": false,
"tilesetId": 3,
"width": 3,
"data": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"events": [
null,
{
"id": 1,
"name": "EV001",
"note": "",
"pages": [
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 1,
"variableValid": false,
"variableValue": 0
},
"directionFix": false,
"image": {
"characterIndex": 0,
"characterName": "",
"direction": 2,
"pattern": 0,
"tileId": 0
},
"list": [
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
2,
1
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"3年前・辺境の村・ウラミちゃんの実家にて"
]
},
{
"code": 117,
"indent": 0,
"parameters": [
13
]
},
{
"code": 122,
"indent": 0,
"parameters": [
50,
50,
0,
0,
0
]
},
{
"code": 201,
"indent": 0,
"parameters": [
0,
60,
9,
8,
2,
0
]
},
{
"code": 0,
"indent": 0,
"parameters": []
}
],
"moveFrequency": 3,
"moveRoute": {
"list": [
{
"code": 0,
"parameters": []
}
],
"repeat": true,
"skippable": false,
"wait": false
},
"moveSpeed": 3,
"moveType": 0,
"priorityType": 0,
"stepAnime": false,
"through": false,
"trigger": 3,
"walkAnime": false
}
],
"x": 0,
"y": 0
}
]
}

5172
www/data/Map087.json Normal file

File diff suppressed because it is too large Load diff

5039
www/data/Map088.json Normal file

File diff suppressed because it is too large Load diff

7109
www/data/Map089.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map090.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map091.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map092.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map093.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map094.json Normal file

File diff suppressed because it is too large Load diff

8165
www/data/Map096.json Normal file

File diff suppressed because it is too large Load diff

5359
www/data/Map097.json Normal file

File diff suppressed because it is too large Load diff

5768
www/data/Map098.json Normal file

File diff suppressed because it is too large Load diff

9615
www/data/Map099.json Normal file

File diff suppressed because it is too large Load diff

5697
www/data/Map100.json Normal file

File diff suppressed because it is too large Load diff

7500
www/data/Map101.json Normal file

File diff suppressed because it is too large Load diff

6859
www/data/Map102.json Normal file

File diff suppressed because it is too large Load diff

5718
www/data/Map103.json Normal file

File diff suppressed because it is too large Load diff

7314
www/data/Map104.json Normal file

File diff suppressed because it is too large Load diff

12206
www/data/Map105.json Normal file

File diff suppressed because it is too large Load diff

5832
www/data/Map106.json Normal file

File diff suppressed because it is too large Load diff

6221
www/data/Map107.json Normal file

File diff suppressed because it is too large Load diff

7653
www/data/Map108.json Normal file

File diff suppressed because it is too large Load diff

5668
www/data/Map109.json Normal file

File diff suppressed because it is too large Load diff

7025
www/data/Map110.json Normal file

File diff suppressed because it is too large Load diff

5597
www/data/Map111.json Normal file

File diff suppressed because it is too large Load diff

11806
www/data/Map112.json Normal file

File diff suppressed because it is too large Load diff

5545
www/data/Map113.json Normal file

File diff suppressed because it is too large Load diff

9060
www/data/Map114.json Normal file

File diff suppressed because it is too large Load diff

10183
www/data/Map115.json Normal file

File diff suppressed because it is too large Load diff

5627
www/data/Map116.json Normal file

File diff suppressed because it is too large Load diff

8976
www/data/Map117.json Normal file

File diff suppressed because it is too large Load diff

4236
www/data/Map118.json Normal file

File diff suppressed because it is too large Load diff

5541
www/data/Map119.json Normal file

File diff suppressed because it is too large Load diff

7779
www/data/Map120.json Normal file

File diff suppressed because it is too large Load diff

6677
www/data/Map121.json Normal file

File diff suppressed because it is too large Load diff

5693
www/data/Map122.json Normal file

File diff suppressed because it is too large Load diff

9061
www/data/Map123.json Normal file

File diff suppressed because it is too large Load diff

11806
www/data/Map124.json Normal file

File diff suppressed because it is too large Load diff

10184
www/data/Map125.json Normal file

File diff suppressed because it is too large Load diff

5545
www/data/Map126.json Normal file

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more