Initial Commit

This commit is contained in:
onms 2026-05-01 00:29:49 -05:00
commit 29d00aba34
241 changed files with 3815372 additions and 0 deletions

44
.gitignore vendored Normal file
View file

@ -0,0 +1,44 @@
# 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

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

65
gameupdate/vocab.txt Normal file
View file

@ -0,0 +1,65 @@
# Game Characters
エル (El) - Female; inn adventurer tied to the Light Plain plotline; not player-chosen; speaks casually and informally; energetic and direct
流浪の求道者 (Seeker) - Male; roaming challenge NPC; not player-chosen; speaks in a grave, formal register; stoic and trial-focused
シスターエキュリー (Sister Ecurie) - Female; church sister of the Amol faith; not player-chosen; polite religious register; gentle and dutiful
ホエミ (Hoemi) - Female; friend in the northern district; not player-chosen; casual friendly speech; warm and approachable
ロクサヌ (Roxanu) - Female; northern district student; not player-chosen; youthful casual speech; sociable and ordinary
ミント (Mint) - Female; northern district student; not player-chosen; youthful casual speech; lively and informal
ヒルデ (Hilde) - Female; apartment resident; not player-chosen; plain civilian speech; practical and grounded
管理人ナミサ (Manager Namisa) - Female; apartment manager; not player-chosen; polite caretaker speech; responsible and matter-of-fact
デフィ (Defi) - Female; soldier's wife living in the apartment; not player-chosen; domestic casual speech; reserved and ordinary
ラム (Ram) - Female; arena warrior; not player-chosen; confident fighter's speech; bold and competitive
アルシェ (Arche) - Female; arena fan; not player-chosen; enthusiastic casual speech; excitable and friendly
バーニア (Barnia) - Female; student associated with the arena; not player-chosen; youthful casual speech; curious and energetic
フォサ (Fossa) - Female; arena-side NPC; not player-chosen; casual town speech; socially active
キャナリ (Canari) - Female; cafe worker or cafe patron; not player-chosen; light casual speech; cheerful and sociable
エロン (Elon) - Male; cafe NPC; not player-chosen; casual adult speech; relaxed and conversational
チコニャ (Ciconya) - Female; cafe NPC; not player-chosen; casual service speech; friendly and talkative
ルートル (Rootle) - Male; cafe NPC; not player-chosen; casual adult speech; easygoing
シャモー (Chameau) - Male; cafe NPC; not player-chosen; casual adult speech; relaxed and ordinary
コション (Cochon) - Male; cafe NPC; not player-chosen; casual adult speech; informal and sociable
アレニエ (Areignee) - Female; trading-company NPC; not player-chosen; businesslike polite speech; composed and practical
ミルバト (Mirbat) - Male; trading-company NPC; not player-chosen; businesslike speech; practical and restrained
受付アンヌ (Receptionist Anne) - Female; theater receptionist; not player-chosen; polite service register; courteous and professional
支配人アドルフ (Manager Adolf) - Male; theater manager; not player-chosen; formal managerial speech; authoritative and composed
アンリ (Henri) - Male; theater-related named NPC; not player-chosen; polite stage-world speech; refined and reserved
カトリーヌ (Catherine) - Female; theater performer or staff member; not player-chosen; elegant feminine speech; theatrical and poised
シエル (Ciel) - Female; theater performer or staff member; not player-chosen; polite feminine speech; graceful and composed
グラティア (Gratia) - Female; theater NPC; not player-chosen; refined speech; elegant and expressive
オレイユ (Oreille) - Female; theater NPC; not player-chosen; refined speech; attentive and polished
実況 (Commentator) - Male; arena or event commentator; not player-chosen; energetic announcing register; loud and performative
ウミ (Umi) - Female; named NPC in Albol Forest; not player-chosen; casual rural speech; practical and outdoorsy
ネリネ (Nerine) - Female; named NPC at Albol Camp; not player-chosen; casual camp speech; warm and grounded
ジャスミン (Jasmine) - Female; named NPC at Albol Camp; not player-chosen; casual feminine speech; friendly and composed
アーディ (Ardi) - Male; named NPC in the Testa settlement; not player-chosen; casual local speech; practical and direct
クラレット (Claret) - Female; named NPC in Viola Village; not player-chosen; casual village speech; grounded and approachable
ステノ (Steno) - Female; hot spring inn NPC; not player-chosen; polite hospitality speech; calm and service-minded
# Worldbuilding Terms
淫催都市ヒュプノズム (Lewd Hypnosis City Hypnosm) - Game title and central city setting; a city shaped by the Incitation curse and its social control
ヒュプノズム (Hypnosm) - Main city and hub area; divided into districts such as the southern district, slums, upper district, church, guild, theater, and lord's manor
淫催 (Incitation) - The central hypnosis-like curse or state that alters obedience, desire, and social values throughout Hypnosm
淫催の呪い (Incitation Curse) - Story term for the magical influence affecting the city and its residents
淫催の守護者 (Guardian of Incitation) - Enemy or boss title connected to the Incitation system
アモル教 (Amol Faith) - City religion imposed on residents; tied to marriage, sexuality, and the social norms of Hypnosm
光の平原 (Light Plain) - Major plot location where magical power gathers and expands; associated with danger, monsters, and the Divine King's awakening
神王覚醒 (Divine King's Awakening) - Historical event said to have created or transformed the Light Plain around twenty years earlier
血胤 (Bloodline) - Ruby-tagged lore term read as Bloodseed; unique hereditary magic tied to absorbing traits from other beings
血胤魔術 (Bloodline Magic) - Keimi's unique magic system derived from the Bloodline lineage
ブラッドシード家 (Bloodseed Family) - Fallen noble family associated with Bloodline magic
フィガロ家 (Figaro Family) - Prestigious family famous for swords and magic swords
魔剣 (Magic Sword) - Lore term for special enchanted swords, especially those connected to the Figaro family
フィガロの魔剣 (Figaro Magic Sword) - Named magic sword from the Figaro family
魔剣活性化 (Magic Sword Activation) - Story process or quest concept for making a magic sword usable
冒険者ランク (Adventurer Rank) - Guild status system; raising it unlocks citizenship and marriage-related progression
住民権 (Citizenship) - Legal status required to access restricted districts and marry within Hypnosm
ギルド (Guild) - Adventurer organization that handles rank progression and quest reporting
マナ (Mana) - Recurring magical resource gained from exploration and used in city systems
マナ屋 (Mana Shop) - City facility or service related to exchanging mana
領主の館 (Lord's Manor) - Plot location tied to the city's ruler and later story investigation
地下道 (Underground Passage) - Story route used during the Hypnosm investigation arc
魔人の塔 (Demon Tower) - Major dungeon or travel destination referenced in progression data
氷結の迷宮 (Frozen Labyrinth) - Major dungeon or travel destination referenced in progression data
宵闇のエージェント (Agent of Twilight) - Named quest title with story significance
極寒のプレリュード (Frigid Prelude) - Named quest title with story significance
性奴隷 (Sex Slave) - In-universe class/status used by event progression and relationship systems

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"
}
}

587
vocab.txt Normal file
View file

@ -0,0 +1,587 @@
# Game Characters
オリヴィア (Olivia) - Female; protagonist knight (Actors.json ID 1); resolute and commanding; often reflects internally on situations; takes charge in crisis
ジェド (Jed) - Male; thief companion (Actors.json ID 10); class-based identity; level 40
ノルン (Norn) - Female; adventurer ally (Actors.json ID 11-13); experienced warrior; frequently referenced as reliable and capable; level 30
聖職者 (Cleric) - Generic clerical character (Actors.json ID 12); provides spiritual support; female presentation
イリア (Ilia) - Female; knight class warrior (Actors.json ID 24); referenced in dialogue by other characters
女の子 (Girl) - Young female character (Actors.json ID 4); child NPC
ゴブリン (Goblin) - Male enemy creature type (Actors.json ID 8); antagonistic monster race
ヘンゲル (Hengel) - Male; ally commander; referenced frequently in Map002.json; leads defensive operations against the worms; formal speech register; experienced leader
エーベスト (Ebest) - Male; powerful antagonist; referenced as "エーベスト卿" (Lord Ebest); causes the main conflict involving parasitic worms; spoken of with reverence and fear
青年 (Young Man) - Male; generic NPC archetype; appears in early story sequences in Map002.json; nervous and concerned
フェラ怪人 (Blowjob Monster) - Female enemy creature; parasitic monster form; specific to sexual combat scenarios
住人 (Resident) - Male; NPC villager; generic townsfolk
住人の妻 (Resident's Wife) - Female; NPC townsfolk; warm motherly demeanor; domestic life dialogue
住人の娘 (Resident's Daughter) - Female; NPC child; innocent and cheerful tone
族長 (Chieftain) - Male creature; Tribal chief of the Pigmen
# Worldbuilding Terms
蟲 (Worms/Insects) - Mysterious parasitic creatures originating from Lord Ebest; infest villages and cause chaos; referenced throughout story as the main antagonist force; victims suffer internal infestation
防壁 (Barrier/Fortification) - Magical defensive walls created by residents to protect against worm invasions; can trap those inside if not carefully managed; indicates magical technology exists in this world
寄生虫 (Parasites) - Internal infestation caused by the worms; affects combat statistics and character status; medical/biological condition threatening the population
冒険者 (Adventurer) - Professional class of warriors and mercenaries; Norn identifies with this occupation; indicates organized adventuring guilds or profession exists
騎士 (Knight) - Military or professional warrior class; Olivia's primary identity and role; indicates knightly order or chivalric traditions
# Speakers
オリヴィア (Olivia)
青年 (Young Man)
ヘンゲル (Hengel)
住人 (Resident)
フェラ怪人 (Blowjob Monster)
盗賊 (Thief)
ジェド (Jed)
アディ (Addy)
盗賊A (Thief A)
盗賊B (Thief B)
盗賊C (Thief C)
盗賊D (Thief D)
少年 (Boy)
住民 (Villager)
エーベスト (Ebest)
イリア (Ilia)
謎のフェラ怪人 (Mysterious Blowjob Monster)
エイリー (Eiri)
ゴブリン (Goblin)
手コキ (Handjob)
深呼吸 (Deep Breath)
セックス (Sex)
村の嫌われ者 (Village Outcast)
昔なじみの住人 (Old Acquaintance Resident)
ドニー (Donnie)
ノルン (Norn)
盗賊2 (Thief 2)
横柄な男 (Arrogant Man)
取り巻き男1 (Follower Man 1)
取り巻き2 (Follower Man 2)
取り巻き男2 (Follower Man 2)
聖職者 (Cleric)
リヴィア (Livia)
ピッグマン (Pigman)
族長 (Chieftain)
男 (Man)
新人ピッグマン (New Pigman)
へんゲル (Hengel)
住人の娘 (Resident's Daughter)
住人の妻 (Resident's Wife)
住人の夫 (Resident's Husband)
娘 (Daughter)
兵士 (Soldier)
住人の息子 (Resident's Son)
盗賊1 (Thief 1)
盗賊3 (Thief 3)
ドクン (Dokun)
クルス (Krus)
少女 (Girl)
冒険者の男 (Adventurer Man)
肉 (Meat)
冒険者の女 (Adventurer Woman)
アレック (Alec)
モンスター (Monster)
貴族 (Noble)
女性 (Woman)
女の子 (Girl)
母 (Mother)
店主 (Shopkeeper)
モネじい (Old Man Mone)
騎士 (Knight)
ヒーラー (Healer)
槍術士 (Lancer)
剣士 (Swordsman)
冷静な兵士 (Calm Soldier)
炭鉱夫 (Miner)
炭鉱ゴブリン (Coal Goblin)
夫人 (Lady)
エロジジイ (Perverted Old Man)
立つ男 (Standing Man)
冒険者 (Adventurer)
ならず者 (Rogue)
商人 (Merchant)
浮浪者 (Vagrant)
客 (Customer)
売られた娘 (Sold Daughter)
店員 (Clerk)
盗賊達 (Thieves)
酔っ払い (Drunkard)
おじいさん (Old Man)
男1 (Man 1)
男2 (Man 2)
後輩騎士 (Junior Knight)
主婦 (Housewife)
主婦2 (Housewife 2)
青年2 (Young Man 2)
青年3 (Young Man 3)
解放条件 (Unlock Conditions)
回想全解放条件 (All Memories Unlock Conditions)
行商人 (Peddler)
ピッグマン達 (Pigmen)
ニンゲン (Human)
# Honorifics
さん (san)
様, さま (sama)
君, くん (kun)
ちゃん (chan)
たん (tan)
先輩 (senpai)
せんぱい (senpai)
先生 (sensei)
せんせい (sensei)
にいさん (nii-san)
兄さん (nii-san)
兄者 (elder brother)
お兄ちゃん (onii-san)
姉さん (nee-san)
お姉ちゃん (onee-chan)
ねえさん (nee-san)
おじさん (old man)
# Terms
初めから (Start)
逃げる (Escape)
大事なもの (Key Items)
最強装備 (Optimize)
攻撃力 (Attack)
回避率 (Evasion)
敏捷性 (Agility)
命中率 (Accuracy)
最大HP (Max HP)
経験値 (EXP)
購入する (Buy)
魔力攻撃 (M. Attack)
魔力防御 (M. Defense)
魔法力 (M. Power)
%1 の%2を獲得 (Gained %1 %2)
持っている数 (Owned)
ME 音量 (ME Volume)
# Demons/Angels/Monsters
聖女 (Saintess)
悪魔 (Demon)
上級悪魔 (Arch Demon)
歪魔 (Distorted Demon)
魔神 (Devil)
魔人 (Demon)
睡魔 (Mare)
淫魔 (Succubus)
夢魔 (Succubus)
天使 (Angel)
大天使 (Archangel)
権天使 (Principality)
能天使 (Power)
力天使 (Virtue)
主天使 (Dominion)
智天使 (Cherub)
飛天魔 (Nephilim)
堕天使 (Fallen Angel)
鬼 (Oni)
妖怪 (Yokai)
式神 (Shikigami)
幽霊 (Ghost)
幽鬼 (Revenant)
デーモン (Daemon)
ローパー (Roper)
人間 (Human)
人型 (Humanoid)
獣型 (Beast)
触手型 (Tentacle)
軟体型 (Slime)
虫型 (Insect)
エルフ (Elf)
竜 (Dragon)
吸血鬼 (Vampire)
ドワーフ (Dwarf)
# Elements
物理 (Physical)
吸収 (Absorption)
火 (Fire)
氷 (Ice)
雷 (Thunder)
水 (Water)
地 (Earth)
風 (Wind)
神聖 (Holy)
暗黒 (Dark)
木 (Wood)
# ── Base Vocabulary (auto-appended from vocab_base.txt — do not edit below) ──
# Honorifics
さん (san)
様, さま (sama)
君, くん (kun)
ちゃん (chan)
たん (tan)
先輩 (senpai)
せんぱい (senpai)
先生 (sensei)
せんせい (sensei)
にいさん (nii-san)
兄さん (nii-san)
兄者 (elder brother)
お兄ちゃん (onii-san)
姉さん (nee-san)
お姉ちゃん (onee-chan)
ねえさん (nee-san)
おじさん (old man)
# Terms
初めから (Start)
逃げる (Escape)
大事なもの (Key Items)
最強装備 (Optimize)
攻撃力 (Attack)
回避率 (Evasion)
敏捷性 (Agility)
命中率 (Accuracy)
最大HP (Max HP)
経験値 (EXP)
購入する (Buy)
魔力攻撃 (M. Attack)
魔力防御 (M. Defense)
魔法力 (M. Power)
%1 の%2を獲得 (Gained %1 %2)
持っている数 (Owned)
ME 音量 (ME Volume)
# Demons/Angels/Monsters
聖女 (Saintess)
悪魔 (Demon)
上級悪魔 (Arch Demon)
歪魔 (Distorted Demon)
魔神 (Devil)
魔人 (Demon)
睡魔 (Mare)
淫魔 (Succubus)
夢魔 (Succubus)
天使 (Angel)
大天使 (Archangel)
権天使 (Principality)
能天使 (Power)
力天使 (Virtue)
主天使 (Dominion)
智天使 (Cherub)
飛天魔 (Nephilim)
堕天使 (Fallen Angel)
鬼 (Oni)
妖怪 (Yokai)
式神 (Shikigami)
幽霊 (Ghost)
幽鬼 (Revenant)
デーモン (Daemon)
ローパー (Roper)
人間 (Human)
人型 (Humanoid)
獣型 (Beast)
触手型 (Tentacle)
軟体型 (Slime)
虫型 (Insect)
エルフ (Elf)
竜 (Dragon)
吸血鬼 (Vampire)
ドワーフ (Dwarf)
# Elements
物理 (Physical)
吸収 (Absorption)
火 (Fire)
氷 (Ice)
雷 (Thunder)
水 (Water)
地 (Earth)
風 (Wind)
神聖 (Holy)
暗黒 (Dark)
木 (Wood)
# Armors
盾 (Shield)
帽子 (Hat)
服 (Clothes)
指輪 (Ring)
# Classes
勇者 (Hero)
剣士  (Swordsman)
魔術師 (Mage)
僧侶 (Priest)
盗賊 (Thief)
ザコ (Weakling)
住人 (Resident)
槍術士 (Lancer)
剣術士 (Swordsman)
ゴブリン (Goblin)
拳士 (Brawler)
一般人 (Commoner)
# Enemies
こうもり (Bat)
スライム (Slime)
フェラ怪人 (Blowjob Monster)
盗賊 (Thief)
ワーム (Worm)
ワーム2 (Worm 2)
ゴースト (Ghost)
アグリゴースト (Aggro Ghost)
ドラゴン (Dragon)
ヒュドライア (Hydra)
クレピオス (Krepios)
ノルン (Norn)
ジェド (Jed)
エイミー (Amy)
マザー (Mother)
ヘンゲル (Hengel)
フェラ戦闘員 (Blowjob Fighter)
肉 (Meat)
# Items
ポーション (Potion)
マジックポーション (Magic Potion)
ディスペルハーブ (Dispel Herb)
スティミュラント (Stimulant)
除虫剤 (Insecticide)
虫寄せの実 (Bug-Attracting Fruit)
ああああ (Aaaaah)
爆弾 (Bomb)
怪人蟲 (Monster Bug)
メモ (Memo)
レベルアップ剤 (Level-Up Agent)
レベルアップ剤が詰まった袋 (Bag Filled with Level-Up Agents)
オールポーション (All Potion)
青い家の鍵 (Blue House Key)
聖職者のナイフ (Cleric's Knife)
ミラージュドレッサー (Mirage Dresser)
宝石箱 (Jewelry Box)
高そうな剣 (Expensive-Looking Sword)
高そうな織物 (Expensive-Looking Fabric)
イヤリング (Earrings)
ネックレス (Necklace)
指輪 (Ring)
思い出の写真立て (Photo Frame of Memories)
高価な花瓶 (Expensive Vase)
年季の入ったぬいぐるみ (Well-Worn Stuffed Toy)
年代物の鏡 (Antique Mirror)
プレゼント (Present)
譲り受けた万年筆 (Inherited Fountain Pen)
高級ワイン (Fine Wine)
高価な皿 (Expensive Plate)
延べ棒 (Ingot)
安物の剣 (Cheap Sword)
不具合回避アイテム (Bug Avoidance Item)
# MapInfos
本編 (Main Story)
全体マップ (World Map)
道具屋 (Item Shop)
村の民家1F (Village House 1F)
村の民家2F (Village House 2F)
倉庫 (Warehouse)
倉庫2階 (Warehouse 2F)
イベントマップ (Event Map)
武器屋 (Weapon Shop)
武器屋地下 (Weapon Shop Basement)
民家1 (House 1)
メインマップ1 (Main Map 1)
メインマップ2 (Main Map 2)
メインマップ3 (Main Map 3)
オリヴィアの家 (Olivia's House)
民家2親子 (House 2 Parent and Child)
民家1 アディ (House 1 Addy)
避難地 (Refuge Area)
牢屋 (Jail)
拠点前 (In Front of Base)
酒場 (Tavern)
拠点奥 (Back of Base)
地下 (Underground)
蟲の巣窟8 (Worm Nest 8)
民家1少女 (House 1 Girl)
列男家 (Retsuo's House)
民家 犬 (House Dog)
休憩場所 (Rest Area)
盗賊の拠点 (Thieves' Hideout)
虫の巣窟1.2 (Worm Nest 1.2)
虫の巣窟7 (Insect Nest 7)
ピッグマンの住処 (Pigman's Lair)
畑裏 (Behind the Field)
迷いの森 (Lost Forest)
洞窟へ繋がる道 (Path to the Cave)
拠点裏 (Behind the Base)
仕事部屋 (Workroom)
走るループ (Running Loop)
走るループ【ゴースト】 (Running Loop [Ghost])
洞窟前 (In Front of the Cave)
消すやつ (The Eraser)
呪われた洞窟 (Cursed Cave)
メインマップ4 (Main Map 4)
広場 (Plaza)
拠点中間 (Mid-Base)
小道 (Pathway)
裏道 (Back Road)
中間拠点の狭間 (Between Mid-Base Points)
中間地点ピッグマン (Midpoint Pigman)
テント内+ジェド (Inside Tent + Jed)
盗賊のアジト (Thief's Hideout)
廃墟の民家 (Ruined House)
夢の中 (Inside a Dream)
夢の下 (Below the Dream)
夢の左 (Left of Dream)
夢に入る前 (Before Entering the Dream)
列男家イベント (Event at Retsuo's House)
酒場イベントなし (No Tavern Event)
村長の家 (Village Chief's House)
展望台(ハッピーエンド) (Observation Deck (Happy Ending))
全体マップエンディング (World Map Ending)
城1F (Castle 1F)
城3F (Castle 3F)
虫の巣窟1 (Worm Nest 1)
虫の巣窟1右 (Worm Nest 1 Right)
虫の巣窟1.3 (Worm Nest 1.3)
虫の巣窟1.5 (Worm Nest 1.5)
虫の巣窟1.4 (Worm Nest 1.4)
虫の巣窟1.6 (Worm Nest 1.6)
暗闇 (Darkness)
避難地(イベント用) (Refuge (Event))
オリヴィア家 (Olivia's House)
スラム街 (Slums)
岩の洞窟 (Rock Cave)
蟲の地下 (Worms' Underground)
ダンジョンコア (Dungeon Core)
虫の巣窟1.2 盗賊 (Worm Nest 1.2 Thief)
虫の巣窟1右 盗賊 (Worm Nest 1 Right Thief)
虫の巣窟1.6 盗賊 (Worm Nest 1.6 Thief)
エーベストの都市 (Ebest's City)
過去イベント (Past Event)
展望台(盗賊) (Observation Deck (Thief))
カジノ (Casino)
鉱山 (Mine)
民家集合 (Residential Area)
民家空き家 (Vacant House)
倉庫隠し地下 (Hidden Warehouse Basement)
広場前 (In Front of the Plaza)
教会 (Church)
エイリー拠点 (Eiri's Base)
閉じ込め小屋 (Locked Shack)
鉱山中F (Mine Middle 1F)
鉱山中F (Mine Middle 2F)
下層フェラ怪人 (Lower Level Blowjob Monster)
鉱山中F (Mine Middle 3F)
鉱山中5 (Mine Middle 5F)
鉱山中4F (Mine Middle 4F)
エイリー拠点空っぽ (Empty Eiri's Base)
鉱山 聖職者 (Mine Cleric)
民家タオル男 (House Towel Man)
展望台(メイン) (Observation Deck (Main))
展望台(淫乱) (Observation Deck (Lewd))
城下 (Castle Town)
城の中 (Inside the Castle)
馬車内 (Inside the Carriage)
滅びの森 (Forest of Ruin)
民家 引きこもり (House Recluse)
民家 怪人 (House Monster)
イリアの家 (Ilia's House)
イリアが居る森 (Forest Where Ilia Is)
廃墟 (Ruins)
酒場「盗賊イベ」 (Tavern "Thief Event")
避難地「住人懐柔」 (Refuge "Pacifying Residents")
テント (Tent)
列男家 並ぶイベ 最初 (Retsuo House - Queue Event - Start)
列男家 並ぶイベ 中間 (Retsuo House - Queue Event - Middle)
列男家 並ぶイベ 最後 (Retsuo House - Queue Event - End)
回想ルーム (Recollection Room)
下層フェラ怪人(回想) (Lower Level Blowjob Monster (Recollection))
鉱山バットエンド (Mine Bad End)
撮影用 (For Filming)
イリアテント (Ilia Tent)
村長の家 戦闘員エンド (Village Chief's House - Combatant End)
閉じ込め小屋から (From Locked Shack)
酒場空っぽ (Empty Tavern)
ビビりテント (Scaredy Tent)
ピッグ住処(イベント用) (Pig's Lair (Event))
ピッグ住処(鬼ごっこ) (Pig's Lair (Tag))
ピッグマンの住処【進化】 (Pigman's Lair [Evolution])
畑 (Field)
支配した村 (Controlled Village)
テント中 (Inside Tent)
ピッグマンの住処【ED用】 (Pigman's Lair [For Ending])
# Skills
攻撃 (Attack)
防御 (Defend)
全体攻撃 (Area Attack)
2回攻撃 (Double Attack)
3回攻撃 (Triple Attack)
逃げる (Escape)
様子を見る (Wait and See)
ヒール (Heal)
ファイア (Fire)
炎の加護 (Flame's Blessing)
レベルドレイン (Level Drain)
吸い付く (Suction)
雷鳴斬 (Thunder Slash)
雪絶撃 (Snow Strike)
火炎斬 (Flame Slash)
水波撃 (Water Wave Strike)
螺旋吼 (Spiral Roar)
受け流し (Parry)
風の加護 (Wind's Blessing)
降参 (Surrender)
必殺剣・桜花 (Deadly Sword: Cherry Blossom)
↓ロストスキル↓ (↓Lost Skills↓)
戦闘不能 (Knocked Out)
投げつける (Throw)
↓ジェドスキル (↓ Jed Skill)
爆弾 (Bomb)
痺れ玉 (Paralysis Ball)
催涙玉 (Tear Gas Ball)
幻惑の霧 (Illusion Mist)
↓プロローグモンスター (↓ Prologue Monster)
シャドウブレイク (Shadow Break)
呪う (Curse)
漆黒の波動 (Jet-Black Wave)
ブラックストルワート (Black Strolwart)
ファイアーハリケーン (Fire Hurricane)
ドラゴンダイブ (Dragon Dive)
召喚 (Summon)
ツイスター (Twister)
リキッドヘル (Liquid Hell)
タックル (Tackle)
↓エロスキル (↓ Ero Skill)
捕獲 (Capture)
↓エロスキル【使えないやつ】 (↓ Ero Skill [Useless Ones])
降参【使えない】 (Surrender [Unavailable])
剣を振る (Swing Sword)
↓マザースキル (↓Mother Skill)
溶解液 (Solvent)
ため込む (Store Up)
食いつく (Bite)
↓エイリースキル (↓Eiri Skill)
存在希釈 (Existence Dilution)
闇討ち (Ambush)
↓フェラ怪人 (↓Blowjob Monster)
のしかかり (Pin Down)
↓ヘンゲル (↓Hengel)
絶対防御 (Absolute Defense)
チャージ1 (Charge 1)
チャージ2 (Charge 2)
↓ノルン (↓Norn)
左鉤突き (Left Hook)
肘打ち (Elbow Strike)
両手突き (Double Hand Thrust)
左上段順突き (Left Upper Sequential Thrust)
裏打ち (Backhand Strike)
左中段膝蹴り (Left Mid-level Knee Kick)
貫手 (Piercing Hand)
破砕拳 (Crushing Fist)
地鳴拳 (Earthquake Fist)
手刀 (Knife Hand)
鉤突き (Hook Punch)
↓フェラ怪人戦用 (↓ For Blowjob Monster Battle)
敗北する (Defeat)
↓ノルン戦 (↓ For Norn Battle)
レベルギガドレイン (Level Giga Drain)
# Weapons
剣 (Sword)
斧 (Axe)
杖 (Staff)
弓 (Bow)

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

@ -0,0 +1,578 @@
[
null,
{
"id": 1,
"battlerName": "",
"characterIndex": 0,
"characterName": "オリヴィア",
"classId": 2,
"equips": [
1,
1,
2,
3,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 50,
"maxLevel": 99,
"name": "オリヴィア",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 2,
"battlerName": "",
"characterIndex": 0,
"characterName": "オリヴィア",
"classId": 6,
"equips": [
1,
1,
2,
3,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 50,
"maxLevel": 99,
"name": "オリヴィア",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 3,
"battlerName": "",
"characterIndex": 0,
"characterName": "オリヴィア裸",
"classId": 7,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 50,
"maxLevel": 99,
"name": "オリヴィア",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 4,
"battlerName": "",
"characterIndex": 4,
"characterName": "チジョッカー",
"classId": 8,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "女の子",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 5,
"battlerName": "",
"characterIndex": 4,
"characterName": "イリア",
"classId": 9,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 30,
"maxLevel": 99,
"name": "騎士",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 6,
"battlerName": "",
"characterIndex": 5,
"characterName": "イリア",
"classId": 11,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 25,
"maxLevel": 99,
"name": "騎士",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 7,
"battlerName": "",
"characterIndex": 1,
"characterName": "イリア",
"classId": 11,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "騎士",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 8,
"battlerName": "",
"characterIndex": 3,
"characterName": "オリヴィア裸",
"classId": 1,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "ゴブリン",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 9,
"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": 10,
"battlerName": "",
"characterIndex": 0,
"characterName": "盗賊",
"classId": 5,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 40,
"maxLevel": 99,
"name": "ジェド",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 11,
"battlerName": "",
"characterIndex": 2,
"characterName": "オリヴィア2",
"classId": 13,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 30,
"maxLevel": 99,
"name": "ノルン",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 12,
"battlerName": "",
"characterIndex": 3,
"characterName": "チジョッカー",
"classId": 8,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "聖職者",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 13,
"battlerName": "",
"characterIndex": 1,
"characterName": "オリヴィア2",
"classId": 13,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 30,
"maxLevel": 99,
"name": "ノルン",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 14,
"battlerName": "",
"characterIndex": 7,
"characterName": "住民5",
"classId": 8,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "ジェシー",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 15,
"battlerName": "",
"characterIndex": 3,
"characterName": "住民5",
"classId": 5,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "マリー",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 16,
"battlerName": "",
"characterIndex": 1,
"characterName": "住民5",
"classId": 8,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "ラック",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 17,
"battlerName": "",
"characterIndex": 7,
"characterName": "住民4",
"classId": 8,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "ミリカ",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 18,
"battlerName": "",
"characterIndex": 2,
"characterName": "住人6",
"classId": 8,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "ウィナ",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 19,
"battlerName": "",
"characterIndex": 6,
"characterName": "住民4",
"classId": 8,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "アナベラ",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 20,
"battlerName": "",
"characterIndex": 1,
"characterName": "住人6",
"classId": 8,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "ヴァニラ",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 21,
"battlerName": "",
"characterIndex": 3,
"characterName": "住人6",
"classId": 8,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "メイリ",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 22,
"battlerName": "",
"characterIndex": 4,
"characterName": "住人6",
"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": "Evil",
"classId": 14,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 20,
"maxLevel": 99,
"name": "盗賊",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 24,
"battlerName": "",
"characterIndex": 2,
"characterName": "イリア",
"classId": 8,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "イリア",
"nickname": "",
"note": "",
"profile": ""
},
{
"id": 25,
"battlerName": "",
"characterIndex": 7,
"characterName": "お宝",
"classId": 15,
"equips": [
0,
0,
0,
0,
0
],
"faceIndex": 0,
"faceName": "",
"traits": [],
"initialLevel": 1,
"maxLevel": 99,
"name": "行商人",
"nickname": "",
"note": "",
"profile": ""
}
]

140877
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
}
]

13282
www/data/Classes.json Normal file

File diff suppressed because it is too large Load diff

896969
www/data/CommonEvents.json Normal file

File diff suppressed because it is too large Load diff

1903
www/data/Enemies.json Normal file

File diff suppressed because it is too large Load diff

1060
www/data/Items.json Normal file

File diff suppressed because it is too large Load diff

9783
www/data/Map001.json Normal file

File diff suppressed because it is too large Load diff

45985
www/data/Map002.json Normal file

File diff suppressed because it is too large Load diff

4198
www/data/Map003.json Normal file

File diff suppressed because it is too large Load diff

3605
www/data/Map004.json Normal file

File diff suppressed because it is too large Load diff

6545
www/data/Map005.json Normal file

File diff suppressed because it is too large Load diff

5309
www/data/Map006.json Normal file

File diff suppressed because it is too large Load diff

1364
www/data/Map007.json Normal file

File diff suppressed because it is too large Load diff

2016
www/data/Map008.json Normal file

File diff suppressed because it is too large Load diff

9202
www/data/Map009.json Normal file

File diff suppressed because it is too large Load diff

5017
www/data/Map010.json Normal file

File diff suppressed because it is too large Load diff

3445
www/data/Map011.json Normal file

File diff suppressed because it is too large Load diff

102933
www/data/Map012.json Normal file

File diff suppressed because it is too large Load diff

75218
www/data/Map013.json Normal file

File diff suppressed because it is too large Load diff

91556
www/data/Map014.json Normal file

File diff suppressed because it is too large Load diff

7998
www/data/Map015.json Normal file

File diff suppressed because it is too large Load diff

6581
www/data/Map016.json Normal file

File diff suppressed because it is too large Load diff

16546
www/data/Map017.json Normal file

File diff suppressed because it is too large Load diff

11315
www/data/Map018.json Normal file

File diff suppressed because it is too large Load diff

9852
www/data/Map019.json Normal file

File diff suppressed because it is too large Load diff

26801
www/data/Map020.json Normal file

File diff suppressed because it is too large Load diff

10000
www/data/Map021.json Normal file

File diff suppressed because it is too large Load diff

29591
www/data/Map022.json Normal file

File diff suppressed because it is too large Load diff

64892
www/data/Map023.json Normal file

File diff suppressed because it is too large Load diff

13386
www/data/Map024.json Normal file

File diff suppressed because it is too large Load diff

19973
www/data/Map025.json Normal file

File diff suppressed because it is too large Load diff

9183
www/data/Map026.json Normal file

File diff suppressed because it is too large Load diff

14986
www/data/Map027.json Normal file

File diff suppressed because it is too large Load diff

1970
www/data/Map028.json Normal file

File diff suppressed because it is too large Load diff

30936
www/data/Map029.json Normal file

File diff suppressed because it is too large Load diff

53272
www/data/Map030.json Normal file

File diff suppressed because it is too large Load diff

11532
www/data/Map031.json Normal file

File diff suppressed because it is too large Load diff

54042
www/data/Map032.json Normal file

File diff suppressed because it is too large Load diff

5482
www/data/Map033.json Normal file

File diff suppressed because it is too large Load diff

40944
www/data/Map034.json Normal file

File diff suppressed because it is too large Load diff

4138
www/data/Map035.json Normal file

File diff suppressed because it is too large Load diff

11098
www/data/Map036.json Normal file

File diff suppressed because it is too large Load diff

13344
www/data/Map037.json Normal file

File diff suppressed because it is too large Load diff

5858
www/data/Map038.json Normal file

File diff suppressed because it is too large Load diff

1644
www/data/Map039.json Normal file

File diff suppressed because it is too large Load diff

7863
www/data/Map040.json Normal file

File diff suppressed because it is too large Load diff

1945
www/data/Map041.json Normal file

File diff suppressed because it is too large Load diff

7655
www/data/Map042.json Normal file

File diff suppressed because it is too large Load diff

4905
www/data/Map043.json Normal file

File diff suppressed because it is too large Load diff

37419
www/data/Map044.json Normal file

File diff suppressed because it is too large Load diff

19895
www/data/Map045.json Normal file

File diff suppressed because it is too large Load diff

36094
www/data/Map046.json Normal file

File diff suppressed because it is too large Load diff

35104
www/data/Map047.json Normal file

File diff suppressed because it is too large Load diff

17757
www/data/Map048.json Normal file

File diff suppressed because it is too large Load diff

2364
www/data/Map049.json Normal file

File diff suppressed because it is too large Load diff

6972
www/data/Map050.json Normal file

File diff suppressed because it is too large Load diff

10927
www/data/Map051.json Normal file

File diff suppressed because it is too large Load diff

4811
www/data/Map052.json Normal file

File diff suppressed because it is too large Load diff

10597
www/data/Map053.json Normal file

File diff suppressed because it is too large Load diff

19180
www/data/Map054.json Normal file

File diff suppressed because it is too large Load diff

5592
www/data/Map055.json Normal file

File diff suppressed because it is too large Load diff

36280
www/data/Map056.json Normal file

File diff suppressed because it is too large Load diff

19473
www/data/Map057.json Normal file

File diff suppressed because it is too large Load diff

13699
www/data/Map058.json Normal file

File diff suppressed because it is too large Load diff

919
www/data/Map059.json Normal file
View file

@ -0,0 +1,919 @@
{
"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": 7,
"note": "",
"parallaxLoopX": false,
"parallaxLoopY": false,
"parallaxName": "",
"parallaxShow": true,
"parallaxSx": 0,
"parallaxSy": 0,
"scrollType": 1,
"specifyBattleback": false,
"tilesetId": 2,
"width": 21,
"data": [
1649,
1649,
1649,
1648,
1649,
1649,
1649,
1649,
1649,
1561,
1561,
1561,
1650,
1650,
1649,
1649,
1649,
1649,
1649,
1649,
1649,
2849,
2861,
1649,
1648,
1649,
5123,
5126,
1649,
1649,
1561,
1561,
1561,
1650,
1650,
1624,
1625,
1625,
2859,
2849,
2861,
1625,
5663,
5655,
1649,
1648,
5127,
5121,
5124,
5127,
1649,
1561,
1561,
1561,
1650,
1650,
1632,
2850,
2852,
5655,
5663,
5655,
2850,
5519,
5661,
1626,
1648,
5133,
5129,
5132,
5133,
1649,
1561,
1561,
1561,
1650,
1650,
1632,
2856,
2854,
5661,
5519,
5661,
2856,
2945,
2957,
1634,
1648,
5507,
5506,
5506,
5510,
1649,
1561,
1561,
1561,
1650,
1650,
1640,
1641,
1641,
1641,
1641,
1641,
1641,
2836,
2852,
1634,
1624,
5513,
5512,
5512,
5516,
1649,
1561,
1561,
1561,
1650,
1650,
1648,
1649,
1649,
1649,
1649,
1649,
1649,
2816,
2840,
1642,
1640,
1641,
1641,
1641,
1642,
1649,
1561,
1561,
1561,
1650,
1650,
1648,
1649,
1649,
1649,
1649,
1649,
1649,
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,
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,
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,
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,
430,
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,
44,
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,
422,
423,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
421,
422,
423,
0,
430,
431,
0,
0,
413,
414,
414,
415,
0,
0,
0,
0,
0,
0,
0,
0,
0,
429,
430,
431,
0,
0,
0,
93,
0,
421,
422,
422,
423,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
68,
0,
101,
0,
429,
443,
430,
431,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
68,
0,
0,
0,
0,
0,
0,
0,
0,
36,
36,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
68,
45,
44,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
414,
415,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
413,
414,
415,
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,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
5,
0,
0,
0,
0,
0,
5,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
5,
0,
0,
0,
0,
0,
0,
0,
0,
5,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
5,
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,
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,
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,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"events": []
}

2478
www/data/Map060.json Normal file

File diff suppressed because it is too large Load diff

6905
www/data/Map061.json Normal file

File diff suppressed because it is too large Load diff

19738
www/data/Map062.json Normal file

File diff suppressed because it is too large Load diff

12973
www/data/Map063.json Normal file

File diff suppressed because it is too large Load diff

35224
www/data/Map064.json Normal file

File diff suppressed because it is too large Load diff

12938
www/data/Map065.json Normal file

File diff suppressed because it is too large Load diff

18964
www/data/Map066.json Normal file

File diff suppressed because it is too large Load diff

3184
www/data/Map067.json Normal file

File diff suppressed because it is too large Load diff

16713
www/data/Map068.json Normal file

File diff suppressed because it is too large Load diff

14039
www/data/Map069.json Normal file

File diff suppressed because it is too large Load diff

41728
www/data/Map070.json Normal file

File diff suppressed because it is too large Load diff

38762
www/data/Map071.json Normal file

File diff suppressed because it is too large Load diff

41058
www/data/Map072.json Normal file

File diff suppressed because it is too large Load diff

61781
www/data/Map073.json Normal file

File diff suppressed because it is too large Load diff

9892
www/data/Map074.json Normal file

File diff suppressed because it is too large Load diff

45649
www/data/Map075.json Normal file

File diff suppressed because it is too large Load diff

6473
www/data/Map076.json Normal file

File diff suppressed because it is too large Load diff

12401
www/data/Map077.json Normal file

File diff suppressed because it is too large Load diff

10234
www/data/Map078.json Normal file

File diff suppressed because it is too large Load diff

5478
www/data/Map079.json Normal file

File diff suppressed because it is too large Load diff

3981
www/data/Map080.json Normal file

File diff suppressed because it is too large Load diff

47202
www/data/Map081.json Normal file

File diff suppressed because it is too large Load diff

16082
www/data/Map082.json Normal file

File diff suppressed because it is too large Load diff

52930
www/data/Map083.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