v1.10
This commit is contained in:
parent
32933f54cd
commit
6eee6ef648
21 changed files with 138469 additions and 41985 deletions
39207
data/CommonEvents.json
39207
data/CommonEvents.json
File diff suppressed because it is too large
Load diff
303
data/Map008.json
303
data/Map008.json
|
|
@ -11101,7 +11101,7 @@
|
|||
"walkAnime": false
|
||||
}
|
||||
],
|
||||
"x": 12,
|
||||
"x": 11,
|
||||
"y": 9
|
||||
},
|
||||
{
|
||||
|
|
@ -13800,6 +13800,86 @@
|
|||
"はい"
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 111,
|
||||
"indent": 1,
|
||||
"parameters": [
|
||||
1,
|
||||
25,
|
||||
0,
|
||||
12,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 111,
|
||||
"indent": 2,
|
||||
"parameters": [
|
||||
0,
|
||||
531,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 357,
|
||||
"indent": 3,
|
||||
"parameters": [
|
||||
"iii/iiiFadeSpeedChanger",
|
||||
"FadeOutTask",
|
||||
"フェードアウト(暗くする)処理",
|
||||
{
|
||||
"FadeTime": "60"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 657,
|
||||
"indent": 3,
|
||||
"parameters": [
|
||||
"フェード時間 = 60"
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 121,
|
||||
"indent": 3,
|
||||
"parameters": [
|
||||
531,
|
||||
531,
|
||||
0
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 117,
|
||||
"indent": 3,
|
||||
"parameters": [
|
||||
385
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 115,
|
||||
"indent": 3,
|
||||
"parameters": []
|
||||
},
|
||||
{
|
||||
"code": 0,
|
||||
"indent": 3,
|
||||
"parameters": []
|
||||
},
|
||||
{
|
||||
"code": 412,
|
||||
"indent": 2,
|
||||
"parameters": []
|
||||
},
|
||||
{
|
||||
"code": 0,
|
||||
"indent": 2,
|
||||
"parameters": []
|
||||
},
|
||||
{
|
||||
"code": 412,
|
||||
"indent": 1,
|
||||
"parameters": []
|
||||
},
|
||||
{
|
||||
"code": 357,
|
||||
"indent": 1,
|
||||
|
|
@ -13838,7 +13918,8 @@
|
|||
"parameters": [
|
||||
1,
|
||||
"いいえ"
|
||||
]
|
||||
],
|
||||
"collapsed": true
|
||||
},
|
||||
{
|
||||
"code": 0,
|
||||
|
|
@ -23112,7 +23193,7 @@
|
|||
},
|
||||
{
|
||||
"id": 38,
|
||||
"name": "[WeponR]武器戻し",
|
||||
"name": "x[WeponR]武器戻し",
|
||||
"note": "",
|
||||
"pages": [
|
||||
{
|
||||
|
|
@ -23337,7 +23418,8 @@
|
|||
"parameters": [
|
||||
0,
|
||||
"はい"
|
||||
]
|
||||
],
|
||||
"collapsed": true
|
||||
},
|
||||
{
|
||||
"code": 355,
|
||||
|
|
@ -23663,6 +23745,219 @@
|
|||
],
|
||||
"x": 6,
|
||||
"y": 4
|
||||
},
|
||||
{
|
||||
"id": 39,
|
||||
"name": "[check]LoveSakura",
|
||||
"note": "",
|
||||
"pages": [
|
||||
{
|
||||
"conditions": {
|
||||
"actorId": 1,
|
||||
"actorValid": false,
|
||||
"itemId": 1,
|
||||
"itemValid": false,
|
||||
"selfSwitchCh": "A",
|
||||
"selfSwitchValid": false,
|
||||
"switch1Id": 1,
|
||||
"switch1Valid": false,
|
||||
"switch2Id": 1,
|
||||
"switch2Valid": false,
|
||||
"variableId": 25,
|
||||
"variableValid": true,
|
||||
"variableValue": 12
|
||||
},
|
||||
"directionFix": true,
|
||||
"image": {
|
||||
"tileId": 0,
|
||||
"characterName": "!Chest",
|
||||
"direction": 8,
|
||||
"pattern": 0,
|
||||
"characterIndex": 2
|
||||
},
|
||||
"list": [
|
||||
{
|
||||
"code": 0,
|
||||
"indent": 0,
|
||||
"parameters": []
|
||||
}
|
||||
],
|
||||
"moveFrequency": 3,
|
||||
"moveRoute": {
|
||||
"list": [
|
||||
{
|
||||
"code": 0,
|
||||
"parameters": []
|
||||
}
|
||||
],
|
||||
"repeat": true,
|
||||
"skippable": false,
|
||||
"wait": false
|
||||
},
|
||||
"moveSpeed": 3,
|
||||
"moveType": 0,
|
||||
"priorityType": 1,
|
||||
"stepAnime": true,
|
||||
"through": false,
|
||||
"trigger": 0,
|
||||
"walkAnime": false
|
||||
},
|
||||
{
|
||||
"conditions": {
|
||||
"actorId": 1,
|
||||
"actorValid": false,
|
||||
"itemId": 1,
|
||||
"itemValid": false,
|
||||
"selfSwitchCh": "A",
|
||||
"selfSwitchValid": false,
|
||||
"switch1Id": 531,
|
||||
"switch1Valid": true,
|
||||
"switch2Id": 1,
|
||||
"switch2Valid": false,
|
||||
"variableId": 1,
|
||||
"variableValid": false,
|
||||
"variableValue": 0
|
||||
},
|
||||
"directionFix": false,
|
||||
"image": {
|
||||
"characterIndex": 0,
|
||||
"characterName": "",
|
||||
"direction": 2,
|
||||
"pattern": 0,
|
||||
"tileId": 0
|
||||
},
|
||||
"list": [
|
||||
{
|
||||
"code": 0,
|
||||
"indent": 0,
|
||||
"parameters": []
|
||||
}
|
||||
],
|
||||
"moveFrequency": 3,
|
||||
"moveRoute": {
|
||||
"list": [
|
||||
{
|
||||
"code": 0,
|
||||
"parameters": []
|
||||
}
|
||||
],
|
||||
"repeat": true,
|
||||
"skippable": false,
|
||||
"wait": false
|
||||
},
|
||||
"moveSpeed": 3,
|
||||
"moveType": 0,
|
||||
"priorityType": 0,
|
||||
"stepAnime": false,
|
||||
"through": false,
|
||||
"trigger": 0,
|
||||
"walkAnime": true
|
||||
},
|
||||
{
|
||||
"conditions": {
|
||||
"actorId": 1,
|
||||
"actorValid": false,
|
||||
"itemId": 1,
|
||||
"itemValid": false,
|
||||
"selfSwitchCh": "A",
|
||||
"selfSwitchValid": false,
|
||||
"switch1Id": 45,
|
||||
"switch1Valid": true,
|
||||
"switch2Id": 1,
|
||||
"switch2Valid": false,
|
||||
"variableId": 1,
|
||||
"variableValid": false,
|
||||
"variableValue": 0
|
||||
},
|
||||
"directionFix": false,
|
||||
"image": {
|
||||
"characterIndex": 0,
|
||||
"characterName": "",
|
||||
"direction": 2,
|
||||
"pattern": 0,
|
||||
"tileId": 0
|
||||
},
|
||||
"list": [
|
||||
{
|
||||
"code": 0,
|
||||
"indent": 0,
|
||||
"parameters": []
|
||||
}
|
||||
],
|
||||
"moveFrequency": 3,
|
||||
"moveRoute": {
|
||||
"list": [
|
||||
{
|
||||
"code": 0,
|
||||
"parameters": []
|
||||
}
|
||||
],
|
||||
"repeat": true,
|
||||
"skippable": false,
|
||||
"wait": false
|
||||
},
|
||||
"moveSpeed": 3,
|
||||
"moveType": 0,
|
||||
"priorityType": 0,
|
||||
"stepAnime": false,
|
||||
"through": false,
|
||||
"trigger": 0,
|
||||
"walkAnime": true
|
||||
},
|
||||
{
|
||||
"conditions": {
|
||||
"actorId": 1,
|
||||
"actorValid": false,
|
||||
"itemId": 1,
|
||||
"itemValid": false,
|
||||
"selfSwitchCh": "A",
|
||||
"selfSwitchValid": false,
|
||||
"switch1Id": 75,
|
||||
"switch1Valid": true,
|
||||
"switch2Id": 1,
|
||||
"switch2Valid": false,
|
||||
"variableId": 1,
|
||||
"variableValid": false,
|
||||
"variableValue": 0
|
||||
},
|
||||
"directionFix": false,
|
||||
"image": {
|
||||
"characterIndex": 0,
|
||||
"characterName": "",
|
||||
"direction": 2,
|
||||
"pattern": 0,
|
||||
"tileId": 0
|
||||
},
|
||||
"list": [
|
||||
{
|
||||
"code": 0,
|
||||
"indent": 0,
|
||||
"parameters": []
|
||||
}
|
||||
],
|
||||
"moveFrequency": 3,
|
||||
"moveRoute": {
|
||||
"list": [
|
||||
{
|
||||
"code": 0,
|
||||
"parameters": []
|
||||
}
|
||||
],
|
||||
"repeat": true,
|
||||
"skippable": false,
|
||||
"wait": false
|
||||
},
|
||||
"moveSpeed": 3,
|
||||
"moveType": 0,
|
||||
"priorityType": 0,
|
||||
"stepAnime": false,
|
||||
"through": false,
|
||||
"trigger": 0,
|
||||
"walkAnime": true
|
||||
}
|
||||
],
|
||||
"x": 12,
|
||||
"y": 9
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -6100,8 +6100,7 @@
|
|||
0,
|
||||
5,
|
||||
0
|
||||
],
|
||||
"collapsed": true
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 205,
|
||||
|
|
@ -6199,7 +6198,8 @@
|
|||
0,
|
||||
150,
|
||||
0
|
||||
]
|
||||
],
|
||||
"collapsed": true
|
||||
},
|
||||
{
|
||||
"code": 205,
|
||||
|
|
|
|||
|
|
@ -2915,8 +2915,7 @@
|
|||
0,
|
||||
2,
|
||||
1
|
||||
],
|
||||
"collapsed": true
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 357,
|
||||
|
|
@ -2970,7 +2969,7 @@
|
|||
"code": 657,
|
||||
"indent": 1,
|
||||
"parameters": [
|
||||
"詳細 = \"[目標更新]\\n玉子に話を聞きに行こう。\\n\\n-----------…"
|
||||
"詳細 = \"[目標更新]\\n「湯処 煮卵」にいる玉子に話を聞きに行こ…"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -4966,8 +4966,7 @@
|
|||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"collapsed": true
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 231,
|
||||
|
|
@ -5044,8 +5043,7 @@
|
|||
{
|
||||
"code": 411,
|
||||
"indent": 0,
|
||||
"parameters": [],
|
||||
"collapsed": true
|
||||
"parameters": []
|
||||
},
|
||||
{
|
||||
"code": 231,
|
||||
|
|
|
|||
140
data/Map181.json
140
data/Map181.json
|
|
@ -4086,14 +4086,24 @@
|
|||
"characterIndex": 2
|
||||
},
|
||||
"list": [
|
||||
{
|
||||
"code": 357,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
"Message/MessageWindowPopup",
|
||||
"POPUP_INVALID",
|
||||
"フキダシ無効化",
|
||||
{}
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 101,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
"",
|
||||
0,
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
""
|
||||
]
|
||||
},
|
||||
|
|
@ -4101,9 +4111,133 @@
|
|||
"code": 401,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
"Do you want to turn on the rescue function?"
|
||||
"*救済システムです。"
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 401,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
" 演歌ミニゲームを簡単にする機能を解放!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 401,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
" 解放しますか?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 102,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
[
|
||||
"はい",
|
||||
"いいえ"
|
||||
],
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
0
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 402,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
0,
|
||||
"はい"
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 250,
|
||||
"indent": 1,
|
||||
"parameters": [
|
||||
{
|
||||
"name": "se_kagurasuzu",
|
||||
"volume": 90,
|
||||
"pitch": 100,
|
||||
"pan": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 357,
|
||||
"indent": 1,
|
||||
"parameters": [
|
||||
"Message/MessageWindowPopup",
|
||||
"POPUP_INVALID",
|
||||
"フキダシ無効化",
|
||||
{}
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 101,
|
||||
"indent": 1,
|
||||
"parameters": [
|
||||
"",
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
""
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 401,
|
||||
"indent": 1,
|
||||
"parameters": [
|
||||
"*演歌の体力が増加しました!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 401,
|
||||
"indent": 1,
|
||||
"parameters": [
|
||||
" 頑張ってください!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 121,
|
||||
"indent": 1,
|
||||
"parameters": [
|
||||
153,
|
||||
153,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 121,
|
||||
"indent": 1,
|
||||
"parameters": [
|
||||
154,
|
||||
154,
|
||||
0
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 0,
|
||||
"indent": 1,
|
||||
"parameters": []
|
||||
},
|
||||
{
|
||||
"code": 402,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
1,
|
||||
"いいえ"
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 0,
|
||||
"indent": 1,
|
||||
"parameters": []
|
||||
},
|
||||
{
|
||||
"code": 404,
|
||||
"indent": 0,
|
||||
"parameters": []
|
||||
},
|
||||
{
|
||||
"code": 0,
|
||||
"indent": 0,
|
||||
|
|
|
|||
|
|
@ -4983,8 +4983,38 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"code": 122,
|
||||
"code": 111,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
0,
|
||||
154,
|
||||
0
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 122,
|
||||
"indent": 1,
|
||||
"parameters": [
|
||||
177,
|
||||
177,
|
||||
0,
|
||||
0,
|
||||
999
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 0,
|
||||
"indent": 1,
|
||||
"parameters": []
|
||||
},
|
||||
{
|
||||
"code": 411,
|
||||
"indent": 0,
|
||||
"parameters": []
|
||||
},
|
||||
{
|
||||
"code": 122,
|
||||
"indent": 1,
|
||||
"parameters": [
|
||||
177,
|
||||
177,
|
||||
|
|
@ -4993,6 +5023,16 @@
|
|||
5
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 0,
|
||||
"indent": 1,
|
||||
"parameters": []
|
||||
},
|
||||
{
|
||||
"code": 412,
|
||||
"indent": 0,
|
||||
"parameters": []
|
||||
},
|
||||
{
|
||||
"code": 121,
|
||||
"indent": 0,
|
||||
|
|
@ -7173,6 +7213,15 @@
|
|||
0
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 121,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
154,
|
||||
154,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 235,
|
||||
"indent": 0,
|
||||
|
|
@ -7753,6 +7802,15 @@
|
|||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 121,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
154,
|
||||
154,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 235,
|
||||
"indent": 0,
|
||||
|
|
|
|||
5744
data/Map221.json
5744
data/Map221.json
File diff suppressed because it is too large
Load diff
|
|
@ -5874,8 +5874,7 @@
|
|||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"collapsed": true
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 231,
|
||||
|
|
@ -5952,8 +5951,7 @@
|
|||
{
|
||||
"code": 411,
|
||||
"indent": 1,
|
||||
"parameters": [],
|
||||
"collapsed": true
|
||||
"parameters": []
|
||||
},
|
||||
{
|
||||
"code": 231,
|
||||
|
|
|
|||
|
|
@ -314,9 +314,9 @@
|
|||
1561,
|
||||
1561,
|
||||
1561,
|
||||
1572,
|
||||
1572,
|
||||
1572,
|
||||
1561,
|
||||
1561,
|
||||
1561,
|
||||
1572,
|
||||
1561,
|
||||
1561,
|
||||
|
|
@ -638,9 +638,9 @@
|
|||
6278,
|
||||
1536,
|
||||
6279,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
6327,
|
||||
1536,
|
||||
6327,
|
||||
0,
|
||||
7815,
|
||||
338,
|
||||
|
|
@ -665,9 +665,9 @@
|
|||
6276,
|
||||
1536,
|
||||
6277,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
6325,
|
||||
1536,
|
||||
6325,
|
||||
0,
|
||||
7813,
|
||||
346,
|
||||
|
|
@ -692,9 +692,9 @@
|
|||
6284,
|
||||
1536,
|
||||
6285,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
6333,
|
||||
1536,
|
||||
6333,
|
||||
0,
|
||||
7821,
|
||||
2667,
|
||||
|
|
@ -7555,6 +7555,65 @@
|
|||
"テンプレート生成 = false"
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 357,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
"System/EventReSpawn",
|
||||
"MAKE",
|
||||
"イベント生成",
|
||||
{
|
||||
"id": "6",
|
||||
"x": "13",
|
||||
"y": "9",
|
||||
"xByVariableId": "0",
|
||||
"yByVariableId": "0",
|
||||
"template": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 657,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
"イベントID = 6"
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 657,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
"X座標 = 13"
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 657,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
"Y座標 = 9"
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 657,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
"X座標変数ID = 0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 657,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
"Y座標変数ID = 0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 657,
|
||||
"indent": 0,
|
||||
"parameters": [
|
||||
"テンプレート生成 = false"
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 0,
|
||||
"indent": 0,
|
||||
|
|
|
|||
|
|
@ -3362,8 +3362,7 @@
|
|||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"collapsed": true
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": 357,
|
||||
|
|
@ -3483,8 +3482,7 @@
|
|||
{
|
||||
"code": 411,
|
||||
"indent": 0,
|
||||
"parameters": [],
|
||||
"collapsed": true
|
||||
"parameters": []
|
||||
},
|
||||
{
|
||||
"code": 357,
|
||||
|
|
@ -4910,8 +4908,7 @@
|
|||
{
|
||||
"code": 411,
|
||||
"indent": 0,
|
||||
"parameters": [],
|
||||
"collapsed": true
|
||||
"parameters": []
|
||||
},
|
||||
{
|
||||
"code": 357,
|
||||
|
|
@ -9782,7 +9779,8 @@
|
|||
"parameters": [
|
||||
1,
|
||||
"速度変更"
|
||||
]
|
||||
],
|
||||
"collapsed": true
|
||||
},
|
||||
{
|
||||
"code": 111,
|
||||
|
|
@ -9855,7 +9853,8 @@
|
|||
"parameters": [
|
||||
2,
|
||||
"リズム変更(現在:\\V[418])"
|
||||
]
|
||||
],
|
||||
"collapsed": true
|
||||
},
|
||||
{
|
||||
"code": 111,
|
||||
|
|
|
|||
|
|
@ -7006,7 +7006,7 @@
|
|||
},
|
||||
{
|
||||
"id": 7,
|
||||
"name": "[EV]狐鼓_処理",
|
||||
"name": "[EV]演歌_処理",
|
||||
"note": "",
|
||||
"pages": [
|
||||
{
|
||||
|
|
|
|||
8905
data/Map259.json
Normal file
8905
data/Map259.json
Normal file
File diff suppressed because it is too large
Load diff
14472
data/Map260.json
Normal file
14472
data/Map260.json
Normal file
File diff suppressed because it is too large
Load diff
23131
data/Map261.json
Normal file
23131
data/Map261.json
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -25,8 +25,8 @@
|
|||
"name": "MainStage",
|
||||
"order": 79,
|
||||
"parentId": 0,
|
||||
"scrollX": 1073.4545454545455,
|
||||
"scrollY": 916.3636363636364
|
||||
"scrollX": 1088.5714285714284,
|
||||
"scrollY": 640.2857142857142
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
|
|
@ -43,8 +43,8 @@
|
|||
"name": "Red-light District",
|
||||
"order": 98,
|
||||
"parentId": 3,
|
||||
"scrollX": 1258,
|
||||
"scrollY": 838,
|
||||
"scrollX": 1257.4285714285713,
|
||||
"scrollY": 633.4285714285714,
|
||||
"quick": false
|
||||
},
|
||||
{
|
||||
|
|
@ -58,12 +58,12 @@
|
|||
},
|
||||
{
|
||||
"id": 7,
|
||||
"expanded": false,
|
||||
"expanded": true,
|
||||
"name": "Home",
|
||||
"order": 193,
|
||||
"parentId": 0,
|
||||
"scrollX": 1009,
|
||||
"scrollY": 822
|
||||
"scrollX": 904.2857142857142,
|
||||
"scrollY": 619.7142857142857
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
|
|
@ -71,14 +71,14 @@
|
|||
"name": "Home Screen",
|
||||
"order": 194,
|
||||
"parentId": 7,
|
||||
"scrollX": 1002.75,
|
||||
"scrollY": 609
|
||||
"scrollX": 1129,
|
||||
"scrollY": 823
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"expanded": false,
|
||||
"name": "[NEW_GAME]_index",
|
||||
"order": 254,
|
||||
"order": 257,
|
||||
"parentId": 0,
|
||||
"scrollX": 1246.909090909091,
|
||||
"scrollY": 804,
|
||||
|
|
@ -100,7 +100,7 @@
|
|||
"order": 81,
|
||||
"parentId": 13,
|
||||
"scrollX": 1160.5714285714284,
|
||||
"scrollY": 652.2857142857142
|
||||
"scrollY": 654
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
|
|
@ -142,7 +142,7 @@
|
|||
"id": 16,
|
||||
"expanded": false,
|
||||
"name": "template",
|
||||
"order": 256,
|
||||
"order": 259,
|
||||
"parentId": 0,
|
||||
"scrollX": 1458.5454545454545,
|
||||
"scrollY": 904.3636363636364
|
||||
|
|
@ -217,8 +217,8 @@
|
|||
"name": "Castle Town (Commoners)",
|
||||
"order": 91,
|
||||
"parentId": 3,
|
||||
"scrollX": 1090.909090909091,
|
||||
"scrollY": 898.909090909091
|
||||
"scrollX": 917.9999999999999,
|
||||
"scrollY": 619.7142857142857
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
|
|
@ -298,8 +298,8 @@
|
|||
"name": "Chapter_select",
|
||||
"order": 199,
|
||||
"parentId": 0,
|
||||
"scrollX": 1257.8181818181818,
|
||||
"scrollY": 898.909090909091,
|
||||
"scrollX": 1038,
|
||||
"scrollY": 747,
|
||||
"quick": false
|
||||
},
|
||||
{
|
||||
|
|
@ -324,7 +324,7 @@
|
|||
"id": 36,
|
||||
"expanded": false,
|
||||
"name": "index_material",
|
||||
"order": 257,
|
||||
"order": 260,
|
||||
"parentId": 0,
|
||||
"scrollX": 1030,
|
||||
"scrollY": 724
|
||||
|
|
@ -389,8 +389,8 @@
|
|||
"name": "E_H Scene",
|
||||
"order": 201,
|
||||
"parentId": 0,
|
||||
"scrollX": 843.75,
|
||||
"scrollY": 570.75,
|
||||
"scrollX": 1263,
|
||||
"scrollY": 831,
|
||||
"quick": false
|
||||
},
|
||||
{
|
||||
|
|
@ -471,8 +471,8 @@
|
|||
"name": "H_002_Sword Place (Secret)",
|
||||
"order": 204,
|
||||
"parentId": 113,
|
||||
"scrollX": 1287,
|
||||
"scrollY": 845
|
||||
"scrollX": 1129,
|
||||
"scrollY": 823
|
||||
},
|
||||
{
|
||||
"id": 53,
|
||||
|
|
@ -561,8 +561,8 @@
|
|||
"name": "Commoner (East) Ultimate",
|
||||
"order": 215,
|
||||
"parentId": 111,
|
||||
"scrollX": 1678.6666666666667,
|
||||
"scrollY": 545.3333333333334
|
||||
"scrollX": 1145,
|
||||
"scrollY": 857
|
||||
},
|
||||
{
|
||||
"id": 63,
|
||||
|
|
@ -912,7 +912,7 @@
|
|||
"id": 101,
|
||||
"expanded": false,
|
||||
"name": "gas_import",
|
||||
"order": 258,
|
||||
"order": 261,
|
||||
"parentId": 0,
|
||||
"scrollX": 1458.5454545454545,
|
||||
"scrollY": 904.3636363636364,
|
||||
|
|
@ -1003,7 +1003,7 @@
|
|||
"id": 111,
|
||||
"expanded": false,
|
||||
"name": "E_SubH",
|
||||
"order": 214,
|
||||
"order": 215,
|
||||
"parentId": 43,
|
||||
"scrollX": 1602,
|
||||
"scrollY": 994.8
|
||||
|
|
@ -1014,14 +1014,14 @@
|
|||
"name": "H_014_Commoner (West) Hachishaku",
|
||||
"order": 216,
|
||||
"parentId": 111,
|
||||
"scrollX": 832,
|
||||
"scrollY": 624
|
||||
"scrollX": 1062.857142857143,
|
||||
"scrollY": 666.8571428571428
|
||||
},
|
||||
{
|
||||
"id": 113,
|
||||
"expanded": false,
|
||||
"name": "E_MainH",
|
||||
"order": 202,
|
||||
"order": 203,
|
||||
"parentId": 43,
|
||||
"scrollX": 1246.909090909091,
|
||||
"scrollY": 804
|
||||
|
|
@ -1996,8 +1996,8 @@
|
|||
"name": "Gallery (CG)",
|
||||
"order": 197,
|
||||
"parentId": 7,
|
||||
"scrollX": 1583,
|
||||
"scrollY": 1072,
|
||||
"scrollX": 1263,
|
||||
"scrollY": 1271,
|
||||
"quick": false
|
||||
},
|
||||
{
|
||||
|
|
@ -2051,8 +2051,8 @@
|
|||
"name": "H_027 Fox's Comfort",
|
||||
"order": 220,
|
||||
"parentId": 111,
|
||||
"scrollX": 987.75,
|
||||
"scrollY": 608.25
|
||||
"scrollX": 1212,
|
||||
"scrollY": 823
|
||||
},
|
||||
{
|
||||
"id": 228,
|
||||
|
|
@ -2143,8 +2143,8 @@
|
|||
"name": "Epilogue Beast Mountain",
|
||||
"order": 127,
|
||||
"parentId": 6,
|
||||
"scrollX": 1638,
|
||||
"scrollY": 907
|
||||
"scrollX": 1638.8571428571427,
|
||||
"scrollY": 773.1428571428571
|
||||
},
|
||||
{
|
||||
"id": 238,
|
||||
|
|
@ -2254,8 +2254,8 @@
|
|||
"name": "Gallery (CG)_Trial Version",
|
||||
"order": 198,
|
||||
"parentId": 221,
|
||||
"scrollX": 1316.7272727272727,
|
||||
"scrollY": 916.3636363636364,
|
||||
"scrollX": 1313,
|
||||
"scrollY": 917,
|
||||
"quick": false
|
||||
},
|
||||
{
|
||||
|
|
@ -2310,8 +2310,8 @@
|
|||
"name": "H_090_Yamada",
|
||||
"order": 222,
|
||||
"parentId": 111,
|
||||
"scrollX": 1602,
|
||||
"scrollY": 994.8,
|
||||
"scrollX": 1059.4285714285713,
|
||||
"scrollY": 653.1428571428571,
|
||||
"quick": false
|
||||
},
|
||||
{
|
||||
|
|
@ -2340,5 +2340,33 @@
|
|||
"parentId": 209,
|
||||
"scrollX": 843.75,
|
||||
"scrollY": 559.5
|
||||
},
|
||||
{
|
||||
"id": 259,
|
||||
"expanded": false,
|
||||
"name": "H_098 通り鬼(UPD)",
|
||||
"order": 223,
|
||||
"parentId": 111,
|
||||
"scrollX": 1045.7142857142856,
|
||||
"scrollY": 653.1428571428571
|
||||
},
|
||||
{
|
||||
"id": 260,
|
||||
"expanded": false,
|
||||
"name": "E_桜_個人UPD",
|
||||
"order": 256,
|
||||
"parentId": 206,
|
||||
"scrollX": 1263,
|
||||
"scrollY": 831
|
||||
},
|
||||
{
|
||||
"id": 261,
|
||||
"expanded": false,
|
||||
"name": "UPD_ギャラリー2",
|
||||
"order": 199,
|
||||
"parentId": 7,
|
||||
"scrollX": 1263,
|
||||
"scrollY": 831,
|
||||
"quick": false
|
||||
}
|
||||
]
|
||||
278
data/System.json
278
data/System.json
|
|
@ -27,12 +27,12 @@
|
|||
},
|
||||
"armorTypes": [
|
||||
"",
|
||||
"Clothing",
|
||||
"Magic Armor",
|
||||
"Light Armor",
|
||||
"Heavy Armor",
|
||||
"Small Shield",
|
||||
"Large Shield"
|
||||
"衣服",
|
||||
"魔法防具",
|
||||
"軽装防具",
|
||||
"重装防具",
|
||||
"小型盾",
|
||||
"大型盾"
|
||||
],
|
||||
"attackMotions": [
|
||||
{
|
||||
|
|
@ -112,14 +112,14 @@
|
|||
"startX": 0,
|
||||
"startY": 0
|
||||
},
|
||||
"currencyUnit": " Zeni",
|
||||
"currencyUnit": "銭",
|
||||
"defeatMe": {
|
||||
"name": "",
|
||||
"pan": 0,
|
||||
"pitch": 100,
|
||||
"volume": 90
|
||||
},
|
||||
"editMapId": 9,
|
||||
"editMapId": 18,
|
||||
"elements": [
|
||||
"",
|
||||
"物理",
|
||||
|
|
@ -135,25 +135,25 @@
|
|||
],
|
||||
"equipTypes": [
|
||||
"",
|
||||
"Weapon",
|
||||
"Shield",
|
||||
"Hat",
|
||||
"Body",
|
||||
"Accessories",
|
||||
"武器",
|
||||
"盾",
|
||||
"帽子",
|
||||
"身体",
|
||||
"装飾品",
|
||||
"blank",
|
||||
"blank",
|
||||
"blank",
|
||||
"blank",
|
||||
"Sword (Gufu)",
|
||||
"Wakizashi",
|
||||
"Long Spear",
|
||||
"Bow",
|
||||
"Chain Equipment",
|
||||
"Sword",
|
||||
"Clothing",
|
||||
"Amulet"
|
||||
"太刀(愚譜)",
|
||||
"脇差",
|
||||
"長槍",
|
||||
"弓",
|
||||
"鎖物",
|
||||
"太刀",
|
||||
"衣服",
|
||||
"お守り"
|
||||
],
|
||||
"gameTitle": "Sakura Gozen (ver1.09) | TL: DazedAnon & O&M",
|
||||
"gameTitle": "桜御前(ver1.10)",
|
||||
"gameoverMe": {
|
||||
"name": "Gameover1",
|
||||
"pan": 0,
|
||||
|
|
@ -166,7 +166,7 @@
|
|||
true,
|
||||
true
|
||||
],
|
||||
"locale": "us_EN",
|
||||
"locale": "ja_JP",
|
||||
"magicSkills": [
|
||||
1
|
||||
],
|
||||
|
|
@ -206,10 +206,10 @@
|
|||
},
|
||||
"skillTypes": [
|
||||
"",
|
||||
"Magic",
|
||||
"Special Move",
|
||||
"魔法",
|
||||
"必殺技",
|
||||
"",
|
||||
"Martial arts",
|
||||
"武術",
|
||||
""
|
||||
],
|
||||
"sounds": [
|
||||
|
|
@ -416,7 +416,7 @@
|
|||
"",
|
||||
"[Menu]shortcutOn",
|
||||
"[Menu]Hst立ち絵動き",
|
||||
"",
|
||||
"[Menu]Hst立ち絵切り替えsw",
|
||||
"[HOME]演歌在住Sw",
|
||||
"[HOME]希来里在住Sw",
|
||||
"[HOME]玉子在住Sw",
|
||||
|
|
@ -516,7 +516,7 @@
|
|||
"Dungen_滑り処理中",
|
||||
"Dungen_救済Sys",
|
||||
"Gozen_救済Sys",
|
||||
"",
|
||||
"Gozen_演歌爆発(体力増加)",
|
||||
"Dungen_ドボン中",
|
||||
"Dungen_幕裏ダッシュ中",
|
||||
"△Dungen_装備判定(幕裏)",
|
||||
|
|
@ -747,7 +747,7 @@
|
|||
"EH_082_ぬらり3",
|
||||
"EH_083_ぬらり4",
|
||||
"",
|
||||
"",
|
||||
"EH_085_桜個別",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
|
|
@ -803,9 +803,9 @@
|
|||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"[UPD]AnimeNumList",
|
||||
"[UPD]サムネ非表示",
|
||||
"[UPD](すけべ目録)サブコマンド非表示",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
|
|
@ -893,7 +893,7 @@
|
|||
"",
|
||||
"",
|
||||
"[確認]山田H",
|
||||
"",
|
||||
"[確認]桜H",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
|
|
@ -966,111 +966,111 @@
|
|||
],
|
||||
"terms": {
|
||||
"basic": [
|
||||
"Rank",
|
||||
"Step",
|
||||
"Stamina",
|
||||
"Body",
|
||||
"Skill Power",
|
||||
"Skill",
|
||||
"段位",
|
||||
"段",
|
||||
"体力",
|
||||
"体",
|
||||
"技力",
|
||||
"技",
|
||||
"---",
|
||||
"---",
|
||||
"EXP",
|
||||
"Experience"
|
||||
"経験値",
|
||||
"経験"
|
||||
],
|
||||
"commands": [
|
||||
"Fight",
|
||||
"Escape",
|
||||
"Attack",
|
||||
"Defense",
|
||||
"Items",
|
||||
"Martial Arts",
|
||||
"Getting Ready",
|
||||
"Status",
|
||||
"Sort",
|
||||
"Save",
|
||||
"Quit Game",
|
||||
"Settings",
|
||||
"Weapon",
|
||||
"Armor",
|
||||
"Key Items",
|
||||
"Equipment",
|
||||
"Auto Equip",
|
||||
"Remove All",
|
||||
"Start",
|
||||
"Continue",
|
||||
"戦う",
|
||||
"逃げる",
|
||||
"攻撃",
|
||||
"防御",
|
||||
"道具",
|
||||
"武術",
|
||||
"身支度",
|
||||
"すていたす",
|
||||
"並び替え",
|
||||
"記録",
|
||||
"ゲーム終了",
|
||||
"設定",
|
||||
"武器",
|
||||
"防具",
|
||||
"大事なもの",
|
||||
"装備",
|
||||
"おまかせ装備",
|
||||
"全て外す",
|
||||
"はじめから",
|
||||
"つづきから",
|
||||
null,
|
||||
"To Title",
|
||||
"Quit",
|
||||
"タイトルへ",
|
||||
"やめる",
|
||||
null,
|
||||
"Buy",
|
||||
"Sell"
|
||||
"購入する",
|
||||
"売却する"
|
||||
],
|
||||
"params": [
|
||||
"Max HP",
|
||||
"Max SP",
|
||||
"STR",
|
||||
"END",
|
||||
"RES",
|
||||
"最大体力",
|
||||
"最大技力",
|
||||
"筋力",
|
||||
"耐久",
|
||||
"闘志",
|
||||
"---",
|
||||
"AGI",
|
||||
"LCK",
|
||||
"ACC",
|
||||
"EVA"
|
||||
"敏捷",
|
||||
"幸運",
|
||||
"命中",
|
||||
"回避"
|
||||
],
|
||||
"messages": {
|
||||
"alwaysDash": "Always Dash",
|
||||
"commandRemember": "Command Memory",
|
||||
"touchUI": "Touch UI",
|
||||
"bgmVolume": "BGM Volume",
|
||||
"bgsVolume": "BGS Volume",
|
||||
"meVolume": "ME Volume",
|
||||
"seVolume": "SE Volume",
|
||||
"possession": "Owned",
|
||||
"expTotal": "Current %1",
|
||||
"expNext": "Next %1",
|
||||
"saveMessage": "Which file would you like to save to?",
|
||||
"loadMessage": "Which file would you like to load?",
|
||||
"file": "File",
|
||||
"autosave": "Auto Save",
|
||||
"partyName": "%1 and others",
|
||||
"emerge": "%1 appeared!",
|
||||
"preemptive": "%1 took the initiative!",
|
||||
"surprise": "%1 was caught off guard!",
|
||||
"escapeStart": "%1 has escaped!",
|
||||
"escapeFailure": "But couldn't escape!",
|
||||
"victory": "%1's Victory!",
|
||||
"defeat": "%1 was defeated in battle.",
|
||||
"obtainExp": "Gained %1 %2",
|
||||
"obtainGold": "Gained %1\\G!",
|
||||
"obtainItem": "Gained %1!",
|
||||
"levelUp": "%2 UP! ",
|
||||
"obtainSkill": "Learned %1!",
|
||||
"useItem": "%1 used %2!",
|
||||
"criticalToEnemy": "Critical Hit!!",
|
||||
"criticalToActor": "A critical hit!!",
|
||||
"actorDamage": "%1 took %2 damage!",
|
||||
"actorRecovery": "%2 of %1 recovered %3!",
|
||||
"actorGain": "%3 %2 of %1 increased!",
|
||||
"actorLoss": "%3 %2 of %1 decreased!",
|
||||
"actorDrain": "%1 had %3 of %2 stolen!",
|
||||
"actorNoDamage": "%1 is not taking any damage!",
|
||||
"actorNoHit": "Miss! %1 has not taken any damage!",
|
||||
"enemyDamage": "Dealt %2 damage to %1!",
|
||||
"enemyRecovery": "%2 of %1 recovered %3!",
|
||||
"enemyGain": "%3 %2 of %1 increased!",
|
||||
"enemyLoss": "%3 %2 of %1 decreased!",
|
||||
"enemyDrain": "Stole %3 %2 from %1!",
|
||||
"enemyNoDamage": "Cannot deal damage to %1!",
|
||||
"enemyNoHit": "Miss! Unable to deal damage to %1!",
|
||||
"evasion": "%1 evaded the attack!",
|
||||
"magicEvasion": "%1 nullified the magic!",
|
||||
"magicReflection": "%1 reflected the magic!",
|
||||
"counterAttack": "%1's counterattack!",
|
||||
"substitute": "%1 protected %2!",
|
||||
"buffAdd": "%1's %2 increased!",
|
||||
"debuffAdd": "%1's %2 decreased!",
|
||||
"buffRemove": "%2 of %1 has returned to normal!",
|
||||
"actionFailure": "It had no effect on %1!"
|
||||
"alwaysDash": "常時ダッシュ",
|
||||
"commandRemember": "コマンド記憶",
|
||||
"touchUI": "タッチUI",
|
||||
"bgmVolume": "BGM 音量",
|
||||
"bgsVolume": "BGS 音量",
|
||||
"meVolume": "ME 音量",
|
||||
"seVolume": "SE 音量",
|
||||
"possession": "所持数",
|
||||
"expTotal": "現在の%1",
|
||||
"expNext": "次の%1まで",
|
||||
"saveMessage": "どのファイルに記録しますか?",
|
||||
"loadMessage": "どのファイルを読み込みしますか?",
|
||||
"file": "ファイル",
|
||||
"autosave": "オートセーブ",
|
||||
"partyName": "%1たち",
|
||||
"emerge": "%1が出現!",
|
||||
"preemptive": "%1は先手を取った!",
|
||||
"surprise": "%1は不意をつかれた!",
|
||||
"escapeStart": "%1は逃げ出した!",
|
||||
"escapeFailure": "しかし逃げることはできなかった!",
|
||||
"victory": "%1の勝利!",
|
||||
"defeat": "%1は戦いに敗れた……。",
|
||||
"obtainExp": "%1 の%2を獲得!",
|
||||
"obtainGold": "銭を %1\\G 手に入れた!",
|
||||
"obtainItem": "%1を手に入れた!",
|
||||
"levelUp": "%2上昇!",
|
||||
"obtainSkill": "%1を覚えた!",
|
||||
"useItem": "%1は%2を使った!",
|
||||
"criticalToEnemy": "会心の一撃!!",
|
||||
"criticalToActor": "痛恨の一撃!!",
|
||||
"actorDamage": "%1は %2 のダメージを受けた!",
|
||||
"actorRecovery": "%1の%2が %3 回復した!",
|
||||
"actorGain": "%1の%2が %3 増えた!",
|
||||
"actorLoss": "%1の%2が %3 減った!",
|
||||
"actorDrain": "%1は%2を %3 奪われた!",
|
||||
"actorNoDamage": "%1はダメージを受けていない!",
|
||||
"actorNoHit": "ミス! %1はダメージを受けていない!",
|
||||
"enemyDamage": "%1に %2 のダメージを与えた!",
|
||||
"enemyRecovery": "%1の%2が %3 回復した!",
|
||||
"enemyGain": "%1の%2が %3 増えた!",
|
||||
"enemyLoss": "%1の%2が %3 減った!",
|
||||
"enemyDrain": "%1の%2を %3 奪った!",
|
||||
"enemyNoDamage": "%1にダメージを与えられない!",
|
||||
"enemyNoHit": "ミス! %1にダメージを与えられない!",
|
||||
"evasion": "%1は攻撃をかわした!",
|
||||
"magicEvasion": "%1は魔法を打ち消した!",
|
||||
"magicReflection": "%1は魔法を跳ね返した!",
|
||||
"counterAttack": "%1の反撃!",
|
||||
"substitute": "%1が%2をかばった!",
|
||||
"buffAdd": "%1の%2が上がった!",
|
||||
"debuffAdd": "%1の%2が下がった!",
|
||||
"buffRemove": "%1の%2が元に戻った!",
|
||||
"actionFailure": "%1には効かなかった!"
|
||||
}
|
||||
},
|
||||
"testBattlers": [
|
||||
|
|
@ -1588,11 +1588,11 @@
|
|||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"[UPD]EList_index",
|
||||
"[UPD]Cmn_EサムネID",
|
||||
"[UPD]animeselect",
|
||||
"[UPD]Eanime_index",
|
||||
"[UPD]check_サムネ",
|
||||
"",
|
||||
"Ev_PicScreenL",
|
||||
"Ev_PicScreenR",
|
||||
|
|
@ -1638,9 +1638,9 @@
|
|||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"[UPD]Yukaku演出番号格納",
|
||||
"[UPD]オナニー番号",
|
||||
"[UPD]桜ギャラリー用番号",
|
||||
"",
|
||||
"",
|
||||
"[劇]キャラX",
|
||||
|
|
@ -1648,9 +1648,9 @@
|
|||
"[劇]FilterParam",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"[特殊]長押しカウント",
|
||||
"[特殊]カウント状況",
|
||||
"[特殊]桜シーン管理",
|
||||
"",
|
||||
"",
|
||||
"[Gallary]マップBGM",
|
||||
|
|
@ -1675,7 +1675,7 @@
|
|||
"",
|
||||
""
|
||||
],
|
||||
"versionId": 16107237,
|
||||
"versionId": 26647018,
|
||||
"victoryMe": {
|
||||
"name": "ME_wa_Vic",
|
||||
"pan": 0,
|
||||
|
|
|
|||
|
|
@ -1,137 +1,138 @@
|
|||
{
|
||||
"___start___": "This file manages the system text within the game",
|
||||
"SaveList_Chapter0": " [Prologue]",
|
||||
"SaveList_Chapter1": " [Chapter One]",
|
||||
"SaveList_Chapter2": " [Chapter Two]",
|
||||
"SaveList_Chapter3": " [Chapter Three]",
|
||||
"SaveList_ChapterEx": " [Interlude]",
|
||||
"SaveList_ChapterEx2": " [Alternate Chapter]",
|
||||
"SaveList_ChapterSelect": " [Chapter Select]",
|
||||
"SaveList_savetime": "SAVE TIME:",
|
||||
"SaveList_purpose": "\\c[5][Objective]\\c[0]",
|
||||
"SaveList_nowmap": "[Map]",
|
||||
"SaveList_playtime": "[Playtime]",
|
||||
"OptioonsHelp_dash": "Change the settings for dashing.",
|
||||
"OptioonsHelp_gameSpeed": "Change the fast-forward multiplier when holding the confirm key.",
|
||||
"OptioonsHelp_touchUI": "Display touch buttons on the screen.",
|
||||
"OptioonsHelp_Heffect": "Change the haze effect display in H-scenes and others.",
|
||||
"OptioonsHelp_EvSkip": "A skip confirmation is displayed during confirmed event scenes in the scenario.",
|
||||
"OptioonsHelp_bgm": "Change BGM volume",
|
||||
"OptioonsHelp_bgs": "Change BGS volume",
|
||||
"OptioonsHelp_me": "Change ME volume",
|
||||
"OptioonsHelp_se": "Change SE volume",
|
||||
"OptioonsHelp_gamepad": "Change button assignments for the gamepad.",
|
||||
"OptioonsHelp_keyconfig": "Change button assignments for the keyboard.",
|
||||
"OptioonsHelp_Autotextwait": "The waiting time per character when text is set to auto advance. (2 seconds + wait frames)",
|
||||
"Altmenu_purpose": "\\}\\}[▼Objective]\\{\\{",
|
||||
"Altmenu_mainQuestCount": "\\}└ Remaining\\I[208]Requests:",
|
||||
"___start___": "このファイルはゲーム内のシステムテキストを管理しています",
|
||||
"SaveList_Chapter0": "【序章】",
|
||||
"SaveList_Chapter1": "【一章】",
|
||||
"SaveList_Chapter2": "【二章】",
|
||||
"SaveList_Chapter3": "【三章】",
|
||||
"SaveList_ChapterEx": "【断章】",
|
||||
"SaveList_ChapterEx2": "【裏章】",
|
||||
"SaveList_ChapterSelect": "【ちゃぷたぁせれくと】",
|
||||
"SaveList_savetime": "SAVE TIME:",
|
||||
"SaveList_purpose": "\\c[5]【現在の目的】\\c[0]",
|
||||
"SaveList_nowmap": "【現在のマップ】",
|
||||
"SaveList_playtime": "【プレイタイム】",
|
||||
"OptioonsHelp_dash": "ダッシュ状態の常時設定を変更します。",
|
||||
"OptioonsHelp_gameSpeed": "決定キー長押しでの高速倍率を変更します",
|
||||
"OptioonsHelp_touchUI": "タッチボタンを画面上に表示します。",
|
||||
"OptioonsHelp_Heffect": "Hシーンなどでのもや演出の表示を変更します",
|
||||
"OptioonsHelp_EvSkip": "確認済みのシナリオ中のイベント演出でスキップ確認が表示されます",
|
||||
"OptioonsHelp_bgm": "BGM音量を変更します",
|
||||
"OptioonsHelp_bgs": "BGS音量を変更します",
|
||||
"OptioonsHelp_me": "ME音量を変更します",
|
||||
"OptioonsHelp_se": "SE音量を変更します",
|
||||
"OptioonsHelp_gamepad": "ゲームパッドでのボタン割り当てを変更します",
|
||||
"OptioonsHelp_keyconfig": "キーボードでのボタン割り当てを変更します",
|
||||
"OptioonsHelp_Autotextwait": "テキストをオートで進めた場合の一文字あたりの待機時間です。(2秒+待機フレーム)",
|
||||
"Altmenu_purpose": "\\}\\}【▼現在の目的】\\{\\{",
|
||||
"Altmenu_mainQuestCount": "\\}└ 残りの\\I[208]依頼の数:",
|
||||
"Altmenu_nextEXP": "\\}nextEXP\\{ ",
|
||||
"Altmenu_TitleStatus": "\\} [Basic Status]\\{\\{",
|
||||
"Altmenu_AtkHosoku": "└\\}\\}\\c[4] Base attack power excluding weapon attack\\c[0]\\{\\{",
|
||||
"Altmenu_EquipATK": "Atk:",
|
||||
"Altmenu_EquipDEF": "Def:",
|
||||
"Altmenu_TitleStatus": "\\}【基本ステータス】\\{\\{",
|
||||
"Altmenu_AtkHosoku": "└\\}\\}\\c[4] 武器の攻撃力を除いた基礎攻撃力\\c[0]\\{\\{",
|
||||
"Altmenu_EquipATK": "攻:",
|
||||
"Altmenu_EquipDEF": "防:",
|
||||
"Altmenu_EquipNON": "---",
|
||||
"Altmenu_Hst_S_lv4": "Feeling good, don't understand",
|
||||
"Altmenu_Hst_S_lv5": "Feeling good, in training",
|
||||
"Altmenu_Hst_S_lv6": "Feeling good, fluffy",
|
||||
"Altmenu_Hst_S_lv7": "Feeling good, tingly and hot",
|
||||
"Altmenu_Hst_S_lv8": "Feeling good, wet down there",
|
||||
"Altmenu_Hst_S_lv9": "Feeling good, rubbing little bean",
|
||||
"Altmenu_Hst_S_lv10": "Feeling good, letting it flow",
|
||||
"Altmenu_Hst_S_lv11": "Feeling good, want it every day",
|
||||
"Altmenu_Hst_S_lv12": "Feeling good, a samurai's pastime",
|
||||
"Altmenu_Hst_G": "No balls, no rod, no desire",
|
||||
"UPG_defHelp": "Use enhancement points to upgrade abilities.",
|
||||
"UPG_HP": "[Endurance Monster] Max HP + 500",
|
||||
"UPG_MP": "[Technique Samurai] Max SP + 1",
|
||||
"UPG_ATK": "[Strength Boost] Strength (base attack power excluding weapon) + 20",
|
||||
"UPG_DEF": "[Endurance Boost] Endurance + 10",
|
||||
"UPG_MATK": "[Resolve Boost] Resolve (SP recovery at end of turn) + 1",
|
||||
"UPG_SPD": "[Agility Boost] Agility (action speed in battle) + 10",
|
||||
"UPG_Dagger": "[Dagger Mastery] Increases successful action range for daggers",
|
||||
"UPG_Spear": "[Spear Mastery] Increases successful action range for spears",
|
||||
"UPG_Bow": "[Bow Mastery] Increases successful action range for bows",
|
||||
"UPG_ChainSickle": "[Chain Sickle Mastery] Increases successful action range for chain sickles",
|
||||
"UPG_JapanSword": "[Tachi Mastery] Increases successful action range for Tachi swords",
|
||||
"UPG_ATsupport": "[Mirage's Pinnacle] Enables the action support function.",
|
||||
"UPG_item1": "[Fragmented Soul Acquisition]\nObtain 2 powerful breaking tools, 'Fragmented Soul', helpful in battle.",
|
||||
"UPG_item2": "[Samurai Elixir Acquisition]\nObtain 2 powerful healing items, 'Samurai Elixir', helpful in battle.",
|
||||
"UPG_item3": "[Golden Power]\nObtain 2 'Golden Bottle's.",
|
||||
"UPG_Hitem1": "[Oral Rise]\nGet 50 items that increase oral experience points.",
|
||||
"UPG_Hitem2": "[Breast Rise]\nGet 50 items that increase breast experience points.",
|
||||
"UPG_Hitem3": "[Vaginal Rise]\nGet 50 items that increase vaginal experience points.",
|
||||
"UPG_Hitem4": "[Anal Rise]\nGet 50 items that increase anal experience points.",
|
||||
"UPG_Special1": "[Lustful Samurai] ※Can be acquired only once, obtainable only in the full version\nGet an item to fully unlock the maximum luster regardless of story progress.",
|
||||
"UPG_Special2": "[Space-Time Distortion] ※Can be acquired only once\nGet an item to call the shop from the menu.",
|
||||
"Altmenu_Hst_S_lv4": "きもちいいこと、わからない",
|
||||
"Altmenu_Hst_S_lv5": "きもちいいこと、たんれんちゅう",
|
||||
"Altmenu_Hst_S_lv6": "きもちいいこと、ほわほわする",
|
||||
"Altmenu_Hst_S_lv7": "きもちいいこと、じんじんあつい",
|
||||
"Altmenu_Hst_S_lv8": "きもちいいこと、おまたぬれぬれ",
|
||||
"Altmenu_Hst_S_lv9": "きもちいいこと、おまめこしこし",
|
||||
"Altmenu_Hst_S_lv10": "きもちいいこと、おしおながし",
|
||||
"Altmenu_Hst_S_lv11": "きもちいいこと、まいにちしたい",
|
||||
"Altmenu_Hst_S_lv12": "きもちいいこと、ぶしのたしなみ",
|
||||
"Altmenu_Hst_G": "玉無し 竿無し 性欲無し",
|
||||
"UPG_defHelp": "強化ポイントを使用して能力をアップグレードできます。",
|
||||
"UPG_HP": "[体力お化け]体力の最大値 + 500",
|
||||
"UPG_MP": "[技巧の武士]技力の最大値 + 1",
|
||||
"UPG_ATK": "[腕力増強]腕力(武器を除いた基礎攻撃力) + 20",
|
||||
"UPG_DEF": "[耐久増強]耐久 + 10",
|
||||
"UPG_MATK": "[闘志増強]闘志(ターン終了時の技力回復量) + 1",
|
||||
"UPG_SPD": "[敏捷増強]敏捷(戦闘時の行動速度) + 10",
|
||||
"UPG_Dagger": "[脇差の極意]脇差のアクション成功範囲拡張",
|
||||
"UPG_Spear": "[長槍の極意]長槍のアクション成功範囲拡張",
|
||||
"UPG_Bow": "[弓の極意]弓のアクション成功範囲拡張",
|
||||
"UPG_ChainSickle": "[鎖物の極意]鎖物のアクション成功範囲拡張",
|
||||
"UPG_JapanSword": "[太刀の極意]太刀のアクション成功範囲拡張",
|
||||
"UPG_ATsupport": "[見切りの極致]アクションサポート機能を有効にします。",
|
||||
"UPG_item1": "[崩玉入手]\n戦闘時に役立つ強力な崩し道具「崩玉」を 2個 入手します。",
|
||||
"UPG_item2": "[武士秘薬入手]\n戦闘時に役立つ強力な回復道具「武士秘薬」を 2個 入手します。",
|
||||
"UPG_item3": "[黄金の力]\n「黄金ビン」を 2個 入手します。",
|
||||
"UPG_Hitem1": "[口淫上昇]\n口経験値が増加する道具を 50個 入手します。",
|
||||
"UPG_Hitem2": "[乳淫上昇]\n乳経験値が増加する道具を 50個 入手します。",
|
||||
"UPG_Hitem3": "[膣淫上昇]\n膣経験値が増加する道具を 50個 入手します。",
|
||||
"UPG_Hitem4": "[尻淫上昇]\n尻経験値が増加する道具を 50個 入手します。",
|
||||
"UPG_Special1": "[淫らな武士] ※1回のみ獲得可能、製品版でのみ取得可\nストーリーの進行状況に関わらず淫力の上限を最大まで解放できる道具を獲得します。",
|
||||
"UPG_Special2": "[時空間歪曲] ※1回のみ獲得可能\nメニューからショップを呼び出せる道具を獲得します。",
|
||||
"Battle_UPG": "UPGRADE POINT GET",
|
||||
"FAST_CommonHelp": "Fast travel at the speed of a quick runner!",
|
||||
"FAST_Home": "[Self-pleasure][Gallery]\nMy mansion!",
|
||||
"FAST_MainE": "[Swordsmith Encouraging Warrior][Teahouse Hidden Cloak]",
|
||||
"FAST_MainC": "[Remembrance House]",
|
||||
"FAST_MainW": "[Hot Spring Boiled Egg][Courtesan Bewitching Capital][Fool of the West]",
|
||||
"FAST_HeiminE": "Just an ordinary house street!",
|
||||
"FAST_HeiminC": "Just an ordinary house street!",
|
||||
"FAST_HeiminW": "[Chaya in Between Walls]",
|
||||
"FAST_Tatibana": "The old mansion of the Tachibana family!\nIt's older and less fine than my mansion!",
|
||||
"FAST_Kemono1": "[Beast Mountain Entrance][Offering Box (Beast Material)]",
|
||||
"FAST_Kemono2": "[Beast Mountain Interval][Rabbit Hut]",
|
||||
"FAST_Saino1": "[Saino River Entrance][Offering Box (Fish Material)]",
|
||||
"FAST_Saino2": "[Saino River Interval][Kappa Hut]",
|
||||
"FAST_Osore1": "[Osore Pass Entrance][Offering Box (Bird Material)]",
|
||||
"FAST_Osore2": "[Osore Pass Interval][Fox Hut]",
|
||||
"FAST_CommonHelp": "韋駄天の速さでふぁすととらべる!",
|
||||
"FAST_Home": "【おなにぃ】【ぎゃらりぃ】\n私の屋敷だ!",
|
||||
"FAST_MainE": "【刀処 鼓舞士】【茶屋 隠れ蓑】",
|
||||
"FAST_MainC": "【想起平屋】",
|
||||
"FAST_MainW": "【湯処 煮卵】【遊郭 妖艶京】【西の愚か者】",
|
||||
"FAST_HeiminE": "特に何もない平屋通りだ!",
|
||||
"FAST_HeiminC": "特に何もない平屋通りだ!",
|
||||
"FAST_HeiminW": "【壁間茶屋】",
|
||||
"FAST_Tatibana": "特に何もないかつての橘家の屋敷だ!\n私の屋敷よりボロいぞ!",
|
||||
"FAST_Kemono1": "【ケモノ山 入口】【奉納箱(獣素材)】",
|
||||
"FAST_Kemono2": "【ケモノ山 幕間】【兎小屋】",
|
||||
"FAST_Saino1": "【サイノ河 入口】【奉納箱(魚素材)】",
|
||||
"FAST_Saino2": "【サイノ河 幕間】【河童小屋】",
|
||||
"FAST_Osore1": "【オソレ峠 入口】【奉納箱(鳥素材)】",
|
||||
"FAST_Osore2": "【オソレ峠 幕間】【狐小屋】",
|
||||
"EquipScn_NON": "---",
|
||||
"EquipScn_ATK": "\\}Strength\\}(Base Attack)\\{\\{:",
|
||||
"EquipScn_WepATK": "\\}Weapon Attack\\{:",
|
||||
"EquipScn_DEF": "\\}Endurance\\{:",
|
||||
"EquipScn_MATK": "\\}Resolve\\}(SP Recovery)\\{\\{:",
|
||||
"EquipScn_SPD": "\\}Agility\\{:",
|
||||
"MapLv": "\\}\\}Rank \\{\\{",
|
||||
"EquipScn_ATK": "\\}筋力\\}(基礎攻撃)\\{\\{:",
|
||||
"EquipScn_WepATK": "\\}武器攻撃\\{:",
|
||||
"EquipScn_DEF": "\\}耐久\\{:",
|
||||
"EquipScn_MATK": "\\}闘志\\}(技力回復)\\{\\{:",
|
||||
"EquipScn_SPD": "\\}敏捷\\{:",
|
||||
"MapLv": "\\}\\}段位 \\{\\{",
|
||||
"MapExp": "\\}\\}nextEXP \\{\\{",
|
||||
"mind_less_o": "\\I[219]\\}\\}H.Ache\\{\\{",
|
||||
"mind_less_g": "\\I[219]\\}\\}H.Ache?\\{\\{",
|
||||
"h_state_g": "\\}Desireless \\{",
|
||||
"mind_less_s": "\\I[219]\\}\\}H.Ache?\\{\\{",
|
||||
"h_state_s": "\\}????? \\{",
|
||||
"map_spactor": "\\}Let's go home feeling good! (Menu prohibited)\\{",
|
||||
"map_ke": "Beast",
|
||||
"map_sa": "Fish",
|
||||
"map_os": "Bird",
|
||||
"map_all": "All",
|
||||
"map_call": "UP",
|
||||
"map_call_s": "Large UP",
|
||||
"map_autocollect": "Auto Collect",
|
||||
"map_yamada": "Yamada",
|
||||
"map_upg": "Destruction of Lust",
|
||||
"map_yabu": "Common Sense Alteration",
|
||||
"short_equip": "\\}\\}Equip(E)\\{\\{ ",
|
||||
"short_quest": "\\}\\}Tip Box(M)\\{\\{ ",
|
||||
"short_fast": "\\}\\}Runner(F)\\{\\{ ",
|
||||
"mind_less_o": "\\I[219]\\}\\}心病 \\{\\{",
|
||||
"mind_less_g": "\\I[219]\\}\\}心病 ?\\{\\{",
|
||||
"h_state_g": "\\}性欲不能者 \\{",
|
||||
"mind_less_s": "\\I[219]\\}\\}心病 ?\\{\\{",
|
||||
"h_state_s": "\\}????? \\{",
|
||||
"map_spactor": "\\}気持ち良くなって帰ろう!(メニュー禁止中)\\{",
|
||||
"map_ke": "獣瞬殺",
|
||||
"map_sa": "魚瞬殺",
|
||||
"map_os": "鳥瞬殺",
|
||||
"map_all": "全瞬殺",
|
||||
"map_call": "増量中",
|
||||
"map_call_s": "大増量",
|
||||
"map_autocollect": "自動採集",
|
||||
"map_yamada": "山田",
|
||||
"map_upg": "淫力破壊",
|
||||
"map_yabu": "常識改変",
|
||||
"short_equip": "\\}\\}装備変更(E)\\{\\{ ",
|
||||
"short_quest": "\\}\\}目安箱(M)\\{\\{ ",
|
||||
"short_fast": "\\}\\}韋駄天(F)\\{\\{ ",
|
||||
"short_backlog": "\\}\\}BackLog(tab)\\{\\{ ",
|
||||
"map_now": "\\}\\}Area \\{\\{ ",
|
||||
"Yukaku_remove": "Leave",
|
||||
"Yukaku_matu_lv1": "Lv1: Soil Loosening",
|
||||
"Yukaku_matu_lv1_n": "???\\}[Requirements: \\I[237]Lv4 \\I[222]Lv1]",
|
||||
"Yukaku_matu_lv2": "Lv2: Seed Planting Fall",
|
||||
"Yukaku_matu_lv2_n": "???\\}[Requirements: \\I[237]Lv7 \\I[222]Lv2]",
|
||||
"Yukaku_matu_lv3": "Lv3: Lustful Flower Burst",
|
||||
"Yukaku_matu_lv3_n": "???\\}[Requirements: \\I[237]Lv10 \\I[222]Lv3]",
|
||||
"Yukaku_take_lv1": "Lv1: Facing Breasts",
|
||||
"Yukaku_take_lv1_n": "???\\}[Requirements: \\I[237]Lv4 \\I[221]Lv1]",
|
||||
"Yukaku_take_lv2": "Lv2: Top-Down Breasts",
|
||||
"Yukaku_take_lv2_n": "???\\}[Requirements: \\I[237]Lv6 \\I[221]Lv2]",
|
||||
"Yukaku_take_lv3": "Lv3: Side Breasts",
|
||||
"Yukaku_take_lv3_n": "???\\}[Requirements: \\I[237]Lv8 \\I[221]Lv3]",
|
||||
"Yukaku_ume_lv1": "Lv1: Chrysanthemum Gate Bloom",
|
||||
"Yukaku_ume_lv1_n": "???\\}[Requirements: \\I[237]Lv5 \\I[223]Lv1]",
|
||||
"Yukaku_ume_lv2": "Lv2: Entry into Chrysanthemum Gate",
|
||||
"Yukaku_ume_lv2_n": "???\\}[Requirements: \\I[237]Lv8 \\I[223]Lv2]",
|
||||
"Yukaku_ume_lv3": "Lv3: Chrysanthemum Gate Collapse",
|
||||
"Yukaku_ume_lv3_n": "???\\}[Requirements: \\I[237]Lv11 \\I[223]Lv3]",
|
||||
"Yukaku_kusa_lv1": "Lv1: Rod-Ball Kiss",
|
||||
"Yukaku_kusa_lv1_n": "???\\}[Requirements: \\I[237]Lv4 \\I[220]Lv1]",
|
||||
"Yukaku_kusa_lv2": "Lv2: Chrysanthemum Hole Kiss",
|
||||
"Yukaku_kusa_lv2_n": "???\\}[Requirements: \\I[237]Lv7 \\I[220]Lv2]",
|
||||
"Yukaku_kusa_lv3": "Lv3: Double Kiss",
|
||||
"Yukaku_kusa_lv3_n": "???\\}[Requirements: \\I[237]Lv9 \\I[220]Lv3]",
|
||||
"map_now": "\\}\\}現在地 \\{\\{ ",
|
||||
"Yukaku_remove": "離れる",
|
||||
"Yukaku_matu_lv1": "Lv1:土ほぐし",
|
||||
"Yukaku_matu_lv1_n": "???\\}【必要条件:\\I[237]Lv4 \\I[222]Lv1】",
|
||||
"Yukaku_matu_lv2": "Lv2:種植え堕とし",
|
||||
"Yukaku_matu_lv2_n": "???\\}【必要条件:\\I[237]Lv7 \\I[222]Lv2】",
|
||||
"Yukaku_matu_lv3": "Lv3:淫花乱漫",
|
||||
"Yukaku_matu_lv3_n": "???\\}【必要条件:\\I[237]Lv10 \\I[222]Lv3】",
|
||||
"Yukaku_take_lv1": "Lv1:対面お乳",
|
||||
"Yukaku_take_lv1_n": "???\\}【必要条件:\\I[237]Lv4 \\I[221]Lv1】",
|
||||
"Yukaku_take_lv2": "Lv2:上下お乳",
|
||||
"Yukaku_take_lv2_n": "???\\}【必要条件:\\I[237]Lv6 \\I[221]Lv2】",
|
||||
"Yukaku_take_lv3": "Lv3:横からお乳",
|
||||
"Yukaku_take_lv3_n": "???\\}【必要条件:\\I[237]Lv8 \\I[221]Lv3】",
|
||||
"Yukaku_ume_lv1": "Lv1:菊門開花",
|
||||
"Yukaku_ume_lv1_n": "???\\}【必要条件:\\I[237]Lv5 \\I[223]Lv1】",
|
||||
"Yukaku_ume_lv2": "Lv2:菊門突入",
|
||||
"Yukaku_ume_lv2_n": "???\\}【必要条件:\\I[237]Lv8 \\I[223]Lv2】",
|
||||
"Yukaku_ume_lv3": "Lv3:菊門決壊",
|
||||
"Yukaku_ume_lv3_n": "???\\}【必要条件:\\I[237]Lv11 \\I[223]Lv3】",
|
||||
"Yukaku_kusa_lv1": "Lv1:竿玉接吻",
|
||||
"Yukaku_kusa_lv1_n": "???\\}【必要条件:\\I[237]Lv4 \\I[220]Lv1】",
|
||||
"Yukaku_kusa_lv2": "Lv2:菊穴接吻",
|
||||
"Yukaku_kusa_lv2_n": "???\\}【必要条件:\\I[237]Lv7 \\I[220]Lv2】",
|
||||
"Yukaku_kusa_lv3": "Lv3:にほん接吻",
|
||||
"Yukaku_kusa_lv3_n": "???\\}【必要条件:\\I[237]Lv9 \\I[220]Lv3】",
|
||||
"UPD_ElistHelp": "解放済みのHシーンリストです。実際のシーンはギャラリーから確認してください。\nオマケとして動きを確認することができます。",
|
||||
"__last__": ""
|
||||
}
|
||||
86976
js/libs/pixi.js
86976
js/libs/pixi.js
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
740
js/plugins/picture/PictureCallCommon.js
Normal file
740
js/plugins/picture/PictureCallCommon.js
Normal file
|
|
@ -0,0 +1,740 @@
|
|||
//=============================================================================
|
||||
// PictureCallCommon.js
|
||||
// ----------------------------------------------------------------------------
|
||||
// (C)2015 Triacontane
|
||||
// This plugin is released under the MIT License.
|
||||
// http://opensource.org/licenses/mit-license.php
|
||||
// ----------------------------------------------------------------------------
|
||||
// Version
|
||||
// 1.6.2 2024/12/10 1.6.1の修正で拡大率をマイナスに設定したピクチャのタッチイベントが発生しなくなっていた問題を修正
|
||||
// 1.6.1 2024/06/04 ボタンピクチャを極めて小さい拡大率(負の値への移動も含む)で表示しようとするとエラーになる場合がある問題を修正
|
||||
// 1.6.0 2023/11/16 プラグインコマンドを「ピクチャの操作拡張プラグイン」が提供する一括指定機能に対応させました。
|
||||
// 1.5.1 2023/06/12 ピクチャイベント解除時に指定した番号以外の番号のピクチャイベントも一緒に解除される可能性がある問題を修正
|
||||
// 1.5.0 2023/04/22 ピクチャイベントを発生させる際、透過部分に反応するかどうかを設定できる機能を追加
|
||||
// 1.4.0 2022/10/22 DTextPicture.jsと組み合わせたとき、フレームウィンドウをクリックイベントの範囲に含めるよう変更
|
||||
// 1.3.1 2022/05/19 ヘルプ微修正
|
||||
// 1.3.0 2022/04/14 ピクチャクリック時に変数を操作する機能および任意スクリプトを実行する機能を追加
|
||||
// 1.2.2 2021/11/07 異なるピクチャのトリガーを同一フレームで同時に満たした場合、すべてのタッチ処理が実行されるよう修正
|
||||
// 1.2.1 2021/10/08 トリガー種別がマウスが重なった場合のとき無効スイッチ中に条件を満たしていると、無効スイッチがOFFになった瞬間にイベントが発生してしまう問題を修正
|
||||
// 1.2.0 2021/05/20 APNGピクチャプラグインと組み合わせたときにAPNGピクチャをボタン化できるよう修正(ただし透過色は考慮されない)
|
||||
// 1.1.2 2021/04/08 トリガー「マウスをピクチャ内で移動した場合」がマウスを押していないと反応しない問題を修正
|
||||
// 1.1.1 2020/12/21 スクリプト$gameScreen.showPictureを使って未キャッシュのピクチャを表示しようとすると画像が表示されなくなる問題を修正
|
||||
// セーブデータロード時にエラーになる問題を修正
|
||||
// 1.1.0 2020/12/20 イベントごとに無効スイッチを指定できる機能を追加
|
||||
// 1.0.0 2020/12/17 MZ版として新規作成
|
||||
// ----------------------------------------------------------------------------
|
||||
// [Blog] : https://triacontane.blogspot.jp/
|
||||
// [Twitter]: https://twitter.com/triacontane/
|
||||
// [GitHub] : https://github.com/triacontane/
|
||||
//=============================================================================
|
||||
|
||||
/*:
|
||||
* @plugindesc ピクチャのボタン化プラグイン
|
||||
* @target MZ
|
||||
* @url https://github.com/triacontane/RPGMakerMV/tree/mz_master/PictureCallCommon.js
|
||||
* @base PluginCommonBase
|
||||
* @author トリアコンタン
|
||||
*
|
||||
* @param PictureIdVariable
|
||||
* @text ピクチャ番号の変数
|
||||
* @desc 最後にイベントが発生したピクチャ番号を格納する変数IDです。
|
||||
* @default 0
|
||||
* @type variable
|
||||
*
|
||||
* @param InvalidSwitchId
|
||||
* @text 無効スイッチ
|
||||
* @desc 指定した番号のスイッチがONになっている場合、すべてのピクチャイベントが無効になります。
|
||||
* @default 0
|
||||
* @type switch
|
||||
*
|
||||
* @param FlickDistance
|
||||
* @text フリック有効距離
|
||||
* @desc フリック判定が有効になる距離(ピクセル数)です。
|
||||
* @default 60
|
||||
* @type number
|
||||
*
|
||||
* @param FlickTimeVariable
|
||||
* @text フリック時間の変数
|
||||
* @desc フリック判定が有効になるまでに掛かったフレーム数を格納する変数IDです。この値が小さいほど速いフリックです。
|
||||
* @default 0
|
||||
* @type variable
|
||||
*
|
||||
* @param FlickDegreeVariable
|
||||
* @text フリック角度の変数
|
||||
* @desc フリック判定が有効になったときのフリック方向を度数法で格納する変数IDです。
|
||||
* @default 0
|
||||
* @type variable
|
||||
*
|
||||
* @command ADD_PICTURE_EVENT
|
||||
* @text ピクチャイベント登録
|
||||
* @desc ピクチャ操作で発生するイベントを登録します。
|
||||
*
|
||||
* @arg pictureId
|
||||
* @text ピクチャ番号
|
||||
* @desc 操作対象のピクチャ番号です。
|
||||
* @default 1
|
||||
* @type number
|
||||
*
|
||||
* @arg commonEventId
|
||||
* @text コモンイベント番号
|
||||
* @desc イベント発生時に呼び出すコモンイベントです。
|
||||
* @default 0
|
||||
* @type common_event
|
||||
*
|
||||
* @arg switchId
|
||||
* @text スイッチ番号
|
||||
* @desc イベント発生時にONになるスイッチです。
|
||||
* @default 0
|
||||
* @type switch
|
||||
*
|
||||
* @arg variableId
|
||||
* @text 変数番号
|
||||
* @desc イベント発生時に値が加減される変数です。
|
||||
* @default 0
|
||||
* @type variable
|
||||
*
|
||||
* @arg operationType
|
||||
* @parent variableId
|
||||
* @text 操作種別
|
||||
* @desc イベント発生時に指定した変数の操作種別です。
|
||||
* @default 0
|
||||
* @type select
|
||||
* @option 代入
|
||||
* @value 0
|
||||
* @option 加算
|
||||
* @value 1
|
||||
* @option 減算
|
||||
* @value 2
|
||||
* @option 乗算
|
||||
* @value 3
|
||||
* @option 除算
|
||||
* @value 4
|
||||
* @option 剰余
|
||||
* @value 5
|
||||
*
|
||||
* @arg operand
|
||||
* @parent variableId
|
||||
* @text オペランド
|
||||
* @desc イベント発生時に指定した変数の操作値です。
|
||||
* @default 0
|
||||
* @type number
|
||||
* @min -99999999
|
||||
*
|
||||
* @arg script
|
||||
* @text スクリプト
|
||||
* @desc イベント発生時に実行されるスクリプトです。
|
||||
* @type multiline_string
|
||||
*
|
||||
* @arg buttonBind
|
||||
* @text ボタンバインド
|
||||
* @desc イベント発生時に押したことになるボタンです。
|
||||
* @default
|
||||
* @type combo
|
||||
* @option ok
|
||||
* @option shift
|
||||
* @option control
|
||||
* @option escape
|
||||
* @option left
|
||||
* @option up
|
||||
* @option right
|
||||
* @option down
|
||||
* @option pageup
|
||||
* @option pagedown
|
||||
*
|
||||
* @arg triggerType
|
||||
* @text トリガー種別
|
||||
* @desc トリガーとなるマウス、タッチ操作の種別です。
|
||||
* @default 1
|
||||
* @type select
|
||||
* @option 1:クリックした場合
|
||||
* @value 1
|
||||
* @option 2:右クリックした場合
|
||||
* @value 2
|
||||
* @option 3:長押しした場合
|
||||
* @value 3
|
||||
* @option 4:マウスをピクチャに重ねた場合
|
||||
* @value 4
|
||||
* @option 5:マウスをピクチャから放した場合
|
||||
* @value 5
|
||||
* @option 6:クリックを解放(リリース)した場合
|
||||
* @value 6
|
||||
* @option 7:クリックした場合(かつ長押しの際の繰り返しを考慮)
|
||||
* @value 7
|
||||
* @option 8:クリックしている間ずっと
|
||||
* @value 8
|
||||
* @option 9:ホイールクリックした場合(PCの場合のみ有効)
|
||||
* @value 9
|
||||
* @option 10:ダブルクリックした場合
|
||||
* @value 10
|
||||
* @option 11:マウスをピクチャ内で移動した場合
|
||||
* @value 11
|
||||
* @option 12:マウスを押しつつピクチャ内で移動した場合
|
||||
* @value 12
|
||||
* @option 13:フリック(マウス押下状態で指定距離以上動かす)した場合
|
||||
* @value 13
|
||||
*
|
||||
* @arg invalidSwitchId
|
||||
* @text 無効スイッチ
|
||||
* @desc 指定した番号のスイッチがONになっている場合、ピクチャイベントが無効になります。
|
||||
* @default 0
|
||||
* @type switch
|
||||
*
|
||||
* @command SET_PICTURE_PREFERENCE
|
||||
* @text ピクチャ設定
|
||||
* @desc ピクチャイベントの設定を変更します。
|
||||
*
|
||||
* @arg pictureId
|
||||
* @text ピクチャ番号
|
||||
* @desc 変更対象のピクチャ番号です。
|
||||
* @default 1
|
||||
* @type number
|
||||
*
|
||||
* @arg includeOpacityZero
|
||||
* @text 透過部分も含む
|
||||
* @desc ピクチャの透明部分にも反応するかどうかです。
|
||||
* @default false
|
||||
* @type boolean
|
||||
*
|
||||
* @command REMOVE_PICTURE_EVENT
|
||||
* @text ピクチャイベント解除
|
||||
* @desc 登録したピクチャイベントを解除します。
|
||||
*
|
||||
* @arg pictureId
|
||||
* @text ピクチャ番号
|
||||
* @desc 操作対象のピクチャ番号です。
|
||||
* @default 1
|
||||
* @type number
|
||||
*
|
||||
* @help PictureCallCommon.js
|
||||
*
|
||||
* ピクチャに対する様々なマウス操作に反応してコモンイベント実行や
|
||||
* スイッチ制御ができます。(これをピクチャイベントと呼びます)
|
||||
* 一度登録したピクチャイベントはピクチャを消去しても有効です。
|
||||
* 解除は専用のプラグインコマンドから可能です。
|
||||
*
|
||||
* 各マウス操作について、ピクチャの透明部分には反応しません。
|
||||
*
|
||||
* ピクチャイベントはマップ画面でも戦闘画面でも
|
||||
* 他のイベントや状況の制限を受けずに速やかに並列実行されます。
|
||||
* また、ピクチャイベントが発生した瞬間のフレームでは他のクリック処理は
|
||||
* 無効となりタッチによるマップ移動やメッセージ送り等は行われません。
|
||||
*
|
||||
* 利用規約:
|
||||
* 作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)
|
||||
* についても制限はありません。
|
||||
* このプラグインはもうあなたのものです。
|
||||
*/
|
||||
|
||||
(function () {
|
||||
"use strict";
|
||||
const script = document.currentScript;
|
||||
const param = PluginManagerEx.createParameter(script);
|
||||
|
||||
PluginManagerEx.registerCommand(script, "ADD_PICTURE_EVENT", (args) => {
|
||||
if ($gameScreen.iteratePictures) {
|
||||
$gameScreen.iteratePictures($gameScreen.addPictureEvent, [
|
||||
args.pictureId,
|
||||
args.triggerType,
|
||||
args,
|
||||
]);
|
||||
} else {
|
||||
$gameScreen.addPictureEvent(args.pictureId, args.triggerType, args);
|
||||
}
|
||||
});
|
||||
|
||||
PluginManagerEx.registerCommand(script, "REMOVE_PICTURE_EVENT", (args) => {
|
||||
if ($gameScreen.iteratePictures) {
|
||||
$gameScreen.iteratePictures($gameScreen.removePictureEvent, [
|
||||
args.pictureId,
|
||||
]);
|
||||
} else {
|
||||
$gameScreen.removePictureEvent(args.pictureId);
|
||||
}
|
||||
});
|
||||
|
||||
PluginManagerEx.registerCommand(script, "SET_PICTURE_PREFERENCE", (args) => {
|
||||
if ($gameScreen.iteratePictures) {
|
||||
$gameScreen.iteratePictures($gameScreen.setPicturePreference, [
|
||||
args.pictureId,
|
||||
args,
|
||||
]);
|
||||
} else {
|
||||
$gameScreen.setPicturePreference(args.pictureId, args);
|
||||
}
|
||||
});
|
||||
|
||||
//=============================================================================
|
||||
// Game_System
|
||||
// ロード時にピクチャ関連メンバを初期化します。
|
||||
//=============================================================================
|
||||
const _Game_System_onAfterLoad = Game_System.prototype.onAfterLoad;
|
||||
Game_System.prototype.onAfterLoad = function () {
|
||||
_Game_System_onAfterLoad.apply(this, arguments);
|
||||
$gameScreen.initPictureEventMap();
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
// Game_Screen
|
||||
// ピクチャに対応するコモンイベント呼び出し用のID配列を追加定義します。
|
||||
//=============================================================================
|
||||
const _Game_Screen_initialize = Game_Screen.prototype.initialize;
|
||||
Game_Screen.prototype.initialize = function () {
|
||||
_Game_Screen_initialize.apply(this, arguments);
|
||||
this.initPictureEventMap();
|
||||
};
|
||||
|
||||
Game_Screen.prototype.initPictureEventMap = function () {
|
||||
if (!this._pictureEventMap) {
|
||||
this._pictureEventMap = new Game_PictureEventMap();
|
||||
}
|
||||
};
|
||||
|
||||
Game_Screen.prototype.addPictureEvent = function (pictureId, trigger, param) {
|
||||
const realPictureId = this.realPictureId(pictureId);
|
||||
this._pictureEventMap.append(realPictureId, trigger, param);
|
||||
};
|
||||
|
||||
Game_Screen.prototype.removePictureEvent = function (
|
||||
pictureId,
|
||||
trigger = null
|
||||
) {
|
||||
const realPictureId = this.realPictureId(pictureId);
|
||||
if (trigger === null) {
|
||||
this._pictureEventMap.removeById(realPictureId);
|
||||
} else {
|
||||
this._pictureEventMap.remove(realPictureId, trigger);
|
||||
}
|
||||
};
|
||||
|
||||
Game_Screen.prototype.findPictureEvent = function (pictureId, trigger) {
|
||||
const realPictureId = this.realPictureId(pictureId);
|
||||
return this._pictureEventMap.find(realPictureId, trigger);
|
||||
};
|
||||
|
||||
Game_Screen.prototype.setPicturePreference = function (pictureId, param) {
|
||||
const realPictureId = this.realPictureId(pictureId);
|
||||
this._pictureEventMap.setPreference(realPictureId, param);
|
||||
};
|
||||
|
||||
Game_Screen.prototype.getPicturePreference = function (pictureId) {
|
||||
const realPictureId = this.realPictureId(pictureId);
|
||||
return this._pictureEventMap.getPreference(realPictureId);
|
||||
};
|
||||
|
||||
Game_Screen.prototype.disConvertPositionX = function (x) {
|
||||
const unshiftX = x - this.zoomX() * (1 - this.zoomScale());
|
||||
return Math.round(unshiftX / this.zoomScale());
|
||||
};
|
||||
|
||||
Game_Screen.prototype.disConvertPositionY = function (y) {
|
||||
const unshiftY = y - this.zoomY() * (1 - this.zoomScale());
|
||||
return Math.round(unshiftY / this.zoomScale());
|
||||
};
|
||||
|
||||
Game_Troop.prototype.setupDynamicCommon =
|
||||
Game_Map.prototype.setupDynamicCommon;
|
||||
Game_Troop.prototype.setupDynamicInterpreter =
|
||||
Game_Map.prototype.setupDynamicInterpreter;
|
||||
|
||||
const _Game_Troop_setup = Game_Troop.prototype.setup;
|
||||
Game_Troop.prototype.setup = function (troopId) {
|
||||
_Game_Troop_setup.apply(this, arguments);
|
||||
if (!this._dynamicEvents) {
|
||||
this._dynamicEvents = [];
|
||||
}
|
||||
};
|
||||
|
||||
Game_Troop.prototype.updateDynamicEvents = function () {
|
||||
this._dynamicEvents.forEach((interpreter) => interpreter.update());
|
||||
};
|
||||
|
||||
if (!Scene_Battle.prototype.hasOwnProperty("updateDynamicEvents")) {
|
||||
const _Scene_Battle_updateBattleProcess =
|
||||
Scene_Battle.prototype.updateBattleProcess;
|
||||
Scene_Battle.prototype.updateBattleProcess = function () {
|
||||
_Scene_Battle_updateBattleProcess.apply(this, arguments);
|
||||
this.updateDynamicEvents();
|
||||
};
|
||||
|
||||
Scene_Battle.prototype.updateDynamicEvents = function () {
|
||||
$gameTroop.updateDynamicEvents();
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Game_PictureEventMap
|
||||
* ピクチャイベントの登録状態を管理するマップです。
|
||||
*/
|
||||
class Game_PictureEventMap {
|
||||
constructor() {
|
||||
this._map = {};
|
||||
this._preference = {};
|
||||
}
|
||||
|
||||
append(pictureId, trigger, option) {
|
||||
this._map[this.generateKey(pictureId, trigger)] = option;
|
||||
}
|
||||
|
||||
find(pictureId, trigger) {
|
||||
return this._map[this.generateKey(pictureId, trigger)];
|
||||
}
|
||||
|
||||
remove(pictureId, trigger) {
|
||||
delete this._map[this.generateKey(pictureId, trigger)];
|
||||
}
|
||||
|
||||
removeById(pictureId) {
|
||||
const regExp = new RegExp(`^${pictureId}\:`);
|
||||
Object.keys(this._map).forEach((key) => {
|
||||
if (key.match(regExp)) {
|
||||
delete this._map[key];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
generateKey(pictureId, trigger) {
|
||||
return `${pictureId}:${trigger}`;
|
||||
}
|
||||
|
||||
setPreference(pictureId, option) {
|
||||
this._preference[pictureId] = option;
|
||||
}
|
||||
|
||||
getPreference(pictureId) {
|
||||
return this._preference[pictureId];
|
||||
}
|
||||
}
|
||||
window.Game_PictureEventMap = Game_PictureEventMap;
|
||||
|
||||
//=============================================================================
|
||||
// Sprite_Picture
|
||||
// ピクチャのタッチ状態からのコモンイベント呼び出し予約を追加定義します。
|
||||
//=============================================================================
|
||||
const _Sprite_Picture_initialize = Sprite_Picture.prototype.initialize;
|
||||
Sprite_Picture.prototype.initialize = function (pictureId) {
|
||||
_Sprite_Picture_initialize.call(this, pictureId);
|
||||
this._touch = new PictureTouch(this, pictureId);
|
||||
};
|
||||
|
||||
const _Sprite_update = Sprite_Picture.prototype.update;
|
||||
Sprite_Picture.prototype.update = function () {
|
||||
_Sprite_update.apply(this, arguments);
|
||||
if (
|
||||
this.picture() &&
|
||||
this._touch &&
|
||||
!$gameSwitches.value(param.InvalidSwitchId)
|
||||
) {
|
||||
this._touch.update();
|
||||
}
|
||||
};
|
||||
|
||||
const _Spriteset_Base_update = Spriteset_Base.prototype.update;
|
||||
Spriteset_Base.prototype.update = function () {
|
||||
_Spriteset_Base_update.apply(this, arguments);
|
||||
TouchInput.suppressIfNeed();
|
||||
};
|
||||
|
||||
/**
|
||||
* PictureTouch
|
||||
* ピクチャのタッチ状態を管理します。
|
||||
*/
|
||||
class PictureTouch {
|
||||
constructor(picture, id) {
|
||||
this._picture = picture;
|
||||
this._pictureId = id;
|
||||
this._handlers = [];
|
||||
this._handlers[1] = () => this.isTouchEvent(TouchInput.isTriggered);
|
||||
this._handlers[2] = () => this.isTouchEvent(TouchInput.isCancelled);
|
||||
this._handlers[3] = () => this.isTouchEvent(TouchInput.isLongPressed);
|
||||
this._handlers[4] = () => this._onMouse;
|
||||
this._handlers[5] = () => this._outMouse;
|
||||
this._handlers[6] = () => this.isTouchEvent(TouchInput.isReleased);
|
||||
this._handlers[7] = () => this.isTouchEvent(TouchInput.isRepeated);
|
||||
this._handlers[8] = () => this.isTouchEvent(TouchInput.isPressed);
|
||||
this._handlers[9] = () => this.isTouchEvent(TouchInput.isWheelTriggered);
|
||||
this._handlers[10] = () =>
|
||||
this.isTouchEvent(TouchInput.isDoubleTriggered);
|
||||
this._handlers[11] = () => this.isTouchEvent(TouchInput.isHovered);
|
||||
this._handlers[12] = () => this.isTouchEvent(TouchInput.isMoved);
|
||||
this._handlers[13] = () => this._flick;
|
||||
this._onMouse = false;
|
||||
this._outMouse = false;
|
||||
this._wasOnMouse = false;
|
||||
this._flick = false;
|
||||
this._interpreter = new Game_Interpreter();
|
||||
}
|
||||
|
||||
update() {
|
||||
this.updateFlick();
|
||||
this.updatePictureTouch();
|
||||
this.updateMouseMove();
|
||||
}
|
||||
|
||||
updatePictureTouch() {
|
||||
if (SceneManager.isNextScene(Scene_Battle)) {
|
||||
return;
|
||||
}
|
||||
this._handlers.forEach((handler, trigger) => {
|
||||
if (this.isValidTrigger(handler, trigger)) {
|
||||
const eventData = this.findPictureEvent(this._pictureId, trigger);
|
||||
this.fireTouchEvent(eventData, trigger);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
updateMouseMove() {
|
||||
if (this.isOnPicturePos()) {
|
||||
if (!this._wasOnMouse) {
|
||||
this._outMouse = false;
|
||||
this._onMouse = true;
|
||||
this._wasOnMouse = true;
|
||||
}
|
||||
} else if (this._wasOnMouse) {
|
||||
this._outMouse = true;
|
||||
this._wasOnMouse = false;
|
||||
this._onMouse = false;
|
||||
}
|
||||
}
|
||||
|
||||
updateFlick() {
|
||||
this._flick = false;
|
||||
const data = TouchInput.createFlickData();
|
||||
if (!data) {
|
||||
return;
|
||||
}
|
||||
if (
|
||||
data.distance >= param.FlickDistance &&
|
||||
this.isOnPicturePos(data.start.x, data.start.y)
|
||||
) {
|
||||
this._flick = true;
|
||||
if (param.FlickTimeVariable) {
|
||||
$gameVariables.setValue(param.FlickTimeVariable, data.time);
|
||||
}
|
||||
if (param.FlickDegreeVariable) {
|
||||
$gameVariables.setValue(param.FlickDegreeVariable, data.degree);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
isValidTrigger(handler, trigger) {
|
||||
const eventData = this.findPictureEvent(this._pictureId, trigger);
|
||||
return (
|
||||
eventData &&
|
||||
!$gameSwitches.value(eventData.invalidSwitchId) &&
|
||||
handler &&
|
||||
handler.call(this)
|
||||
);
|
||||
}
|
||||
|
||||
findPictureEvent(pictureId, trigger) {
|
||||
return $gameScreen.findPictureEvent(pictureId, trigger);
|
||||
}
|
||||
|
||||
fireTouchEvent(eventData, trigger) {
|
||||
TouchInput.requestSuppress();
|
||||
if (trigger === 3) {
|
||||
TouchInput._pressedTime = -60;
|
||||
}
|
||||
if (trigger === 4) {
|
||||
this._onMouse = false;
|
||||
}
|
||||
if (trigger === 5) {
|
||||
this._outMouse = false;
|
||||
}
|
||||
this.applyTouchEvent(eventData);
|
||||
}
|
||||
|
||||
applyTouchEvent(eventData) {
|
||||
if (eventData.switchId) {
|
||||
$gameSwitches.setValue(eventData.switchId, true);
|
||||
}
|
||||
if (eventData.variableId) {
|
||||
this._interpreter.operateVariable(
|
||||
eventData.variableId,
|
||||
eventData.operationType,
|
||||
eventData.operand
|
||||
);
|
||||
}
|
||||
if (eventData.script) {
|
||||
try {
|
||||
eval(eventData.script);
|
||||
} catch (e) {
|
||||
console.error("Error Script:" + eventData.script);
|
||||
PluginManagerEx.throwError(e.message, script);
|
||||
}
|
||||
}
|
||||
if (eventData.buttonBind) {
|
||||
Input.bindKeyState(eventData.buttonBind);
|
||||
}
|
||||
if (eventData.commonEventId) {
|
||||
if ($gameParty.inBattle()) {
|
||||
$gameTroop.setupDynamicCommon(eventData.commonEventId);
|
||||
} else {
|
||||
$gameMap.setupDynamicCommon(eventData.commonEventId);
|
||||
}
|
||||
}
|
||||
if (param.PictureIdVariable > 0) {
|
||||
$gameVariables.setValue(param.PictureIdVariable, this._pictureId);
|
||||
}
|
||||
}
|
||||
|
||||
isOnPicturePos(x = TouchInput.x, y = TouchInput.y) {
|
||||
const pic = this._picture;
|
||||
if (
|
||||
!pic.bitmap ||
|
||||
!pic.bitmap.isReady() ||
|
||||
pic.scale.x === 0 ||
|
||||
pic.scale.y === 0
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
if (this.isTouchPosInFrameWindow(x, y)) {
|
||||
return true;
|
||||
}
|
||||
if (Math.abs(pic.scale.x) < 0.01 || Math.abs(pic.scale.y) < 0.01) {
|
||||
return false;
|
||||
}
|
||||
const dx = this.getTouchScreenX(x) - pic.x;
|
||||
const dy = this.getTouchScreenY(y) - pic.y;
|
||||
const sin = Math.sin(-pic.rotation);
|
||||
const cos = Math.cos(-pic.rotation);
|
||||
const bx =
|
||||
Math.floor(dx * cos + dy * -sin) / pic.scale.x +
|
||||
pic.anchor.x * pic.width;
|
||||
const by =
|
||||
Math.floor(dx * sin + dy * cos) / pic.scale.y +
|
||||
pic.anchor.y * pic.height;
|
||||
const preference = $gameScreen.getPicturePreference(this._pictureId);
|
||||
if (pic._apngSprite || preference?.includeOpacityZero) {
|
||||
return (
|
||||
bx >= 0 &&
|
||||
by >= 0 &&
|
||||
bx <= pic.bitmap.width &&
|
||||
by <= pic.bitmap.height
|
||||
);
|
||||
}
|
||||
return pic.bitmap.getAlphaPixel(bx, by) !== 0;
|
||||
}
|
||||
|
||||
// for DTextPicture.js
|
||||
isTouchPosInFrameWindow(x, y) {
|
||||
if (!this._picture._frameWindow) {
|
||||
return false;
|
||||
}
|
||||
const frame = this._picture._frameWindow;
|
||||
const sx = this.getTouchScreenX(x);
|
||||
const sy = this.getTouchScreenY(y);
|
||||
return (
|
||||
frame.x <= sx &&
|
||||
frame.x + frame.width >= sx &&
|
||||
frame.y <= sy &&
|
||||
frame.y + frame.height >= sy
|
||||
);
|
||||
}
|
||||
|
||||
isTouchEvent(triggerFunc) {
|
||||
return triggerFunc.call(TouchInput) && this.isOnPicturePos();
|
||||
}
|
||||
|
||||
getTouchScreenX(x) {
|
||||
return $gameScreen.disConvertPositionX(x);
|
||||
}
|
||||
|
||||
getTouchScreenY(y) {
|
||||
return $gameScreen.disConvertPositionY(y);
|
||||
}
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// Input
|
||||
// ピクチャクリックをキー入力に紐付けます。
|
||||
//=============================================================================
|
||||
Input._bindKeyStateFrames = new Map();
|
||||
Input.bindKeyState = function (name) {
|
||||
this._currentState[name] = true;
|
||||
this._bindKeyStateFrames.set(name, 5);
|
||||
};
|
||||
|
||||
const _Input_update = Input.update;
|
||||
Input.update = function () {
|
||||
_Input_update.apply(this, arguments);
|
||||
this._updateBindKeyState();
|
||||
};
|
||||
|
||||
Input._updateBindKeyState = function () {
|
||||
this._bindKeyStateFrames.forEach(function (frame, keyName) {
|
||||
frame--;
|
||||
if (frame === 0 || !this._currentState[keyName]) {
|
||||
this._currentState[keyName] = false;
|
||||
this._bindKeyStateFrames.delete(keyName);
|
||||
} else {
|
||||
this._bindKeyStateFrames.set(keyName, frame);
|
||||
}
|
||||
}, this);
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
// TouchInput
|
||||
// ホイールクリック、ダブルクリック等を実装
|
||||
//=============================================================================
|
||||
const _TouchInput__createNewState = TouchInput._createNewState;
|
||||
TouchInput._createNewState = function () {
|
||||
const state = _TouchInput__createNewState.apply(this, arguments);
|
||||
state.wheelTriggered = false;
|
||||
state.doubleTriggered = false;
|
||||
return state;
|
||||
};
|
||||
|
||||
TouchInput.requestSuppress = function () {
|
||||
this._requestSuppress = true;
|
||||
};
|
||||
|
||||
TouchInput.suppressIfNeed = function () {
|
||||
if (this._requestSuppress) {
|
||||
this._currentState = this._createNewState();
|
||||
this._requestSuppress = false;
|
||||
}
|
||||
};
|
||||
|
||||
TouchInput.isWheelTriggered = function () {
|
||||
return this._currentState.wheelTriggered;
|
||||
};
|
||||
|
||||
TouchInput.isDoubleTriggered = function () {
|
||||
return this._currentState.doubleTriggered;
|
||||
};
|
||||
|
||||
TouchInput.createFlickData = function () {
|
||||
if (!this.isPressed()) {
|
||||
return null;
|
||||
}
|
||||
const data = {};
|
||||
const dx = this._x - this._triggerX;
|
||||
const dy = this._y - this._triggerY;
|
||||
data.distance = Math.round(Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2)));
|
||||
data.time = this._pressedTime;
|
||||
data.degree = Math.round(((Math.atan2(dy, -dx) + Math.PI) * 180) / Math.PI);
|
||||
data.start = new Point(this._triggerX, this._triggerY);
|
||||
data.end = new Point(this._x, this._y);
|
||||
return data;
|
||||
};
|
||||
|
||||
const _TouchInput_onMiddleButtonDown = TouchInput._onMiddleButtonDown;
|
||||
TouchInput._onMiddleButtonDown = function (event) {
|
||||
_TouchInput_onMiddleButtonDown.apply(this, arguments);
|
||||
const x = Graphics.pageToCanvasX(event.pageX);
|
||||
const y = Graphics.pageToCanvasY(event.pageY);
|
||||
if (Graphics.isInsideCanvas(x, y)) {
|
||||
this._newState.wheelTriggered = true;
|
||||
}
|
||||
};
|
||||
|
||||
const _TouchInput_onTrigger = TouchInput._onTrigger;
|
||||
TouchInput._onTrigger = function (x, y) {
|
||||
const prevDate = this._date;
|
||||
_TouchInput_onTrigger.apply(this, arguments);
|
||||
if (this._date - prevDate < 300) {
|
||||
this._newState.doubleTriggered = true;
|
||||
}
|
||||
};
|
||||
})();
|
||||
Loading…
Reference in a new issue