Compare commits

..

76 commits

Author SHA1 Message Date
2f5933194c Fix 2025-10-27 14:42:58 -05:00
b6192d267d Update Sig 2025-10-26 12:08:25 -05:00
6fc6684b17 Minor fixes 2025-10-26 11:57:19 -05:00
3b4cfea107 Merge branch 'main' into 'main'
Main

See merge request dazed-translations/slave-princess-charlotte!7
2025-10-25 01:02:29 +00:00
b03aa7a06b fixed some pronouns for Chris, more polish 2025-10-24 19:46:54 -05:00
47a4939b60 Fixed spacing on (Heart)Training in quest selection 2025-10-24 18:35:07 -05:00
832d87995d fix giac bug 2025-10-24 15:26:37 -05:00
f9260a730e Merge branch 'main' into 'main'
Main

See merge request dazed-translations/slave-princess-charlotte!6
2025-10-24 19:47:14 +00:00
a3eea4ecfc Merge branch slave-princess-charlotte:main into main 2025-10-24 14:46:09 -05:00
7b2ba0e510 Carla to Karla 2025-10-24 14:44:38 -05:00
9ca7641f08 map014, map015, scene 2025-10-24 14:38:08 -05:00
f24d173722 created 2h-c.png so the patcher stops returning errors 2025-10-24 14:12:10 -05:00
4c968bcb79 Merge branch 'main' into 'main'
Main

See merge request dazed-translations/slave-princess-charlotte!5
2025-10-24 18:04:31 +00:00
60960199b8 Nostar to Nostal 2025-10-24 12:44:23 -05:00
852fc1845e map_005 polishing 2025-10-24 12:42:14 -05:00
360e8ae1c0 Predicting Enemy Actions 2025-10-24 11:58:43 -05:00
0d29dd5f9f fixed a bad line break 2025-10-24 11:57:07 -05:00
e948d35d68 defeat messages polished 2025-10-24 11:56:41 -05:00
96525f156a why does bat not have or/and logic lmao 2025-10-24 10:37:18 -05:00
748f57477e ignore zips 2025-10-24 10:30:35 -05:00
e265c10e5c Ignore zips 2025-10-24 10:30:30 -05:00
b9febfc498 woops 2025-10-24 10:18:48 -05:00
970c3911cb Also check if project data exists before deciding to unpack 2025-10-24 10:12:10 -05:00
b91a3b5eae Merge branch 'main' into 'main'
fixed a bunch of line break positioning

See merge request dazed-translations/slave-princess-charlotte!4
2025-10-24 13:05:20 +00:00
a15790d8b1 Merge branch slave-princess-charlotte:main into main 2025-10-24 08:04:37 -05:00
9cea290e31 fixed a bunch of line break positions 2025-10-24 08:04:25 -05:00
417aaf48ce Merge branch 'main' into 'main'
TL Cannot equip (shana report)

See merge request dazed-translations/slave-princess-charlotte!3
2025-10-24 13:01:22 +00:00
f87bc58b5a TL Cannot equip 2025-10-24 05:16:07 -05:00
46b7baf52b Merge branch 'main' into 'main'
added patcher bat file for the manual downloaders

See merge request dazed-translations/slave-princess-charlotte!2
2025-10-23 23:18:38 +00:00
cba60a59e8 pregnant man 2025-10-23 18:10:03 -05:00
7786e53f0b item amounts 2025-10-23 18:08:41 -05:00
ac0d5b568c Prince Chris 2025-10-23 18:04:14 -05:00
17573cc430 TL AllyUnits 2025-10-23 17:57:18 -05:00
3f8b409a52 improved intro sentences 2025-10-23 17:46:31 -05:00
118b5f327d fix reported sentences 2025-10-23 17:46:14 -05:00
589f2d80d7 one more communicationEvents 2025-10-23 17:45:25 -05:00
434969d457 Sell, Purchase item 2025-10-23 17:37:17 -05:00
8212f2f985 Gold Acquired 2025-10-23 17:36:54 -05:00
bcc5fc82a3 TL communicationEvents 2025-10-23 17:35:41 -05:00
93c4db6fa7 Merge branch slave-princess-charlotte:main into main 2025-10-23 15:52:20 -05:00
fdf1e3b92c patcher for the manual downloaders 2025-10-23 15:52:08 -05:00
3e1dddfeae Merge branch 'main' into 'main'
TL Title Image

See merge request dazed-translations/slave-princess-charlotte!1
2025-10-23 20:12:16 +00:00
7b96984b57 TL Title Image 2025-10-23 14:17:24 -05:00
4a07c976a0 Attac 2025-10-23 12:59:53 -05:00
511721f0f1 TL ero acc files 2025-10-23 12:58:24 -05:00
fad4b66514 sinflower fix 2025-10-23 12:52:27 -05:00
173c7f2542 TL reward data and custom params 2025-10-23 12:51:44 -05:00
867b67ac66 Update again 2025-10-22 17:25:50 -05:00
53201e19c3 Fix missing text bug 2025-10-22 17:22:34 -05:00
03184e0881 New version 2025-10-22 17:08:11 -05:00
1072e77f0a New stuff now 2025-10-20 12:52:11 -05:00
7d5b67a81d UI 2025-10-20 09:14:48 -05:00
d82bd21745 Turn 2025-10-20 09:13:43 -05:00
db4506d373 small 2025-10-20 09:12:55 -05:00
23743c29d8 Images 2025-10-20 09:07:22 -05:00
808048638b TL stuf 2025-10-19 23:55:06 -05:00
8115aa1503 Ai approved 2025-10-19 23:50:23 -05:00
5507487234 we fixin karla 2025-10-19 23:10:53 -05:00
9b912a809a SUPERIOR AI INTELLECT WILL NOW FIX BUGS FOR ME 2025-10-19 22:45:20 -05:00
b0a149b9f1 update title 2025-10-19 18:22:56 -05:00
479e3443ac oops 2025-10-19 18:13:24 -05:00
87c3af803e Fix newliens 2025-10-19 18:11:42 -05:00
01e78dd7da TL recollection 2025-10-19 17:51:34 -05:00
eb60d60b6a New patch has customParameters 2025-10-19 17:21:59 -05:00
5433f521f4 give up 2025-10-19 17:13:31 -05:00
b663f089ad Lots of UI 2025-10-19 17:12:41 -05:00
c8b6bdb970 TL more UI 2025-10-19 16:04:02 -05:00
76d8d826c0 Fix string issue with players 2025-10-13 22:30:18 -05:00
302274e14a TL some stuff and adjust fonts 2025-10-13 21:59:26 -05:00
944a319406 Adjust font 2025-10-13 21:51:28 -05:00
18b6e10c55 TL all maps 2025-10-13 21:46:26 -05:00
ae63c593d2 TL All Files 2025-10-13 21:25:40 -05:00
d61a4bf327 Unpacker is required 2025-10-13 18:54:49 -05:00
0ff2168a91 Attempt 2 2025-10-13 18:53:27 -05:00
68dd8a639b Adjust patch to support srpg. 2025-10-13 18:46:20 -05:00
0edf458709 TL root files 2025-10-13 18:37:06 -05:00
208 changed files with 44275 additions and 28914 deletions

View file

@ -0,0 +1,3 @@
This game's files need to be patched in before they will work.
If you ran GameUpdate.bat, it did this for you.
If you manually downloaded a repository archive, you will need to run "(SRPG_Unpacker Patcher).bat" after overwriting the files.

View file

@ -0,0 +1,2 @@
.\SRPG_Unpacker.exe .\data\project.dat -a
.\SRPG_Unpacker.exe -o data.dts data

63
.gitignore vendored
View file

@ -7,7 +7,6 @@
!*.txt
!*.project
!*.js
!*.zip
!*.7z
!*.csv
!*.ain
@ -28,6 +27,8 @@
!bsxx.dat*
!game.ini
!package.nw
!SRPG_Unpacker.exe
!(SRPG_Unpacker Patcher).bat
# Ignore
previous_patch_sha.txt
@ -40,51 +41,15 @@ scene.dat
BSXScript_*
# Images
!back_chapter_0.rpgmvp
!back_chapter_1.rpgmvp
!back_chapter_2.rpgmvp
!back_chapter_3.rpgmvp
!back_chapter_4.rpgmvp
!back_chapter_5.rpgmvp
!back_chapter_6.rpgmvp
!back_chapter_7.rpgmvp
!back_chapter_8.rpgmvp
!back_chapter_EX.rpgmvp
!x_credits_6.rpgmvp
!x_credits_game1.rpgmvp
!x_credits_game10.rpgmvp
!x_credits_game11.rpgmvp
!x_credits_game12.rpgmvp
!x_credits_game13.rpgmvp
!x_credits_game14.rpgmvp
!x_credits_game2.rpgmvp
!x_credits_game3.rpgmvp
!x_credits_game4.rpgmvp
!x_credits_game5.rpgmvp
!x_credits_game6.rpgmvp
!x_credits_game7.rpgmvp
!x_credits_game8.rpgmvp
!x_credits_game9.rpgmvp
!x_menu_淫乱段階0.rpgmvp
!x_menu_淫乱段階1.rpgmvp
!x_menu_淫乱段階2.rpgmvp
!x_menu_淫乱段階3.rpgmvp
!x_menu_露出段階0.rpgmvp
!x_menu_露出段階1.rpgmvp
!x_menu_露出段階2.rpgmvp
!x_menu_露出段階3.rpgmvp
!x_opskip_game1.rpgmvp
!x_opskip_game10.rpgmvp
!x_opskip_game11.rpgmvp
!x_opskip_game12.rpgmvp
!x_opskip_game13.rpgmvp
!x_opskip_game14.rpgmvp
!x_opskip_game2.rpgmvp
!x_opskip_game3.rpgmvp
!x_opskip_game4.rpgmvp
!x_opskip_game6.rpgmvp
!x_opskip_game7.rpgmvp
!x_opskip_game8.rpgmvp
!x_opskip_game9.rpgmvp
!満天工房.rpgmvp
!title_1.rpgmvp
!text.png
!Zキャンセル.png
!キャラ切り替え.png
!ショップ.png
!パラメータ.png
!戦闘上部.png
!操作方法1.png
!操作方法2.png
!操作方法3.png
!武器切り替え.png
!01_0.png
!2h-c.png

BIN
SRPG_Unpacker.exe Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 608 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -445,7 +445,8 @@ UnitRangePanel._setRangeData= function() {
if (isWeapon & 2) {
this._simulator_wand.startSimulationWeapon(this._unit, mov, startRange, endRange);
}
var unit = getActorByName3('シャルロット') || getActorByName3('Charlotte');
var unit = getActorByName3('シャルロット') || getActorByName3('Charlotte') ||
getActorByName3('シャルロ') || getActorByName3('Char');
this._simulatorOrder.startSimulationWeapon(unit, 0, 1, 3);
}

View file

@ -326,7 +326,8 @@ BaseMessageView._setupIllustImage = function(messageViewParam) {
unit3 = getActor1(unit);
}
this._isAlpha = true;
if (unit.getName() == 'ジャコモ' || unit.getName() == 'カーラ') {
if (unit.getName() == 'Giacomo' || unit.getName() == 'ジャコモ' || unit.getName() == 'Giac' ||
unit.getName() == 'Karla' || unit.getName() == 'カーラ' || unit.getName() == 'Karl') {
this._isAlpha = false;
}
this._unit = unit;
@ -437,23 +438,55 @@ function getNameByVal(name) {
if (name.indexOf('_') > 1) {
name = name.substr(0, name.indexOf('_'));
}
// Handle numbered variants (e.g., "Char1" -> "Char", "Lena2" -> "Lena")
if (name.length > 1 && name.match(/[0-9]$/)) {
name = name.substr(0, name.length - 1);
}
switch (name) {
case 'シャルロット': return 1;
case 'Charlotte': return 1;
case 'シャルロ': return 1;
case 'Char': return 1;
case 'コルネ': return 2;
case 'Corne': return 2;
case 'Corn': return 2;
case 'レナ': return 3;
case 'Lena': return 3;
case 'ルリエル': return 4;
case 'Luriel': return 4;
case 'Luri': return 4;
case 'カエデ': return 5;
case 'Kaede': return 5;
case 'Kaed': return 5;
case 'カーラ': return 6;
case 'Karla': return 6;
case 'Karl': return 6;
case 'アンジェラ': return 7;
case 'Angela': return 7;
case 'クリス': return 7;
case 'Chris': return 7;
case 'Chri': return 7;
case 'シェリー': return 8;
case 'Sherry': return 8;
case 'Sher': return 8;
case 'メル': return 9;
case 'Mel': return 9;
case 'ティナ': return 10;
case 'Tina': return 10;
case 'ルゥ': return 11;
case 'Lou': return 11;
case 'サリア': return 12;
//case 'ジャコモ': return 13;
case 'Saria': return 12;
case 'Sari': return 12;
case 'ジャコモ': return 13;
case 'Giacomo': return 13;
case 'Giac': return 13;
case 'タバサ': return 14;
case 'Tabatha': return 14;
case 'Taba': return 14;
case 'ダレス': return 15;
case 'Dalles': return 15;
case 'Dall': return 15;
default: return -1;
}
}
@ -595,7 +628,7 @@ BaseMessageView.isNakad = function() {
var valId = this._getValId();
var swId = valId * 10 + 5;
if (this._name == 'ルリエル') {
if (this._name == 'Luriel' || this._name == 'ルリエル' || this._name == 'Luri') {
return false;
}
if (root.getCurrentSession() == null) {
@ -608,10 +641,10 @@ BaseMessageView.isNakad = function() {
return true;
}
if (root.getMetaSession().getGlobalSwitchTable().isSwitchOn(153)) {
if (this._name == 'ジャコモ') {
if (this._name == 'Giacomo' || this._name == 'ジャコモ' || this._name == 'Giac') {
return false;
}
if (this._name == 'カーラ') {
if (this._name == 'Karla' || this._name == 'カーラ' || this._name == 'Karl') {
return false;
}
return true;

View file

@ -76,12 +76,43 @@ function getActor1(unit) {
}
} else {
var list = root.getBaseData().getPlayerList();
var name = unit.getName();
// Strip suffix after underscore
if (name.indexOf('_') > 1) {
name = name.substr(0, name.indexOf('_'));
}
// Strip trailing numbers
if (name.length > 1 && name.match(/[0-9]$/)) {
name = name.substr(0, name.length - 1);
}
// Map full English names to abbreviated forms
switch(name) {
case 'Charlotte': name = 'Char'; break;
case 'Corne': name = 'Corn'; break;
case 'Lena': name = 'Lena'; break;
case 'Luriel': name = 'Luri'; break;
case 'Kaede': name = 'Kaed'; break;
case 'Karla': name = 'Karl'; break;
case 'Chris': name = 'Chri'; break;
case 'Sherry': name = 'Sher'; break;
case 'Mel': name = 'Mel'; break;
case 'Tina': name = 'Tina'; break;
case 'Lou': name = 'Lou'; break;
case 'Saria': name = 'Sari'; break;
case 'Tabatha': name = 'Taba'; break;
case 'Dalles': name = 'Dall'; break;
case 'Giacomo': name = 'Giac'; break;
}
// For Japanese names, truncate to 4 chars
if (name.length > 4) {
name = name.substr(0, 4);
}
for (var i = 0; i < list.getCount(); i++) {
var u = list.getData(i);
var name = unit.getName();
if (name.length > 4) {
name = name.substr(0, 4);
}
if ((name + '1') == u.getName()) {
actor1Map[unit.getId()] = u;
return u;
@ -140,12 +171,43 @@ function getActor2(unit) {
}
} else {
var list = root.getBaseData().getPlayerList();
var name = unit.getName();
// Strip suffix after underscore
if (name.indexOf('_') > 1) {
name = name.substr(0, name.indexOf('_'));
}
// Strip trailing numbers
if (name.length > 1 && name.match(/[0-9]$/)) {
name = name.substr(0, name.length - 1);
}
// Map full English names to abbreviated forms
switch(name) {
case 'Charlotte': name = 'Char'; break;
case 'Corne': name = 'Corn'; break;
case 'Lena': name = 'Lena'; break;
case 'Luriel': name = 'Luri'; break;
case 'Kaede': name = 'Kaed'; break;
case 'Karla': name = 'Karl'; break;
case 'Chris': name = 'Chri'; break;
case 'Sherry': name = 'Sher'; break;
case 'Mel': name = 'Mel'; break;
case 'Tina': name = 'Tina'; break;
case 'Lou': name = 'Lou'; break;
case 'Saria': name = 'Sari'; break;
case 'Tabatha': name = 'Taba'; break;
case 'Dalles': name = 'Dall'; break;
case 'Giacomo': name = 'Giac'; break;
}
// For Japanese names, truncate to 4 chars
if (name.length > 4) {
name = name.substr(0, 4);
}
for (var i = 0; i < list.getCount(); i++) {
var u = list.getData(i);
var name = unit.getName();
if (name.length > 4) {
name = name.substr(0, 4);
}
if ((name + '2') == u.getName()) {
actor2Map[unit.getId()] = u;
return u;
@ -229,6 +291,35 @@ function getSearchName(unit) {
if (name.indexOf('_') > 1) {
name = name.substr(0, name.indexOf('_'));
}
// Handle numbered variants (e.g., remove trailing numbers)
if (name.length > 1 && name.match(/[0-9]$/)) {
name = name.substr(0, name.length - 1);
}
// Map full English names to abbreviated forms
switch(name) {
case 'Charlotte': return 'Char';
case 'Corne': return 'Corn';
case 'Lena': return 'Lena';
case 'Luriel': return 'Luri';
case 'Kaede': return 'Kaed';
case 'Karla': return 'Karl';
case 'Chris': return 'Chri';
case 'Sherry': return 'Sher';
case 'Mel': return 'Mel';
case 'Tina': return 'Tina';
case 'Lou': return 'Lou';
case 'Saria': return 'Sari';
case 'Tabatha': return 'Taba';
case 'Dalles': return 'Dall';
case 'Giacomo': return 'Giac';
case 'Angela': return 'Ange';
case 'Carlos': return 'Carl';
case 'Majid': return 'Maji';
}
// For Japanese names and already-abbreviated names, truncate to 4 chars
if (name.length > 4) {
name = name.substr(0, 4);
}

View file

@ -170,17 +170,17 @@ function checkNinshin(val, plus) {
taneName = '山賊';
}
else if (root.getCurrentSession().getCurrentMapInfo().getLocalSwitchTable().isSwitchOn(2)) {
// ジャコモ
// Giacomo
tane = 2;
taneName = 'ジャコモ';
taneName = 'Giacomo';
}
else if (root.getCurrentSession().getCurrentMapInfo().getLocalSwitchTable().isSwitchOn(3)) {
// ダレス
// Dalles
tane = 3;
taneName = 'ダレス';
taneName = 'Dalles';
}
else if (root.getCurrentSession().getCurrentMapInfo().getLocalSwitchTable().isSwitchOn(4)) {
// ダレス
// Villager
tane = 4;
taneName = '村人';
}

View file

@ -546,7 +546,7 @@ UnitSentence.CriAvoid = defineObject(BaseUnitSentence,
{
isValid2 = true;
}
this.drawAbilityText(x, y, '必回避', value, isValid, value2, isValid2);
this.drawAbilityText(x, y, 'G. EVA', value, isValid, value2, isValid2);
}
}
);

View file

@ -40,7 +40,7 @@ GoldChangeNoticeView.drawNoticeViewContent = function(x, y) {
var n = this._gold;
var width = TextRenderer.getTextWidth(text, font) + 5;
NumberRenderer.drawRightNumber(x + 2, y + 7, n);
TextRenderer.drawKeywordText(x + 57, y + 6, 'を手に入れた!', -1, infoColor, font);
TextRenderer.drawKeywordText(x + 57, y + 6, 'old Acquired!', -1, infoColor, font);
};

View file

@ -59,12 +59,12 @@ UnitMenuScreen.drawScreenCycle = function() {
};
var EroWindow = defineObject(UnitSentenceWindow, {
// センテンスウィンドウの行間(詰めた)
// Line spacing for the Sentence Window (compressed)
getUnitSentenceSpaceY: function() {
return 26;
},
// センテンスウィンドウの表示項目
// Display items for the Sentence Window
_configureSentence: function(groupArray) {
if (this._unit.getId() == 51) {
if (root.getMetaSession().getGlobalSwitchTable().isSwitchOn(205)) {
@ -114,7 +114,7 @@ BaseUnitSentence.drawAbilityText3 = function (x, y, text, value) {
TextRenderer.drawKeywordText(x, y, text, 110, color, font);
x += 135 + 16 - value.length * 16;
x += 135 + 16 - 8 * value.length;
TextRenderer.drawKeywordText(x, y, value, 110, color, font);
};
@ -132,9 +132,9 @@ UnitSentence.Nakadashi = defineObject(BaseUnitSentence, {
drawUnitSentence: function(x, y, unit, weapon, totalStatus) {
if (this._value === 0) {
this.drawAbilityText3(x, y, '中だし回数', '処女');
this.drawAbilityText3(x, y, 'Creampies', 'None');
} else {
this.drawAbilityText2(x, y, '中だし回数', this._value);
this.drawAbilityText2(x, y, 'Creampies', this._value);
}
}
});
@ -149,7 +149,7 @@ UnitSentence.Dares = defineObject(BaseUnitSentence, {
this._value = n;
},
drawUnitSentence: function (x, y, unit, weapon, totalStatus) {
this.drawAbilityText2(x, y, '村を襲った数', this._value);
this.drawAbilityText2(x, y, 'Villages Attacked', this._value);
}
});
@ -164,28 +164,28 @@ UnitSentence.NinshinKiken = defineObject(BaseUnitSentence, {
var ninshinId = val * 10 + 3;
var ninshin = root.getMetaSession().getGlobalSwitchTable().isSwitchOn(ninshinId);
if (ninshin) {
this._value = '妊娠中';
this._value = 'Pregnant';
return;
}
var num = Math.floor(root.getMetaSession().getVariableTable(0).getVariable(valId) * 100 / getNinshinMax(val));
//root.log(num)
if (num <= 20) {
this._value = '安全';
this._value = 'Safe';
}
else if (num <= 50) {
this._value = '注意';
this._value = 'Caution';
}
else if (num <= 80) {
this._value = '危険';
this._value = 'Danger';
}
else {
this._value = '警告';
this._value = 'Warning';
}
}
},
drawUnitSentence: function (x, y, unit, weapon, totalStatus) {
this.drawAbilityText3(x, y, '妊娠危険度', this._value);
this.drawAbilityText3(x, y, 'PREG Risk', this._value);
}
});
@ -198,24 +198,24 @@ UnitSentence.Taneoya = defineObject(BaseUnitSentence, {
var ninshinId = val * 10 + 3;
var ninshin = root.getMetaSession().getGlobalSwitchTable().isSwitchOn(ninshinId);
if (! ninshin) {
this._value = '';
this._value = '-';
return;
}
this._value = '不明';
this._value = 'Unknown';
var valId = val * 10 + 3;
var tane = root.getMetaSession().getVariableTable(0).getVariable(valId);
switch (tane) {
case 1: this._value = '山賊'; break;
case 2: this._value = 'ジャコモ'; break;
case 3: this._value = 'ダレス'; break;
case 4: this._value = '村人'; break;
case 1: this._value = 'Bandit'; break;
case 2: this._value = 'Giacomo'; break;
case 3: this._value = 'Dares'; break;
case 4: this._value = 'Villager'; break;
}
}
},
drawUnitSentence: function (x, y, unit, weapon, totalStatus) {
this.drawAbilityText3(x, y, '種親', this._value);
drawUnitSentence: function(x, y, unit, weapon, totalStatus) {
this.drawAbilityText3(x, y, 'Breeder', this._value);
}
});
@ -231,7 +231,7 @@ UnitSentence.Syusan = defineObject(BaseUnitSentence, {
},
drawUnitSentence: function(x, y, unit, weapon, totalStatus) {
this.drawAbilityText2(x, y, '出産回数', this._value);
this.drawAbilityText2(x, y, 'Childbirths', this._value);
}
});
@ -247,7 +247,7 @@ UnitSentence.Chokyo = defineObject(BaseUnitSentence, {
},
drawUnitSentence: function(x, y, unit, weapon, totalStatus) {
this.drawAbilityText2(x, y, '調教回数', this._value);
this.drawAbilityText2(x, y, 'Training', this._value);
}
});
@ -263,7 +263,7 @@ UnitSentence.Anal = defineObject(BaseUnitSentence, {
},
drawUnitSentence: function(x, y, unit, weapon, totalStatus) {
this.drawAbilityText2(x, y, 'アナル回数', this._value);
this.drawAbilityText2(x, y, 'Anal', this._value);
}
});
@ -279,7 +279,7 @@ UnitSentence.Ninshin = defineObject(BaseUnitSentence, {
},
drawUnitSentence: function(x, y, unit, weapon, totalStatus) {
this.drawAbilityText2(x, y, '妊娠回数', this._value);
this.drawAbilityText2(x, y, 'Pregnancies', this._value);
}
});
@ -300,39 +300,72 @@ UnitSentence.Acce = defineObject(BaseUnitSentence, {
},
drawUnitSentence: function(x, y, unit, weapon, totalStatus) {
this.drawAbilityText2(x, y, 'エロアクセ数', this._value);
this.drawAbilityText2(x, y, 'Erotic ACC', this._value);
}
});
function getNameByValEroStatus(name) {
if (name === 'カーラ') {
if (name === 'カーラ' || name === 'Karla' || name === 'Karla') {
return -1;
}
if (name === 'ルリエル') {
if (name === 'ルリエル' || name === 'Luriel') {
return -1;
}
return getNameByVal2(name);
}
function getNameByVal2(name) {
// Strip suffix after underscore for variants
if (name.indexOf('_') > 1) {
name = name.substr(0, name.indexOf('_'));
}
// Handle numbered variants (e.g., "Char1" -> "Char", "Lena2" -> "Lena")
if (name.length > 1 && name.match(/[0-9]$/)) {
name = name.substr(0, name.length - 1);
}
switch (name) {
case 'シャルロット': return 1;
case 'Charlotte': return 1;
case 'シャルロ': return 1;
case 'Char': return 1;
case 'コルネ': return 2;
case 'Corne': return 2;
case 'Corn': return 2;
case 'レナ': return 3;
case 'Lena': return 3;
case 'ルリエル': return 4;
case 'Luriel': return 4;
case 'Luri': return 4;
case 'カエデ': return 5;
case 'Kaede': return 5;
case 'Kaed': return 5;
case 'カーラ': return 6;
case 'Karla': return 6;
case 'Karl': return 6;
case 'アンジェラ': return 7;
case 'Angela': return 7;
case 'クリス': return 7;
case 'Chris': return 7;
case 'Chri': return 7;
case 'シェリー': return 8;
case 'Sherry': return 8;
case 'Sher': return 8;
case 'メル': return 9;
case 'Mel': return 9;
case 'ティナ': return 10;
case 'Tina': return 10;
case 'ルゥ': return 11;
case 'Lou': return 11;
case 'サリア': return 12;
case 'Saria': return 12;
case 'Sari': return 12;
case 'ダレス': return -1;
case 'Dalles': return -1;
case 'Dall': return -1;
case 'タバサ': return 14;
case 'Tabatha': return 14;
case 'Taba': return 14;
default: return -1;
}
}
@ -340,8 +373,11 @@ function getNameByVal2(name) {
function getNameByVal3(name) {
switch (name) {
case 'マジード': return 16;
case 'Majid': return 16;
case 'カルロス': return 17;
case 'Carlos': return 17;
case 'ダレス': return 18;
case 'Dalles': return 18;
}
return getNameByVal2(name);
}

View file

@ -47,7 +47,7 @@ var SkillScreen = defineObject(BaseScreen,
return;
}
TextRenderer.drawScreenBottomTextCenter2('ギブアップして現在のマップをやり直しますか?', textui);
TextRenderer.drawScreenBottomTextCenter2('Give up and redo the current map?', textui);
},

View file

@ -15,7 +15,8 @@ CharacterScreen.drawDictionaryImage = function(obj) {
x += 70;
y -= 100;
var actor = getActorByName2(obj.getName());
if (actor.getName() != 'シャルロット' && actor.getName() != 'Charlotte') {
if (actor.getName() != 'シャルロット' && actor.getName() != 'Charlotte' &&
actor.getName() != 'シャルロ' && actor.getName() != 'Char') {
x -= 70;
}
drawImage(actor.getCharIllustImage(19), x, y);

View file

@ -15,37 +15,55 @@ function upEroCount() {
switch (unit.getName()) {
case 'シャルロット':
case 'Charlotte':
case 'シャルロ':
case 'Char':
nakaMin = 5;
nakaMax = 15;
break;
case 'コルネ':
case 'Corne':
case 'Corn':
break;
case 'レナ':
case 'Lena':
nakaMin = 5;
nakaMax = 12;
break;
case 'カエデ':
case 'Kaede':
case 'Kaed':
break;
case 'クリス':
case 'Chris':
case 'Chri':
nakaMax = 3;
analMin = 0;
analMax = 0;
case 'シェリー':
case 'Sherry':
case 'Sher':
break;
case 'メル':
case 'Mel':
break;
case 'ティナ':
case 'Tina':
break;
case 'ルゥ':
case 'Lou':
nakaMin = 5;
nakaMax = 12;
analMax = 2;
break;
case 'サリア':
case 'Saria':
case 'Sari':
analMin = 10;
analMax = 20;
break;
case 'タバサ':
case 'Tabatha':
case 'Taba':
break;
}
var valId = val * 10 + 6;

View file

@ -26,7 +26,7 @@ ChapterRenderer.getChapterText = function(mapInfo) {
return '';
}
if (number >= 300) {
return 'フリーマップ';
return 'Free Map';
}
var mapType = mapInfo.getMapType();

View file

@ -14,7 +14,7 @@ UnitCommand.Information.isCommandDisplayable = function() {
};
UnitCommand.Information.getCommandName = function() {
return '襲う';
return 'Attack';
};
UnitCommand.Information._completeCommandMemberData = function() {

View file

@ -4,9 +4,9 @@ BonusLayoutScreen.drawScreenBottomText = function(textui) {
if (item !== null) {
var text = item.getDescription();
if (item.custom.level > 0) {
text = '装着には調教回数' + item.custom.level + '回が必要です';
text = 'Requires ' + item.custom.level + 'x training to equip';
} else if (item.custom.syusan > 0) {
text = '装着には出産回数' + item.custom.syusan + '回が必要です';
text = 'Requires ' + item.custom.syusan + 'x childbirth to equip';
}
TextRenderer.drawScreenBottomText(text, textui);
}
@ -15,4 +15,4 @@ BonusLayoutScreen.drawScreenBottomText = function(textui) {
}
};
StringTable.CurrencySign_Bonus = 'メダル';
StringTable.CurrencySign_Bonus = 'Medal';

View file

@ -25,6 +25,7 @@ UnitCommand.Item.isCommandDisplayable = function() {
var name = this.getCommandTarget().getName();
switch (name) {
case 'ルリエル':
case 'Luriel':
return true;
}
return false;
@ -35,6 +36,7 @@ UnitCommand.Item.getCommandName = function() {
var name = this.getCommandTarget().getName();
switch (name) {
case 'ルリエル':
case 'Luriel':
return '淫魔の魔法';
}
return root.queryCommand('item_unitcommand');
@ -45,6 +47,7 @@ UnitCommand.Item._prepareCommandMemberData = function() {
var name = this.getCommandTarget().getName();
switch (name) {
case 'ルリエル': break;
case 'Luriel': break;
default:
return UnitCommand_Item__prepareCommandMemberData.call(this);

View file

@ -23,28 +23,64 @@ function sortUnit() {
function getSortIndex(unit) {
switch(unit.getName()) {
var name = unit.getName();
// Strip suffix after underscore for variants
if (name.indexOf('_') > 1) {
name = name.substr(0, name.indexOf('_'));
}
// Handle numbered variants (e.g., "Char1" -> "Char", "Lena2" -> "Lena")
if (name.length > 1 && name.match(/[0-9]$/)) {
name = name.substr(0, name.length - 1);
}
switch(name) {
case 'シャルロット': return 1;
case 'Charlotte': return 1;
case 'シャルロ': return 1;
case 'Char': return 1;
case 'レナ': return 2;
case 'Lena': return 2;
case 'アンジェラ': return 3;
case 'Angela': return 3;
case 'クリス': return 3;
case 'Chris': return 3;
case 'Chri': return 3;
case 'コルネ': return 5;
case 'Corne': return 5;
case 'Corn': return 5;
case 'ルリエル': return 4;
case 'Luriel': return 4;
case 'Luri': return 4;
case 'カーラ': return 6;
case 'Karla': return 6;
case 'Karl': return 6;
case 'サリア': return 7;
case 'Saria': return 7;
case 'Sari': return 7;
case 'メル': return 12;
case 'Mel': return 12;
case 'シェリー': return 13;
case 'Sherry': return 13;
case 'Sher': return 13;
case 'ルゥ': return 14;
case 'Lou': return 14;
case 'タバサ': return 15;
case 'Tabatha': return 15;
case 'Taba': return 15;
case 'カエデ': return 16;
case 'Kaede': return 16;
case 'Kaed': return 16;
case 'ティナ': return 17;
case 'Tina': return 17;
case 'ダレス': return 90;
case 'Dalles': return 90;
case 'Dall': return 90;
case 'マジード': return 91;
case 'Majid': return 91;
case 'カルロス': return 92;
case 'Carlos': return 92;
}
}

View file

@ -82,7 +82,7 @@ ItemDropListScrollbar.drawScrollContent = function(x, y, object, isSelect, index
ItemRenderer.drawItem2(x, y, object, color, font, true);
}
else {
// アイテムを利用できない場合は、薄く描画する
// If the item cannot be used, draw it faintly
ItemRenderer.drawItemAlpha2(x, y, object, color, font, true, 120);
}
};
@ -106,7 +106,7 @@ ItemRenderer.drawItem2 = function(x, y, item, color, font, isDrawLimit) {
NumberRenderer.drawNumber(x, y, item.getLimit());
}
else {
// アイテムの耐久が0の場合は文字を描画する
// If the item's durability is 0, draw text
TextRenderer.drawSignText(x - 5, y, StringTable.SignWord_Limitless);
}
}
@ -165,13 +165,13 @@ function drawPartyInfo() {
NumberRenderer.drawNumberColor(xx, y, gold, 1, 255);
GraphicsRenderer.drawImage(x - 30, y, getSampleItemIcon(2), GraphicsType.ICON);
text = '調教pt';
text = 'Training pt';
TextRenderer.drawText(x, y + interval, text, -1, ColorValue.DEFAULT, font);
NumberRenderer.drawNumberColor(xx, y + interval, n, 1, 255);
GraphicsRenderer.drawImage(x - 30, y + interval, getSampleItemIcon(1), GraphicsType.ICON);
var bonus = root.getMetaSession().getBonus();
text = 'メダル';
text = 'Medal';
TextRenderer.drawText(x, y + interval * 2, text, -1, ColorValue.DEFAULT, font);
NumberRenderer.drawNumberColor(xx, y + interval * 2, bonus, 1, 255);
GraphicsRenderer.drawImage(x - 30, y + interval * 2, getSampleItemIcon(0), GraphicsType.ICON);
@ -244,7 +244,7 @@ BaseScrollbar.drawScrollbar = function(xStart, yStart) {
xStart += this.getScrollXPadding();
yStart += this.getScrollYPadding();
// draw系でデータの更新はするべきではないが、move系での位置参照のため例外とする
// Although draw-related should not update data, as an exception, it is done for move-related position reference
this.xRendering = xStart;
this.yRendering = yStart;
MouseControl.saveRenderingPos(this);
@ -296,15 +296,15 @@ ShopSelectScrollbar._cursorY = 4;
QuestionScrollbar._cursorY = 4;
UIFormat.TITLE_HEIGHT = 64;
StringTable.Rest_Next = 'ジャコモのフェイズを終了しますか?';
StringTable.LoadSave_Rest = 'ジャコモのフェイズ';
StringTable.Rest_Next = 'Do you want to end Giacomo\'s Phase?';
StringTable.LoadSave_Rest = 'Giacomo\'s Phase';
StringTable.Status_Experience = 'Exp',
CoreAnalyzer.getCharSpaceHeight = function() {
return this._fontSize + 7;
};
TextRenderer.drawKeywordText = function(x, y, text, length, color, font) {
// テキストを数字に合せるため、5下げている
// Lowered by 5 to fit text to numbers
this.drawText(x, y, text, length, color, font);
};
@ -540,8 +540,8 @@ DescriptionChanger.drawBottomDescription = function(textui, scrollbar) {
TurnMarkFlowEntry._completeMemberData = function(turnChange) {
if (!this._isTurnGraphicsDisplayable() || root.getCurrentSession().getTurnType() === TurnType.ALLY || root.getCurrentSession().getCurrentMapInfo().custom.rinkan) {
// ユニットが一人も存在しない場合は、
// 画像を表示することなく終了処理に入る。
// If there are no units,
// Finish without displaying the image.
this.doMainAction(false);
return EnterResult.NOTENTER;
}
@ -561,9 +561,9 @@ RecoveryItemInfo._drawValue = function(x, y) {
x += ItemInfoRenderer.getSpaceX();
NumberRenderer.drawRightNumber(x, y, recoveryInfo.getRecoveryValue());
if (recoveryInfo.getRecoveryValue() >= 10) {
ItemInfoRenderer.drawKeyword2(x + 33, y, '+魔力');
ItemInfoRenderer.drawKeyword2(x + 33, y, '+MAG');
} else {
ItemInfoRenderer.drawKeyword2(x + 22, y, '+魔力');
ItemInfoRenderer.drawKeyword2(x + 22, y, '+MAG');
}
this.drawRange(xx, y + 24, this._item.getRangeValue(), this._item.getRangeType());
@ -583,7 +583,7 @@ EntireRecoveryItemInfo._drawValue = function (x, y) {
ItemInfoRenderer.drawKeyword(x, y, StringTable.Recovery_Value);
x += ItemInfoRenderer.getSpaceX();
NumberRenderer.drawRightNumber(x, y, recoveryInfo.getRecoveryValue());
ItemInfoRenderer.drawKeyword2(x + 22, y, '+魔力');
ItemInfoRenderer.drawKeyword2(x + 22, y, '+MAG');
}
else {
ItemInfoRenderer.drawKeyword(x, y, StringTable.Recovery_All);
@ -640,7 +640,7 @@ MapParts.Terrain._drawContent = function(x, y, terrain) {
if (terrain.getAutoRecoveryValue() !== 0) {
y += this.getIntervalY() + 2;
this._drawKeyword(x, y, '回復値', terrain.getAutoRecoveryValue());
this._drawKeyword(x, y, 'Recovery', terrain.getAutoRecoveryValue());
}
};
@ -669,9 +669,9 @@ MapParts.Terrain._drawKeyword = function(x, y, text, value) {
x += 58;
if (value !== 0) {
TextRenderer.drawSignText(x, y, value > 0 ? ' + ': ' - ');
TextRenderer.drawSignText(x, y, value > 0 ? ' + ' : ' - ');
if (value < 0) {
// drawNumberにマイナスは指定できないため、ここで調整
// Since you can't specify a minus in drawNumber, adjust here
value *= -1;
}
}
@ -704,7 +704,7 @@ var ShowCurrentTurnWindow = defineObject(BaseWindow,
}
//var font = root.getBaseData().getFontList().getData(5);
var font = textui.getFont();
TextRenderer.drawText(144 + 14 - 70, 20, root.getCurrentSession().getTurnCount() + 'ターン目', -1, ColorValue.DEFAULT, font);
TextRenderer.drawText(144 + 14 - 70, 20, 'Turn ' + root.getCurrentSession().getTurnCount(), -1, ColorValue.DEFAULT, font);
},
getWindowTitleTextUI: function () {
@ -720,16 +720,16 @@ var ShowCurrentTurnWindow = defineObject(BaseWindow,
}
}
);
StringTable.Config_RealBattleDescription = '戦闘モーションを表示して戦うかを決定します';
StringTable.Config_AutoTurnEndDescription = '自動でターン終了を行うかを決定します';
StringTable.Config_RealBattleScalingDescription = 'リアル戦闘で画面を拡大するかを決定します';
StringTable.Config_AutoTurnSkipDescription = '敵ターンをスキップするかを決定します';
StringTable.Config_RealBattleDescription = 'Decide whether to display battle motion when fighting';
StringTable.Config_AutoTurnEndDescription = 'Decide whether to automatically end the turn';
StringTable.Config_RealBattleScalingDescription = 'Decide whether to enlarge the screen in real battle';
StringTable.Config_AutoTurnSkipDescription = 'Decide whether to skip enemy turns';
StringTable.Config_AutoCursorDescription = '先頭キャラにカーソルを合わせるかを決定します';
StringTable.Config_LoadCommandDescription = 'メニューにロードコマンドを表示するかを決定します';
StringTable.Config_MouseOperationDescription = 'マウスによる操作を有効にするかを決定します';
StringTable.Config_MouseCursorTrackingDescription = 'マウスカーソルを自動で追跡させるかを決定します';
StringTable.Config_MapGridDescription = 'マップにグリッドを表示するかを決定します';
StringTable.Config_AutoCursorDescription = 'Decide whether to place the cursor on the lead character';
StringTable.Config_LoadCommandDescription = 'Decide whether to show the load command in the menu';
StringTable.Config_MouseOperationDescription = 'Decide whether to enable mouse operation';
StringTable.Config_MouseCursorTrackingDescription = 'Decide whether to automatically track the mouse cursor';
StringTable.Config_MapGridDescription = 'Decide whether to display the grid on the map';
DifficultyFlowEntry._getWindowWidth = function() {

View file

@ -103,4 +103,4 @@ function repairUnit(unit) {
return total;
}
StringTable.ItemLost = 'の使用回数が0になりました';
StringTable.ItemLost = 'Number of uses is now 0';

View file

@ -4,7 +4,7 @@ BattlerChecker.getRealBattleClass = function(unit, weapon) {
if (unit.getId() === 0 && weapon && (weapon.getId() === 21 || weapon.getId() === 68)) {
return getActorEro(unit).getClass();
}
if (unit.getName() === 'サリア') {
if (unit.getName() === 'サリア' || unit.getName() === 'Saria') {
if (Math.random() > 0.5) {
return getActorEro(unit).getClass();
}

View file

@ -508,11 +508,11 @@ BuyScrollbar.drawItemGold = function (x, y, item, color, font, gold, disable, go
TextRenderer.drawSignText(x + 36, y, '非売品');
} else {*/
NumberRenderer.drawNumber(x + 60, y, gold);
TextRenderer.drawSignText(x + 75, y, '');
TextRenderer.drawSignText(x + 75, y, 'x');
//}
} else if (item.custom.syusan) {
NumberRenderer.drawNumber(x + 60, y, gold);
TextRenderer.drawSignText(x + 75, y, '');
TextRenderer.drawSignText(x + 75, y, 'x');
} else {
if (goldNg || disable) {
NumberRenderer.drawNumberColor(x + 60, y, gold, 1, 128);
@ -1220,9 +1220,9 @@ var ShowConfirmWindow = defineObject(BaseWindow,
//var font = root.getBaseData().getFontList().getData(5);
var font = textui.getFont();
if (this._isSell) {
TextRenderer.drawText(x + 12, y - 5, '売却をしますか?', -1, ColorValue.DEFAULT, font);
TextRenderer.drawText(x + 12, y - 5, 'Sell item?', -1, ColorValue.DEFAULT, font);
} else {
TextRenderer.drawText(x + 12, y - 5, '購入をしますか?', -1, ColorValue.DEFAULT, font);
TextRenderer.drawText(x + 12, y - 5, 'Purchase item?', -1, ColorValue.DEFAULT, font);
}
},

View file

@ -85,14 +85,14 @@ MapParts.NinshinGauge = defineObject(BaseObject,
var bote = root.getMetaSession().getGlobalSwitchTable().isSwitchOn(this.val * 10 + 3);
var hininId = getEroEquipSwitchId(this.val, itemIdMap[34]);
var hinin = root.getMetaSession().getGlobalSwitchTable().isSwitchOn(hininId);
ItemInfoRenderer.drawKeyword(x, y, '');
ItemInfoRenderer.drawKeyword(x, y, 'HP');
if (bote) {
ItemInfoRenderer.drawKeyword(x, y + 24, '妊娠中');
ItemInfoRenderer.drawKeyword(x, y + 24, 'Pregnant');
} else if (hinin) {
ItemInfoRenderer.drawKeyword(x, y + 24, '避妊の法装備中');
ItemInfoRenderer.drawKeyword(x, y + 24, 'Wearing Contraceptive Talisman');
}
else {
ItemInfoRenderer.drawKeyword(x, y + 24, '妊娠ゲージ');
ItemInfoRenderer.drawKeyword(x, y + 24, 'Pregnancy Gauge');
}
x += 110;
@ -219,7 +219,7 @@ function getNinshinMax(val) {
case 9: return 45;
case 10: return 55;
case 11: return 50;
case 12: return 80; // サリア
case 12: return 80; // Saria
case 14: return 70;
default: return -1;
}
@ -239,10 +239,10 @@ SelectScrollbar.drawScrollContent = function (x, y, object, isSelect, index) {
TitleRenderer.drawTitle(pic, x, y, width, height, count + 2);
var text = object.text;
text = text.replace('1111', '    HP↓↓ 妊娠↑↑');
text = text.replace('2222', ' HP↓↓ 妊娠↑');
text = text.replace('3333', '  HP↓  妊娠↑');
text = text.replace('4444', ' HP↓  妊娠↑');
text = text.replace('1111', ' HP↓↓ Pregnancy↑↑');
text = text.replace('2222', ' HP↓↓ Pregnancy↑');
text = text.replace('3333', ' HP↓ Pregnancy↑');
text = text.replace('4444', ' HP↓ Pregnancy↑');
var textWidth = TextRenderer.getTextWidth(text, font);
@ -284,7 +284,7 @@ AttackEvaluator.PassiveAction.evaluateAttackEntry = function (virtualActive, vir
return;
}
// ダメージを受けても死亡しない場合は続行しない
// If they won't die even after taking damage, do not continue
if (virtualPassive.hp - attackEntry.damagePassive > 0) {
return;
}
@ -295,17 +295,17 @@ AttackEvaluator.PassiveAction.evaluateAttackEntry = function (virtualActive, vir
}
if (value === SurvivalValue.SURVIVAL) {
// ダメージを1つ減らすことでHP1で残るようにする
// By reducing damage by 1, leave HP at 1
attackEntry.damagePassive--;
attackEntry.damagePassiveFull = attackEntry.damagePassive;
if (attackEntry.damageActive < 0) {
// 吸収による回復が生じているため、1つ増やす(回復量が1つ減る)
// If healing occurred due to absorption, increase by 1 (reducing healing by 1)
attackEntry.damageActive++;
}
}
else if (value === SurvivalValue.IMMORTAL) {
// 相手は不死身であり、死亡させるわけにはいかないため、これまでの設定を無効にする
// The enemy is immortal and cannot be killed, so invalidate settings so far
attackEntry.damagePassive = virtualPassive.hp - 1;
attackEntry.damagePassiveFull = attackEntry.damagePassive;
}
@ -369,4 +369,4 @@ var _VariableReplacer_configureVariableObject = VariableReplacer._configureVaria
VariableReplacer._configureVariableObject = function(groupArray) {
_VariableReplacer_configureVariableObject.call(this, groupArray);
groupArray.appendObject(DataVariable.Pdc);
};
};

View file

@ -62,7 +62,7 @@ var RecordScrollbar = defineObject(BaseScrollbar,
},
drawTitle: function(x, y) {
var texts = ['ターン数', '負傷者数', 'リトライ回数'];
var texts = ['Turns', 'Injuries', 'Retries'];
var xList = [RECORD_TURN_X, RECORD_DEATH_X, RECORD_RETRY_X];
var textui = this.getTextUI();
@ -77,14 +77,14 @@ var RecordScrollbar = defineObject(BaseScrollbar,
}
var name = root.getMetaSession().getDifficulty().getName();
TextRenderer.drawFixedTitleText(40, 691, '難易度:', color, font, TextFormat.LEFT, null, 5);
TextRenderer.drawFixedTitleText(40, 691, 'Diff:', color, font, TextFormat.LEFT, null, 5);
TextRenderer.drawFixedTitleText(115, 691, name, color, font, TextFormat.LEFT, null, 5);
TextRenderer.drawFixedTitleText(40, 651, 'フリーマップ', color, font, TextFormat.LEFT, null, 5);
TextRenderer.drawFixedTitleText(40, 651, 'Free Map', color, font, TextFormat.LEFT, null, 5);
var freeMap1 = root.getMetaSession().getVariableTable(1).getVariable(10);
var freeMap2 = root.getMetaSession().getVariableTable(1).getVariable(11);
var count = freeMap1 + freeMap2;
TextRenderer.drawFixedTitleText(175, 651, count + '', color, font, TextFormat.LEFT, null, 5);
TextRenderer.drawFixedTitleText(175, 651, count + 'x', color, font, TextFormat.LEFT, null, 5);
},
drawScrollContent: function(x, y, object, isSelect, index) {
@ -96,7 +96,7 @@ var RecordScrollbar = defineObject(BaseScrollbar,
var handle = null;
if (this.isNameDisplayable(object, 0)) {
text = (index + 1) + ' ' + object.getName();
text = 'Ch' + (index + 1) + ' ' + object.getName();
if (typeof object.getIconResourceHandle !== 'undefined') {
handle = object.getIconResourceHandle();
}
@ -130,7 +130,7 @@ var RecordScrollbar = defineObject(BaseScrollbar,
drawTurn: function(x, y, index) {
var valId = index + 11;
var turn = root.getMetaSession().getVariableTable(3).getVariable(valId);
var text = turn + 'ターン';
var text = turn;
this.drawText(x + RECORD_TURN_X, y, text);
},
@ -138,7 +138,7 @@ var RecordScrollbar = defineObject(BaseScrollbar,
drawDeath: function(x, y, index) {
var valId = index + 31;
var turn = root.getMetaSession().getVariableTable(3).getVariable(valId);
var text = turn + '';
var text = turn + ' people';
this.drawText(x + RECORD_DEATH_X, y, text);
},
@ -146,7 +146,7 @@ var RecordScrollbar = defineObject(BaseScrollbar,
drawRetry: function(x, y, index) {
var valId = index + 51;
var turn = root.getMetaSession().getVariableTable(3).getVariable(valId);
var text = turn + '';
var text = turn + ' times';
this.drawText(x + RECORD_RETRY_X, y, text);
},
@ -159,7 +159,7 @@ var RecordScrollbar = defineObject(BaseScrollbar,
y += 580;
index = 0;
this.drawText(x, y, '合計');
this.drawText(x, y, 'Total');
var valId = index + 11;
@ -167,21 +167,21 @@ var RecordScrollbar = defineObject(BaseScrollbar,
for (var i = 0; i < 20; i ++) {
turnTotal += root.getMetaSession().getVariableTable(3).getVariable(valId + i);
}
this.drawText(x + RECORD_TURN_X, y, turnTotal + 'ターン');
this.drawText(x + RECORD_TURN_X, y, turnTotal + ' turns');
valId = index + 31;
var deathTotal = 0;
for (var i = 0; i < 20; i ++) {
deathTotal += root.getMetaSession().getVariableTable(3).getVariable(valId + i);
}
this.drawText(x + RECORD_DEATH_X, y, deathTotal + '');
this.drawText(x + RECORD_DEATH_X, y, deathTotal + ' people');
valId = index + 51;
var retryTotal = 0;
for (var i = 0; i < 20; i ++) {
retryTotal += root.getMetaSession().getVariableTable(3).getVariable(valId + i);
}
this.drawText(x + RECORD_RETRY_X, y, retryTotal + '');
this.drawText(x + RECORD_RETRY_X, y, retryTotal + 'x');
},
drawDescriptionLine: function(x, y) {

View file

@ -53,7 +53,7 @@ var ShowMoveMessageWindow = defineObject(BaseWindow,
}
font = textui.getFont();
TextRenderer.drawText(x + 4, y- 6,'敵の行動を予測中です', -1, ColorValue.DEFAULT, font);
TextRenderer.drawText(x + 4, y- 6,'Predicting Enemy Actions', -1, ColorValue.DEFAULT, font);
},
getWindowTitleTextUI: function() {

View file

@ -73,7 +73,7 @@ function getSampleItemIcon(index) {
ObjectiveParts.Medal = defineObject(BaseObjectiveParts,
{
getObjectivePartsName: function() {
return 'メダル';
return 'Medals';
},
getObjectivePartsValue: function() {
@ -85,7 +85,7 @@ ObjectiveParts.Medal = defineObject(BaseObjectiveParts,
ObjectiveParts.LvUp = defineObject(BaseObjectiveParts,
{
getObjectivePartsName: function() {
return '調教pt';
return 'Training pt';
},
getObjectivePartsValue: function() {

View file

@ -1,24 +1,23 @@
var itemIdMap = {
24: -2 // 裸で出撃
,35: -1 // 淫魔の首輪
,22: 4 // 乳首ピアス
,23: 7 // 裸で出撃
,25: 5 // ぶっかけA
,31: 6 // ぶっかけB
,26: 1 // 落書き1
,27: 2 // 落書き2
24: -2 // Deploy Naked
,35: -1 // Succubus Collar
,22: 4 // Nipple Piercing
,23: 7 // Deploy Naked
,25: 5 // Cumshot A
,31: 6 // Cumshot B
,26: 1 // Graffiti 1
,27: 2 // Graffiti 2
,28: 3
,30: 0
,29: 8 // 黒乳首
,12: 9 // 性処理当番
,13: 10 // 中出し
,14: 11 // 出産1回
,15: 12 // 出産2回
,16: 13 // 出産3回
,18: 14 //
,33: 15 // 変形まんこ
,34: 16 // 避妊の法
,29: 8 // Black Nipples
,12: 9 // Sex Relief Duty
,13: 10 // Creampie
,14: 11 // Childbirth x1
,15: 12 // Childbirth x2
,16: 13 // Childbirth x3
,18: 14 // Breasts
,33: 15 // Deformed Pussy
,34: 16 // Contraceptive Law
};
@ -128,11 +127,11 @@ MarshalCommand.UnitEquip = defineObject(MarshalBaseCommand,
},
getCommandName: function() {
return 'エロアクセ装備';
return 'Erotic Accessories';
},
getMarshalDescription: function() {
return '女の子のエロアクセの設定をします';
return 'Setup ero accessories for the selected unit.';
},
_createScreenParam: function() {
@ -210,25 +209,25 @@ var EquipScreen = defineObject(BaseScreen,
var yy = 690;
var font = root.getBaseData().getFontList().getData(10);
if (item !== null && item.getId() == 34) {
var text = '妊娠しなくなります';
var text = 'Will no longer become pregnant';
TextRenderer.drawText(104, yy, text, -1, ColorValue.DEFAULT, font);
}
else if (item !== null && item.custom.syusan >= 0) {
var text = '出産回数' + item.custom.syusan + '回が必要です';
var text = 'Requires childbirth x' + item.custom.syusan;
TextRenderer.drawText(104, yy, text, -1, ColorValue.DEFAULT, font);
}
else if (item !== null && item.custom.seisyori >= 0) {
var text;
if (this._targetUnit.getName() == 'クリス') {
text = 'クリスには装備できません';
if (this._targetUnit.getName() == 'クリス' || this._targetUnit.getName() == 'Chris') {
text = 'Cannot be equipped on Chris';
TextRenderer.drawText(90, yy, text, -1, ColorValue.DEFAULT, font);
} else {
text = item.custom.seisyori + '人まで指定できます';
text = 'Can assign to up to ' + item.custom.seisyori + ' people';
TextRenderer.drawText(104, yy, text, -1, ColorValue.DEFAULT, font);
}
}
else if (item !== null && item.custom.level >= 0) {
var text = '調教回数' + item.custom.level + '回が必要です';
var text = 'Requires ' + item.custom.level + 'x training';
TextRenderer.drawText(104, yy, text, -1, ColorValue.DEFAULT, font);
}
else {
@ -477,7 +476,7 @@ var EquipItemWindow = defineObject(BaseWindow,
},
drawWindowContent: function(x, y) {
// 情報ウインドウにスクロールカーソルがかぶらないように、後で描画
// Draw after to avoid scroll cursor overlapping info window
this._scrollbar.drawScrollbar(x, y);
},
@ -570,7 +569,7 @@ var EquipItemScrollbar = defineObject(BaseScrollbar,
this._canEquipSeisyori = this._calcEquipSeisyori(this._unit);
},
_calcEquipSeisyori: function(unit) {
if (unit.getName() == 'クリス') {
if (unit.getName() == 'クリス' || unit.getName() == 'Chris') {
return false;
}
var actorList = getSeisyoriActorList();
@ -654,23 +653,57 @@ function getActorSyusanCount(name) {
}
function getActorChokyoId(name) {
// Strip suffix after underscore for variants
if (name.indexOf('_') > 1) {
name = name.substr(0, name.indexOf('_'));
}
// Handle numbered variants (e.g., "Char1" -> "Char", "Lena2" -> "Lena")
if (name.length > 1 && name.match(/[0-9]$/)) {
name = name.substr(0, name.length - 1);
}
switch (name) {
case 'シャルロット': return 6;
case 'Charlotte': return 6;
case 'シャルロ': return 6;
case 'Char': return 6;
case 'コルネ': return 1;
case 'Corne': return 1;
case 'Corn': return 1;
case 'レナ': return 2;
case 'Lena': return 2;
case 'ルリエル': return -1;
case 'Luriel': return -1;
case 'Luri': return -1;
case 'カエデ': return 82;
case 'Kaede': return 82;
case 'Kaed': return 82;
case 'カーラ': return -1;
case 'Karla': return -1;
case 'Karl': return -1;
case 'アンジェラ': return 7;
case 'Angela': return 7;
case 'クリス': return 7;
case 'Chris': return 7;
case 'Chri': return 7;
case 'シェリー': return 0;
case 'Sherry': return 0;
case 'Sher': return 0;
case 'メル': return 8;
case 'Mel': return 8;
case 'ティナ': return 10;
case 'Tina': return 10;
case 'ルゥ': return 5;
case 'Lou': return 5;
case 'サリア': return 9;
case 'Saria': return 9;
case 'Sari': return 9;
case 'ジャコモ': return -1;
case 'Giacomo': return -1;
case 'Giac': return -1;
case 'タバサ': return 79;
case 'Tabatha': return 79;
case 'Taba': return 79;
}
return -1;
}

View file

@ -91,9 +91,9 @@ var PRICE = {
QuestScreen.getScreenTitleName = function() {
if (root.getMetaSession().getGlobalSwitchTable().isSwitchOn(7)) {
return 'フリーマップ選択';
return 'Free Map Selection';
} else {
return '調教選択';
return 'Training Quest Selection';
}
};
@ -197,7 +197,7 @@ WeaponBrokenFlowEntry._checkDelete = function(unit, generator) {
generator.soundPlay(this._getLostSoundHandle(), 1);
var text = weapon.getName() + StringTable.ItemLost;
if (weapon.getName() == '肉棒') {
text = '肉棒が萎えてしまいました';
text = 'My dick has gone limp.';
}
generator.messageTitle(text, 0, 0, isCenterShow);
}
@ -254,7 +254,7 @@ QuestSentence.Reward._drawGold = function(x, y, reward) {
this._drawTitle(x, y);
var gold = getChokyoCount();
GraphicsRenderer.drawImage(x + 2, y + 24, getSampleItemIcon(1), GraphicsType.ICON);
this._drawNumberAndText(x, y, ' 所持調教pt', gold, this._getNumberColorInex());
this._drawNumberAndText(x, y, ' Training', gold, this._getNumberColorInex());
var textui = this._getSentenceTextUI();
var color = textui.getColor();
@ -291,7 +291,7 @@ QuestSentence.Reward._drawText = function(x, y, reward) {
}
var price = PRICE[unitId]
this._drawTitle(x, y);
this._drawNumberAndText(x, y, '必要pt', price, reward.getNumberColorIndex());
this._drawNumberAndText(x, y, 'Required', price, reward.getNumberColorIndex());
var textui = this._getSentenceTextUI();
var color = textui.getColor();
var font = textui.getFont();
@ -506,12 +506,12 @@ function upEroStatus(name, naka, anal, isCheckNinshin, taneoya) {
anal = 0;
}
var valId = val * 10 + 6;
root.log(name + 'の中出し回数増加: ' + naka);
root.log(name + ' Creampie Count Increase: ' + naka);
var currentNaka = root.getMetaSession().getVariableTable(0).getVariable(valId);
root.getMetaSession().getVariableTable(0).setVariable(valId, currentNaka + naka);
valId = val * 10 + 8;
root.log(name + 'のアナル回数増加: ' + anal);
root.log(name + ' Anal Frequency: ' + anal);
var currentAnal = root.getMetaSession().getVariableTable(0).getVariable(valId);
root.getMetaSession().getVariableTable(0).setVariable(valId, currentAnal + anal);
@ -579,6 +579,13 @@ QuestDetailWindow.setQuestData = function(quest) {
this._equipView._illustId = 3;
var actorName = this._quest.custom.actorName || 'シャルロット';
var unit = getActorByName(actorName);
// If unit not found, don't proceed
if (!unit) {
root.log('Warning: Could not find actor with name: ' + actorName);
return;
}
var messageViewParam = {unit: unit};
if (this._equipView._name == actorName) {
@ -639,14 +646,50 @@ QuestScreen.drawScreenBottomText = function(textui) {
};
function getActorByName(name) {
// Map Japanese names to their English equivalents
var nameMap = {
'シャルロット': 'Charlotte',
'シャルロ': 'Char',
'コルネ': 'Corne',
'レナ': 'Lena',
'ルリエル': 'Luriel',
'カエデ': 'Kaede',
'カーラ': 'Karla',
'クリス': 'Chris',
'アンジェラ': 'Angela',
'シェリー': 'Sherry',
'メル': 'Mel',
'ティナ': 'Tina',
'ルゥ': 'Lou',
'サリア': 'Saria',
'タバサ': 'Tabatha',
'ジャコモ': 'Giacomo',
'ダレス': 'Dalles',
'マジード': 'Majid',
'カルロス': 'Carlos'
};
var list = root.getBaseData().getPlayerList();
// First try exact match
for (var i = 0; i < list.getCount(); i++) {
var u = list.getData(i);
if (name == u.getName()) {
return u;
}
}
// If no exact match, try mapped name (Japanese to English)
var mappedName = nameMap[name];
if (mappedName) {
for (var i = 0; i < list.getCount(); i++) {
var u = list.getData(i);
if (mappedName == u.getName()) {
return u;
}
}
}
return null;
}
@ -659,7 +702,7 @@ QuestScreen._completeScreenMemberData = function(screenParam) {
if (root.getMetaSession().getGlobalSwitchTable().isSwitchOn(7)) {
this._questionWindow.setQuestionMessage(StringTable.Quest_Select);
} else {
this._questionWindow.setQuestionMessage('調教を開始しますか?');
this._questionWindow.setQuestionMessage('Start Training?');
}
this._questDetailWindow.setQuestData(this._questEntryArray[0].data);

View file

@ -1,315 +1,314 @@
var StringTable = {
LoadSave_SaveQuestion: 'このファイルにセーブしますか?',
LoadSave_NoLoad: 'ロードするファイルがありません',
LoadSave_SaveQuestion: 'Save to this file?',
LoadSave_NoLoad: 'No save file',
LoadSave_NoData: 'no data',
LoadSave_Chapter: 'Chapter',
LoadSave_Chapter: 'Ch',
LoadSave_SaveFileMark: 'File',
LoadSave_Rest: '拠点',
Communication_NoData : 'データがありません',
GameStart_DifficultySelect: 'ゲームの難易度を選択してください',
GameStart_ClearPointDescription: 'クリアポイントを使用してアイテムを引き継ぐことができます。\n最初から強化された状態でゲームをプレイしたい場合におすすめです。\n\n現在のクリアポイント ',
GameStart_ClearPointQuestion: 'アイテムを引き継ぎますか?',
UnitSortie_Start: 'Press Space',
UnitSortie_Max: 'ユニットの最大出撃数',
UnitSortie_Question: '出撃を開始しますか?',
Stock_Extract: 'アイテムを取り出します',
Stock_Store: 'アイテムを預けます',
Stock_AllStore: 'アイテムを全て預けます',
Marshal_StockOperation: '上下キーでユニットを切り替えます',
Marshal_StockTrade: '入手しているアイテムを取り出します',
Marshal_ItemTrade: 'ユニット同士でアイテムを交換します',
Marshal_UnitSort: 'ユニットの位置を並び替えます',
Marshal_UnitStatus: 'ユニットのステータスを確認します',
Marshal_Shop: 'アイテムを購入します',
Marshal_Bonus: 'ボーナスとアイテムを交換します',
Marshal_ItemUse: 'アイテムを使用します',
Marshal_ClassChange: 'ユニットのクラスを変更します',
ItemUse_Unit: 'ユニット',
ItemUse_Stock: 'ストック',
ItemUse_Question: 'このアイテムを使用しますか?',
Extra_Character: 'ゲーム中に登場した人物が記録されています',
Extra_Word: 'ゲーム中に登場した専門用語が記録されています',
Extra_Gallery: 'ゲーム中に表示した画像が記録されています',
Extra_SoundRoom: 'ゲーム中に再生した音楽が記録されています',
Extra_Recollection: 'ゲーム中に一度見たシーンが記録されています',
LoadSave_Rest: 'Base',
Config_MusicPlay: 'BGMの音量',
Config_MusicPlayDescription: 'BGMの音量を決定します',
Config_SoundEffect: 'SEの音量',
Config_SoundEffectDescription: 'SEの音量を決定します',
Config_RealBattle: 'リアル戦闘形式',
Config_RealBattleDescription: '戦闘モーションを表示して戦うかどうかを決定します',
Config_AutoTurnEnd : 'オートターンエンド',
Config_AutoTurnEndDescription: '自動でターン終了を行うかどうかを決定します',
Config_AutoTurnSkip: '敵ターンスキップ',
Config_AutoTurnSkipDescription: '敵ターンをスキップするかどうかを決定します',
Config_MapGrid: 'マップのグリッド',
Config_MapGridDescription: 'マップにグリッドを表示するかどうかを決定します',
Config_UnitSpeed: 'ユニットスピード',
Config_UnitSpeedDescription: 'ユニットが移動する速度を決定します',
Config_MessageSpeed: 'メッセージスピード',
Config_MessageSpeedDescription: '文字を表示する速度を決定します',
Config_MapUnitWindow: 'マップユニットウインドウ',
Config_MapUnitWindowDescription: 'ユニットウインドウを詳細表示するかどうかを決定します',
Config_LoadCommand: 'ロードコマンド',
Config_LoadCommandDescription: '戦闘時にロードという名前のコマンドを表示するかどうかを決定します',
Config_AutoCursor: 'オートカーソル',
Config_AutoCursorDescription: '先頭キャラにカーソルを合わせるかどうかを決定します',
Config_MouseOperation: 'マウス操作',
Config_MouseOperationDescription: 'マウスによる操作を有効にするかどうかを決定します',
Config_MouseCursorTracking: 'マウスカーソル追跡',
Config_MouseCursorTrackingDescription: 'マウスカーソルを自動で追跡させるかどうかを決定します',
Config_Voice: 'ボイスの音量',
Config_VoiceDescription: 'ボイスの音量を決定します',
Config_RealBattleScaling: '戦闘画面の拡大',
Config_RealBattleScalingDescription: 'リアル戦闘で画面を拡大するかどうか決定します',
Config_ScrollSpeed: 'スクロールスピード',
Config_ScrollSpeedDescription: 'ユニットが動作する際のスクロール速度を決定します',
Config_EnemyMarking: '敵の行動範囲表示',
Config_EnemyMarkingDescription: 'マップ上でのキャンセルによる行動範囲の可視化を決定します',
Config_MapUnitHpVisible: 'マップユニットHP表示',
Config_MapUnitHpVisibleDescription: 'マップ上のユニットにHPを表示します',
Config_DamagePopup: 'ダメージポップアップ',
Config_DamagePopupDescription: '戦闘時に相手に与えたダメージを表示します',
ItemChange_UnitItemFull: 'アイテムが一杯です\n決定またはキャンセルを押してください',
ItemChange_TradeTitle: 'このアイテムと交換しますか?',
ItemChange_StockSendTitle: '入手アイテムをストックに送りますか?',
ItemChange_StockThrowTitle: '入手アイテムを捨てますか?',
ItemChange_StockItemFull: 'ストックアイテムが一杯です\n交換または破棄してください',
ItemChange_TargetItem: '対象アイテム',
ItemChange_ArrangeStock: 'ストックを整理しました',
BattleSetup_NoPlayer: 'プレイヤーが存在しないため、\nゲームオーバーになります',
BattleResult_BonusTitle: 'マップクリア報酬',
BattleResult_GetGold: '獲得ゴールド',
BattleResult_GetBonus: '獲得ボーナス',
BattleResult_GetItem: '獲得アイテム',
Rest_Next: '拠点を終了しますか?',
Quest_Select: 'このマップに進みますか?',
Quest_EnemyTotal: '敵の総数',
Quest_AverageLevel: '敵の平均レベル',
Quest_GetGold: '獲得ゴールド',
Quest_GetBonus: '獲得ボーナス',
Communication_NoData : 'No data',
GameStart_DifficultySelect: 'Select difficulty',
GameStart_ClearPointDescription: 'Carry over items using Clear Points.\nRecommended for strengthened stats.\n\nCurrent Points: ',
GameStart_ClearPointQuestion: 'Carry over items?',
UnitSortie_Start: 'Press Space',
UnitSortie_Max: 'Max Units',
UnitSortie_Question: 'Start?',
Stock_Extract: 'Withdraw',
Stock_Store: 'Store',
Stock_AllStore: 'Store all',
Marshal_StockOperation: 'Up/Down: switch units',
Marshal_StockTrade: 'Withdraw items',
Marshal_ItemTrade: 'Exchange items',
Marshal_UnitSort: 'Rearrange units',
Marshal_UnitStatus: 'Check status',
Marshal_Shop: 'Shop',
Marshal_Bonus: 'Exchange bonuses',
Marshal_ItemUse: 'Use items',
Marshal_ClassChange: 'Change class',
ItemUse_Unit: 'Unit',
ItemUse_Stock: 'Stock',
ItemUse_Question: 'Use?',
Extra_Character: 'Characters met in-game',
Extra_Word: 'Terminology from game',
Extra_Gallery: 'Images from game',
Extra_SoundRoom: 'Music from game',
Extra_Recollection: 'Scenes viewed once',
Config_MusicPlay: 'BGM Volume',
Config_MusicPlayDescription: 'BGM volume',
Config_SoundEffect: 'SE Volume',
Config_SoundEffectDescription: 'SE volume',
Config_RealBattle: 'Real Battle',
Config_RealBattleDescription: 'Display battle motion',
Config_AutoTurnEnd : 'Auto End',
Config_AutoTurnEndDescription: 'End turns automatically',
Config_AutoTurnSkip: 'Skip Enemy Turn',
Config_AutoTurnSkipDescription: 'Skip enemy turns',
Config_MapGrid: 'Grid',
Config_MapGridDescription: 'Display map grid',
Config_UnitSpeed: 'Unit Speed',
Config_UnitSpeedDescription: 'Unit movement speed',
Config_MessageSpeed: 'Msg Speed',
Config_MessageSpeedDescription: 'Text display speed',
Config_MapUnitWindow: 'Unit Window',
Config_MapUnitWindowDescription: 'Display unit details',
Config_LoadCommand: 'Load Cmd',
Config_LoadCommandDescription: 'Show Load in battle',
Config_AutoCursor: 'Auto Cursor',
Config_AutoCursorDescription: 'Auto-focus on leader',
Config_MouseOperation: 'Mouse',
Config_MouseOperationDescription: 'Enable mouse controls',
Config_MouseCursorTracking: 'Mouse Track',
Config_MouseCursorTrackingDescription: 'Cursor tracks mouse',
Config_Voice: 'Voice',
Config_VoiceDescription: 'Voice volume',
Config_RealBattleScaling: 'Battle Scale',
Config_RealBattleScalingDescription: 'Scale battle screen',
Config_ScrollSpeed: 'Scroll Speed',
Config_ScrollSpeedDescription: 'Scroll speed',
Config_EnemyMarking: 'Enemy Range',
Config_EnemyMarkingDescription: 'Show action ranges',
Config_MapUnitHpVisible: 'Map HP',
Config_MapUnitHpVisibleDescription: 'Show HP on map',
Config_DamagePopup: 'Dmg Popup',
Config_DamagePopupDescription: 'Show damage numbers',
ItemChange_UnitItemFull: 'Slots full\nConfirm/Cancel',
ItemChange_TradeTitle: 'Exchange?',
ItemChange_StockSendTitle: 'Send to stock?',
ItemChange_StockThrowTitle: 'Discard?',
ItemChange_StockItemFull: 'Stock full\nExchange or discard',
ItemChange_TargetItem: 'Target',
ItemChange_ArrangeStock: 'Stock sorted',
BattleSetup_NoPlayer: 'No player\nGame Over',
BattleResult_BonusTitle: 'Clear Reward',
BattleResult_GetGold: 'Gold',
BattleResult_GetBonus: 'Bonus',
BattleResult_GetItem: 'Item',
Rest_Next: 'Leave?',
Quest_Select: 'Proceed?',
Quest_EnemyTotal: 'Enemies',
Quest_AverageLevel: 'Avg Lv',
Quest_GetGold: 'Gold',
Quest_GetBonus: 'Bonus',
Quest_GetItem: 'Get!',
ClassChange_UnitClassChange: 'このクラスにクラスチェンジしますか?',
ClassChange_UnableClassChange: 'このユニットは\nクラスチェンジできません',
ClassChange_UnableClassChangeMore: 'このユニットはこれ以上\nクラスチェンジできません',
ClassChange_UnableClassChangeItem: 'このユニットはこのアイテムで\nクラスチェンジできません',
Metamorphoze_Change: '形態変化してよろしいですか?',
ShopLayout_SelectBuy: '買う',
ShopLayout_SelectSell: '売る',
ShopLayout_Unit: 'ユニット',
ShopLayout_Stock: 'ストック',
ResurrectionLayout_Empty: '蘇生させるユニットは存在しません',
ResurrectionLayout_Question: 'このユニットを蘇生しますか?',
UnitSummary_Alive: '生存',
UnitSummary_Death: '死亡',
UnitSummary_Injury: '負傷',
UnitSummary_Erase: '消去',
UnitSummary_Immortal: '不死',
SkillList_Owner: 'スキル所有者',
EventTest_End: '回想が終了しました',
EventTest_Key: '決定またはキャンセルで終了します',
QuestionWindow_DefaultCase1: 'はい',
QuestionWindow_DefaultCase2: 'いいえ',
ClassChange_UnitClassChange: 'Change class?',
ClassChange_UnableClassChange: 'Cannot change\nclass',
ClassChange_UnableClassChangeMore: 'Cannot change\nclass further',
ClassChange_UnableClassChangeItem: 'Cannot use item to\nchange class',
Metamorphoze_Change: 'Transform?',
ShopLayout_SelectBuy: 'Buy',
ShopLayout_SelectSell: 'Sell',
ShopLayout_Unit: 'Unit',
ShopLayout_Stock: 'Stock',
ResurrectionLayout_Empty: 'No unit',
ResurrectionLayout_Question: 'Resurrect?',
UnitSummary_Alive: 'Alive',
UnitSummary_Death: 'Dead',
UnitSummary_Injury: 'Injured',
UnitSummary_Erase: 'Erased',
UnitSummary_Immortal: 'Immortal',
SkillList_Owner: 'Owner',
EventTest_End: 'Ended',
EventTest_Key: 'Confirm/Cancel to exit',
QuestionWindow_DefaultCase1: 'Yes',
QuestionWindow_DefaultCase2: 'No',
InfoWindow_Information: '- Notice -',
InfoWindow_Warning: '- Warning -',
ReverseWeapon_Magic : '魔法の武器',
ReverseWeapon_Physics : '物理の武器',
MapPosChoose_Unit : 'このユニットでよろしいですか?',
MapPosChoose_Pos : 'この位置でよろしいですか?',
Discard_Warning: 'このアイテムは捨てることができません',
StockItem_ItemDiscard: 'このアイテムを捨てますか?',
StockItem_Extract: '取り出す',
StockItem_Store: '預ける',
StockItem_AllStore: '全預け',
ItemWork_Equipment: '装備',
ItemWork_Use: '使用',
ItemWork_Discard: '捨てる',
ItemInfo_Recovery: '回復',
ItemInfo_EntireRecovery: '全体回復',
ItemInfo_Damage: 'ダメージ',
ItemInfo_ClassChange: 'クラスチェンジ',
ItemInfo_Doping: 'ドーピング',
ItemInfo_Resurrection: '蘇生',
ItemInfo_SkillChange: 'スキル習得',
ItemInfo_Quick: '行動回復',
ItemInfo_Teleportation: '瞬間移動',
ItemInfo_Rescue: '救出',
ItemInfo_Key: '鍵空け',
ItemInfo_Durability: '耐久変化',
ItemInfo_Steal: '奪取',
ItemInfo_State: 'ステート付加',
ItemInfo_StateRecovery: 'ステート回復',
ItemInfo_Switch: '特殊',
ItemInfo_Fusion: 'フュージョン',
ItemInfo_Metamorphoze: '形態変化',
ItemInfo_Unusable: '使用不可',
ItemInfo_Custom: 'カスタム',
ItemWord_SuffixItem: 'アイテム',
ItemWord_SuffixWand: 'の杖',
ItemWord_MultiAttack: '回攻撃',
SkillWord_Less: '%以下',
SkillWord_Invocation: '発動率',
FusionWord_Success: '成功率',
UnitSentence_Support: '-支援相手-',
ReverseWeapon_Magic : 'Magic',
ReverseWeapon_Physics : 'Physical',
MapPosChoose_Unit : 'Use unit?',
MapPosChoose_Pos : 'Position OK?',
Discard_Warning: 'Cannot discard',
StockItem_ItemDiscard: 'Discard?',
StockItem_Extract: 'Withdraw',
StockItem_Store: 'Store',
StockItem_AllStore: 'Store All',
ItemWork_Equipment: 'Equip',
ItemWork_Use: 'Use',
ItemWork_Discard: 'Discard',
ItemInfo_Recovery: 'Heal',
ItemInfo_EntireRecovery: 'Full Heal',
ItemInfo_Damage: 'Damage',
ItemInfo_ClassChange: 'Class',
ItemInfo_Doping: 'Doping',
ItemInfo_Resurrection: 'Revive',
ItemInfo_SkillChange: 'Skill',
ItemInfo_Quick: 'Action',
ItemInfo_Teleportation: 'Teleport',
ItemInfo_Rescue: 'Rescue',
ItemInfo_Key: 'Unlock',
ItemInfo_Durability: 'Durability',
ItemInfo_Steal: 'Steal',
ItemInfo_State: 'State',
ItemInfo_StateRecovery: 'Cure',
ItemInfo_Switch: 'Special',
ItemInfo_Fusion: 'Fusion',
ItemInfo_Metamorphoze: 'Form',
ItemInfo_Unusable: 'Unusable',
ItemInfo_Custom: 'Custom',
ItemWord_SuffixItem: 'Item',
ItemWord_SuffixWand: 'Wand',
ItemWord_MultiAttack: 'x Atk',
SkillWord_Less: '% or less',
SkillWord_Invocation: 'Activ%',
FusionWord_Success: 'Success%',
UnitSentence_Support: '-Support-',
UnitType_Player: 'PLAYER',
UnitType_Enemy: 'ENEMY',
UnitType_Ally: 'ALLY',
AliveType_Alive: '生存',
AliveType_Erase: '消去',
AliveType_Death: '死亡',
AliveType_Reteat: '退却',
SortieType_Sortie: '出撃',
SortieType_Nonsortie: '非出撃',
WeaponOption_HpAbsorb: 'HP吸収',
WeaponOption_NoGuard: '防御無視',
WeaponOption_HpMinimum: 'HPを1にする',
WeaponOption_HalveAttack: '攻撃半減',
WeaponOption_HalveAttackBreak: '攻撃半減破り',
WeaponOption_SealAttack: '攻撃封じ',
WeaponOption_SealAttackBreak: '攻撃封じ破り',
DamageType_Fixed: '固定',
DamageType_Physics: '物理',
DamageType_Magic: '魔法',
DamageType_Name: '属性',
DurabilityType_Max: '全回復',
DurabilityType_Half: '半減',
DurabilityType_Break: '破壊',
Chapter_Header: '',
Chapter_Footer: '',
Chapter_SideStory: '外伝',
Chapter_First: '序章',
Chapter_Last: '終章',
AliveType_Alive: 'Alive',
AliveType_Erase: 'Erased',
AliveType_Death: 'Dead',
AliveType_Reteat: 'Retreat',
SortieType_Sortie: 'Sortie',
SortieType_Nonsortie: 'No Sortie',
WeaponOption_HpAbsorb: 'HP Absorb',
WeaponOption_NoGuard: 'No Guard',
WeaponOption_HpMinimum: 'HP→1',
WeaponOption_HalveAttack: 'Half Atk',
WeaponOption_HalveAttackBreak: 'Half Atk Break',
WeaponOption_SealAttack: 'Seal Atk',
WeaponOption_SealAttackBreak: 'Seal Atk Break',
DamageType_Fixed: 'Fixed',
DamageType_Physics: 'Physical',
DamageType_Magic: 'Magic',
DamageType_Name: 'Element',
DurabilityType_Max: 'Full',
DurabilityType_Half: 'Half',
DurabilityType_Break: 'Broken',
Chapter_Header: 'Ch ',
Chapter_Footer: '',
Chapter_SideStory: 'Side',
Chapter_First: 'Prologue',
Chapter_Last: 'Final',
Chapter_Rest: '★',
Chapter_Quest: 'QA',
Spped_Direct: '瞬時',
Speed_High: '高速',
Speed_Normal: '普通',
Speed_Low: '低速',
Objective_Victory: '勝利条件',
Objective_Defeat: '敗北条件',
Select_On: 'オン',
Select_Off: 'オフ',
Range_Self: '単体',
Range_All: '全域',
Recovery_Value: '回復値',
Recovery_All: '全回復',
Aggregation_SuffixEquipment: ' 装備',
Aggregation_SuffixPossession: ' 所持',
Aggregation_SuffixAddition: ' 付加',
Aggregation_Match: '対象',
Aggregation_Mismatch: '対象外',
Aggregation_MatchAll: '全対象',
Aggregation_MismatchAll: '全対象外',
Key_Target: '対象',
Key_Gate: '',
Key_Treasure: '宝箱',
ItemLost: 'が壊れました',
ItemSteal: 'を奪われました',
Damage_Pow: '威力',
ClassChangeInfo_Target: '対象',
Teleportation_Range: '範囲',
SkillCategory_BattleAttack: '戦闘攻撃系',
SkillCategory_BattleDefence: '戦闘防御系',
SkillCategory_BattleAllowed: '戦闘許可系',
SkillCategory_Allowed: '許可系',
SkillCategory_Command: 'コマンド系',
SkillCategory_Action: '動作系',
SkillCategory_Custom: 'カスタム',
GetTitle_ItemChange: 'ItemGet!……',
GetTitle_SkillChange: 'SkillGet!……',
GetTitle_GoldChange: 'GoldGet!……',
GetTitle_BonusChange: 'BonusGet!……',
LostTitle_ItemChange: 'ItemLost……',
LostTitle_SkillChange: 'SkillLost……',
LostTitle_GoldChange: 'GoldLost……',
LostTitle_BonusChange: 'BonusLost……',
GetTitle_ExperiencePlus: 'Exp Get!',
GetTitle_NewSkill: 'NewSkill!……',
GetTitle_PowerupSkill: 'PowerUp!……',
Spped_Direct: 'Instant',
Speed_High: 'High',
Speed_Normal: 'Normal',
Speed_Low: ' Low',
Objective_Victory: 'Victory',
Objective_Defeat: 'Defeat',
Select_On: 'On',
Select_Off: 'Off',
Range_Self: 'Single',
Range_All: 'All',
Recovery_Value: 'Recovery',
Recovery_All: 'Full',
Aggregation_SuffixEquipment: ' Equip',
Aggregation_SuffixPossession: ' Own',
Aggregation_SuffixAddition: ' Add',
Aggregation_Match: 'Match',
Aggregation_Mismatch: 'No Match',
Aggregation_MatchAll: 'All',
Aggregation_MismatchAll: 'None',
Key_Target: 'Target',
Key_Gate: 'Door',
Key_Treasure: 'Chest',
ItemLost: ' broke',
ItemSteal: ' stolen',
Damage_Pow: 'Pwr',
ClassChangeInfo_Target: 'Target',
Teleportation_Range: 'Range',
SkillCategory_BattleAttack: 'Battle Atk',
SkillCategory_BattleDefence: 'Battle Def',
SkillCategory_BattleAllowed: 'Battle Allow',
SkillCategory_Allowed: 'Allow',
SkillCategory_Command: 'Command',
SkillCategory_Action: 'Action',
SkillCategory_Custom: 'Custom',
GetTitle_ItemChange: 'Item!……',
GetTitle_SkillChange: 'Skill!……',
GetTitle_GoldChange: 'Gold!……',
GetTitle_BonusChange: 'Bonus!……',
LostTitle_ItemChange: 'Lost Item……',
LostTitle_SkillChange: 'Lost Skill……',
LostTitle_GoldChange: 'Lost Gold……',
LostTitle_BonusChange: 'Lost Bonus……',
GetTitle_ExperiencePlus: 'Exp!',
GetTitle_NewSkill: 'New!……',
GetTitle_PowerupSkill: 'Up!……',
UnitSimple_Target: 'Target……',
State_Addition: '付加',
State_Recovery: '回復',
State_Regist: '耐性',
State_AllBadState: '全バッドステート',
State_Addition: 'Add',
State_Recovery: 'Cure',
State_Regist: 'Resist',
State_AllBadState: 'All Bad',
HideData_Secret: '-secret-',
HideData_Question: '???',
HideData_Unknown: 'Unknown',
AttackMenu_AttackCount : '攻撃回数',
PlayerActive: '自軍ユニット',
AttackMenu_AttackCount : 'Attacks',
PlayerActive: 'Player',
Status_Level: 'Lv',
Status_Experience: 'Ex',
Signal_Turn: 'TURN',
Signal_Gold: 'GOLD',
Signal_Bonus: 'BONUS',
CurrencySign_Gold: 'G',
CurrencySign_Bonus: 'B',
CurrencySign_Point: 'P',
SignWord_Multiple: '×',
SignWord_Percent: '',
SignWord_Percent: '%',
SignWord_WaveDash: '',
SignWord_Limitless: '--'
};
};

View file

@ -333,7 +333,10 @@ var QuestListScrollbar = defineObject(BaseScrollbar,
},
getObjectWidth: function() {
return DefineControl.getTextPartsWidth() + GraphicsFormat.ICON_WIDTH;
// Increase width to allow longer quest names to render without truncation.
// Previously this relied on DefineControl.getTextPartsWidth() (135px) which is too small for translated text.
// Bump the effective width to ~1.8x of the default text parts width plus the icon width.
return Math.floor(DefineControl.getTextPartsWidth() * 1.8) + GraphicsFormat.ICON_WIDTH;
},
getObjectHeight: function() {

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

3
error_log.txt Normal file
View file

@ -0,0 +1,3 @@
code [8 64] [2025/10/13 21:53:38] Žh“ËŒ•.js Line 5: Unable to get property 'getClass' of undefined or null reference
code [8 64] [2025/10/13 21:56:37] Žh“ËŒ•.js Line 5: Unable to get property 'getClass' of undefined or null reference
code [8 64] [2025/10/13 21:57:39] Žh“ËŒ•.js Line 5: Unable to get property 'getClass' of undefined or null reference

View file

@ -1,3 +1,3 @@
username=dazed-translations
repo=exorcist-evangeline
repo=slave-princess-charlotte
branch=main

View file

@ -68,6 +68,65 @@ for /f "usebackq tokens=1,2 delims==" %%a in ("%CONFIG_FILE%") do (
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"
@ -136,6 +195,47 @@ if !errorlevel! neq 0 (
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"

View file

@ -38,6 +38,47 @@ echo "Config file path: $CONFIG_FILE"
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..."
@ -75,6 +116,38 @@ download_extract() {
# 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

699
patch/Base/autoevents.json Normal file
View file

@ -0,0 +1,699 @@
[
{
"id": 2,
"name": "New Event",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
"commands": [
{
"id": 0,
"comment": "",
"type": "message",
"data": [
"Giacomo-sama, we've taken that female knight to\nthe fuck room."
],
"speaker": "Bandit A"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"Good, well done."
],
"speaker": "Giacomo"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"Giacomo-chan, let's have our way with that female\nknight right away! Just like we always do."
],
"speaker": "Luriel"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"Yeah. I'll join in too. There's nothing like\nbreaking in a woman like her."
],
"speaker": "Giacomo"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"On the map, you can control Giacomo and violate\nthe girls. This time, let's violate Lena, who we\njust captured, and make her submit."
],
"speaker": "_"
}
]
}
]
},
{
"id": 3,
"name": "Angela Collar",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
"commands": [
{
"id": 0,
"comment": "",
"type": "message",
"data": [
"Kukuku... It's been a while since I used the\ntraining room, but I managed to make the knight\nsubmit nicely."
],
"speaker": "Giacomo"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"Yeah. Even a tough knight can't do anything after\nbeing raped that much."
],
"speaker": "Bandits"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"I won't forget that look of utter despair on her\nface."
],
"speaker": "Giacomo"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"Eek!"
],
"speaker": "Charlotte"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"Hm? The prince is here too."
],
"speaker": "Giacomo"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"P-please, have mercy..."
],
"speaker": "Chris"
},
{
"id": 6,
"comment": "",
"type": "message",
"data": [
"Kukuku, what are you so scared of? No matter how\ncute your face is, I'm not interested in men."
],
"speaker": "Giacomo"
},
{
"id": 7,
"comment": "",
"type": "message",
"data": [
"Hehe, you know, that kid might actually be quite a\ncatch?"
],
"speaker": "Luriel"
},
{
"id": 20,
"comment": "",
"name": "",
"description": ""
},
{
"id": 8,
"comment": "",
"type": "message",
"data": [
"Hm? What do you mean?"
],
"speaker": "Giacomo"
},
{
"id": 9,
"comment": "",
"type": "message",
"data": [
"It's no use hiding it from Luriel-chan. I can\nsmell the scent of a female all over you."
],
"speaker": "Luriel"
},
{
"id": 10,
"comment": "",
"type": "message",
"data": [
"No way... Hey, strip the prince."
],
"speaker": "Giacomo"
},
{
"id": 11,
"comment": "",
"type": "message",
"data": [
"Yeah! So, you'll submit to me, right?"
],
"speaker": "Bandits"
},
{
"id": 12,
"comment": "",
"type": "message",
"data": [
"Ugh... ...Yes. So please, don't do anything\nterrible..."
],
"speaker": "Chris"
},
{
"id": 13,
"comment": "",
"type": "message",
"data": [
"I see, I see. Well, after seeing that, it's no\nwonder you feel that way. Still, it's boring if\nyou just submit without anything happening. Come\nto my room."
],
"speaker": "Giacomo"
},
{
"id": 14,
"comment": "",
"type": "message",
"data": [
"Eh, kya!"
],
"speaker": "Chris"
},
{
"id": 15,
"comment": "",
"type": "message",
"data": [
"That's right, I just thought of something good."
],
"speaker": "Giacomo"
},
{
"id": 16,
"comment": "",
"type": "message",
"data": [
"Huh?"
],
"speaker": "Chris"
},
{
"id": 17,
"comment": "",
"type": "message",
"data": [
"Let's call Charlotte too. I'll make her watch as I\nmake Princess Angela submit. Kukuku..."
],
"speaker": "Giacomo"
},
{
"id": 18,
"comment": "",
"type": "message",
"data": [
"N-no way..."
],
"speaker": "Chris"
}
]
}
]
},
{
"id": 4,
"name": "Sex with Angela",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
"commands": []
}
]
},
{
"id": 5,
"name": "New Event",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
"commands": [
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"Angela has submitted!"
]
}
]
}
]
},
{
"id": 11,
"name": "CM Erotic Shop Opens",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
"commands": [
{
"id": 0,
"comment": "",
"type": "message",
"data": [
"Giacomo-sama, it seems a traveling merchant has\narrived."
],
"speaker": "Bandit A"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"Hm? A merchant?"
],
"speaker": "Giacomo"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"Yes, would you like to meet them?"
],
"speaker": "Bandit A"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"Yeah. Let's meet them at least once. Bring them\nhere."
],
"speaker": "Giacomo"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"Yes, sir."
],
"speaker": "Bandit A"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"...and that's how it is."
],
"speaker": "Traveling Merchant"
},
{
"id": 6,
"comment": "",
"type": "message",
"data": [
"Hmm, I see. So you're selling items to instill a\nslave mentality in the slaves."
],
"speaker": "Giacomo"
},
{
"id": 7,
"comment": "",
"type": "message",
"data": [
"That's right. If you put this item on them, those\nslaves will definitely realize they're just\nproperty."
],
"speaker": "Traveling Merchant"
},
{
"id": 8,
"comment": "",
"type": "message",
"data": [
"Alright, got it. I'll use them if I need to."
],
"speaker": "Giacomo"
},
{
"id": 9,
"comment": "",
"type": "message",
"data": [
"I've got the best selection around, so please come\nagain."
],
"speaker": "Traveling Merchant"
},
{
"id": 10,
"comment": "",
"type": "message",
"data": [
"The Ero Item Exchange has opened!"
],
"speaker": "_"
},
{
"id": 11,
"comment": "",
"type": "message",
"data": [
"You can now equip ero accessories from the unit\nmenu!"
],
"speaker": "_"
}
]
}
]
},
{
"id": 0,
"name": "Sex Duty",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
"commands": [
{
"id": 0,
"comment": "",
"type": "message",
"data": [
"The sex workers have serviced the bandits. Each\nsex worker gained \\va5[3] EXP, and their creampie x\nand anal x have increased!"
],
"speaker": "_"
}
]
}
]
},
{
"id": 31,
"name": "031_Free Map Discovery 1",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
"commands": [
{
"id": 0,
"comment": "",
"type": "message",
"data": [
"Giacomo, sir, I've got a report!"
],
"speaker": "Bandit A"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"What is it?"
],
"speaker": "Giacomo"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"Near the Shibana Fortress we took the other day,\nthere's a village that's not on the map."
],
"speaker": "Bandit A"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"Hm? A village?"
],
"speaker": "Giacomo"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"Yeah. Apparently, it's one of Karla's army's\nsupply depots. There are a few farming villages\nnearby, and they gather supplies there."
],
"speaker": "Bandit A"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"Oh? That's good to know."
],
"speaker": "Giacomo"
},
{
"id": 6,
"comment": "",
"type": "message",
"data": [
"Should we hit it?"
],
"speaker": "Bandit A"
},
{
"id": 7,
"comment": "",
"type": "message",
"data": [
"Hmm, yes. It might be good to order Charlotte to\nattack it. It'll line our pockets and deal a blow\nto Karla."
],
"speaker": "Giacomo"
},
{
"id": 8,
"comment": "",
"type": "message",
"data": [
"Got it, I'll make sure we're ready to raid\nanytime."
],
"speaker": "Bandit A"
},
{
"id": 9,
"comment": "",
"type": "message",
"data": [
"Good. Once we're done with the capital, we can\nattack. It'll be good training too."
],
"speaker": "Giacomo"
},
{
"id": 10,
"comment": "",
"type": "message",
"data": [
"Yes, sir!"
],
"speaker": "Bandit A"
},
{
"id": 11,
"comment": "",
"type": "message",
"data": [
"\"Village Near the Border\" has been added as a free\nmap!"
],
"speaker": "_"
},
{
"id": 12,
"comment": "",
"type": "message",
"data": [
"It's a map you can clear as many times as you want\nto earn money and level up. If you want an\nadvantage, grind on the free map."
],
"speaker": "_"
}
]
}
]
},
{
"id": 32,
"name": "032_Free Map Discovery 2",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
"commands": [
{
"id": 0,
"comment": "",
"type": "message",
"data": [
"Giacomo, sir, I've got a report!"
],
"speaker": "Bandit A"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"What is it?"
],
"speaker": "Giacomo"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"I found a place that's one of Karla's army's\nsources of funds and looks ripe for raiding."
],
"speaker": "Bandit A"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"What!"
],
"speaker": "Giacomo"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"There's a mine nearby, and apparently all the gold\nis gathered in the village at its base."
],
"speaker": "Bandit A"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"Oh, that mine. I've had my eye on it too, but\nisn't security pretty tight because of its\nlocation?"
],
"speaker": "Giacomo"
},
{
"id": 6,
"comment": "",
"type": "message",
"data": [
"Well, since we're advancing on the capital, they\nhaven't been able to spare troops there lately.\nMost of the royal soldiers are gone―it's mostly\njust militia now."
],
"speaker": "Bandit A"
},
{
"id": 7,
"comment": "",
"type": "message",
"data": [
"Kukuku... In that case, taking it will be easy.\nAlright, send out troops there as soon as we're\nfree!"
],
"speaker": "Giacomo"
},
{
"id": 8,
"comment": "",
"type": "message",
"data": [
"Yes, sir!"
],
"speaker": "Bandit A"
},
{
"id": 9,
"comment": "",
"type": "message",
"data": [
"\"Village at the Foot of the Mine\" has been added\nas a free map!"
],
"speaker": "_"
}
]
}
]
},
{
"id": 14,
"name": "140_Pre-Battle Warning",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
"commands": [
{
"id": 0,
"comment": "",
"type": "message",
"data": [
"*After this training, the final battle will begin.\n*Any characters who are pregnant will fall to\ncorruption after the ending. *Also, if you lose\nthe final battle, you'll get a bad ending. *Please\nbe careful."
],
"speaker": "_"
}
]
}
]
}
]

View file

@ -1,7 +1,7 @@
[
{
"id": 0,
"name": "エロアイテム交換所",
"name": "Erotic Item Exchange",
"desc": ""
}
]

View file

@ -0,0 +1 @@
[]

View file

@ -0,0 +1 @@
[]

View file

@ -0,0 +1 @@
[]

View file

@ -0,0 +1,73 @@
[
{
"id": 0,
"name": "Training Explanation",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
"commands": [
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"Training is done by spending training points.\nYou gain 1 training point each time you defeat\nan enemy.\nDefeat enemies to collect training points and\ntrain the girls. *You can check your current\ntraining points in \"Check Objectives.\""
]
}
]
}
]
},
{
"id": 1,
"name": "Childbirth Not Possible",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
"commands": [
{
"id": 0,
"comment": "",
"type": "message",
"data": [
"You can't give birth immediately after getting\npregnant. You'll be able to give birth after\nclearing the next map."
],
"speaker": "_"
}
]
}
]
},
{
"id": 2,
"name": "Not Enough Training x",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
"commands": [
{
"id": 0,
"comment": "",
"type": "message",
"data": [
"You don't have enough training sessions left to\nperform this training."
],
"speaker": "_"
}
]
}
]
}
]

View file

@ -1,402 +1,800 @@
[
{
"id": 77,
"name": "性処理当番の解禁",
"desc": "レナを性処理当番にし、ヤリまくります"
"name": "Sex Duty Unlocked",
"desc": "Make Lena the sex duty girl and fuck her as much\nas you want.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{only: true,'actorName':'レナ'}"
},
{
"id": 78,
"name": "性処理当番の解禁",
"desc": "レナを性処理当番にし、ヤリまくります"
"name": "Sex Duty Unlocked",
"desc": "Make Lena the sex duty girl and fuck her as much\nas you want.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{'actorName':'レナ'}"
},
{
"id": 56,
"name": "シャルロット調教",
"desc": "シャルロットを輪姦してLvを上げます"
"name": "Charlotte Training",
"desc": "Gangbang Charlotte to level her up.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": ""
},
{
"id": 71,
"name": "シャルロット快楽",
"desc": "シャルロットに快楽を味あわせて調教します"
"name": "Charlotte Pleasure",
"desc": "Train Charlotte by making her experience pleasure.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{name:'Charlotte Pleasure'}"
},
{
"id": 72,
"name": "シャルロット快楽",
"desc": "シャルロットに快楽を味あわせて調教します"
"name": "Charlotte Pleasure",
"desc": "Train Charlotte by making her experience pleasure.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{name:'Charlotte Pleasure Training'}"
},
{
"id": 73,
"name": "シャルロット売春",
"desc": "シャルロットに強制的に売春させます"
"name": "Charlotte Prostitution",
"desc": "Force Charlotte into prostitution.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{name:'Charlotte Forced Prostitution'}"
},
{
"id": 74,
"name": "シャルロット売春",
"desc": "シャルロットに強制的に売春させます"
"name": "Charlotte Prostitution",
"desc": "Force Charlotte into prostitution.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{name:'Charlotte Forced Prostitution'}"
},
{
"id": 75,
"name": "シャルロット会議",
"desc": "作戦会議中にシャルロットを襲います"
"name": "Charlotte Meeting",
"desc": "Attack Charlotte during the strategy meeting.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{name:'Charlotte Crashes the Meeting'}"
},
{
"id": 76,
"name": "シャルロット会議",
"desc": "作戦会議中にシャルロットを襲います"
"name": "Charlotte Meeting",
"desc": "Attack Charlotte during the strategy meeting.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{name:'Charlotte Crashes the Meeting'}"
},
{
"id": 57,
"name": "シャルロット出産",
"desc": "シャルロットに出産させます"
"name": "Charlotte Childbirth",
"desc": "Make Charlotte give birth.",
"rewardData": null,
"customParameters": ""
},
{
"id": 63,
"name": "クリス種付け調教",
"desc": "クリスに種付けしてLvを上げます"
"name": "Chris Breeding Training",
"desc": "Breed Chris to level him up.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{'actorName':'クリス'}"
},
{
"id": 64,
"name": "2人の王女の調教",
"desc": "クリスとシャルロットを合わせて調教します"
"name": "Training the Two Princesses",
"desc": "Train Chris and Charlotte together.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'クリス'}"
},
{
"id": 65,
"name": "2人の王女の調教",
"desc": "クリスとシャルロットを合わせて調教します"
"name": "Training the Two Princesses",
"desc": "Train Chris and Charlotte together.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{'actorName':'クリス'}"
},
{
"id": 66,
"name": "クリスの騎乗位調教",
"desc": "クリスに自分から腰を振らせて調教します"
"name": "Chris Cowgirl Training",
"desc": "Train Chris by making him move his hips on his\nown.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'クリス'}"
},
{
"id": 67,
"name": "クリスの騎乗位調教",
"desc": "クリスに自分から腰を振らせて調教します"
"name": "Chris Cowgirl Training",
"desc": "Train Chris by making him move his hips on his\nown.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{'actorName':'クリス'}"
},
{
"id": 68,
"name": "クリスの浮気",
"desc": "ジャコモに調教され続けるクリス。だがそこにダレスが…"
"name": "Chris's Cheating",
"desc": "Chris continues to be trained by Giacomo. But then\nDalles appears...",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'クリス'}"
},
{
"id": 69,
"name": "クリスの浮気",
"desc": "ジャコモに調教され続けるクリス。だがそこにダレスが…"
"name": "Chris's Cheating",
"desc": "Chris continues to be trained by Giacomo. But then\nDalles appears...",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{'actorName':'クリス'}"
},
{
"id": 70,
"name": "クリス出産",
"desc": "クリスに出産させます"
"name": "Chris Childbirth",
"desc": "Make Chris give birth.",
"rewardData": null,
"customParameters": "{'actorName':'クリス'}"
},
{
"id": 2,
"name": "レナ輪姦",
"desc": "レナを輪姦して服従させ、仲間にします"
"name": "Lena Gangbang",
"desc": "Gangbang Lena to break her and make her your ally.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{only: true,'actorName':'レナ'}"
},
{
"id": 5,
"name": "レナ調教",
"desc": "レナを輪姦してLvを上げます"
"name": "Lena Training",
"desc": "Gangbang Lena to level her up.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{'actorName':'レナ'}"
},
{
"id": 20,
"name": "レナ2穴調教",
"desc": "レナを2穴で責めて調教します"
"name": "Lena Double Penetration Training",
"desc": "Train Lena by double-penetrating her.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'レナ'}"
},
{
"id": 21,
"name": "レナ2穴調教",
"desc": "レナを2穴で責めて調教します"
"name": "Lena Double Penetration Training",
"desc": "Train Lena by double-penetrating her.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{'actorName':'レナ'}"
},
{
"id": 22,
"name": "レナヤリ部屋調教",
"desc": "レナをヤリ部屋に連れ込んで精液を無理やり飲ませます"
"name": "Lena Fuck Room Training",
"desc": "Drag Lena into the fuck room and force her to\nswallow cum.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'レナ'}"
},
{
"id": 23,
"name": "レナヤリ部屋調教",
"desc": "レナをヤリ部屋に連れ込んで精液を無理やり飲ませます"
"name": "Lena Fuck Room Training",
"desc": "Drag Lena into the fuck room and force her to\nswallow cum.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{'actorName':'レナ'}"
},
{
"id": 24,
"name": "レナ出産",
"desc": "レナに出産させます"
"name": "Lena Childbirth",
"desc": "Make Lena give birth.",
"rewardData": null,
"customParameters": "{'actorName':'レナ'}"
},
{
"id": 3,
"name": "コルネ輪姦",
"desc": "コルネを輪姦して服従させ、仲間にします"
"name": "Corne Gangbang",
"desc": "Gangbang Corne to break her and make her your\nally.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{only: true,\r\n'actorName':'コルネ'}"
},
{
"id": 4,
"name": "コルネ調教",
"desc": "コルネを輪姦してLvを上げます"
"name": "Corne Training",
"desc": "Gangbang Corne to level her up.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{'actorName':'コルネ'}"
},
{
"id": 25,
"name": "コルネ2穴調教",
"desc": "コルネを2穴で責めて調教します"
"name": "Corne Double Penetration Training",
"desc": "Train Corne by double-penetrating her.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'コルネ'}"
},
{
"id": 26,
"name": "コルネ2穴調教",
"desc": "コルネを2穴で責めて調教します"
"name": "Corne Double Penetration Training",
"desc": "Train Corne by double-penetrating her.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'コルネ'}"
},
{
"id": 39,
"name": "コルネ晒し者調教",
"desc": "コルネを村で晒し者にして調教します"
"name": "Corne Scapegoat Training",
"desc": "Train Corne by making her a public scapegoat in\nthe village.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'コルネ'}"
},
{
"id": 40,
"name": "コルネ晒し者調教",
"desc": "コルネを村で晒し者にして調教します"
"name": "Corne Scapegoat Training",
"desc": "Train Corne by making her a public scapegoat in\nthe village.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'コルネ'}"
},
{
"id": 27,
"name": "コルネ出産",
"desc": "コルネに出産させます"
"name": "Corne Childbirth",
"desc": "Make Corne give birth.",
"rewardData": null,
"customParameters": "{'actorName':'コルネ'}"
},
{
"id": 7,
"name": "サリア輪姦",
"desc": "サリアを輪姦して服従させ、仲間にします"
"name": "Saria Gangbang",
"desc": "Gangbang Saria to break her and make her your\nally.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{only: true,\r\n'actorName':'サリア'}"
},
{
"id": 14,
"name": "サリア調教",
"desc": "サリアを輪姦してLvを上げます"
"name": "Saria Training",
"desc": "Gangbang Saria to level her up.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{'actorName':'サリア'}"
},
{
"id": 29,
"name": "サリア2穴調教",
"desc": "サリアを2穴で責めて調教します"
"name": "Saria Double Penetration Training",
"desc": "Train Saria by double-penetrating her.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'サリア'}"
},
{
"id": 30,
"name": "サリア2穴調教",
"desc": "サリアを2穴で責めて調教します"
"name": "Saria Double Penetration Training",
"desc": "Train Saria by double-penetrating her.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'サリア'}"
},
{
"id": 43,
"name": "サリア売春調教",
"desc": "サリアを売春宿で働かせて調教します"
"name": "Saria Prostitution Training",
"desc": "Train Saria by making her work at the brothel.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'サリア'}"
},
{
"id": 44,
"name": "サリア売春調教",
"desc": "サリアを売春宿で働かせて調教します"
"name": "Saria Prostitution Training",
"desc": "Train Saria by making her work at the brothel.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'サリア'}"
},
{
"id": 28,
"name": "サリア出産",
"desc": "サリアに出産させます"
"name": "Saria Childbirth",
"desc": "Make Saria give birth.",
"rewardData": null,
"customParameters": "{'actorName':'サリア'}"
},
{
"id": 8,
"name": "メル輪姦",
"desc": "メルを輪姦して服従させ、仲間にします"
"name": "Mel Gangbang",
"desc": "Gangbang Mel to break her and make her your ally.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{only: true,\r\n'actorName':'メル'}"
},
{
"id": 11,
"name": "メル調教",
"desc": "メルを輪姦してLvを上げます"
"name": "Mel Training",
"desc": "Gangbang Mel to level her up.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{'actorName':'メル'}"
},
{
"id": 31,
"name": "メルボテ腹調教",
"desc": "ボテ腹のメルを調教します"
"name": "Mel Pregnant Belly Training",
"desc": "Train pregnant Mel.",
"rewardData": [
"",
"Required Cost",
"Pregnant belly required"
],
"customParameters": "{'actorName':'メル'}"
},
{
"id": 33,
"name": "メルボテ腹調教",
"desc": "ボテ腹のメルを調教します"
"name": "Mel Pregnant Belly Training",
"desc": "Train pregnant Mel.",
"rewardData": [
"",
"Required Cost",
"Pregnant belly required"
],
"customParameters": "{'actorName':'メル'}"
},
{
"id": 41,
"name": "メル乳搾り調教",
"desc": "メルの乳搾りをして調教します"
"name": "Mel Breast Milking Training",
"desc": "Train Mel by milking her breasts.",
"rewardData": [
"",
"Required Cost",
"Pregnant belly required",
"Required Training x"
],
"customParameters": "{'actorName':'メル'}"
},
{
"id": 42,
"name": "メル乳搾り調教",
"desc": "メルの乳搾りをして調教します"
"name": "Mel Breast Milking Training",
"desc": "Train Mel by milking her breasts.",
"rewardData": [
"",
"Required Cost",
"Pregnant belly required",
"Required Training x"
],
"customParameters": "{'actorName':'メル'}"
},
{
"id": 32,
"name": "メル出産",
"desc": "メルに出産させます"
"name": "Mel Childbirth",
"desc": "Make Mel give birth.",
"rewardData": null,
"customParameters": "{'actorName':'メル'}"
},
{
"id": 9,
"name": "シェリー輪姦",
"desc": "シェリーを輪姦して服従させ、仲間にします"
"name": "Sherry Gangbang",
"desc": "Gangbang Sherry to break her and make her your\nally.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{only: true,\r\n'actorName':'シェリー'}"
},
{
"id": 15,
"name": "シェリー調教",
"desc": "シェリーを輪姦してLvを上げます"
"name": "Sherry Training",
"desc": "Gangbang Sherry to level her up.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{'actorName':'シェリー'}"
},
{
"id": 35,
"name": "シェリー2穴調教",
"desc": "シェリーを2穴で責めて調教します"
"name": "Sherry Double Penetration Training",
"desc": "Train Sherry by double-penetrating her.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'シェリー'}"
},
{
"id": 36,
"name": "シェリー2穴調教",
"desc": "シェリーを2穴で責めて調教します"
"name": "Sherry Double Penetration Training",
"desc": "Train Sherry by double-penetrating her.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'シェリー'}"
},
{
"id": 37,
"name": "シェリー結婚式",
"desc": "シェリーに夫婦の契りを交わさせます"
"name": "Sherry Wedding",
"desc": "Make Sherry perform a marriage ritual.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'シェリー'}"
},
{
"id": 38,
"name": "シェリー結婚式",
"desc": "シェリーに夫婦の契りを交わさせます"
"name": "Sherry Wedding",
"desc": "Make Sherry perform a marriage ritual.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'シェリー'}"
},
{
"id": 34,
"name": "シェリー出産",
"desc": "シェリーに出産させます"
"name": "Sherry Childbirth",
"desc": "Make Sherry give birth.",
"rewardData": null,
"customParameters": "{'actorName':'シェリー'}"
},
{
"id": 10,
"name": "ルゥ輪姦",
"desc": "ルゥを輪姦して服従させ、仲間にします"
"name": "Lou Gangbang",
"desc": "Gangbang Lou to break her and make her your ally.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{only: true,\r\n'actorName':'ルゥ'}"
},
{
"id": 16,
"name": "ルゥ調教",
"desc": "ルゥを輪姦してLvを上げます"
"name": "Lou Training",
"desc": "Gangbang Lou to level her up.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{'actorName':'ルゥ'}"
},
{
"id": 45,
"name": "ルゥ種付け調教",
"desc": "ルゥに何度も種付けをして調教します"
"name": "Lou Breeding Training",
"desc": "Train Lou by breeding her over and over.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'ルゥ'}"
},
{
"id": 46,
"name": "ルゥ種付け調教",
"desc": "ルゥに何度も種付けをして調教します"
"name": "Lou Breeding Training",
"desc": "Train Lou by breeding her over and over.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'ルゥ'}"
},
{
"id": 48,
"name": "ルゥボテ腹調教",
"desc": "ボテ腹となったルゥを調教します"
"name": "Lou Pregnant Belly Training",
"desc": "Train Lou after making her pregnant.",
"rewardData": [
"",
"Required Cost",
"Required Training x",
"Pregnant belly required"
],
"customParameters": "{'actorName':'ルゥ'}"
},
{
"id": 49,
"name": "ルゥボテ腹調教",
"desc": "ボテ腹となったルゥを調教します"
"name": "Lou Pregnant Belly Training",
"desc": "Train Lou after making her pregnant.",
"rewardData": [
"",
"Required Cost",
"Required Training x",
"Pregnant belly required"
],
"customParameters": "{'actorName':'ルゥ'}"
},
{
"id": 47,
"name": "ルゥ出産",
"desc": "ルゥに出産させます"
"name": "Lou Childbirth",
"desc": "Make Lou give birth.",
"rewardData": null,
"customParameters": "{'actorName':'ルゥ'}"
},
{
"id": 0,
"name": "タバサ輪姦",
"desc": "タバサを輪姦して服従させ、仲間にします"
"name": "Tabatha Gangbang",
"desc": "Gangbang Tabatha to break her and make her your\nally.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{only: true,\r\n'actorName':'タバサ'}"
},
{
"id": 18,
"name": "タバサ調教",
"desc": "タバサを輪姦してLvを上げます"
"name": "Tabatha Training",
"desc": "Gangbang Tabatha to level her up.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{'actorName':'タバサ'}"
},
{
"id": 50,
"name": "タバサムチ調教",
"desc": "タバサをムチで責めて調教します"
"name": "Tabatha Whip Training",
"desc": "Discipline Tabatha with a whip.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'タバサ'}"
},
{
"id": 51,
"name": "タバサムチ調教",
"desc": "タバサをムチで責めて調教します"
"name": "Tabatha Whip Training",
"desc": "Discipline Tabatha with a whip.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'タバサ'}"
},
{
"id": 52,
"name": "タバサボテ腹調教",
"desc": "ボテ腹のタバサを調教します"
"name": "Tabatha Pregnant Belly Training",
"desc": "Train pregnant Tabatha.",
"rewardData": [
"",
"Required Cost",
"Pregnant belly required"
],
"customParameters": "{'actorName':'タバサ'}"
},
{
"id": 53,
"name": "タバサボテ腹調教",
"desc": "ボテ腹のタバサを調教します"
"name": "Tabatha Pregnant Belly Training",
"desc": "Train pregnant Tabatha.",
"rewardData": [
"",
"Required Cost",
"Pregnant belly required"
],
"customParameters": "{'actorName':'タバサ'}"
},
{
"id": 54,
"name": "タバサ出産",
"desc": "タバサに出産させます"
"name": "Tabatha Childbirth",
"desc": "Make Tabatha give birth.",
"rewardData": null,
"customParameters": "{'actorName':'タバサ'}"
},
{
"id": 6,
"name": "カエデ調教",
"desc": "カエデを輪姦してLvを上げます"
"name": "Kaede Training",
"desc": "Gangbang Kaede to level her up.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{'actorName':'カエデ'}"
},
{
"id": 13,
"name": "カエデ輪姦",
"desc": "カエデを輪姦して服従させ、仲間にします"
"name": "Kaede Gangbang",
"desc": "Gangbang Kaede to break her and make her your\nally.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{only: true,\r\n'actorName':'カエデ'}"
},
{
"id": 58,
"name": "カエデ出産",
"desc": "カエデに出産させます"
"name": "Kaede Childbirth",
"desc": "Make Kaede give birth.",
"rewardData": null,
"customParameters": "{'actorName':'カエデ'}"
},
{
"id": 12,
"name": "ティナ輪姦",
"desc": "ティナを輪姦して服従させ、仲間にします"
"name": "Tina Gangbang",
"desc": "Gangbang Tina to break her and make her your ally.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{only: true,\r\n'actorName':'ティナ'}"
},
{
"id": 19,
"name": "ティナ調教",
"desc": "ティナを輪姦してLvを上げます"
"name": "Tina Training",
"desc": "Gangbang Tina to level her up.",
"rewardData": [
"",
"Required Cost"
],
"customParameters": "{'actorName':'ティナ'}"
},
{
"id": 59,
"name": "ティナ公開調教",
"desc": "ティナを村人の前で調教します"
"name": "Tina Public Training",
"desc": "Train Tina in front of the villagers.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'ティナ'}"
},
{
"id": 60,
"name": "ティナ公開調教",
"desc": "ティナを村人の前で調教します"
"name": "Tina Public Training",
"desc": "Train Tina in front of the villagers.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'ティナ'}"
},
{
"id": 61,
"name": "ティナとルゥ調教",
"desc": "ティナとルゥを同時に調教します"
"name": "Tina and Lou Training",
"desc": "Train Tina and Lou at the same time.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'ティナ'}"
},
{
"id": 62,
"name": "ティナとルゥ調教",
"desc": "ティナとルゥを同時に調教します"
"name": "Tina and Lou Training",
"desc": "Train Tina and Lou at the same time.",
"rewardData": [
"",
"Required Cost",
"Required Training x"
],
"customParameters": "{'actorName':'ティナ'}"
},
{
"id": 55,
"name": "ティナ出産",
"desc": "ティナに出産させます"
"name": "Tina Childbirth",
"desc": "Make Tina give birth.",
"rewardData": null,
"customParameters": "{'actorName':'ティナ'}"
},
{
"id": 1,
"name": "国境付近の村",
"desc": "国境付近の村を攻撃し、資金を稼ぎます"
"name": "Village Near the Border",
"desc": "Attack the village near the border to earn funds.",
"rewardData": null,
"customParameters": ""
},
{
"id": 79,
"name": "鉱山麓の村",
"desc": "鉱山麓の村を攻撃し、資金を稼ぎます"
"name": "Village at the Foot of the Mine",
"desc": "Attack the village at the foot of the mine to earn\nfunds.",
"rewardData": null,
"customParameters": ""
},
{
"id": 17,
"name": "デバッグマップ",
"desc": ""
"name": "Debug Map",
"desc": "",
"rewardData": null,
"customParameters": ""
}
]

View file

@ -1,7 +1,7 @@
[
{
"id": 0,
"name": "ショップ",
"name": "Shop",
"desc": ""
}
]

View file

@ -0,0 +1 @@
[]

View file

@ -1,62 +1,62 @@
[
{
"commandName": "ユニット一覧"
"commandName": "Unit List"
},
{
"commandName": "情報収集"
"commandName": "Collect Info"
},
{
"commandName": "調教部屋"
"commandName": "Training Room"
},
{
"commandName": "フリーマップ"
"commandName": "Free Map"
},
{
"commandName": "ショップ一覧"
"commandName": "Shop List"
},
{
"commandName": "ボーナス交換"
"commandName": "Bonus Exchange"
},
{
"commandName": "コンフィグ"
"commandName": "Config"
},
{
"commandName": "ユニット概要"
"commandName": "Unit Overview"
},
{
"commandName": "スキル一覧"
"commandName": "Skill List"
},
{
"commandName": "スイッチ調整"
"commandName": "Switch Settings"
},
{
"commandName": "変数調整"
"commandName": "Variable Settings"
},
{
"commandName": "エクストラ"
"commandName": "Extra"
},
{
"commandName": "シーン回想"
"commandName": "Scene Replay"
},
{
"commandName": "キャラクター解説"
"commandName": "Character Guide"
},
{
"commandName": "用語解説"
"commandName": "Glossary"
},
{
"commandName": "ギャラリー"
"commandName": "Gallery"
},
{
"commandName": "サウンドルーム"
"commandName": "Sound Room"
},
{
"commandName": "セーブ"
"commandName": "Save"
},
{
"commandName": "ロード"
"commandName": "Load"
},
{
"commandName": "次のマップへ"
"commandName": "To Next Map"
}
]

View file

@ -1,68 +1,68 @@
[
{
"commandName": "ユニットメニュー"
"commandName": "Unit Menu"
},
{
"commandName": "目標確認"
"commandName": "Objectives"
},
{
"commandName": "会話"
"commandName": "Conversation"
},
{
"commandName": "出撃メンバー決定"
"commandName": "Select Sortie Members"
},
{
"commandName": "環境"
"commandName": "Settings"
},
{
"commandName": "会話確認"
"commandName": "Review Conversation"
},
{
"commandName": "ユニット概要"
"commandName": "Unit Overview"
},
{
"commandName": "スキル一覧"
"commandName": "Skill List"
},
{
"commandName": "スイッチ調整"
"commandName": "Switch Settings"
},
{
"commandName": "変数調整"
"commandName": "Variable Settings"
},
{
"commandName": "ショップ一覧"
"commandName": "Shop List"
},
{
"commandName": "ショップ"
"commandName": "Shop"
},
{
"commandName": "ボーナス交換"
"commandName": "Bonus Exchange"
},
{
"commandName": "エクストラ"
"commandName": "Extra"
},
{
"commandName": "シーン回想"
"commandName": "Scene Replay"
},
{
"commandName": "キャラクター解説"
"commandName": "Character Guide"
},
{
"commandName": "戦いの記録"
"commandName": "Battle Records"
},
{
"commandName": "ギャラリー"
"commandName": "Gallery"
},
{
"commandName": "サウンドルーム"
"commandName": "Sound Room"
},
{
"commandName": "ロード"
"commandName": "Load"
},
{
"commandName": "セーブ"
"commandName": "Save"
},
{
"commandName": "出撃開始"
"commandName": "Begin Sortie"
}
]

View file

@ -1,8 +1,8 @@
[
{
"commandName": "ショップ"
"commandName": "Shop"
},
{
"commandName": "ボーナス交換"
"commandName": "Bonus Exchange"
}
]

View file

@ -1,62 +1,62 @@
[
{
"commandName": "セーブ"
"commandName": "Save"
},
{
"commandName": "ロード"
"commandName": "Load"
},
{
"commandName": "情報収集"
"commandName": "Collect Info"
},
{
"commandName": "目標確認"
"commandName": "Objectives"
},
{
"commandName": "コンフィグ"
"commandName": "Config"
},
{
"commandName": "会話確認"
"commandName": "Conversation Log"
},
{
"commandName": "ユニット概要"
"commandName": "Unit Overview"
},
{
"commandName": "ギブアップ"
"commandName": "Give Up"
},
{
"commandName": "スイッチ調整"
"commandName": "Switch Settings"
},
{
"commandName": "変数調整"
"commandName": "Variable Settings"
},
{
"commandName": "ショップ一覧"
"commandName": "Shop List"
},
{
"commandName": "ショップ"
"commandName": "Shop"
},
{
"commandName": "ボーナス交換"
"commandName": "Bonus Exchange"
},
{
"commandName": "エクストラ"
"commandName": "Extra"
},
{
"commandName": "シーン回想"
"commandName": "Scene Replay"
},
{
"commandName": "キャラクター解説"
"commandName": "Character Guide"
},
{
"commandName": "戦いの記録"
"commandName": "Battle Record"
},
{
"commandName": "ギャラリー"
"commandName": "Gallery"
},
{
"commandName": "サウンドルーム"
"commandName": "Sound Room"
},
{
"commandName": "ターン終了"
"commandName": "End Turn"
}
]

View file

@ -1,32 +1,32 @@
[
{
"commandName": "最初から始める"
"commandName": "New Game"
},
{
"commandName": "続きから始める"
"commandName": "Continue"
},
{
"commandName": "コンフィグ"
"commandName": "Config"
},
{
"commandName": "エクストラ"
"commandName": "Extra"
},
{
"commandName": "シーン回想"
"commandName": "Scene Replay"
},
{
"commandName": "キャラクター解説"
"commandName": "Character Guide"
},
{
"commandName": "用語解説"
"commandName": "Glossary"
},
{
"commandName": "ギャラリー"
"commandName": "Gallery"
},
{
"commandName": "サウンドルーム"
"commandName": "Sound Room"
},
{
"commandName": "終了する"
"commandName": "Quit"
}
]

View file

@ -1,10 +1,10 @@
[
{
"id": 0,
"command": "襲う"
"command": "Attack"
},
{
"id": 1,
"command": "調教終了"
"command": "Training complete"
}
]

View file

@ -1,6 +1,6 @@
[
{
"id": 0,
"command": "会話"
"command": "Conversation"
}
]

View file

@ -1,130 +1,130 @@
[
{
"id": 1,
"name": "シャルロット",
"desc": "シャルロット",
"name": "Charlotte",
"desc": "Charlotte",
"pages": [
"セントラル王国の第二王女。姉にカーラがいる。\n知略にすぐれ、多くの国をまきこんだ先の大戦で\nはその用兵で多大な戦果をあげた。現国王の父親\nからも目置かれ、王位継承は姉のカーラではなく\nシャルロットだという噂もあり。\n\n特技綱渡り\n趣味弦楽器の調整全般"
"The second princess of the Central Kingdom. Her\nolder sister is Karla. She excels in strategy and\nachieved great military results in the recent war\nthat involved many nations. Even her father, the\ncurrent king, holds her in high regard, and there\nare rumors that Charlotte, not her sister Karla,\nwill inherit the throne. Special skill: Tightrope\nwalking Hobby: Tuning string instruments in\ngeneral"
]
},
{
"id": 2,
"name": "クリス",
"desc": "クリス",
"name": "Chris",
"desc": "Chris",
"pages": [
"神聖ファイスト王国の王女。セントラル王国とは友\n好関係にあり、シャルロットとも婚約関係にある。\n政略結婚のため、急遽男子として育てられることと\nなり、自分のことをボクと呼んでいる。\n\n特技創作料理\n趣味犬の調練"
"Princess of the Holy Faist Kingdom. She has a\nfriendly relationship with the Central Kingdom and\nis engaged to Charlotte. Because it was a\npolitical marriage, she was suddenly raised as a\nboy and refers to herself as 'boku.' Special\nskill: Creative cooking Hobby: Training dogs"
]
},
{
"id": 3,
"name": "レナ",
"desc": "レナ",
"name": "Lena",
"desc": "Lena",
"pages": [
"シャルロットにつき従う騎士。女性でありながら\n戦功を立て、また歳も近い事から、シャルロット\nの護衛を任される事になる。\nシャルロットに対して崇拝にも近い感情を抱いて\nいるが、時折いきすぎて暴走する。\n初対面からしばらくはシャルロットと非常に仲が\n悪かった。\n\n特技:単騎突撃\n趣味:シャルロット様"
"A knight who serves Charlotte. Despite being a\nwoman, she has distinguished herself in battle\nand, being close in age, was entrusted with\nguarding Charlotte. She harbors feelings for\nCharlotte that border on worship, but sometimes\ngoes overboard and loses control. For a while\nafter their first meeting, she and Charlotte got\nalong very poorly. Special skill: Solo charges\nHobby: Charlotte-sama"
]
},
{
"id": 4,
"name": "カーラ",
"desc": "カーラ",
"name": "Karla",
"desc": "Karla",
"pages": [
"セントラル王国の第一王女。シャルロットの姉。\n強大な魔力を持つ王国随一の魔導師でもある。\nカーラの率いる銀十字黒薔薇騎士団は、その勇猛\n苛烈ぶりで名を馳せた王国の筆頭騎士団。\n自他ともに厳しく人を寄せ付けない雰囲気の女性。"
"The first princess of the Central Kingdom.\nCharlotte's older sister. She is also the\nkingdom's most powerful mage, possessing immense\nmagical power. The Silver Cross Black Rose Knights\nled by Karla are the kingdom's foremost knight\norder, famed for their ferocity and valor. She is\nstrict with herself and others, giving off an\nunapproachable aura."
]
},
{
"id": 5,
"name": "ジャコモ",
"desc": "ジャコモ",
"name": "Giacomo",
"desc": "Giacomo",
"pages": [
"セントラル王国の重臣。\n貴族としては新興だが財力を背景に強引な方法で\n権力基盤を固め、王国に根を張る寄生虫。\n病的に肥大したエゴの持ち主であり、自己の欲求\n充足の為に躊躇なく他者を踏みつける。"
"A high-ranking official of the Central Kingdom.\nThough a newly risen noble, he has used his wealth\nand forceful methods to solidify his power base,\nbecoming a parasite entrenched in the kingdom. He\nhas a pathologically inflated ego and tramples\nothers without hesitation to satisfy his own\ndesires."
]
},
{
"id": 11,
"name": "ルリエル",
"desc": "ルリエル",
"name": "Luriel",
"desc": "Luriel",
"pages": [
"地上を徘徊し人を惑わす悪魔。サキュバス。\n手ずから人間の精力を搾るより、人間女性の性感\nに共振し魔力を生み出す特殊な吸精方法を好む。\n数々の特殊な性感魔法を使用でき、男性への\n魅了、女性への束縛が特に強力。"
"A demon who roams the surface and seduces humans―a\nsuccubus. Rather than draining men's energy\ndirectly, she prefers a special method of\nabsorbing magic by resonating with the pleasure of\nhuman women. She can use a variety of unique\npleasure magic, with especially powerful charm\nagainst men and binding against women."
]
},
{
"id": 12,
"name": "ダレス",
"desc": "ダレス",
"name": "Dalles",
"desc": "Dalles",
"pages": [
"セントラル王国内にアジトを持つダレス山賊団の\n頭目。\nダレスに捕まった女性は例外なく孕まされる\nとして近辺の村々から恐れられている。\n冷酷かつ残忍な気性の持ち主で、プライドを\n傷つけた相手には執拗苛烈に報復を行う。"
"Leader of the Dalles bandit gang, whose hideout is\nwithin the Central Kingdom. Women captured by\nDalles are said to be impregnated without\nexception, making him feared by nearby villages.\nHe is cold, ruthless, and relentless in his\nrevenge against anyone who wounds his pride."
]
},
{
"id": 13,
"name": "マジード",
"desc": "マジード",
"name": "Majid",
"desc": "Majid",
"pages": [
"ダレス山賊団の副団長。\nダレスに次ぐ力の持ち主で、満遍なくなんでも\nこなす器用な男。\n小心だが率直でもあり、山賊団内では潤滑油と\nして機能している。\n数年前に熱病で死にかけ、生還こそしたものの\n代償として性的不能となった。"
"The vice-leader of the Dalles bandit gang. Second\nonly to Dalles in strength, he is a versatile man\nwho can handle anything. Though timid, he is also\nstraightforward and serves as the lubricant within\nthe gang. A few years ago, he nearly died of a\nfever; though he survived, he became sexually\nimpotent as a result."
]
},
{
"id": 6,
"name": "コルネ",
"desc": "コルネ",
"name": "Corne",
"desc": "Corne",
"pages": [
"セントラル王国の南の外れにあるバタール村出身の\nアーマーナイト。小さな体に似合わない力があり、\n父親譲りの重装鎧を難なく着こなして幾度となく\n村を賊から守ってきた。\n三軒隣のジョーイ君の事が少し気になっている。\n\n特技:字が読める事\n趣味:美味しいパンを焼き、美味しくパンを食べる事"
"An Armor Knight from Bataar Village on the\nsouthern edge of the Central Kingdom. She has\nstrength that belies her small frame and, thanks\nto her father, wears heavy armor with ease, having\nprotected her village from bandits many times.\nShe's a little interested in Joey, the boy three\nhouses down. Special skill: Can read and write\nHobby: Baking delicious bread and eating it"
]
},
{
"id": 7,
"name": "サリア",
"desc": "サリア",
"name": "Saria",
"desc": "Saria",
"pages": [
"セントラル王国内の隠れ里に住むエルフの一人。\n元は戦禍に翻弄される無力な少女だったが、\n弓の腕を活かして傭兵として身を立て、戦場で\n数々の武功を立てた。\n現在はセントラル王国に雇われ、部隊を率いて\n日夜賊と戦っている。\n皮肉屋で冷笑的な態度をとるが、面倒見がいい\nため部下達からは人気がある。\n\n特技:日中でも星が見える\n趣味:詩吟(絶対に見せてくれない)"
"An elf living in a hidden village within the\nCentral Kingdom. Once a powerless girl tossed\nabout by war, she made a name for herself as a\nmercenary thanks to her archery skills, achieving\nmany feats on the battlefield. She is currently\nemployed by the Central Kingdom, leading a unit\nand fighting bandits day and night. Though\nsarcastic and cynical, she is well-liked by her\nsubordinates for her caring nature. Special skill:\nCan see stars even during the day Hobby: Reciting\npoetry (absolutely will not show anyone)"
]
},
{
"id": 8,
"name": "メル",
"desc": "メル",
"name": "Mel",
"desc": "Mel",
"pages": [
"セントラル王国のダンタリアン魔術学院\n始まって以来の天才と謳われる優秀な魔術師。\n数々の斬新な魔術理論を発見し、今では最も\n権威ある王国魔術協会で論文の審査員にまで\n名を連ねている。\n孤高の天才としても知られ、殆どの研究を\n研究室に籠って一人で行う為、誰も彼女の\n研究方法は知らないらしい。\n\n特技:平日を何もせずに過ごす事\n趣味:休日を何もせずに過ごす事"
"A brilliant mage of the Dantalian Magic Academy in\nthe Central Kingdom, hailed as a genius since the\nacademy's founding. She has discovered many\ninnovative magical theories and now serves as a\nreviewer for papers at the kingdom's most\nprestigious magic association. Known as a solitary\ngenius, she conducts almost all her research alone\nin her lab, so no one knows her research methods.\nSpecial skill: Spending weekdays doing nothing\nHobby: Spending holidays doing nothing"
]
},
{
"id": 9,
"name": "シェリー",
"desc": "シェリー",
"name": "Sherry",
"desc": "Sherry",
"pages": [
"聖ミストラル教会の大司祭の娘。\nカエデに付き添われ、セントラル王国内の教会を\n視察して回っている。\n魔力ではなく信仰により奇跡を発現させる業を\n持ち、傷病を治癒して多くの人間を救ってきた。\n信者からは聖女とも称えられるが、当人は\nそう呼ばれる事を嫌がっている。\n\n特技:いつか身に着けたいです\n趣味:こっそり抜け出して買い食いする事"
"Daughter of the high priest of the Holy Mistral\nChurch. Accompanied by Kaede, she travels around\ninspecting churches within the Central Kingdom.\nShe can perform miracles through faith rather than\nmagic, healing the sick and injured and saving\nmany lives. Though called a saintess by believers,\nshe dislikes being called that. Special skill:\nSomething I hope to acquire someday Hobby:\nSneaking out to buy snacks"
]
},
{
"id": 10,
"name": "カエデ",
"desc": "カエデ",
"name": "Kaede",
"desc": "Kaede",
"pages": [
"はるか東の島国出身の剣士。\n戦闘のエキスパートで、黒髪の死神の異名をとる。\n気難しく付き合いづらいと評判だが、一度信を\n結んだ相手にはとことん尽くす信義の女性。\n今は聖ミストラル教会との契約によりシェリーの\n身の安全を守っているが、シェリーの事は契約と\n関係なく一人の人間として尊敬している。\n\n特技:十桁の暗算\n趣味:最近は、シェリーの買い食い履歴を\n   記録する事"
"A swordswoman from a distant eastern island\nnation. A combat expert known as the Black-Haired\nReaper. Though reputed to be difficult and hard to\nget along with, she is fiercely loyal to those she\ntrusts. Currently, she is contracted with the Holy\nMistral Church to protect Sherry, but she respects\nSherry as a person, regardless of the contract.\nSpecial skill: Mental arithmetic up to ten digits\nHobby: Lately, keeping a record of Sherry's snack\npurchases"
]
},
{
"id": 14,
"name": "ティナ",
"desc": "ティナ",
"name": "Tina",
"desc": "Tina",
"pages": [
"王国空兵騎団の団長。\nペガサスを操り、その素早い身のこなしと機動力を\n武器にし、カーラの元で数々の武勲を立てた。\nティナの指揮する王国空兵騎団は、他国からも\n恐れられている。\n厳しい口調で話すことがあるが、軍人となる前は\n優しいお姉さんとして近所で有名だった。\n\n特技:掃除洗濯家事全般\n趣味:ルゥの寝顔を覗き見ること"
"Commander of the kingdom's aerial cavalry. She\nrides a pegasus and has achieved many feats under\nKarla with her agility and mobility. The aerial\ncavalry led by Tina is feared even by other\nnations. Though she sometimes speaks harshly, she\nwas known as a kind older sister in her\nneighborhood before becoming a soldier. Special\nskill: All household chores, including cleaning\nand laundry Hobby: Watching Lou sleep"
]
},
{
"id": 15,
"name": "ルゥ",
"desc": "ルゥ",
"name": "Lou",
"desc": "Lou",
"pages": [
"ティナの妹のペガサスナイト。\n姉とは違い実戦経験もないが、才能は姉にも\n勝るとも劣らず、その馬術は黒薔薇騎士団も\n一目おく存在である。\nまた、明るく元気で仲間思いであり、\n部下の兵士たちからも広く慕われ、中には\nルゥに恋している兵も多数いるという。\n\n特技:動物の世話\n趣味:動物と遊ぶこと"
"Tina's younger sister, a Pegasus Knight. Unlike\nher sister, she has no real combat experience, but\nher talent is said to rival or even surpass\nTina's, and her horsemanship is respected even by\nthe Black Rose Knights. She is cheerful,\nenergetic, and cares deeply for her comrades,\nearning her the affection of many soldiers―some of\nwhom are in love with her. Special skill: Taking\ncare of animals Hobby: Playing with animals"
]
},
{
"id": 16,
"name": "タバサ",
"desc": "タバサ",
"name": "Tabatha",
"desc": "Tabatha",
"pages": [
"黒猫盗賊団の団長。\n危険を察知する嗅覚と卓越したナイフ術で、\n非力ながら高い戦闘力を誇る。\n基本的に盗みは腐った貴族階級からしか行わない\nという美学を持っており、それに賛同する\n盗賊たちから大きな信頼を得ている。\n団員は男ばかりだが、みだらな行いは謹んでいる。\n\n特技:鍵開け\n趣味:盗んだお金で近所の貧しい子に援助すること"
"Leader of the Black Cat Thieves. With a keen sense\nfor danger and exceptional knife skills, she\nboasts high combat ability despite her small\nstature. She has a code of only stealing from\ncorrupt nobles, earning the trust of like-minded\nthieves. Though her gang is all men, she forbids\nany lewd behavior. Special skill: Lockpicking\nHobby: Using stolen money to help poor\nneighborhood children"
]
}
]

View file

@ -1,7 +1,7 @@
[
{
"id": 0,
"name": "戦いの始まり",
"name": "The Beginning of Battle",
"desc": "",
"pages": [
""
@ -9,7 +9,7 @@
},
{
"id": 1,
"name": "脱獄開始",
"name": "Prison Break Begins",
"desc": "",
"pages": [
""
@ -17,7 +17,7 @@
},
{
"id": 2,
"name": "シバナ砦攻略",
"name": "Siege of Shibana Fortress",
"desc": "",
"pages": [
""
@ -25,7 +25,7 @@
},
{
"id": 3,
"name": "瘴気の森",
"name": "Miasma Forest",
"desc": "",
"pages": [
""
@ -33,7 +33,7 @@
},
{
"id": 4,
"name": "ペガサスの塔",
"name": "Pegasus Tower",
"desc": "",
"pages": [
""
@ -41,7 +41,7 @@
},
{
"id": 5,
"name": "ベルガ城攻略",
"name": "Siege of Belga Castle",
"desc": "",
"pages": [
""
@ -49,7 +49,7 @@
},
{
"id": 6,
"name": "ベルガ城防衛戦",
"name": "Belga Castle Defense",
"desc": "",
"pages": [
""
@ -57,15 +57,15 @@
},
{
"id": 7,
"name": "急襲! 黒猫盗賊団",
"desc": "急襲! 黒猫盗賊団",
"name": "Ambush! Black Cat Thieves",
"desc": "Ambush! Black Cat Thieves",
"pages": [
""
]
},
{
"id": 8,
"name": "船上の戦い",
"name": "Battle on the Ship",
"desc": "",
"pages": [
""
@ -73,32 +73,32 @@
},
{
"id": 9,
"name": "港での攻防戦",
"desc": "港での攻防戦",
"name": "Harbor Skirmish",
"desc": "Battle at the Port",
"pages": [
""
]
},
{
"id": 10,
"name": "王都奪還",
"desc": "王都奪還",
"name": "Recapture the Capital",
"desc": "Recapture the Royal Capital",
"pages": [
""
]
},
{
"id": 11,
"name": "カーラとの決戦",
"desc": "カーラとの決戦",
"name": "Final Showdown with Karla",
"desc": "Final Showdown with Karla",
"pages": [
""
]
},
{
"id": 12,
"name": "最終決戦",
"desc": "最終決戦",
"name": "The Final Battle",
"desc": "The Final Battle",
"pages": [
""
]

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -2,17 +2,17 @@
"id": 2,
"name": "ch99_コル調教",
"desc": "",
"mapName": "コルネの調教",
"mapName": "Corne's Training",
"victoryConds": [
"",
"",
"",
"全ての敵を倒せ!"
"Defeat all enemies!"
],
"defeatConds": [
"",
"",
"",
"主人公の死亡"
"Protagonist's death"
]
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -7,30 +7,30 @@
"",
"",
"",
"全ての敵を倒せ!"
"Defeat all enemies!"
],
"defeatConds": [
"",
"",
"",
"主人公の死亡"
"Protagonist's death"
],
"EnemyUnits": [
{
"id": 65536,
"name": "新規ユニット",
"name": "New Unit",
"desc": "",
"events": []
},
{
"id": 65537,
"name": "新規ユニット",
"name": "New Unit",
"desc": "",
"events": []
},
{
"id": 65538,
"name": "新規ユニット",
"name": "New Unit",
"desc": "",
"events": []
}
@ -38,8 +38,11 @@
"autoEvents": [
{
"id": 0,
"name": "新規イベント",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -51,7 +54,7 @@
"data": [
"\\va1[1]"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
}
]
}
@ -61,8 +64,11 @@
"openingEvents": [
{
"id": 0,
"name": "新規イベント",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -74,8 +80,11 @@
"communicationEvents": [
{
"id": 0,
"name": "新規イベント",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -87,7 +96,7 @@
"data": [
"uu"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
}
]
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,112 +1,112 @@
{
"id": 15,
"name": "ch9_脱獄開始",
"desc": "2人を救出し、収容所を脱出せよ!",
"mapName": "脱獄開始!",
"desc": "Rescue the two and escape the detention center!",
"mapName": "Prison Break Begins!",
"victoryConds": [
"2人を救出して守備隊長を撃破する",
"Rescue both and defeat the defense captain.",
"",
"",
"全ての敵を倒せ!"
"Defeat all enemies!"
],
"defeatConds": [
"シャルロットの敗北",
"Charlotte's Defeat",
"",
"",
"主人公の死亡"
"Protagonist's Death"
],
"EnemyUnits": [
{
"id": 65536,
"name": "王国兵",
"desc": "牢獄の守備兵。ルリエルの魔法で眠らされている",
"name": "Kingdom Soldier",
"desc": "Prison guard. Put to sleep by Luriel's magic.",
"events": []
},
{
"id": 65537,
"name": "王国兵",
"desc": "牢獄の守備兵。ルリエルの魔法で眠らされている",
"name": "Kingdom Soldier",
"desc": "Prison guard. Put to sleep by Luriel's magic.",
"events": []
}
],
"EvEnemyUnits": [
{
"id": 131075,
"name": "王国兵",
"desc": "牢獄の守備兵",
"name": "Kingdom Soldier",
"desc": "Prison guard",
"events": []
},
{
"id": 131072,
"name": "王国兵",
"desc": "牢獄の守備兵",
"name": "Kingdom Soldier",
"desc": "Prison guard",
"events": []
},
{
"id": 131073,
"name": "王国兵",
"desc": "牢獄の守備兵",
"name": "Kingdom Soldier",
"desc": "Prison guard",
"events": []
},
{
"id": 131074,
"name": "王国兵",
"desc": "牢獄の守備兵",
"name": "Kingdom Soldier",
"desc": "Prison guard",
"events": []
},
{
"id": 131076,
"name": "王国弓兵",
"desc": "牢獄の守備兵",
"name": "Kingdom Archer",
"desc": "Prison guard",
"events": []
},
{
"id": 131077,
"name": "王国弓兵",
"desc": "牢獄の守備兵",
"name": "Kingdom Archer",
"desc": "Prison guard",
"events": []
},
{
"id": 131078,
"name": "王国兵",
"desc": "牢獄の守備兵",
"name": "Kingdom Soldier",
"desc": "Prison guard",
"events": []
},
{
"id": 131079,
"name": "王国兵",
"desc": "牢獄の守備兵",
"name": "Kingdom Soldier",
"desc": "Prison guard",
"events": []
},
{
"id": 131080,
"name": "王国弓兵",
"desc": "牢獄の守備兵",
"name": "Kingdom Archer",
"desc": "Prison guard",
"events": []
},
{
"id": 131081,
"name": "王国守備隊長",
"desc": "牢獄の守備隊長",
"name": "Kingdom Defense Captain",
"desc": "Prison guard captain",
"events": []
},
{
"id": 131082,
"name": "王国守備兵",
"desc": "牢獄の守備兵",
"name": "Kingdom Guard",
"desc": "Prison guard",
"events": []
}
],
"AllyUnits": [
{
"id": 196608,
"name": "レナ",
"name": "Lena",
"desc": "",
"events": []
},
{
"id": 196609,
"name": "クリス",
"name": "Chris",
"desc": "",
"events": []
}
@ -114,8 +114,11 @@
"placeEvents": [
{
"id": 0,
"name": "",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -125,43 +128,43 @@
"comment": "",
"type": "message",
"data": [
"レナ! ここにいたか!"
"Lena! There you are!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"シ、シャルロット様!?\nそれにジャコモ\n\n一体なぜ、ご一緒に……"
"L-Lady Charlotte!? And Giacomo!? Why are you two\ntogether...?"
],
"speaker": "レナ"
"speaker": "Lena"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"説明はあとだ!\n警備兵がくるぞ、急ぐのだ"
"I'll explain later! The guards are coming, we have\nto hurry!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"は、はい!"
"Y-Yes!"
],
"speaker": "レナ"
"speaker": "Lena"
},
{
"id": 9,
"comment": "",
"type": "message",
"data": [
"レナが仲間になりました!"
"Lena has joined the party!"
]
}
]
@ -170,8 +173,11 @@
},
{
"id": 1,
"name": "",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -181,61 +187,61 @@
"comment": "",
"type": "message",
"data": [
"クリス! 助けに来たぞ!"
"Chris! We're here to rescue you!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"シャルロット姫!\n来てくださったんですか"
"Princess Charlotte! You really came for me!"
],
"speaker": "クリス"
"speaker": "Chris"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"ああ、脱出するぞ!"
"Of course, we're getting out of here!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"あれ、でも、後ろにいるのは……?"
"Huh, but who's that behind you...?"
],
"speaker": "クリス"
"speaker": "Chris"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"細かいことは後だ。\n行くぞ"
"Details later. Let's go!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"は、はい!"
"Y-Yes!"
],
"speaker": "クリス"
"speaker": "Chris"
},
{
"id": 11,
"comment": "",
"type": "message",
"data": [
"クリスが仲間になりました!"
"Chris has joined the party!"
]
}
]
@ -244,8 +250,11 @@
},
{
"id": 2,
"name": "",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -255,8 +264,11 @@
},
{
"id": 3,
"name": "",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -268,8 +280,11 @@
"autoEvents": [
{
"id": 0,
"name": "ゲーム開始の初期化",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -279,8 +294,11 @@
},
{
"id": 9,
"name": "難易度ボーナス",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -290,8 +308,11 @@
},
{
"id": 2,
"name": "100_オープニング1",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -301,171 +322,171 @@
"comment": "",
"type": "message",
"data": [
"よし、山賊たちも揃ったな。\nすぐに脱出するぞ。"
"Alright, the bandits are all here. Time to make\nour escape."
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"へい。\n旦那、今度はヘマはしません。\n俺たちに任せてくだせえ。"
"Yeah. Boss, we won't screw up this time. Leave it\nto us."
],
"speaker": "ダレス"
"speaker": "Dalles"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"待て、おかしい。\nやけに静かだぞ。"
"Wait, something's off. It's way too quiet."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"警備兵どもは、今頃強い眠気に襲われて\n眠りこけているはずだ。"
"The guards should all be fast asleep by now,\novercome by drowsiness."
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"そうそう、ルリエルちゃんのおかげだよー。"
"Yep yep, it's all thanks to Luriel-chan!"
],
"speaker": "ルリエル"
"speaker": "Luriel"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"しかしそろそろ騒ぎになっているだろう。\nぐずぐずしていると兵士が集まってくるぞ。"
"But by now, the commotion's probably started. If\nwe dawdle, the soldiers will gather."
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 6,
"comment": "",
"type": "message",
"data": [
"お、お前がいらぬことを\nしていたからだろうが"
"Y-You're the one who did something unnecessary!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 7,
"comment": "",
"type": "message",
"data": [
"ククク、残った者など、蹴散らして\nしまえばいいではないか。"
"Heh heh heh, if anyone's left, we can just mow\nthem down."
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 8,
"comment": "",
"type": "message",
"data": [
"くっ……、大事な兵たちを\nなんだと思っているのだ……。\n\n仕方がない。\nクリスとレナを救出しつつ外に脱出する\n\nなるべく兵を起こさず、\n速やかに脱出するのだぞ"
"Ugh... What do you think my precious soldiers\nare to you...? Fine. We'll rescue Chris and\nLena and escape outside!\nTry not to wake the soldiers, and\nget out as quickly as possible!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 9,
"comment": "",
"type": "message",
"data": [
"ルリエルちゃんは戦わないから、\n後ろで見てるねー。"
"Luriel-chan won't fight, so I'll just watch from\nthe back, okay?"
],
"speaker": "ルリエル"
"speaker": "Luriel"
},
{
"id": 10,
"comment": "",
"type": "message",
"data": [
"シャルロット、ろうやの鍵を渡しておく。\n指揮はお前に任せるぞ。"
"Charlotte, here's the cell key.\nI'll leave command to you."
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 11,
"comment": "",
"type": "message",
"data": [
"わかった。\n\n\nレナとクリスは、近くのろうやに\n 閉じ込められているようだな"
"Got it. (Looks like Lena and Chris are locked up\nin nearby cells.)"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 12,
"comment": "",
"type": "message",
"data": [
"(私のろうやの鍵で助けださねば)"
"(I have to use my cell key to rescue them.)"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 13,
"comment": "",
"type": "message",
"data": [
"シャルロットよ。\nその手際、早速見せてもらおうか。"
"Charlotte. Let's see how you handle things."
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 14,
"comment": "",
"type": "message",
"data": [
"ふん、任せておけ!\n\n\nお前たちも、私に従うのだぞ"
"Hmph, leave it to me! You all follow my lead!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 15,
"comment": "",
"type": "message",
"data": [
"なんで俺らがお前の言うことなんざ\n聞かなきゃならねぇんだ"
"Why the hell do we gotta listen to you!?"
],
"speaker": "ダレス"
"speaker": "Dalles"
},
{
"id": 16,
"comment": "",
"type": "message",
"data": [
"ダレス、今は従え。"
"Dalles, just do as she says for now."
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 17,
"comment": "",
"type": "message",
"data": [
"ちっ……。\n\n\nしゃあねえな。"
"Tch... Fine, whatever."
],
"speaker": "ダレス"
"speaker": "Dalles"
},
{
"id": 18,
"comment": "",
"type": "message",
"data": [
"ふん、従うならなんでもいい。\n\n\n目標はレナとクリスの救出、\nそして脱出だ 出撃する"
"Hmph, as long as you obey, I don't care. Our goal\nis to rescue Lena and Chris, then escape! Move\nout!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
}
]
}
@ -473,8 +494,11 @@
},
{
"id": 1,
"name": "300_敵登場",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -484,54 +508,54 @@
"comment": "",
"type": "message",
"data": [
"くそっ、眠ってしまった!\n\n\nおかしい……誰もいないぞ\nい、一体どうなっているんだ"
"Damn, I fell asleep! This is weird... There's no\none here! W-what the hell is going on!?"
],
"speaker": "王国兵"
"speaker": "Kingdom Soldier"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"ん?\n\n\nおわぁっ シャルロット姫\nどうして外に"
"Hm? Whoa! Princess Charlotte! Why are you out\nhere!?"
],
"speaker": "王国兵"
"speaker": "Kingdom Soldier"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"くっ、見つかったか!"
"Tch, we've been spotted!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"脱獄だ!\n応援をくれ"
"Prison break! I need backup!!"
],
"speaker": "王国兵"
"speaker": "Kingdom Soldier"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"増援が来てしまったか。\n早くレナとクリスを助けださねば。"
"Reinforcements have arrived. We have to rescue\nLena and Chris quickly."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"このまま突破する!\n私に続くのだ"
"We'll break through as we are! Follow me!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
}
]
}
@ -539,8 +563,11 @@
},
{
"id": 8,
"name": "320_敵起きるかも",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -550,9 +577,9 @@
"comment": "",
"type": "message",
"data": [
"(そろそろ眠っている敵も起きそうだな。\n 気をつけておかなくては"
"(Looks like the sleeping enemies will wake up\nsoon. I need to be careful.)"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
}
]
}
@ -560,8 +587,11 @@
},
{
"id": 3,
"name": "310_敵登場2",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -571,9 +601,9 @@
"comment": "",
"type": "message",
"data": [
"ん……ここは……?\n\n\nし、しまった\n眠らされていたのか\n\n向こうが騒がしいぞ\n急げ"
"Nn... Where am I...? D-damn! I was put to sleep!\nIt's noisy over there! Hurry!"
],
"speaker": "王国兵"
"speaker": "Kingdom Soldier"
}
]
}
@ -581,8 +611,11 @@
},
{
"id": 12,
"name": "330_敵登場3",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -592,36 +625,36 @@
"comment": "",
"type": "message",
"data": [
"重罪人だ!\n絶対に逃がすんじゃないぞ"
"They're dangerous criminals! Don't let them\nescape, no matter what!"
],
"speaker": "王国兵"
"speaker": "Kingdom Soldier"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"くっ、まだ増援が!"
"Tch, more reinforcements!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"確かこれで守備兵は全部だったはずだ。\nこれさえのりきれば脱出できるぞ。"
"That should be all the guards. If we get through\nthis, we can escape."
],
"speaker": "ダレス"
"speaker": "Dalles"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"そうか、みんなもう少しだ、突破するぞ!"
"I see, just a little more, everyone―let's break\nthrough!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
}
]
}
@ -629,8 +662,11 @@
},
{
"id": 7,
"name": "クリア判定",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -640,8 +676,11 @@
},
{
"id": 11,
"name": "クリア判定",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -651,8 +690,11 @@
},
{
"id": 5,
"name": "400_クリア",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -662,27 +704,27 @@
"comment": "",
"type": "message",
"data": [
"よし、このまま脱出する!"
"Alright, let's escape just like this!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"シャルロット、アジトはこっちだ!"
"Charlotte, the hideout is this way!"
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"うむ!"
"Got it!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
}
]
}
@ -690,8 +732,11 @@
},
{
"id": 14,
"name": "調教P補正",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -701,8 +746,11 @@
},
{
"id": 6,
"name": "次のマップへ",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -712,7 +760,7 @@
"comment": "",
"type": "message",
"data": [
"\\C[3]マップクリア!!\\C[0]\nクリアボーナス\\C[2]\\va2[6]\\C[0]\n現在 \\C[2]\\G\\C[0]\n経過ターン数  \\C[2]\\va4[12]\\C[0]\n撤退者数\\C[4]\\va2[3]\\C[0]\n"
"\\C[3]Map Clear!!\\C[0] Clear Bonus: \\C[2]\\va2[6]G\\C[0] Current G: \\C[2]\\G G\\C[0]\nTurns Taken: \\C[2]\\va4[12]\\C[0] Retreats: \\C[4]\\va2[3]\\C[0]"
]
}
]
@ -721,8 +769,11 @@
},
{
"id": 15,
"name": "敗北",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -732,8 +783,11 @@
},
{
"id": 10,
"name": "難易度変更",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -743,7 +797,7 @@
"comment": "",
"type": "message",
"data": [
"現在の難易度は「普通」です。\n難易度変更をしますか"
"The current difficulty is \"Normal.\" Would you like\nto change the difficulty?"
],
"speaker": "_"
},
@ -752,7 +806,7 @@
"comment": "",
"type": "message",
"data": [
"現在の難易度は「やさしい」です。\n難易度変更をしますか"
"The current difficulty is \"Easy.\" Would you like\nto change the difficulty?"
],
"speaker": "_"
},
@ -761,7 +815,7 @@
"comment": "",
"type": "message",
"data": [
"現在の難易度は「すごくやさしい」です。\n難易度変更をしますか"
"The current difficulty is \"Very Easy.\" Would you\nlike to change the difficulty?"
],
"speaker": "_"
},
@ -770,10 +824,10 @@
"comment": "",
"type": "choice",
"data": [
"難易度を変更しない",
"普通の難易度にする",
"やさしい難易度にする",
"すごくやさしい難易度にする"
"Don't change the difficulty",
"Set to Normal difficulty",
"Set to Easy difficulty",
"Set to Very Easy difficulty"
]
},
{
@ -781,7 +835,7 @@
"comment": "",
"type": "message",
"data": [
"難易度を「普通」に設定しました!"
"Difficulty set to \"Normal\"!"
],
"speaker": "_"
},
@ -790,7 +844,7 @@
"comment": "",
"type": "message",
"data": [
"難易度を「やさしい」に設定しました!"
"Difficulty set to \"Easy\"!"
],
"speaker": "_"
},
@ -799,7 +853,7 @@
"comment": "",
"type": "message",
"data": [
"難易度を「すごくやさしい」に設定しました!"
"Difficulty set to \"Very Easy\"!"
],
"speaker": "_"
}
@ -809,8 +863,11 @@
},
{
"id": 13,
"name": "ギブアップ",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -820,7 +877,7 @@
"comment": "",
"type": "message",
"data": [
"LVとお金を引き継いだまま、\n今のマップをやりなおします。"
"Restarting the current map while keeping your\nlevel and money."
],
"speaker": "_"
}
@ -830,8 +887,11 @@
},
{
"id": 4,
"name": "ギブアップ可能に",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -843,8 +903,11 @@
"openingEvents": [
{
"id": 0,
"name": "アンジェラ救出後",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -854,8 +917,11 @@
},
{
"id": 1,
"name": "レナ救出後",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -865,8 +931,11 @@
},
{
"id": 2,
"name": "ろうやのカギ",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -876,8 +945,11 @@
},
{
"id": 3,
"name": "宝取得後",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -887,8 +959,11 @@
},
{
"id": 4,
"name": "新規イベント",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,

View file

@ -2,24 +2,27 @@
"id": 16,
"name": "ch10_アジト到",
"desc": "",
"mapName": "アジト到着",
"mapName": "Arrived at the hideout",
"victoryConds": [
"",
"",
"",
"全ての敵を倒せ!"
"Defeat all enemies!"
],
"defeatConds": [
"",
"",
"",
"主人公の死亡"
"Protagonist's death"
],
"autoEvents": [
{
"id": 0,
"name": "100_オープニング1",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -29,241 +32,241 @@
"comment": "",
"type": "message",
"data": [
"ようこそ皆々様。\nここが我がダレス山賊団の自慢の\n隠れ家でごぜえます。"
"Welcome, everyone. This is the proud hideout of\nour Dalles Bandit Gang."
],
"speaker": "マジード"
"speaker": "Majid"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"けほっ、このカビ臭いあばら屋がか?\n何年も使われてないように見えるが……。"
"Cough, you mean this musty old shack? Looks like\nit hasn't been used in years..."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"まぁ実際、ここの小屋は山奥だしあんま\n使ってねえのよ。\n来るだけでもお前らの足じゃキツかったろ"
"Well, to be honest, this cabin's deep in the\nmountains, so we don't use it much. Just getting\nhere must've been tough for you guys, huh?"
],
"speaker": "マジード"
"speaker": "Majid"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"確かにここまでの山道は大変だったのう。\nだがそれだけに、この小屋ならばカーラの\n追手にもそうは見つかるまい。"
"Indeed, the mountain path here was quite a\nchallenge. But that just means Karla's pursuers\nwon't find this cabin so easily."
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"……そうか、お前ら山賊はこういった拠点を\n国内にいくつも設置して、渡り歩きながら\n悪行を繰り返してきたのだな\nいくら拠点を潰しても駆除がなかなか\n進まないわけが、今わかった。"
"...I see. So you bandits have set up bases like\nthis all over the country, moving from one to\nanother as you keep up your crimes?\nNow I understand why it's so hard to wipe you\nout, no matter how many hideouts we destroy."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"虫みてえに言ってんじゃねえよ!"
"Don't talk about us like we're bugs!"
],
"speaker": "マジード"
"speaker": "Majid"
},
{
"id": 6,
"comment": "",
"type": "message",
"data": [
"ルリエルちゃんはこーゆー場所好きだけどなー。\nなんか邪悪な残り香もするし……すんすん、\nすんすんすん。"
"Luriel-chan actually likes places like this.\nThere's even a lingering scent of evil... sniff,\nsniff sniff."
],
"speaker": "ルリエル"
"speaker": "Luriel"
},
{
"id": 7,
"comment": "",
"type": "message",
"data": [
"………。"
"......"
],
"speaker": "レナ"
"speaker": "Lena"
},
{
"id": 8,
"comment": "",
"type": "message",
"data": [
"シャルロット様!\nそろそろお聞きしてもよろしいですか"
"Charlotte-sama! May I ask you something now?"
],
"speaker": "レナ"
"speaker": "Lena"
},
{
"id": 9,
"comment": "",
"type": "message",
"data": [
"あ、ああ……。"
"Ah, yes..."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 10,
"comment": "",
"type": "message",
"data": [
"質問は一つです!\n何故貴女様ともあろうお方が、このような\n怪しげな輩と手を組んでおられるのですか"
"Just one question! Why would someone like you join\nforces with such shady people?!"
],
"speaker": "レナ"
"speaker": "Lena"
},
{
"id": 11,
"comment": "",
"type": "message",
"data": [
"手を組んだんじゃないよ~。"
"She didn't join forces with us~."
],
"speaker": "ルリエル"
"speaker": "Luriel"
},
{
"id": 12,
"comment": "",
"type": "message",
"data": [
"もうシャルロットちゃんはね、\nジャコモちゃんの奴隷なの。\nメスブタなの。召使いなのー。\n生涯の服従を誓ったんだよー。ねー"
"Charlotte-chan is already Giacomo-chan's slave.\nShe's a sow. A servant. She swore lifelong\nobedience. Right?"
],
"speaker": "ルリエル"
"speaker": "Luriel"
},
{
"id": 13,
"comment": "",
"type": "message",
"data": [
"なっ! それは本当なのですか!?"
"Wha?! Is that true!?"
],
"speaker": "レナ"
"speaker": "Lena"
},
{
"id": 14,
"comment": "",
"type": "message",
"data": [
"……本当だ。この首輪がその証だ。\n\n\n私は、ジャコモに従い、全てを捧げるという\n悪魔の契約を結んだのだ。"
"...It's true. This collar is proof. I made a\ndemon's contract to obey Giacomo and give him\neverything."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 15,
"comment": "",
"type": "message",
"data": [
"そ、そんなっ……!"
"N-no way...!"
],
"speaker": "レナ"
"speaker": "Lena"
},
{
"id": 16,
"comment": "",
"type": "message",
"data": [
"ボクたちを助けるため……ですか?"
"Was it... to save us?"
],
"speaker": "クリス"
"speaker": "Chris"
},
{
"id": 17,
"comment": "",
"type": "message",
"data": [
"……。"
"..."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 18,
"comment": "",
"type": "message",
"data": [
"ククク……。\nそう、その通り、お前達を救うためじゃ。\nだがそれだけのためではない。\nシャルロットは国をカーラから\n取り戻す力を欲した。\n\nワシはその願いも叶えてやる。\n必要な兵や財力ならあるからのう。\n\n国を取り戻した後、実際に裏から支配するのは\nワシだがな。"
"Kukuku... That's right, she did it to save\nyou all. But that's not the only reason.\n\nCharlotte wanted the power to take her country\nback from Karla. I'll grant her that wish.\nI've got the soldiers and money she needs.\nOf course, once the country is reclaimed,\nI'll be the one ruling from the shadows."
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 19,
"comment": "",
"type": "message",
"data": [
"なっ!?"
"What!?"
],
"speaker": "レナ"
"speaker": "Lena"
},
{
"id": 20,
"comment": "",
"type": "message",
"data": [
"え、ええっ……!"
"Wh-what...!"
],
"speaker": "クリス"
"speaker": "Chris"
},
{
"id": 21,
"comment": "",
"type": "message",
"data": [
"見ておれ。シャルロットの指揮の下、\nこの国をワシのものにしていくのだ。\n\n明日からは輝かしい行軍の始まりだ。\nクククク"
"Just watch. Under Charlotte's command, this\ncountry will become mine. Tomorrow marks the start\nof our glorious march. Kukukuku!"
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 22,
"comment": "",
"type": "message",
"data": [
"くっ!\nバカげた妄言を\n\nジャコモ、今すぐ姫様との契約を解きなさい\nさもないと斬り捨てますよ"
"Damn you! What nonsense! Giacomo, release the\nprincess from your contract right now! Or I'll cut\nyou down!"
],
"speaker": "レナ"
"speaker": "Lena"
},
{
"id": 23,
"comment": "",
"type": "message",
"data": [
"あー、それはアタシの魔法だからねー。\nアタシ以外は解くことができないよ"
"Ah, that's my magic, you know. No one but me can\nbreak it."
],
"speaker": "ルリエル"
"speaker": "Luriel"
},
{
"id": 24,
"comment": "",
"type": "message",
"data": [
"お前の仕業なのですか!\nこの悪魔めっ\nシャルロット様になんてことをっ"
"So it's your doing! You demon! How could you do\nthis to Charlotte-sama!"
],
"speaker": "レナ"
"speaker": "Lena"
},
{
"id": 25,
"comment": "",
"type": "message",
"data": [
"てやぁぁぁっ!!!"
"Take this!!!"
],
"speaker": "レナ"
"speaker": "Lena"
},
{
"id": 26,
"comment": "",
"type": "message",
"data": [
"レナは猛然とルリエルに向けて突撃した。"
"Lena charged furiously at Luriel."
],
"speaker": "_"
},
@ -272,25 +275,25 @@
"comment": "",
"type": "message",
"data": [
"う、うわっ!?"
"W-whoa!?"
],
"speaker": "ルリエル"
"speaker": "Luriel"
},
{
"id": 28,
"comment": "",
"type": "message",
"data": [
"おおっと!\nやらせるかよっ"
"Oh no you don't! I won't let you!"
],
"speaker": "ダレス"
"speaker": "Dalles"
},
{
"id": 29,
"comment": "",
"type": "message",
"data": [
"だが、傍らにいたダレスによって\nその剣は間一髪で弾かれる。"
"But Dalles, who was standing nearby, knocked her\nsword away at the last second."
],
"speaker": "_"
},
@ -299,234 +302,234 @@
"comment": "",
"type": "message",
"data": [
"あ、危なかった!\n危なかったよ今\n\nああもう、髪がちょこっと切れちゃったじゃん\nあれ、あれ これ、もうちょっとでお肌\n切れてたんじゃない"
"Ah, that was close! Just now, really close!?\nUgh, look, you even snipped a bit of my hair!\nWait, wait? That almost cut my skin, didn't it??"
],
"speaker": "ルリエル"
"speaker": "Luriel"
},
{
"id": 31,
"comment": "",
"type": "message",
"data": [
"くっ、かすっただけですか! 運のいいやつめ!\nでも次は外しませんよ"
"Tch, it just grazed you! Lucky bastard!\nBut I won't miss next time!"
],
"speaker": "レナ"
"speaker": "Lena"
},
{
"id": 32,
"comment": "",
"type": "message",
"data": [
"うん……\nアタシに逆らおうっていうワケ、なんだー\nそうなんだー\nそんなことをしたらどうなるか、\n考えなかったのかなー"
"Hm... So, you're really going to defy me, huh?\n Isthat it?? Did you not think about what would\nhappen if you did something like that??"
],
"speaker": "ルリエル"
"speaker": "Luriel"
},
{
"id": 33,
"comment": "",
"type": "message",
"data": [
"くっ……!\nシャルロット様逃げ……っ"
"Damn...! Charlotte-sama! Run―"
],
"speaker": "レナ"
"speaker": "Lena"
},
{
"id": 34,
"comment": "",
"type": "message",
"data": [
"うっ!"
"Ugh!"
],
"speaker": "レナ"
"speaker": "Lena"
},
{
"id": 35,
"comment": "",
"type": "message",
"data": [
"レナ!?"
"Lena!?"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 36,
"comment": "",
"type": "message",
"data": [
"レナさん!"
"Lena-san!"
],
"speaker": "クリス"
"speaker": "Chris"
},
{
"id": 37,
"comment": "",
"type": "message",
"data": [
"か、体が……動かな……!"
"M-my body... won't move...!"
],
"speaker": "レナ"
"speaker": "Lena"
},
{
"id": 38,
"comment": "",
"type": "message",
"data": [
"悪魔!レナに一体何をしたのだ!"
"Demon! What did you do to Lena!?"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 39,
"comment": "",
"type": "message",
"data": [
"ちょっと動きを封じただけだよ。\n\n\nジャコモちゃん。\nこういう礼儀のなってない子は\n「調教」した方がいいんじゃないかな"
"I just paralyzed her a little. Giacomo-chan.\nDon't you think a rude girl like this should\nbe \"trained\"?"
],
"speaker": "ルリエル"
"speaker": "Luriel"
},
{
"id": 40,
"comment": "",
"type": "message",
"data": [
"ククク……。\nそうだな。体に教えてやった方がいいだろう。\n\nよし、お前達、\nこの騎士の体に自分の立場を叩き込んでやれ"
"Kukuku... That's right. It's better to teach her\nwith her body. Alright, you guys, make sure this\nknight learns her place!"
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 41,
"comment": "",
"type": "message",
"data": [
"おう。任せときな旦那。\nたっぷりと可愛がってやるぜ。\n\nおら、来いよ騎士様。"
"Yeah. Leave it to me, boss. I'll show her plenty\nof love. Come on, get over here, knight."
],
"speaker": "ダレス"
"speaker": "Dalles"
},
{
"id": 42,
"comment": "",
"type": "message",
"data": [
"う……うあっ……!"
"U... ugh...!"
],
"speaker": "レナ"
"speaker": "Lena"
},
{
"id": 43,
"comment": "",
"type": "message",
"data": [
"レナをどこに連れて行くつもりだ!"
"Where are you taking Lena!?"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 44,
"comment": "",
"type": "message",
"data": [
"ヤるんだから、ヤリ部屋に決まってんだろ。"
"We're gonna fuck her, so obviously to the fuck\nroom."
],
"speaker": "ダレス"
"speaker": "Dalles"
},
{
"id": 45,
"comment": "",
"type": "message",
"data": [
"ヤリへや……?"
"Fuck room...?"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 46,
"comment": "",
"type": "message",
"data": [
"地下室があるんだよ。\n奴隷や密輸品の保管場所がいるからな。"
"There's a basement. Gotta have a place to keep\nslaves and smuggled goods."
],
"speaker": "マジード"
"speaker": "Majid"
},
{
"id": 47,
"comment": "",
"type": "message",
"data": [
"こういう気の強い女は、狂犬と同じよ。\n\n\n目一杯躾を叩き込んでやらんと、\n自分の立場というものを理解せんからな。"
"Women with strong wills like this are just like\nwild dogs. If you don't beat obedience into them,\nthey'll never understand their place."
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 48,
"comment": "",
"type": "message",
"data": [
"なっ、ま、待っ……"
"Wha―w-wait..."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 49,
"comment": "",
"type": "message",
"data": [
"シャルロットよ、『黙って見ておれ』。"
"Charlotte, \"just shut up and watch.\""
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 50,
"comment": "",
"type": "message",
"data": [
"うっぐ!"
"Ugh!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 51,
"comment": "",
"type": "message",
"data": [
"シャルロット姫、どうされたのですか!"
"Princess Charlotte, what's wrong!?"
],
"speaker": "クリス"
"speaker": "Chris"
},
{
"id": 52,
"comment": "",
"type": "message",
"data": [
"クリス……\n私は、もうジャコモに逆らうことは\n出来んのだ……。\nそういった契約なんだ。\nやつの命令には逆らえない。\n\nヤツに危害を加えるようなことも\n一切できない……。"
"Chris... I can't defy Giacomo anymore... That's\nthe contract. I can't go against his orders. I\ncan't do anything that would harm him..."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 53,
"comment": "",
"type": "message",
"data": [
"そ、そんな。じゃあどうすれば……。"
"N-no way. Then what are we supposed to do...?"
],
"speaker": "クリス"
"speaker": "Chris"
},
{
"id": 54,
"comment": "",
"type": "message",
"data": [
"くっ……レナ……!"
"Damn... Lena...!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 55,
"comment": "",
"type": "message",
"data": [
"ああ……レナさん……。"
"Ah... Lena-san..."
],
"speaker": "クリス"
"speaker": "Chris"
}
]
}
@ -534,8 +537,11 @@
},
{
"id": 1,
"name": "次のマップへ",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,

View file

@ -7,19 +7,22 @@
"",
"",
"",
"全ての敵を倒せ!"
"Defeat all enemies!"
],
"defeatConds": [
"",
"",
"",
"主人公の死亡"
"Protagonist's death"
],
"openingEvents": [
{
"id": 2,
"name": "onGameStart",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -29,8 +32,11 @@
},
{
"id": 0,
"name": "操作方法説明",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -40,7 +46,7 @@
"comment": "",
"type": "message",
"data": [
"決定ボタンを押すと次に進みます。"
"Press the confirm button to proceed."
],
"speaker": "_"
},
@ -49,7 +55,7 @@
"comment": "",
"type": "message",
"data": [
"決定ボタンを押すとゲームを開始します"
"Press the confirm button to start the game."
],
"speaker": "_"
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -2,23 +2,23 @@
"id": 20,
"name": "qa120_サリア初",
"desc": "",
"mapName": "ヤリ部屋(サリア)",
"mapName": "Fuck Room (Saria)",
"victoryConds": [
"",
"",
"",
"全ての敵を倒せ!"
"Defeat all enemies!"
],
"defeatConds": [
"",
"",
"",
"主人公の死亡"
"Protagonist's death"
],
"EnemyUnits": [
{
"id": 65536,
"name": "サリア",
"name": "Saria",
"desc": "",
"events": []
}
@ -31,8 +31,11 @@
"events": [
{
"id": 0,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -42,8 +45,11 @@
},
{
"id": 1,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -53,8 +59,11 @@
},
{
"id": 2,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -71,8 +80,11 @@
"events": [
{
"id": 0,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -82,8 +94,11 @@
},
{
"id": 1,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -93,8 +108,11 @@
},
{
"id": 2,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -111,8 +129,11 @@
"events": [
{
"id": 0,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -122,8 +143,11 @@
},
{
"id": 1,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -133,8 +157,11 @@
},
{
"id": 2,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -151,8 +178,11 @@
"events": [
{
"id": 0,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -162,8 +192,11 @@
},
{
"id": 1,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -173,8 +206,11 @@
},
{
"id": 2,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -191,8 +227,11 @@
"events": [
{
"id": 0,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -202,8 +241,11 @@
},
{
"id": 1,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -213,8 +255,11 @@
},
{
"id": 2,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -231,8 +276,11 @@
"events": [
{
"id": 0,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -242,8 +290,11 @@
},
{
"id": 1,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -253,8 +304,11 @@
},
{
"id": 2,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -271,8 +325,11 @@
"events": [
{
"id": 0,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -282,8 +339,11 @@
},
{
"id": 1,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -293,8 +353,11 @@
},
{
"id": 2,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -311,8 +374,11 @@
"events": [
{
"id": 0,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -322,8 +388,11 @@
},
{
"id": 1,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -333,8 +402,11 @@
},
{
"id": 2,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -351,8 +423,11 @@
"events": [
{
"id": 0,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -362,8 +437,11 @@
},
{
"id": 1,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -373,8 +451,11 @@
},
{
"id": 2,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -391,8 +472,11 @@
"events": [
{
"id": 0,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -402,8 +486,11 @@
},
{
"id": 1,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -413,8 +500,11 @@
},
{
"id": 2,
"name": "サリア戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -428,8 +518,11 @@
"placeEvents": [
{
"id": 0,
"name": "",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 2,
@ -441,8 +534,11 @@
"autoEvents": [
{
"id": 0,
"name": "サリア初期化",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -452,8 +548,11 @@
},
{
"id": 1,
"name": "ギブアップ不可能",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -463,8 +562,11 @@
},
{
"id": 7,
"name": "お金減少",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -474,7 +576,7 @@
"comment": "",
"type": "message",
"data": [
"調教費用として\\C[4]\\va4[4]pt\\C[0]を支払いました\n\n"
"Paid \\C[4]\\va4[4]pt\\C[0] as training fee."
],
"speaker": "No Speaker"
}
@ -484,8 +586,11 @@
},
{
"id": 2,
"name": "汎用初期化",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -495,8 +600,11 @@
},
{
"id": 9,
"name": "山賊登場",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -506,8 +614,11 @@
},
{
"id": 6,
"name": "山賊登場",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -521,8 +632,11 @@
},
{
"id": 61,
"name": "061_オープニング",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -532,88 +646,88 @@
"comment": "",
"type": "message",
"data": [
"ククク、これはこれは……\n随分な美女を連れてきたのう。\n\nその肌、その容姿……\n下手な王侯貴族の娘なぞ\n比べ物にならぬな。\nしかもエルフとは珍しい。\n良い商品になりそうだ。"
"Kukuku, well, well... You've brought quite the\nbeauty. That skin, that figure... No daughter of\nany noble could compare. And an elf, too―how rare.\nShe'll make a fine product."
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"商品ですって!\nあんたらなにをするつもりなの"
"Product?! What are you planning to do to me?!"
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"へへへ、そりゃこれからわかるぜ。\n覚悟しな"
"Hehehe, you'll find out soon enough. Get ready!"
],
"speaker": "山賊たち"
"speaker": "Bandits"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"や、やめてっ!"
"S-stop it!"
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"ほら!\n押さえつけておけ"
"Hold her down!"
],
"speaker": "山賊たち"
"speaker": "Bandits"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"いやっ、触るなっ、\n離しなさい、汚らわしいっ"
"No, don't touch me! Let go of me, you filthy\nbastards!"
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 6,
"comment": "",
"type": "message",
"data": [
"ジャコモ様、どうぞ!"
"Giacomo-sama, she's all yours!"
],
"speaker": "山賊たち"
"speaker": "Bandits"
},
{
"id": 7,
"comment": "",
"type": "message",
"data": [
"ククク、ワシも手ずからエルフを\n調教するのは初めてじゃ。\n楽しませてもらうとするかの。\nほれい、ゆくぞっ。"
"Kukuku, this will be my first time training an elf\nmyself. Let's see how much fun you can give me.\nNow then, here I go."
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 8,
"comment": "",
"type": "message",
"data": [
"いやぁぁぁぁぁっ!!"
"Noooooooo!!"
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 9,
"comment": "",
"type": "message",
"data": [
"  ~~数時間後"
"A few hours later"
],
"speaker": "_"
}
@ -623,8 +737,11 @@
},
{
"id": 16,
"name": "クリア判定",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -634,8 +751,11 @@
},
{
"id": 17,
"name": "レイプ目",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -645,8 +765,11 @@
},
{
"id": 18,
"name": "服従成功",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -656,7 +779,7 @@
"comment": "",
"type": "message",
"data": [
"\n\\pdb[\\va3[4]]を服従させることに成功しました!"
"Successfully made \\pdb[\\va3[4]] submit!"
]
}
]
@ -665,8 +788,11 @@
},
{
"id": 14,
"name": "後片付け",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -676,8 +802,11 @@
},
{
"id": 3,
"name": "難易度ボーナス",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -687,8 +816,11 @@
},
{
"id": 4,
"name": "新規イベント",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -698,8 +830,11 @@
},
{
"id": 51,
"name": "051_サリア調教後",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -709,70 +844,70 @@
"comment": "",
"type": "message",
"data": [
"くうっ、なにが服従の契約よ……\nふざけたことを……。"
"Ngh, a contract of submission... What a joke..."
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"サリア。"
"Saria."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"あっ、シャルロット!"
"Ah, Charlotte!"
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"このような恥辱、初めて受けたわ……!\nお前は絶対に許さないから"
"I've never suffered such humiliation before...!\nI'll never forgive you!"
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"恨まれるのは構わない。\nだが、サリア、一つだけ誤解を解いておこうと\n思うのだ。"
"I don't mind if you hate me. But Saria, there's\none misunderstanding I want to clear up."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"何よ?"
"What is it?"
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 6,
"comment": "",
"type": "message",
"data": [
"実はだな……。"
"The truth is..."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 7,
"comment": "",
"type": "message",
"data": [
"シャルロットはカーラにはめられたことを話した。\nそしてジャコモに従わされているという話も。"
"Charlotte explained how she was set up by Karla.\nAnd how she's being forced to obey Giacomo."
],
"speaker": "_"
},
@ -781,171 +916,171 @@
"comment": "",
"type": "message",
"data": [
"……という訳なのだ。"
"...And that's how it is."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 9,
"comment": "",
"type": "message",
"data": [
"嘘くさいわね……\n人間の言うことは信じられないわ。"
"Sounds like a lie... I can't trust anything a\nhuman says."
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 10,
"comment": "",
"type": "message",
"data": [
"この首輪が見えるか?"
"Can you see this collar?"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 11,
"comment": "",
"type": "message",
"data": [
"え?"
"Huh?"
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 12,
"comment": "",
"type": "message",
"data": [
"あっ! それは悪魔が私につけた\n首輪と同じもの"
"Ah! That's the same collar the demon put on me!"
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 13,
"comment": "",
"type": "message",
"data": [
"そうだ。\nこれで信じてくれたか\nジャコモに従わされていることを。"
"That's right. Do you believe me now? That I'm\nbeing forced to obey Giacomo."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 14,
"comment": "",
"type": "message",
"data": [
"そうね……。"
"I suppose..."
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 15,
"comment": "",
"type": "message",
"data": [
"だが、国王に引き継がれる聖剣があれば、\nこの呪いも断ち切ることができる。\n\n私の呪いが解ければ、他の皆の呪いも解ける\nはずだ。もちろんお前もな。\nそれまでは私の力になってくれないか"
"But if we can get the holy sword passed down to\nthe king, we can break this curse. If my curse is\nbroken, everyone else's should be too. That\nincludes you. Until then, will you help me?"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 16,
"comment": "",
"type": "message",
"data": [
"……。"
"..."
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 17,
"comment": "",
"type": "message",
"data": [
"嫌よ。"
"No."
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 18,
"comment": "",
"type": "message",
"data": [
"なっ!?\nなぜだ"
"Wha!? Why not!?"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 19,
"comment": "",
"type": "message",
"data": [
"私は人間のことが嫌いなの。\n下賤で、浅ましくて、約束なんか守りやしない。\n\n特にあんたの国は、こないだまでの戦で\nあたしたちの同胞を何人も戦に駆り立て殺した。\nそんな人間のために動くなんてまっぴらだわ。"
"I hate humans. They're lowly, greedy, and never\nkeep their promises. Especially your country―just\nrecently, in the war, you forced so many of my kin\nto fight and die. There's no way I'm doing\nanything for humans like that."
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 20,
"comment": "",
"type": "message",
"data": [
"う、ううむ……。"
"Ugh, hmm..."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 21,
"comment": "",
"type": "message",
"data": [
"……でも、この首輪があるから命令には従うわ。\n仕方なくよ。\n\n聖剣の力で呪いが解けるですって\nその時は私もあのデブに従わなくていいって\nことよね。"
"...But because of this collar, I'll follow your\norders. Not that I want to. You say the holy sword\ncan break the curse? That means I won't have to\nobey that fat bastard anymore, right?"
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 22,
"comment": "",
"type": "message",
"data": [
"その時が楽しみだわ!\nその瞬間、あんたの脳天に矢が突き立たない\nようにせいぜい用心することね"
"I'm looking forward to that! You better watch your\nback, or you might just get an arrow through your\nskull the moment it happens!"
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 23,
"comment": "",
"type": "message",
"data": [
"(な、なぜだ……\n 聖剣を共に手に入れなければ、\n サリアの身にも破滅しかないだろうに"
"(Why... If we don't get the holy sword together,\nSaria will be doomed too...)"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 24,
"comment": "",
"type": "message",
"data": [
"話はそれだけ?\nじゃあ失礼するわね。"
"Is that all? Then I'll be going."
],
"speaker": "サリア"
"speaker": "Saria"
},
{
"id": 25,
"comment": "",
"type": "message",
"data": [
"…………。"
".........."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 26,
"comment": "",
"type": "message",
"data": [
"(それほど、エルフ族の恨みとは深いもの\n なのか……\n\nだが、サリアの力は絶対に必要だ。\n おとなしく指示に従ってくれればいいのだが"
"(Is the grudge of the elves really that deep...?\nBut I absolutely need Saria's power. I just hope\nshe'll follow my orders quietly.)"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
}
]
}
@ -953,8 +1088,11 @@
},
{
"id": 11,
"name": "元のマップに戻る",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 2,

View file

@ -2,23 +2,23 @@
"id": 21,
"name": "qa80_シェリー初",
"desc": "",
"mapName": "ヤリ部屋(シェリー)",
"mapName": "Fuck Room (Sherry)",
"victoryConds": [
"",
"",
"",
"全ての敵を倒せ!"
"Defeat all enemies!"
],
"defeatConds": [
"",
"",
"",
"主人公の死亡"
"Protagonist's death"
],
"EnemyUnits": [
{
"id": 65536,
"name": "シェリー",
"name": "Sherry",
"desc": "",
"events": []
}
@ -31,8 +31,11 @@
"events": [
{
"id": 0,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -42,8 +45,11 @@
},
{
"id": 1,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -53,8 +59,11 @@
},
{
"id": 2,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -71,8 +80,11 @@
"events": [
{
"id": 0,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -82,8 +94,11 @@
},
{
"id": 1,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -93,8 +108,11 @@
},
{
"id": 2,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -111,8 +129,11 @@
"events": [
{
"id": 0,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -122,8 +143,11 @@
},
{
"id": 1,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -133,8 +157,11 @@
},
{
"id": 2,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -151,8 +178,11 @@
"events": [
{
"id": 0,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -162,8 +192,11 @@
},
{
"id": 1,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -173,8 +206,11 @@
},
{
"id": 2,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -191,8 +227,11 @@
"events": [
{
"id": 0,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -202,8 +241,11 @@
},
{
"id": 1,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -213,8 +255,11 @@
},
{
"id": 2,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -231,8 +276,11 @@
"events": [
{
"id": 0,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -242,8 +290,11 @@
},
{
"id": 1,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -253,8 +304,11 @@
},
{
"id": 2,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -271,8 +325,11 @@
"events": [
{
"id": 0,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -282,8 +339,11 @@
},
{
"id": 1,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -293,8 +353,11 @@
},
{
"id": 2,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -311,8 +374,11 @@
"events": [
{
"id": 0,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -322,8 +388,11 @@
},
{
"id": 1,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -333,8 +402,11 @@
},
{
"id": 2,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -351,8 +423,11 @@
"events": [
{
"id": 0,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -362,8 +437,11 @@
},
{
"id": 1,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -373,8 +451,11 @@
},
{
"id": 2,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -391,8 +472,11 @@
"events": [
{
"id": 0,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -402,8 +486,11 @@
},
{
"id": 1,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -413,8 +500,11 @@
},
{
"id": 2,
"name": "シェリー戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -428,8 +518,11 @@
"placeEvents": [
{
"id": 0,
"name": "",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 2,
@ -441,8 +534,11 @@
"autoEvents": [
{
"id": 0,
"name": "シェリー初期化",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -452,8 +548,11 @@
},
{
"id": 7,
"name": "お金減少",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -463,7 +562,7 @@
"comment": "",
"type": "message",
"data": [
"調教費用として\\C[4]\\va4[4]pt\\C[0]を支払いました\n\n"
"Paid \\C[4]\\va4[4]pt\\C[0] as training fee"
],
"speaker": "No Speaker"
}
@ -473,8 +572,11 @@
},
{
"id": 2,
"name": "汎用初期化",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -484,8 +586,11 @@
},
{
"id": 9,
"name": "山賊登場",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -495,8 +600,11 @@
},
{
"id": 6,
"name": "山賊登場",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -510,8 +618,11 @@
},
{
"id": 8,
"name": "新規イベント",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -521,8 +632,11 @@
},
{
"id": 1,
"name": "010_オープニング",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -532,133 +646,133 @@
"comment": "",
"type": "message",
"data": [
"さて、調教してやろうとするかの。\nククク……。"
"Well then, shall we get started with your\ntraining? Kukuku..."
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"へへへ、じゃあヤリまくりと行きますか。"
"Hehehe, time to fuck her brains out."
],
"speaker": "山賊A"
"speaker": "Bandit A"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"どんな声で泣くかなぁ?"
"I wonder what kind of sounds she'll make when she\ncries?"
],
"speaker": "山賊B"
"speaker": "Bandit B"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"もう……許してください……。"
"Please... just let me go..."
],
"speaker": "シェリー"
"speaker": "Sherry"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"ジャコモの旦那に服従を誓うなら許してやるよ。"
"If you swear loyalty to Giacomo, we'll let you go."
],
"speaker": "山賊A"
"speaker": "Bandit A"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"そ、そんなこと……!"
"N-no way...!"
],
"speaker": "シェリー"
"speaker": "Sherry"
},
{
"id": 6,
"comment": "",
"type": "message",
"data": [
"じゃあダメだな。\n一生俺たちの肉便器だ。"
"Then too bad. You're our cum dump for life."
],
"speaker": "山賊A"
"speaker": "Bandit A"
},
{
"id": 7,
"comment": "",
"type": "message",
"data": [
"ううっ……。"
"Ugh..."
],
"speaker": "シェリー"
"speaker": "Sherry"
},
{
"id": 8,
"comment": "",
"type": "message",
"data": [
"さぁ、お前たち、押さえておけよ。"
"Alright, you guys, hold her down."
],
"speaker": "ジャコモ"
"speaker": "Giacomo"
},
{
"id": 9,
"comment": "",
"type": "message",
"data": [
"ああっ! やめてくださいっ!"
"Ah! Please, stop!"
],
"speaker": "シェリー"
"speaker": "Sherry"
},
{
"id": 10,
"comment": "",
"type": "message",
"data": [
"やめるかよ! おらっ!"
"Like hell we're stopping! Take this!"
],
"speaker": "山賊A"
"speaker": "Bandit A"
},
{
"id": 11,
"comment": "",
"type": "message",
"data": [
"あああ――っ!?"
"Aaah―!?"
],
"speaker": "シェリー"
"speaker": "Sherry"
},
{
"id": 12,
"comment": "",
"type": "message",
"data": [
"ちんぽもしゃぶるんだよ!\nおらァ"
"Suck our dicks too! Come on!"
],
"speaker": "山賊B"
"speaker": "Bandit B"
},
{
"id": 13,
"comment": "",
"type": "message",
"data": [
"うぐっ……うううっ!"
"Ngh... uuu!"
],
"speaker": "シェリー"
"speaker": "Sherry"
},
{
"id": 14,
"comment": "",
"type": "message",
"data": [
"………。\n\n\n  数時間後"
"......... A few hours later"
],
"speaker": "_"
}
@ -668,8 +782,11 @@
},
{
"id": 17,
"name": "レイプ目",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -679,8 +796,11 @@
},
{
"id": 18,
"name": "服従成功",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -690,7 +810,7 @@
"comment": "",
"type": "message",
"data": [
"\n\\pdb[\\va3[4]]を服従させることに成功しました!"
"Successfully made \\pdb[\\va3[4]] submit!"
]
}
]
@ -699,8 +819,11 @@
},
{
"id": 14,
"name": "後片付け",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -710,8 +833,11 @@
},
{
"id": 3,
"name": "難易度ボーナス",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -721,8 +847,11 @@
},
{
"id": 51,
"name": "新規イベント",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -732,79 +861,79 @@
"comment": "",
"type": "message",
"data": [
"ううっ……。"
"Ugh..."
],
"speaker": "シェリー"
"speaker": "Sherry"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"シェリー。"
"Sherry."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"あっ、シャルロット様!"
"Ah, Charlotte-sama!"
],
"speaker": "シェリー"
"speaker": "Sherry"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"こんなことに巻き込んでしまって、\nすまない……。"
"I'm sorry for dragging you into this..."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"あ、あの……。\n\n\nシャルロット様も、ああいう感じで\n悪魔の契約をさせられて、\n無理やり戦わされてるんですか"
"Um... Charlotte-sama, were you also forced into a\ndemon contract like that and made to fight?"
],
"speaker": "シェリー"
"speaker": "Sherry"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"ああ、そういうことだ。"
"Yeah, that's right."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 6,
"comment": "",
"type": "message",
"data": [
"じゃあやっぱり、国王殺しというのも\n間違いなんですね。"
"So the whole 'killed the king' thing was a mistake\ntoo, wasn't it?"
],
"speaker": "シェリー"
"speaker": "Sherry"
},
{
"id": 7,
"comment": "",
"type": "message",
"data": [
"そうだな、詳しく話そう。"
"That's right. Let me explain in detail."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 8,
"comment": "",
"type": "message",
"data": [
"シャルロットはジャコモについて……\nそして、聖剣があれば淫魔の呪いを\n打ち破れることを話した。"
"Charlotte told her about Giacomo... and that the\nHoly Sword could break the succubus curse."
],
"speaker": "_"
},
@ -813,90 +942,90 @@
"comment": "",
"type": "message",
"data": [
"なるほど。\nそんなことを考えられていたのですね"
"I see. So that's what you were planning!"
],
"speaker": "シェリー"
"speaker": "Sherry"
},
{
"id": 10,
"comment": "",
"type": "message",
"data": [
"まあ、これしか手がないというのが\n正直だがな。"
"Well, honestly, it's the only option we've got."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 11,
"comment": "",
"type": "message",
"data": [
"今のわれらは、みんなその逆転にかけて\n戦っているのだ。"
"Right now, all of us are fighting for that one\nchance to turn things around."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 12,
"comment": "",
"type": "message",
"data": [
"わ、わかりました!\n\n\nそういうことであれば、私も協力します"
"I-I understand! If that's the case, I'll help too!"
],
"speaker": "シェリー"
"speaker": "Sherry"
},
{
"id": 13,
"comment": "",
"type": "message",
"data": [
"すまない、私は憎まれても仕方がない\n存在なのだが。"
"I'm sorry, but I suppose it's only natural for\npeople to hate me."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 14,
"comment": "",
"type": "message",
"data": [
"そんなことはありません。\n聞けばシャルロット様もとんだ\n濡れ衣ではありませんか。\n神は皆、試練に立ち向かう者に\n平等に加護を与えてくださいます。"
"That's not true. From what I've heard,\nCharlotte-sama, you've been falsely accused,\nhaven't you? God grants blessings equally to all\nwho face their trials."
],
"speaker": "シェリー"
"speaker": "Sherry"
},
{
"id": 15,
"comment": "",
"type": "message",
"data": [
"もちろんそれは、シャルロット様にも。"
"And of course, that includes you too,\nCharlotte-sama."
],
"speaker": "シェリー"
"speaker": "Sherry"
},
{
"id": 16,
"comment": "",
"type": "message",
"data": [
"シェリー……。"
"Sherry..."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 17,
"comment": "",
"type": "message",
"data": [
"ありがとう、本当に救われるよ……。\nこれからの戦い、よろしく頼む。"
"Thank you, you've really saved me... I'm counting\non you in the battles ahead."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 18,
"comment": "",
"type": "message",
"data": [
"はい!"
"Yes!"
],
"speaker": "シェリー"
"speaker": "Sherry"
}
]
}
@ -904,8 +1033,11 @@
},
{
"id": 11,
"name": "元のマップに戻る",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -915,8 +1047,11 @@
},
{
"id": 15,
"name": "位置替え",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -926,8 +1061,11 @@
},
{
"id": 12,
"name": "位置替え",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -937,8 +1075,11 @@
},
{
"id": 13,
"name": "自軍に変更",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -2,23 +2,23 @@
"id": 25,
"name": "qa140_タバサ初",
"desc": "",
"mapName": "ヤリ部屋(タバサ)",
"mapName": "Fuck Room (Tabatha)",
"victoryConds": [
"",
"",
"",
"全ての敵を倒せ!"
"Defeat all enemies!"
],
"defeatConds": [
"",
"",
"",
"主人公の死亡"
"Protagonist's death"
],
"EnemyUnits": [
{
"id": 65536,
"name": "タバサ",
"name": "Tabatha",
"desc": "",
"events": []
}
@ -31,8 +31,11 @@
"events": [
{
"id": 0,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -42,8 +45,11 @@
},
{
"id": 1,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -53,8 +59,11 @@
},
{
"id": 2,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -71,8 +80,11 @@
"events": [
{
"id": 0,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -82,8 +94,11 @@
},
{
"id": 1,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -93,8 +108,11 @@
},
{
"id": 2,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -111,8 +129,11 @@
"events": [
{
"id": 0,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -122,8 +143,11 @@
},
{
"id": 1,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -133,8 +157,11 @@
},
{
"id": 2,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -151,8 +178,11 @@
"events": [
{
"id": 0,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -162,8 +192,11 @@
},
{
"id": 1,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -173,8 +206,11 @@
},
{
"id": 2,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -191,8 +227,11 @@
"events": [
{
"id": 0,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -202,8 +241,11 @@
},
{
"id": 1,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -213,8 +255,11 @@
},
{
"id": 2,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -231,8 +276,11 @@
"events": [
{
"id": 0,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -242,8 +290,11 @@
},
{
"id": 1,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -253,8 +304,11 @@
},
{
"id": 2,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -271,8 +325,11 @@
"events": [
{
"id": 0,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -282,8 +339,11 @@
},
{
"id": 1,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -293,8 +353,11 @@
},
{
"id": 2,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -311,8 +374,11 @@
"events": [
{
"id": 0,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -322,8 +388,11 @@
},
{
"id": 1,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -333,8 +402,11 @@
},
{
"id": 2,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -351,8 +423,11 @@
"events": [
{
"id": 0,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -362,8 +437,11 @@
},
{
"id": 1,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -373,8 +451,11 @@
},
{
"id": 2,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -391,8 +472,11 @@
"events": [
{
"id": 0,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -402,8 +486,11 @@
},
{
"id": 1,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -413,8 +500,11 @@
},
{
"id": 2,
"name": "タバサ戦",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -428,8 +518,11 @@
"placeEvents": [
{
"id": 0,
"name": "",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 2,
@ -441,8 +534,11 @@
"autoEvents": [
{
"id": 0,
"name": "タバサ初期化",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -452,8 +548,11 @@
},
{
"id": 7,
"name": "お金減少",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -463,7 +562,7 @@
"comment": "",
"type": "message",
"data": [
"調教費用として\\C[4]\\va4[4]pt\\C[0]を支払いました\n\n"
"Paid \\C[4]\\va4[4]pt\\C[0] as training expenses."
],
"speaker": "No Speaker"
}
@ -473,8 +572,11 @@
},
{
"id": 2,
"name": "汎用初期化",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -484,8 +586,11 @@
},
{
"id": 9,
"name": "山賊登場",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -495,8 +600,11 @@
},
{
"id": 6,
"name": "山賊登場",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -510,8 +618,11 @@
},
{
"id": 10,
"name": "時間切れ",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -521,7 +632,7 @@
"comment": "",
"type": "message",
"data": [
"時間切れとなりました。\nこれで調教を終了します。"
"Time's up. Training ends here."
],
"speaker": "No Speaker"
}
@ -531,8 +642,11 @@
},
{
"id": 11,
"name": "オープニング",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -542,99 +656,99 @@
"comment": "",
"type": "message",
"data": [
"うぅ……なんだい、ここは……?"
"Ugh... Where is this...?"
],
"speaker": "タバサ"
"speaker": "Tabatha"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"気がついたかあ?\nここは俺らのアジトさ。"
"Oh, you're awake? This is our hideout."
],
"speaker": "ダレス"
"speaker": "Dalles"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"あんたは……!\n\n\nうちのやつらはどうしたんだい\n\n\nっていうか、お前ら全員裸で……\nあ、あたいをこれ以上ヤる気なのかい"
"You...! What happened to my crew? And why are you\nall naked... A-are you planning to do more to me!?"
],
"speaker": "タバサ"
"speaker": "Tabatha"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"そうさ。お前には心の底から\n俺達に屈服してもらわにゃ\nならねえんでな。"
"That's right. We need you to submit to us\ncompletely, from the bottom of your heart."
],
"speaker": "ダレス"
"speaker": "Dalles"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"ジャコモの旦那から任されたんだ。\n俺様が直々に調教してやるぜ"
"Giacomo put me in charge. I'll personally train\nyou!"
],
"speaker": "ダレス"
"speaker": "Dalles"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"へっへへ、なかなか具合がよかったって、\n兄貴や他のやつらから聞いてるぜ。\n\n俺たちにもどんなもんか味あわせてくれよ。"
"Heh heh, we heard from the boss and the others\nthat you felt pretty good. Let us have a taste\ntoo."
],
"speaker": "山賊たち"
"speaker": "Bandits"
},
{
"id": 6,
"comment": "",
"type": "message",
"data": [
"くっ、あんまり調子に乗るんじゃないよ!"
"Don't get too full of yourselves!"
],
"speaker": "タバサ"
"speaker": "Tabatha"
},
{
"id": 7,
"comment": "",
"type": "message",
"data": [
"その強気な態度、いつまで保てるかな?"
"Let's see how long you can keep up that tough act."
],
"speaker": "山賊たち"
"speaker": "Bandits"
},
{
"id": 8,
"comment": "",
"type": "message",
"data": [
"よーし、俺様はさっきヤったからな。\nお前らこいつを好きにしていいぞ。"
"Alright, I already had my turn. You guys can do\nwhatever you want with this bitch."
],
"speaker": "ダレス"
"speaker": "Dalles"
},
{
"id": 9,
"comment": "",
"type": "message",
"data": [
"やったぜ!\nへへへへっ"
"Hell yeah! Heheheh!"
],
"speaker": "山賊たち"
"speaker": "Bandits"
},
{
"id": 10,
"comment": "",
"type": "message",
"data": [
"くううっ!"
"Nghh!"
],
"speaker": "タバサ"
"speaker": "Tabatha"
}
]
}
@ -642,8 +756,11 @@
},
{
"id": 16,
"name": "クリア判定",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -653,8 +770,11 @@
},
{
"id": 17,
"name": "レイプ目",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -664,8 +784,11 @@
},
{
"id": 18,
"name": "服従成功",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -675,7 +798,7 @@
"comment": "",
"type": "message",
"data": [
"\n\\pdb[\\va3[4]]を服従させることに成功しました!"
"Successfully made \\pdb[\\va3[4]] submit!"
]
}
]
@ -684,8 +807,11 @@
},
{
"id": 14,
"name": "後片付け",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -695,8 +821,11 @@
},
{
"id": 1,
"name": "難易度ボーナス",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -706,8 +835,11 @@
},
{
"id": 51,
"name": "051_タバサ調教後",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -717,97 +849,97 @@
"comment": "",
"type": "message",
"data": [
"くうっ……。\n\n\nまさかこんなことになっちまうだなんて……。"
"Ngh... I never thought things would end up like\nthis..."
],
"speaker": "タバサ"
"speaker": "Tabatha"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"タバサ。"
"Tabatha."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"あっ、ちびっこ!"
"Ah, little one!"
],
"speaker": "タバサ"
"speaker": "Tabatha"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"ずいぶんな目にあったみたいだな。"
"Looks like you went through quite a lot."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"ずっと気になってはいたんだよ。\nあんたのその下品な首輪……。\n\nちびっこも、毎日あんなことを\nさせられているのか"
"I've always wondered about that filthy collar of\nyours... Little one, do they make you do that kind\nof stuff every day too?"
],
"speaker": "タバサ"
"speaker": "Tabatha"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"まあ、そうだな……。"
"Well, yeah..."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 6,
"comment": "",
"type": "message",
"data": [
"そ、そうかい……。"
"I-I see..."
],
"speaker": "タバサ"
"speaker": "Tabatha"
},
{
"id": 7,
"comment": "",
"type": "message",
"data": [
""
"?"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 8,
"comment": "",
"type": "message",
"data": [
"お前が私に対していい印象を持っていないのは\nわかっている。\n\nだが少し話をしたいのだ。"
"I know you don't have a good impression of me. But\nI'd like to talk for a bit."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 9,
"comment": "",
"type": "message",
"data": [
"ん? どうしたんだい?"
"Hm? What's up?"
],
"speaker": "タバサ"
"speaker": "Tabatha"
},
{
"id": 10,
"comment": "",
"type": "message",
"data": [
"私はタバサに、ジャコモとのこと、\nそして聖剣のことを話した。"
"I told Tabatha about Giacomo and the holy sword."
],
"speaker": "_"
},
@ -816,108 +948,108 @@
"comment": "",
"type": "message",
"data": [
"へぇ、その聖剣ってのがあれば\nジャコモってやつを倒せるんだね。"
"Huh, so with that holy sword, you can beat that\nGiacomo guy."
],
"speaker": "タバサ"
"speaker": "Tabatha"
},
{
"id": 12,
"comment": "",
"type": "message",
"data": [
"ああ、そうだ。\n\n\nそうすればもう、あんなひどいことを\nされることもなくなるだろう。"
"Yeah, that's right. If we do, we won't have to go\nthrough such awful things anymore."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 13,
"comment": "",
"type": "message",
"data": [
"そ、そうだね……。"
"Y-yeah..."
],
"speaker": "タバサ"
"speaker": "Tabatha"
},
{
"id": 14,
"comment": "",
"type": "message",
"data": [
""
"?"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 15,
"comment": "",
"type": "message",
"data": [
"というわけで、しばらくの間\n私に協力して欲しいのだ。"
"So, I'd like you to work with me for a while."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 16,
"comment": "",
"type": "message",
"data": [
"う、うーん。"
"U-uhm..."
],
"speaker": "タバサ"
"speaker": "Tabatha"
},
{
"id": 17,
"comment": "",
"type": "message",
"data": [
"いったい何を迷っているのだ。"
"What are you hesitating about?"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 18,
"comment": "",
"type": "message",
"data": [
"そ、そうだね、別にここから出ても、\n似たようなことはできるだろうしね。"
"Well, yeah, I guess even if I leave here, I could\ndo similar things elsewhere."
],
"speaker": "タバサ"
"speaker": "Tabatha"
},
{
"id": 19,
"comment": "",
"type": "message",
"data": [
"さっきから何を気にしているのだ。"
"What are you so concerned about?"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 20,
"comment": "",
"type": "message",
"data": [
"なんでもないさ。\nじゃあしばらくの間、ちびっこに\n付き合ってあげるよ。"
"It's nothing. Alright, I'll hang out with you for\na while, little one."
],
"speaker": "タバサ"
"speaker": "Tabatha"
},
{
"id": 21,
"comment": "",
"type": "message",
"data": [
"ああ、すまない。"
"Ah, thank you."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 22,
"comment": "",
"type": "message",
"data": [
"(しかし何を気にしているのだろう?)"
"(But what is she so worried about?)"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
}
]
}
@ -925,8 +1057,11 @@
},
{
"id": 19,
"name": "元のマップに戻る",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,77 +1,80 @@
{
"id": 29,
"name": "qa301_フリー",
"desc": "村を攻撃し、物資を奪え!",
"mapName": "国境付近の村",
"desc": "Attack the village and steal their supplies!",
"mapName": "Village Near the Border",
"victoryConds": [
"4つのキャンプの物資の奪取",
"Seize the supplies from all four camps.",
"",
"",
"全ての敵を倒せ!"
"Defeat all enemies!"
],
"defeatConds": [
"シャルロットの敗北",
"Charlotte's Defeat",
"",
"",
"主人公の死亡"
"Protagonist's Death"
],
"EnemyUnits": [
{
"id": 65541,
"name": "守備隊長",
"desc": "補給基地を守る守備隊長",
"name": "Defense Captain",
"desc": "Garrison Captain defending the supply base",
"events": []
},
{
"id": 65536,
"name": "民兵",
"desc": "補給基地を守る民兵",
"name": "Militia",
"desc": "Militia defending the supply base",
"events": []
},
{
"id": 65537,
"name": "民兵",
"desc": "補給基地を守る民兵",
"name": "Militia",
"desc": "Militia defending the supply base",
"events": []
},
{
"id": 65542,
"name": "民兵",
"desc": "補給基地を守る弓兵",
"name": "Militia",
"desc": "Archer defending the supply base",
"events": []
}
],
"EvEnemyUnits": [
{
"id": 131072,
"name": "民兵",
"desc": "補給基地を守る民兵",
"name": "Militia",
"desc": "Militia defending the supply base",
"events": []
},
{
"id": 131073,
"name": "民兵",
"desc": "補給基地を守る民兵",
"name": "Militia",
"desc": "Militia defending the supply base",
"events": []
},
{
"id": 131074,
"name": "民兵",
"desc": "補給基地を守る弓兵",
"name": "Militia",
"desc": "Archer defending the supply base",
"events": []
},
{
"id": 131075,
"name": "民兵",
"desc": "補給基地を守る弓兵",
"name": "Militia",
"desc": "Archer defending the supply base",
"events": []
}
],
"placeEvents": [
{
"id": 0,
"name": "",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -81,8 +84,11 @@
},
{
"id": 1,
"name": "",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -92,8 +98,11 @@
},
{
"id": 2,
"name": "",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -103,8 +112,11 @@
},
{
"id": 3,
"name": "",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -114,8 +126,11 @@
},
{
"id": 4,
"name": "",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -125,8 +140,11 @@
},
{
"id": 6,
"name": "",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -136,18 +154,18 @@
"comment": "",
"type": "message",
"data": [
"うおっしゃー!\n村を襲うぜぇぇ"
"Hell yeah! Let's raid the village!!"
],
"speaker": "ダレス"
"speaker": "Dalles"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"ひゃっほーう!"
"Woohoo!"
],
"speaker": "山賊たち"
"speaker": "Bandits"
}
]
}
@ -157,8 +175,11 @@
"autoEvents": [
{
"id": 6,
"name": "回数増加",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -168,8 +189,11 @@
},
{
"id": 0,
"name": "クリア条件",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -179,8 +203,11 @@
},
{
"id": 1,
"name": "210_制圧時",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -190,9 +217,9 @@
"comment": "",
"type": "message",
"data": [
"よし、補給基地の制圧が完了した!\nただちに帰還する"
"All right, we've secured the supply base! We're\nheading back immediately!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
}
]
}
@ -200,8 +227,11 @@
},
{
"id": 2,
"name": "元のマップに戻る",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 2,
@ -247,8 +277,11 @@
},
{
"id": 3,
"name": "モブH初回",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -258,8 +291,11 @@
},
{
"id": 31,
"name": "031_村娘回目以降事前",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -269,54 +305,54 @@
"comment": "",
"type": "message",
"data": [
"ハハハ、ガキと女ども。\n今日もこんなとこ隠れてたのか。"
"Hahaha, kids and women. Hiding out here again\ntoday, huh?"
],
"speaker": "ダレス"
"speaker": "Dalles"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"ひっ!"
"Eek!"
],
"speaker": "モニカ"
"speaker": "Monica"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"お、おじさんたち、なにしにきたの……!"
"W-What are you old men doing here...?"
],
"speaker": "モニカ"
"speaker": "Monica"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"お前らと遊んでやりにきたのよ。"
"We came to play with you all."
],
"speaker": "ダレス"
"speaker": "Dalles"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"ほれお前ら、ヤっちまうぞ!"
"All right, boys, let's do 'em!"
],
"speaker": "ダレス"
"speaker": "Dalles"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"イヤぁぁ―――!!"
"Nooo―!!"
],
"speaker": "モニカ"
"speaker": "Monica"
}
]
}
@ -324,8 +360,11 @@
},
{
"id": 5,
"name": "モブH回目以降",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -335,8 +374,11 @@
},
{
"id": 4,
"name": "Hシーンの後片付け",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -346,7 +388,7 @@
"comment": "",
"type": "message",
"data": [
"調教ポイントが8増加しました"
"Training points increased by 8!"
]
}
]
@ -357,8 +399,11 @@
"openingEvents": [
{
"id": 2,
"name": "スクロールなし",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -368,8 +413,11 @@
},
{
"id": 0,
"name": "マップ表示",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -379,8 +427,11 @@
},
{
"id": 21,
"name": "021_フリーマップ出撃1",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -390,90 +441,90 @@
"comment": "",
"type": "message",
"data": [
"はー、今日も退屈だな。"
"Man, it's boring again today."
],
"speaker": "民兵A"
"speaker": "Militia A"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"ここらじゃ兵士なんて言っても、\n実際はクワ持つ方が多いくらいだもんな。\n\nまぁこんな小さな村、\n誰も襲ったりしねぇだろ……。"
"Around here, even if you call us soldiers, most of\nus are better with a hoe than a sword. Well, in a\ntiny village like this, no one's gonna attack us\nanyway..."
],
"speaker": "民兵B"
"speaker": "Militia B"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"おーい! 大変だ!\n見たことない集団がこっちにくるぞ\n\n荒くれどもが大勢……\nあれは……山賊じゃねえのか"
"Hey! Trouble! There's a group coming this way I've\nnever seen before! A whole bunch of rough-looking\nguys... Are those... bandits!?"
],
"speaker": "民兵C"
"speaker": "Militia C"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"なんだと?\nもしかして噂のダレス山賊団とか\nいうやつらじゃねえだろうな"
"What? Don't tell me it's that Dalles bandit gang\neveryone's been talking about?"
],
"speaker": "民兵B"
"speaker": "Militia B"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"こっから見ただけで\nわかるわけねえだろ\n\nわかるのは山賊にしちゃ\n数が多いってことだけだ"
"How the hell would I know just by looking from\nhere!? All I can tell is there's way too many for\njust some bandits!"
],
"speaker": "民兵A"
"speaker": "Militia A"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"くそっ、うちみたいなちっぽけな村じゃ\n勝てるわけないぞ。\n逃げねえと……。"
"Damn it, there's no way a tiny village like ours\ncan win. We gotta run..."
],
"speaker": "民兵B"
"speaker": "Militia B"
},
{
"id": 6,
"comment": "",
"type": "message",
"data": [
"カーラ様から兵糧任されてんだぞ!\n逃げたら死刑だ。\n迎え撃つしかねえよ"
"Karla-sama put me in charge of the rations! If I\nrun, it's the death penalty. We have no choice but\nto fight!"
],
"speaker": "民兵A"
"speaker": "Militia A"
},
{
"id": 7,
"comment": "",
"type": "message",
"data": [
"く、くそっ……!"
"D-Damn it...!"
],
"speaker": "民兵B"
"speaker": "Militia B"
},
{
"id": 8,
"comment": "",
"type": "message",
"data": [
"敵襲! 敵襲!\n民兵は全員防衛に当たれ\n\n村のモンは家の中に隠れてくれっ"
"Enemy attack! Enemy attack! All militia, defend\nthe village! Everyone else, hide inside your\nhomes!"
],
"speaker": "民兵A"
"speaker": "Militia A"
},
{
"id": 9,
"comment": "",
"type": "message",
"data": [
"えっ、ええっ?\n敵襲\n\n大変……\n薬草しまって隠れなきゃ"
"Huh, what? An attack!? Oh no...! I have to hide\nthe herbs and get out of sight!"
],
"speaker": "村娘モニカ"
"speaker": "Village Girl Monica"
}
]
}
@ -481,8 +532,11 @@
},
{
"id": 22,
"name": "022_フリーマップ出撃2",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -492,81 +546,81 @@
"comment": "",
"type": "message",
"data": [
"くっ……\nこんな場所を攻める必要はないだろう\n何を考えているのだ"
"Damn... There's no reason to attack a place like\nthis! What are they thinking?!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"あっちの食料ぶんどるんだぞ。\n戦略としちゃ効果的な一手じゃねえのか"
"They're after the food over there. Strategically,\nit's a pretty effective move, isn't it?"
],
"speaker": "マジード"
"speaker": "Majid"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"しかし……。"
"But still..."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"だいたい、俺達を鍛える時間と\n場所がねえとか愚痴ってたのもお前だろ\n\nそこらへんについての旦那の\n計らいだってよ。\nありがたく受け止めな。"
"Weren't you the one complaining we didn't have\ntime or a place to train? The boss set this up for\nus. Be grateful."
],
"speaker": "マジード"
"speaker": "Majid"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"だが、王都攻略に必要のない\n場を襲うなどと……"
"But attacking a place that's not even needed for\nthe capital assault...!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"安心しろ。\n今回は全面的に殺しやしねぇ。\n\n大事にして場所変えられても\n面倒だってよ。\n\nだからちーっと殴り倒して、\nお宝頂いていくだけさ。\n\n兄貴が女見かけりゃ手ェ出すかも\nしれねぇが、この場限りだ。\n\n殺しもナシで、女さらってくのもナシ。\n俺達にしちゃ優しい方だろ"
"Relax. We're not going on a killing spree this\ntime. If they move the goods somewhere else, it'll\njust be a pain. So we're just gonna rough 'em up a\nbit and take the loot. If the boss spots a woman,\nhe might make a move, but that's it for now. No\nkilling, no kidnapping women. That's pretty gentle\nfor us, right?"
],
"speaker": "マジード"
"speaker": "Majid"
},
{
"id": 6,
"comment": "",
"type": "message",
"data": [
"くそっ……!"
"Damn it...!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 7,
"comment": "",
"type": "message",
"data": [
"ハーッハハハ!\n久々に楽しい出陣になりそうだなあ\n\nおい、野郎ども。\n出るぜっ"
"Hahahaha! Looks like this is gonna be a fun raid\nfor once! All right, boys. Let's go!"
],
"speaker": "ダレス"
"speaker": "Dalles"
},
{
"id": 8,
"comment": "",
"type": "message",
"data": [
"へいっ!!"
"Yeah!!"
],
"speaker": "山賊A"
"speaker": "Bandit A"
}
]
}
@ -574,8 +628,11 @@
},
{
"id": 25,
"name": "025_フリーマップ出撃2回目",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -585,45 +642,45 @@
"comment": "",
"type": "message",
"data": [
"おい!\nまた山賊どもがこっちに来るぞ"
"Hey! The bandits are coming this way again!"
],
"speaker": "民兵A"
"speaker": "Militia A"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"ま、またアイツらか?\nなんだってまたこんな場所に……。"
"I-it's those guys again? Why the hell are they\ncoming to a place like this..."
],
"speaker": "民兵B"
"speaker": "Militia B"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"ちくしょう!\n敵がこねえっていうから\n田舎の詰め所希望したのによぉ"
"Damn it! They said the enemy wouldn't come, so I\nasked for a post in the boonies!"
],
"speaker": "民兵B"
"speaker": "Militia B"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"つべこべ言うな!\n迎撃するしかねえだろ\n\n敵襲敵襲\n民兵は防衛に出てこい\n\n村のモンは家の中に隠れてくれっ"
"Quit whining! We have no choice but to fight back!\nEnemy attack! Enemy attack! All militia, get out\nand defend! Villagers, hide inside your homes!"
],
"speaker": "民兵A"
"speaker": "Militia A"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"ひ、ひっ……!\nまたあの人たちなの\n\nモニカ、もう嫌だよぉ……。"
"E-eek...! Is it those people again? Monica can't\ntake this anymore..."
],
"speaker": "村娘モニカ"
"speaker": "Village Girl Monica"
}
]
}
@ -631,8 +688,11 @@
},
{
"id": 3,
"name": "新規イベント",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -644,8 +704,11 @@
"communicationEvents": [
{
"id": 1,
"name": "Strategy Meeting",
"desc": "",
"command": "",
"commandMsg": "",
"customParameters": "",
"pages": [
{
"id": 0,
@ -655,72 +718,72 @@
"comment": "",
"type": "message",
"data": [
"さーて、作戦会議だな!"
"All right, time for a strategy meeting!"
],
"speaker": "マジード"
"speaker": "Majid"
},
{
"id": 1,
"comment": "",
"type": "message",
"data": [
"くっ……。"
"Damn..."
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 2,
"comment": "",
"type": "message",
"data": [
"まあ安心なって、何も村人を殺す\nわけじゃないんだ。\n\nつのキャンプから物資を奪えば\nそれで終わり、引き上げだ。"
"Don't worry, we're not here to kill any villagers.\nOnce we steal supplies from the four camps, we're\ndone and pulling out."
],
"speaker": "マジード"
"speaker": "Majid"
},
{
"id": 3,
"comment": "",
"type": "message",
"data": [
"そうだ、物資を補給したらすぐに\n撤退する\n\n遅れるんじゃないぞ"
"That's right, as soon as we resupply, we retreat!\nDon't fall behind!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 4,
"comment": "",
"type": "message",
"data": [
"わかってるって。\n\n\nお前らも準備しておけよ。"
"Yeah, yeah, I got it. You guys get ready too."
],
"speaker": "マジード"
"speaker": "Majid"
},
{
"id": 5,
"comment": "",
"type": "message",
"data": [
"ひゃっほーう!"
"Hell yeah!"
],
"speaker": "山賊たち"
"speaker": "Bandits"
},
{
"id": 6,
"comment": "",
"type": "message",
"data": [
"くっ……!"
"Damn it...!"
],
"speaker": "シャルロット"
"speaker": "Charlotte"
},
{
"id": 7,
"comment": "",
"type": "message",
"data": [
"\\C[4]あの村にダレスの兄貴が行けば、\n 何かが起こる\\C[0]だろうな)\n\n楽しみだぜ"
"(\\C[4]If Dalles-aniki goes to that village, something's\nbound to happen\\C[0]) (Can't wait to see it)"
],
"speaker": "マジード"
"speaker": "Majid"
}
]
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

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